Sunteți pe pagina 1din 69

MINISTERUL EDUCAŢIEI AL REPUBLICII MOLDOVA

UNIVERSITATEA DE STAT DIN MOLDOVA

Facultatea Matematică şi Informatică


Catedra Tehnologii de Programare

TEZA DE LICENŢĂ

Sisteme Expert- componentă tehnologică a sistemelor


de asistare a deciziei bazate pe cunoştinţe

Elaborat:
Specialitatea Informatică
şi Limbi Moderne Aplicate

Conducător ştiinţific

Chişinău 2008
UNIVERSITATEA DE STAT DIN MOLDOVA
Catedra: Tehnologii de Programare

Sarcină pentru teza de licenţă

Student:

Tema: Sisteme Expert – componentă tehnologică a sistemelor de asistare a


deciziei bazate pe cunoştinţe

Obiective teză:

1. Efectuarea unui studiu asupra Sistemelor Expert; arhitecturi şi metodologii


de realizare; clasificarea sistemelor de asistare a deciziei bazate pe
cunoştinţe, componente.
2. Proiectarea unui sistem expert pentru diagnosticarea medicală a bolilor
psihice.

2
ADNOTARE

la teza de licenţă: „Sisteme Expert – componentă tehnologică a sistemelor de


asistare a deciziei bazate pe cunoştinţe” a studentei grupei ILMA-51, specialitatea
Informatică şi Limbi Moderne Aplicate, Rotari Cristina

Cuvinte cheie: Sistem Expert, sisteme bazate pe cunoştinţe, sisteme de luare


a deciziilor.
Sistemele expert sunt o îndreptare cu perspectivă a Inteligenţei Artificiale,
astfel încît aceasta este o ştiinţă relativ nouă şi în curs de dezvoltare care oferă un
spaţiu larg în alegerea metodelor de cercetare şi prelucrare. Dezvoltarea sistemelor
expert va facilita în viitor lucrul experţilor din diferite domenii. Analiza modului
de dezvoltare a acestei tendinţe şi domeniul posibilei utilizări sunt o sarcină partial
realizată în teza de licenţă.
Teza constă din introducere, patru capitole, concluzii şi anexe. În primul
capitol sunt prezentate noţiunile de bază referitoare la sistemele expert, la fel acest
capitol oferă o informaţie destul de vastă despre arhitectura sistemelor expert cît şi
metodele prezentării cunoaşterii- fapt ce ne ajută să înţelegem mai bine domeniul
de utilizare a sistemelor expert. Al doilea capitol conţine descrierea şi realizarea
sistemelor expert, sunt menţionate şi descrise metodologiile de realizare a
sistemelor expert, de asemenea este descrisă realizarea sistemelor expert prin
prototipizare. În capitolul trei sunt examinate sistemele de asistare a deciziilor prin
definiţii şi explicaţii, la fel se face o clasificare a acestora precum şi sunt meţionate
componentele sistemelor de asistare a deciziilor. Al patrulea capitol demonstrează
aportul practic în domeniul medicinei, axat pe un sistem expert de diagnosticare
medicală a bolilor psihice.
Teza de licenţă este perfectată pe 68 de pagini formatul A4 şi cuprinde
patru tabele, patru figuri şi 27 surse bibliografice.

3
CUPRINS
INTRODUCERE ....................................................................................................5
I. SISTEME EXPERT. DEFINIRE ŞI ARHITECTURĂ ..................................8
1.1. Scurt istoric al Sistemelor Expert..................................................................8
1.2. Definiţii şi arhitecturi ale Sistemelor Expert.................................................9
1.3. Prezentarea cunoaşterii................................................................................16
II. REALIZAREA SISTEMELOR EXPERT.....................................................21
2.1.Consideraţii generale....................................................................................21
2.2. Metodologii de realizare a sistemelor expert...............................................23
2.3. Realizarea sistemelor expert prin prototipizare...........................................29
III. SISTEME DE ASISTARE A DECIZIILOR (SSD).....................................32
3.1. Sisteme de asistare a deciziilor : definiţii şi
explicaţii................................32
3.2. Clasificarea sistemelor de asistare a deciziilor...........................................37
3.2.1. Clasificarea Alter...................................................................................38
3.2.2. Clasificarea Holsapple şi Whinston .....................................................40
3.2.3. Clasificarea Power.................................................................................42
3.2.4. SSD şi conectarea la Web......................................................................43
3.2.5. Componente ale SSD.............................................................................43
IV. PROIECTAREA SISTEMULUI EXPERT: DIAGNOSTICAREA
MEDICALĂ A BOLILOR PSIHICE..................................................................47
4.1. Diagnosticarea bolilor psihice....................................................................47
4.2. Tipurile de baze de date şi predicatele de lucru cu ele în Prolog...............49
4.2.1. Tipurile de baze de date în Prolog........................................................49
4.2.2. Alcătuirea bazei de cunoştinţe dinamice a sistemului expert pentru
diagnosticarea bolilor psihice..............................................................50
4.2.3. Construirea arborelui de decizie...........................................................56
4.2.4. Predicatele Prologului pentru lucrul cu bazele dinamice.....................58
4.2.5. Algoritmul de lucrul al mecanismului de decizie al SE.......................59
CONCLUZIE........................................................................................................64

4
BIBLIOGRAFIE...................................................................................................66

INTRODUCERE
Sistemele expert pot fi caracterizate ca fiind produse ale inteligenţei
artificiale, ramură a informaticii care se ocupă cu dezvoltarea de programe
"inteligente" şi s-a constituit în scopul concurenţei comportamentului inteligent la
maşini, în special la calculatoare.
Sistemele expert s-au născut dintr-o idee simplă: aceea de a face
calculatoarele inteligente, furnizându-le cunoştinţele unor experţi. Fundamentul
conceptului de sistem expert rezidă în natura explicită a cunoştinţelor. Aceste
cunoştinţe nu sunt bazate în mod absolut pe algoritmi, ci ele sunt formalizate sub
forma unor reguli care vor fi astfel înlănţuite încât să simuleze raţionamentul unui
expert uman.
Teoria sistemelor expert se dezvoltă, în cadrul cercetărilor privind IA,
începând, poate, din anii 1960. Până la începutul anilor 1990, aproape toate
eseurile asupra temei definesc SE ca fiind sisteme axiomatice. Mai târziu, după mai
multe încercări de implementare (prin procedeele comune ale TI) a SE ca sisteme
axiomatice destinate imitării cunoştinţelor şi mecanismelor de raţionament ale
experţilor umani, apare o nouă paradigmă, impusă prin generalizarea tehnologiilor
informatice orientate obiect. Apare astfel paradigma SE ca sisteme de clasificare.
In aceasta accepţie, un SE este, cel puţin sub aspectul funcţiunilor sale de
achiziţionare, formalizare, reprezentare şi regăsire a informaţiei, un model de

5
management al cunoştinţelor. Fără a exclude (sau a abandona) paradigma
axiomatică a dezvoltării raţionamentelor, aceasta abordare a problematicii SE
apare ca un nou curent cultural în dezvoltarea aplicaţiilor de IA.
În cea mai largă accepţie, IA este acea ramură a ştiinţei calculatoarelor
electronice care propune o serie de metode simbolice de rezolvare a problemelor,
diferite de metodele algoritmice tradiţionale.
Din unele aspecte ale acestui enunţ întelegem mai multe probleme legate de
fenomenul SE.
In primul rând, în ultimii 40 de ani, sistemele de calcul au fost utilizate mai
ales ca sisteme de prelucrare automata a datelor. Insă, multe dintre aceste date,
produse de utilizatorii comuni ai instrumentelor de calcul electronic, reprezintă
cunoştinţe, adică aparţin unor construcţii raţionale care nu pot fi formalizate
matematic sau nu pot fi exprimate prin metode cantitative. Aceste cunoştinţe sunt,
evident, simbolice şi sunt utilizate pentru construirea unor diverse tipuri de
aparate de rezolvare a problemelor.
Deci, sistemele expert sunt o îndreptare cu perspectivă a Inteligenţei
Artificiale, astfel încît aceasta este o ştiinţă relativ nouă şi în curs de dezvoltare
care oferă un spaţiu larg în alegerea metodelor de cercetare şi prelucrare.
Dezvoltarea sistemelor expert va facilita în viitor lucrul experţilor din diferite
domenii sau chiar şi le va înlocui. Pentru noi prezintă interes posibilitatea de a
analiza modul de dezvoltare a acestei tendinţe şi domeniul posibilei utilizări.
Există, în prezent, un volum impresionant de informaţie de natură şiinţifică,
tehnică sau numai culturală, în sens general, asupra fenomenului sisteme expert.
Lucrarea de faţă nu îşi propune să participe la extinderea acestui fond cultural.
Scopul lucrării este face o cercetare şi analiză a SE ca fiind o componentă
tehnologică a sistemelor de asistare a deciziei bazate pe cunoştine, care urmăreşte
realizarea urmatoarelor funcţiuni: (a) de a furniza soluţii de nivel expert în
rezolvarea problemelor complexe; (b) de a se face înţelese la orice nivel cultural,
nu inerent ştiinţific; (c) de a fi suficient de flexibile pentru asimilarea (sau
memorarea) simplă şi permanentă a cunoştinţelor.

6
Teza este alcătuită din introducere, partea teoretică şi practică structurate în
paragrafe, cuprins şi anexe. Teza conţine patru capitole. Primul capitol “Sisteme
Expert. Definire şi arhitectură” se axează pe o informaţie destul de amplă despre
sistemele expert şi arhitectura acestora. Este acordată o mare atenţie asupra
reprezentării cunoaşterii, la acest paragraf evidenţiem etapele şi metodele de
reprezentare a cunoaşterii, care la rîndul său ne facilitează şi ne asigură
modalităţile adecvate de cunoaştere a lumii reale ale sistemului inteligenţei
artificiale cît şi a sistemelor expert.
Capitolul doi “Realizarea Sistemelor Expert” conţine descrierea şi realizarea
sistemului expert, consideraţii generale, metodologii de realizare a sistemelor
expert, sunt menţionate metodologiile cu ajutorul carora poate fi realizat un system
expert. De asemenea este descrisă realizarea sistemelor expert prin prototipizare.
În capitolul trei sunt examinate sistemele de asistare a deciziilor, sunt date
definiţii şi explicaţii, la fel se face o clasificare a acestora precum şi sunt meţionate
componentele sistemelor de asistare a deciziilor, la fel sunt prezentate scheme şi
tabele.
Al patrulea capitol demonstrează aportul practic în domeniul medicinei, axat
pe un sistem expert de diagnosticare medicală a bolilor psihice.

7
I. SISTEME EXPERT. DEFINIRE ŞI ARHITECTURĂ
1.1. Scurt istoric al sistemelor expert

Un sistem expert (SE) este un program care urmăreşte un grup de cunoştinţe


pentru obţinerea în acelaşi mod ca şi experţii umani a rezultatelor despre activităţi
dificil de examinat. Principala caracteristică a sistemelor expert este derivată din
baza de cunoştinţe împreună cu un algoritm de căutare specific metodei de
raţionare. Un sistem expert tratează cu succes probleme pentru care o soluţie
algoritmică clară nu există.
Cronologic, primele aplicaţii ale Inteligenţei Artificiale le-au constituit
sistemele expert. Acestea emulează raţionamentul uman pentru sarcini specifice şi
în domenii restrânse şi au fost foarte bine primite de companii.
Primele sisteme expert dezvoltate în domenii aplicative au fost DENDRAL,
destinat analizei structurilor moleculare, MYCIN, un sistem expert pentru
diagnosticul şi tratamentul infecţiilor sanguine, sistemele EMYCIN, HEADMED,
CASNET şi INTERNIST pentru domeniul medical, PROSPECTOR pentru
evaluarea prospecţiunilor şi forajelor geologice, sau TEIRESIAS pentru achiziţia
inteligentă a cunoaşterii. [19]
La începutul anilor 1980 apar şi primele aplicaţii comerciale ale sistemelor
expert (XCON, XSEL sau CATS-1), care au cunoscut apoi o explozie la începutul
anilor 1990. Sistemele expert bazate pe reguli se dezvoltă şi se implementează în
multe domenii de activitate, inclusiv în cel financiar-contabil: control intern, audit,
planificarea impozitelor, diagnostic financiar, raportare financiară, contabilitate

8
managerială, analiză credite, analiza riscului, planificare investiţii, etc. Marile
firme de contabilitate şi audit îşi realizează propriile sisteme expert în domeniului
controlului intern şi al auditului: ExpertTAX, Risk Advisor (Coopers & Lybrand),
Loan Probe, Peat/1040 (KPMG), VATIA, Flow Eval (Ernst & Young), Planet,
Compas, Comet (Price Waterhouse), Rice (Arthur Andersen), Audit Planning
Advisor, World Tax Planner (Deloitte Touche).

1.2. Definiţii şi arhitecturi ale sistemelor expert


Sistemele Expert (SE) sunt cele mai utilizate aplicaţii ale Inteligenţei
Artificiale în cadrul întreprinderilor. Ceea ce este remarcabil pentru sistemele
expert, este aria de aplicabilitate ce a cuprins multe domenii de activitate de la
arhitectură, arheologie, bănci, comerţ, educaţie, până la ingineria sistemelor şi
medicină.

70% - Sisteme expert


20% - Limbaj natural
4% - Recunoaştere vocală
4% - Robotică
2% - Recunoaştere de forme

Fig. 1 Utilizarea aplicaţiilor ale inteligenţei artificiale

9
Sistemele expert sunt programe concepute pentru a raţiona în scopul rezolvării
problemelor pentru care în mod obişnuit se cere o expertiză umană considerabilă.
(Edward Feigenbaum, Stanford University).
J. Feldman definea sistemul expert într-o formă foarte simplă : « Un sistem
expert este un program ordinar scris într-un stil particular ».[18]
Se pot oferi foarte multe definiţii pentru noţiunea de sistem expert şi de
asemenea se pot realiza foarte multe clasificări pornind de la acestea. Cert este
faptul că un sistem expert (SE) este un program care reproduce comportamentul
unui expert uman îndeplinind o sarcină într-un domeniu precis. Sietemul expert
încorporează o bază de cunoştinţe şi un motor de inferenţă şi utilizează proceduri
de inferenţe pentru soluţionarea unor probleme. Acest program poate fi scris
apriori în orice limbaj.
Pentru a contura noţiunea de SE putem enumera următoarele caracteristici:
• din punct de vedere conceptual, SE vizează reconstituirea raţionamentului
uman pe baza expertizei obţinute de la experţi;
• SE dispun de cunoştinţe şi de capacitatea de a desfăşura activităţi
intelectuale umane;
• sunt organizate pentru achiziţia şi exploatarea cunoaşterii dintr-un domeniu
particular numit domeniul problemei;
• dispun de metode de invocare a cunoaşterii şi exprimarea expertizei
comportându-se ca un asistent inteligent.
• la nivel de realizare informatică, SE se bazează pe principiul separării
cunoaşterii de programul care o tratează;
• sunt capabile să memoreze cunoaşterea, să stabilească legăturile între
cunoştinţe şi să tragă concluzii, să propună soluţii, recomandări, să
determine cauzele unor fenomene.
Cea mai importantă caracteristică a programării stil « sistem expert » este
faptul că ea separă minuţios baza de fapte (fapte şi reguli) de restul programului
informatic capabil să le exploateze (motorul de inferenţă).

10
Putem clasifica Sistemele Expert in trei categorii de aplicaţii:
a. sisteme expert de clasificare,
b. sisteme expert de control,
c. sisteme expert de anticipare.
Sistemele expert folosite în arheologie fac parte din categoria celor de
clasificare, deoarece interesul arheologului este acela de a-şi selecta, ordona şi
cataloga materialul (sau cunoştinţele) în vederea prelucrărilor ulterioare. [17]
Cunoaşterea într-un sistem expert este organizată într-o manieră care separă
cunoştinţele despre domeniul problemei de alte tipuri de cunoştinţe, precum cele
despre rezolvarea problemei şi cele despre interacţiunea cu utilizatorul.
Sistemele expert sunt programe care înmagazinează cunoştinţe specializate,
introduse de experţi. Aceste sisteme se folosesc deseori în situaţii în care nu există
o soluţie algoritmică clară. Principala caracteristică a acestora este prezenţa unei
baze de cunoştinţe împreună cu un algoritm de căutare adecvat tipului de
raţionament. De cele mai multe ori, baza de cunoştinţe este foarte mare, de aceea
este foarte importantă modalitatea de reprezentare a cunoaşterii. Baza de
cunoştinţe a sistemului trebuie separată de program, care la rândul său trebuie să
fie cât mai stabil. Cel mai utilizat mod de reprezentare a cunoaşterii este o mulţime
de reguli de producţie. Operaţiunile acestor sisteme sunt apoi controlate de o
procedură simplă, a cărei natură depinde de natura cunoştinţelor.
Un sistem expert (SE) este un program care urmăreşte un grup de cunoştinţe
pentru obţinerea in acelaş mod ca şi experţii umani a rezultatelor despre activităţi
dificil de examinat. Principala caracteristica a sistemelor expert este derivata din
baza de cunoştinte împreună cu un algoritm de căutare specific metodei de
raţionare. Un sistem expert tratează cu succes probleme pentru care o solutie
algoritmică clară nu există.
Sistemele expert constituie o clasă particulară de sisteme informatice bazate
pe inteligenţa artificială, avînd drept scop reproducerea cu ajutorul calculatorului a
cunoştintelor şi raţionamentelor experţilor umani. Un asemenea sistem este capabil
să colecteze şi să stocheze expertiza acumulată de persoane cu calificare superioară

11
şi experienţă vastă şi să o difuzeze în cadrul întreprinderii sau să o încorporeze în
sisteme informatice de asistare a deciziilor. [1]
O caracteristică esenţială a sistemelor expert priveşte competenţa acestora de
a furniza explicaţii asupra raţionamentelor întreprinse pentru ajungerea la rezultat,
explicaţii ce trebuiesc exprimate într-un limbaj cît mai apropiat de limbajul natural.
Multitudinea problemelor de analizat determină si volumul mare al bazei de
cunoştinţe, însă un sistem expert trebuie să fie capabil să rezolve în aceeaşi masură
şi problemele ce sunt afectate de cunoaşterea incertă şi incompletă. În aceste
situaţii se pot utiliza cunoştinţe euristice ce permit găsirea soluţiei potrivite fără ca
aceasta să fie neapărat soluţia optimă.

Componentele sistemelor expert

SE realizează în fapt prelucrarea cunoştinţelor umane şi se pot regăsi pe orice


treaptă a conducerii oferind răspunsuri la întrebări dintr-o arie specifică prin
efectuarea de inferenţe asupra cunoaşterii conţinută în baza de cunoştinţe, fiind
capabile să explice utilizatorilor raţionamentele şi concluziile care au condus la o
anumită soluţie.
Un sistem expert este compus din două părţi independente:
o bază de cunoştinţe, care la rândul său este compusă din :
• bază de reguli – care modelează cunoştinţele unui domeniu
considerat;
• baza de fapte – care conţine informaţii referitoare la cazul
pe care îl tratăm;
un motor de inferenţă, capabil să raţioneze pornind de la
informaţiile
conţinute în baza de cunoştinţe, să facă deduceri, etc.
Baza de reguli conţine cunoştinţele expertului. Aceasta nu evoluează în cursul
unei sesiuni de lucru.
Baza de fapte constituie în oarecare măsură memoria de lucru
a sistemului expert. La începutul sesiunii de lucru, ea conţine
12
ceea ce se cunoaşte despre cazul examinat înainte de intervenţia
motorului de inferenţă. După aceea ea se completează cu faptele
deduse de motor sau cerute utilizatorului.
Faptele pot fi exprimate prin formele mai mult sau mai puţin
complexe:
• boleene ( adevărat sau fals);
• simbolice ( valori aparţinând unui ansamblu finit de
simboluri);
• reale ( valori aparţinând unui ansamblu continuu);

Fig.2 Componentele bazei de cunoştinţă

Motorul de inferenţă este necesar pentru a asigura


exploatarea bazei de cunoştinţe, adică, pentru a lega descrierea
unei probleme de capacitatea de analiză a unei situaţii date. Într-
o manieră generală, motorul de inferenţă este capabil sǎ
răspundă la întrebări şi să raţioneze.

13
Independenţa dintre baza de cunoştinţe şi motorul de
inferenţă este un element esenţial al sistemelor expert. Aceasta
permite o reprezentare a cunoştinţelor sub formă pur declarativă,
adică fără nici o legătură cu maniera în care cunoştinţele vor fi
utilizate. Avantajul acestui tip de arhitectură este că dă
posibilitatea dezvoltării cunoştinţelor sistemului, fără a influenţa
mecanismul de raţionament.
Pe lîngă aceste două componente principale un Sistem Expert mai este
compus şi din componente secundare:
1. Interfaţa utilizator este cea care asigură dialogul dintre utilizator şi sistem.
2. Modulul de achiziţie al cunoştinţelor preia cunoştinţele specializate
furnizate de expertul uman sau inginerul de cunoştinţe într-o formă ce nu este
specifică reprezentării interne (fişiere).
3. Modulul de explicaţii permite trasarea drumului de urmat în raţionare de
către sistemul rezolutiv şi emiterea justificărilor pentru soluţiile obţinute,
evidenţiindu-se în acest mod cauza greşelilor sau motivul eşecurilor.
Exemplu de structură generală a unui sistem expert
Un sistem expert se bazează pe două componente distincte şi complementare:
a. tehnologii de programare ce permit utilizarea unui volum mare de
cunoştinţe, precum şi modul de inferenţiere cu acestea.
b. construcţii şi metodologii dezvoltate, ce permit utilizarea efectivă a acestor
tehnologii. [2]

Intr-un sistem expert raţionarea şi cunoştinţele nu trebuie tratate separat


deoarece un astfel de sistem presupune o armonizare a lor. [20]
Expertul care înţelege necesitatea utilizării unui sistem expert în domeniul său
de activitate poate obţine ajutor de la inginerul de cunoştinţe (specialistul în
calculatoare) deoarece în urma discuţiilor cu acesta anumite cunoştinţe vor fi
reformulate astfel încât să poată fi aplicabile pe un calculator.
Intre instrumentele de lucru ale sistemelor expert se iau în considerare
modelele prin care o bază de cunoştinţe poate fi afişată, captată şi reprezentată.

14
Principala calitate a calculatoarelor o reprezintă capacitatea de realizare a unei
viteze mari de calcul. Fiecare limbaj de programare încearcă să facă calculatorul
cât mai eficient din punct de vedere al puterii de calcul. În realizarea unui program
ce raţionează se porneşte de la ideea că simbolurile de prelucrare pot fi numere,
texte sau alte concepte. Acestea sunt considerate "simboluri fizice", iar calculatorul
poate manipula astfel de simboluri. Un sistem expert viabil, dublat de viteza de
lucru a unui calculator, poate eficientiza un anumit domeniu de lucru. [2]
Aria de cuprindere în care se utilizează sistemele expert este determinată în
principal de funcţiile pe care le îndeplinesc sistemele expert.

Tabelul 1.
Funcţii Rol şi aria de cuprindere
1. De control şi monitorizare Controlul inteligent al sistemelor
2. De depanare şi reparare Recomandă corecţii ale deficienţelor
funcţionării sistemelor
3. De proiectare Proiectarea produselor şi sitemelor
4. De diagnostic şi întreţinere Localizează erorile de funcţionare şi
recomandă corecţiile necesare
5. De instruire Imbunătăţeşte performanţele celor care
învaţă folosind strategiile CAI –
Computer Asisted Instruction
6. De interpretare Clarificarea unor situaţii, inferarea
situaţiilor noi pe baza semnalelor de la
senzori
7. De planificare Dezvoltă scheme de activitate orientate
spre scop (obiective)
8. De predicţie Inferarea unor situaţii probabile pe baza
informaţiilor deja cunoscute
9. De simulare Deducerea consecinţelor acţiunilor sau a
evenimentelor decalşate de către sistemul

15
însuşi

10. De clasificare Organizarea entităţilor (obiectivelor) pe


clase / categorii
11. De selecţie Identificarea celei mai bune alternative
dintr-o listă de posibilităţi

16
1.3. Prezentarea cunoaşterii

Domeniul de expertiză se caracterizează prin ansamblul de cunoştinţe


necesare rezolvării diferitelor probleme ce se manifestă în acest domeniu.
Cunoştinţele pot fi de cultură generală, de specialitate şi cunoştinţe expert.
Cunoştinţele expert reprezintă elementul esenţial al ansamblului de cunoştinţe,
servind la identificarea şi descrierea (formalizarea) problemelor. Aceste cunoştinţe
sunt proprietatea expertului, fiind obţinute de către acesta în special prin experienţă
şi calităţi individuale deosebite, care îl individualizează de ceilalţi specialişti în
domeniu, ce posedă doar cunoştinţe comune de specialitate.
Cunoştinţele expert servesc la rezolvarea problemelor complexe, în special a
celor prost structurate, pentru care nu există proceduri operaţionale predefinite
(soluţii prefabricate).
Problemele prost structurate se caracterizează prin importanţa deosebită pe
care o prezintă experienţa decidentului în soluţionarea problemei, prin lipsa unor
proceduri predefinite de rezolvare, prin existenţa unor criterii numeroase, adesea
inconsistente, printr-un ritm rapid de schimbare a contextului şi a formei de
manifestare a problemei.
Cunoştinţele dintr-un anumit domeniu sunt extrem de numeroase şi de
specializate, servind la rezolvarea mai multor probleme, considerate ca aparţinând
unei clase de probleme. [20]
Descrierea unei probleme specifice se realizează prin prezentarea stării de
fapt a domeniului, la un moment dat. Rezolvarea problemei se realizează prin
aplicarea diferitelor cunoştinţe, care exprimă modalităţile de acţiune la o anumită
stare a domeniului.
Raţionamentul reprezintă procesul de utilizare sistematică a cunoştinţelor, în
vederea rezolvării unei probleme. In cadrul raţionamentului se realizează deci
legătura dintre cunoştinţe şi fapte. Să considerăm procesul de rezolvare a
problemelor decizionale.
Fundamentarea deciziilor economice se sprijină pe un demers logico-raţional,
prin care se prefigurează implicaţiile posibile şi dezirabile ale diferitelor variante
17
decizionale pentru a se putea selecta una dintre ele. Cu siguranţă, procesul
decizional nu poate fi redus la operaţiile de identificare în viitor a implicaţiilor
unei acţiuni. Activitatea decizională prezintă şi calităţile unei activităţi umane
creatoare, prin care se construiesc forme posibile de viitor, ce nu pot fi explicate,
derivate din evoluţia trecutului şi prezentului, ci numai prin apelul la imaginaţie,
creativitate. Se poate afirma că fundamentul raţional - deductiv şi inductiv este
esenţial. Numai cu ajutorul unor structuri şi operaţii logico-raţionale procesul de
luare a deciziilor poate dobândi statutul unui demers decidabil şi coerent. [3]
Raţionamentul deductiv. Fundamentarea deciziilor pe baza demersului
deductiv constă din inferenţierea unor evenimente (efectele aplicării diferitelor
variante de acţiune) pe baza condiţiilor iniţiale (aşa numitele premize teoretice sau
universale).
Deducţia este considerată frecvent principalul demers din cadrul procesului de
fundamentare a deciziilor. Raţionamentul deductiv permite realizarea de predicţii
derivate din enunţuri teoretice, dar şi previziuni bazate pe sisteme de ipoteze. Prin
deducţie trebuie să avem în vedere nu numai trecerea de la general la particular, ci
orice trecere riguroasă de la condiţii la consecinţă - condiţia să fie suficientă şi
consecinţa să fie necesară (deci şi trecerea de la întreg la a parte sau de la cauză la
efect). Legile utilizate în fundamentarea deductivă a deciziilor economico-sociale
sunt legi statistice, care guvernează mobilitatea fenomenelor şi proceselor
economico-sociale, în condiţii concrete de timp şi de spaţiu. Legile statistice
exprimă ceea ce este în general, ceea ce se manifestă într-un număr suficient de
mare de cazuri individuale. Reprezintă, legităţi care se manifestă sub formă de
tendinţe. Evoluţia unui fenomen economieo-social reprezintă rezultatul acţiunii
unei multitudini de factori, unii esenţiali, alţii întâmplători. Legăturile dintre
fenomenele economico-sociale sunt legături statistice, care exprimate numeric sunt
desemnate prin noţiunea de corelaţie.
In descrierea demersului deductiv din cadrul activităţii decizionale este
extrem de utilă şi utilizarea schemelor raţionamentului ipotetic. Astfel, schema

18
raţionamentului potetîc modus ponens permite previzionarea producerii unui
eveniment aşteptat (consecinţă), în condiţiile realizării premizelor. Raţionamentul
ipotetic modus tollens permite exprimarea faptului că neîmplinirea consecinţei
(infirmarea previziunii) indică falsitatea premizelor. Raţionamentul ipotetico-
disjunctiv este utilizat în construcţiile previzionale care explorează, diferite
alternative posibile ale viitorului.
Raţionamentul inductiv. Există procese decizionale care nu pot fi reduse la
schemele raţionamentului deductiv. In schema deductivă nu pot fi încadrate toate
deciziile, precum cele întemeiate pe temeiuri cognitive incomplete. Utilizarea
previziunilor amplificatoare, care depăşesc strict vorbind premizele, ca şi cele care
conduc la substituiri şi generalizări, reclama extinderea tipurilor de raţionament
avute în vedere. [4]
Procesele decizionale realizate pe baza inductivă nu se întemeiază exclusiv pe
experienţa trecutului. Prin inducţie se prevede generalul, plecând de la cunoaşterea
unei colecţii de fapte sau anticiparea unui fapt particular pe baza cunoaşterii altui
fapt particular, a prevederii unei clase de baza cunoaşterii unei părţi din clasă, a
anticipării manifestării viitoare a evenimentelor guvernate de legi empirice,
luându-se ca punct de plecare cunoaşterea manifestărilor trecute ale acestor legi
empirice. Problema fundamentării raţionale şi practice a valorii amplificatoare a
inducţiei incomplete a provocat şi mai provoacă încă vii discuţii. Extinderea şi
generalizarea, operate prin inducţia incompletă reclamă procedee de garantare a
valabilităţii ei. Accentul se pune pe procedeele intensionale, mai mult decât pe cele
extensionale. Pe baza cunoaşterii esenţei, fie chiar şi a unui singur exemplar dintr-o
clasă de elemente se poate ajunge la concluzii inductive amplificatoare, valabile
pentru întreaga clasă, fără cunoaşterea integrală a seriei de evenimente asupra
căreia operează predictia. Inducţia se manifestă ca previziune, permiţând
anticiparea generalului, a legii, completarea a unor serii de evenimente cu elemente
noi, pe baza studierii cazurilor tipice şi a proprietăţilor esenţiale ale elementelor
din clasele considerate. In cadrul deciziilor economico-sociale se impune că de la
constatarea faptului ca un anumit eveniment, proprietate, starea se repetă cu o

19
anumită frecvenţă şi regularitate în cadrul unei serii lungi de evenimente, să se
presupună că aceeaşi regularitate şi distribuţie se vor manifesta şi în viitor. Această
presupunere este rezultatul unui raţionament inductive.[4]
Formalizarea demersului raţional. Acesta a permis caracterizarea
construcţiilor decizionale drept construcţii explicite şi decidabile, care pot
beneficia de calcule logico-matematice, care duc la creşterea corectitudinii
formale. Adesea se consideră că procesul decizional care nu este rezultatul unui
calcul logic reprezintă o simplă avengură. Chiar dacă uneori s-a considerat că
pentru a realiza o modelare logică descriptivă a procesului decizional este suficient
să se utilizeze calculul predicatelor. Logicile neclasice, precum logica acţiunii şi
logica denotică, logica temporală, logica modală şi mai recent logica decizională a
acestor demersuri este, în prezent destul de redusă.
Reprezentarea cunoştinţelor într-un calculator constă în găsirea unor
corespondenţe între lumea exterioară şi sistemul simbolic ce permite execuţia
raţionamentelor. În acest scop se extrag din observaţiile făcute asupra obiectelor, a
faptelor şi a fenomenelor, acele caracteristici cărora li se pot asocia semnificaţii
determinate de imaginea mentală formată despre lume. Descrierea are ca scop
diferenţierea imaginii obiectului dat de imaginile celorlalte obiecte ale lumii
înconjurătoare, la fel cum obiectul fizic se deosebeşte de restul obiectelor lumii
reale.
Pot fi reliefate două componente ale cunoaşterii ştiinţifice:
a. cunoaşterea reflexivă bazată pe reflectarea exterioară a faptului ştiinţific;
b. cunoaşterea generativă bazată pe crearea de noi obiecte abstracte pentru
construirea unor noi fapte ştiinţifice şi programe de acţiune.
Cunoaşterea este empirică dacă informaţiile despre obiecte, fapte, fenomene,
sau procese necunoscute, este sesizată de subiectul cunoscător prin organele sale
senzoriale sau prin intermediul unor aparate sau instrumente. [5]
Cunoaşterea este teoretică dacă se desfăşoară după raţionamente şi judecăţi
reliefând legăturile interne, cauzalitatea, legităţile după care se dezvoltă structurile

20
şi se derulează procesele. Ea se dezvoltă din cunoaşterea empirică prin analiză,
sinteză, deducţie, inducţie, generalizare şi particularizare.
Sistemul cognitiv reprezintă totalitatea pieselor de cunoaştere, modul de
stocare şi procedeele de acces la acestea.
În [5] sînt reprezentate trei etape ale reprezentării cunoaşterii:
a. Stabilirea sistemului de meta-reprezentare, care are ca obiectiv asigurarea
unor modalităţi adecvate de reprezentare a cunoaşterii lumii reale cât şi pentru
componentele proprii ale sistemului inteligenţei artificiale.
b. Stabilirea sistemului de clasificare ce urmăreşte gruparea în clase, precum şi
ordonarea acestora după criterii ce rezultă din analiza relevaţiei proprietăţilor
obiectelor ce formează piesele de cunoaştere.
c. Stabilirea sistemului de organizare privitor le gruparea şi ordonarea
elementelor şi claselor, precum şi asigurarea unor procese fundamentale cum sunt:
acces, căutare, corespondenţă, grupare, regrupare, interferenţă deductivă,
interferenţă inductivă, organizare, reorganizare şi protecţie. [5]
Reprezentarea cunoaşterii urmăreşte descrierea universului în care sistemul
efectuează raţionamente sub formă de entităţi corespunzătoare indivizilor şi sub
formă de simboluri pentru relaţiile dintre aceştia.
O arhitectură de reprezentare a cunoştinţelor este construită pe trei nivele:
a. stocare fizică a cunoştinţelor în baza de cunoştinţe;
b. nivelul intern este constituit din schema internă ce descrie structura de
conceptual descrie structura întregii baze de cunoştinţe pentru o comunitate de
utilizatori;
c. nivelul extern include o colecţie de scheme externe ce descrie baza de
cunoştinţe prin prisma diferiţilor utilizatori.
Se pot distinge, pentru aplicaţiile de inteligenţă artificială, trei clase de metode
de reprezentare: metode logice (enunţuri adevărate); metode relaţionale (grafuri şi
reţele); metode procedurale (proceduri).

21
II. REALIZAREA SISTEMELOR EXPERT
2.1.Consideraţii generale
Realizarea sistemelor expert impune utilizarea unor metodologii de lucru
specifice, care să ţină cont de particularităţile acestor sisteme inteligente, în raport
de sistemele software convenţionale şi anume: construirea unui sistem inteligent
presupune considerarea problemei de rezolvat în sens mult mai larg decât simpla
rezolvare a acesteia. Acest lucru se explică prin faptul că definirea problemei şi a
posibilităţilor de rezolvare sunt mai greu de realizat decât în cazul sistemelor
convenţionale. La realizarea unui sistem expert schemele de rezolvare
convenţionale trebuie să fie incluse în mulţimea posibilităţilor de rezolvare a
problemelor, alături de cele specifice inteligenţei artificiale.
Ceea ce caracterizează, în ansamblul lor metodologiile de realizare a
sistemelor expert este faptul că ele se bazează pe paradigma realizării evolutive a
sistemelor software (figura 2), care diferă de modelul liniar, al trecerii o singură
dată printr-o serie de etape, faze, activităţi etc. Conţinutul diferitelor etape şi
modul în care este dirijată reluarea acestora reprezintă elementele specifice fiecărei
metodologii în parte. , Realizarea sistemelor expert impune desfăşurarea
următoarelor tipuri de activităţi:
• investigare , în scopul cunoaşterii cât mai detalii a domeniului pentru care
se realizează sistemul; [6]
• analiză, în principal pentru identificarea şi formalizarea cunoştinţelor;
• proiectare, de ansamblu şi de detaliu a sistemului
• programare a componentelor de sistem;
• evaluare a sistemului expert şi/sau componentelor acestuia;
• activităţi depunere în funcţiune, exploatare şi întreţinere a sistemului expert.
Specific metodologiilor de realizare a sistemelor expert este îmbinarea acestor
tipuri de activităţi, pe parcursul întregului ciclu de realizare. Concomitent cu
investigarea se realizează atât analiza, cât şi proiectarea preliminară a sistemului.

22
Pentru fazele ulterioare, proiectarea se îmbină cu analiza şi cu programarea. în
acest fel, nu se pot pune în evidenţă etape orientate în exclusivitate pe un singur tip
de activitate.

Definire
Specificaţii proiectare

Codificare
(programare)
programare

Integrare module

Fig 3. Realizarea evolutivă a sistemelor software.

Paradigma realizării evolutive a sistemelor s-a impus în domeniul sistemelor


inteligente întrucât, pe de o parte reprezintă o metodă mai ieftină, iar pe de altă
parte, de multe ori este singura abordare care permite tratarea cerinţelor
nestructurate ale utilizatorilor finali, precum şi depăşirea dificultăţilor legate
de achiziţionarea cunoştinţelor.
S-a constatat că în cazul sistemelor software complexe este, în principiu mai
ieftin, în termenii unor consumuri mai mici de resurse să se înceapă cu o soluţie
aproximativa, care să fie apoi treptat îmbunătăţită decât să se urmărească
obţinerea, încă de la început a soluţiei perfecte.
Realizarea evolutivă a sistemelor asigură posibilitatea lucrului cu cerinţe prost
definite. Atunci când domeniul este prost structurat şi extrem de dinamic,
utilizatorii întâmpină frecvent dificultăţi în definirea cerinţelor faţă de sistemul ce

23
trebuie realizat. Abordarea evolutivă, în iteraţii succesive asigură un grad ridicat
de interactivitate între utilizatorii şi realizatorii sistemului, fiind posibilă astfel
formularea cerinţelor într-un mod gradat. Utilizatorii învaţă să-şi formuleze
cerinţele, îşi îmbunătăţesc posibilităţile de comunicare cu echipa de realizare a
sistemului. Prin realizarea unor versiuni succesive ale sistemului, modalitatea de
satisfacere a cerinţelor de către sistem se poate valida înaintea finalizării activităţii
de realizare a acestuia, ceea ce face posibilă ameliorarea funcţionalităţii lui,
precum şi creşterea gradului de acceptare a sistemului de către utilizatori,
concomitent cu reducerea costurilor de realizare.
Realizarea evolutivă a sistemelor software a determinat definirea modelului
în spirală al ciclului de viaţă al sistemelor expert.
In ceea ce priveşte achiziţionarea cunoştinţelor, prin realizarea evolutivă a
sistemelor este posibilă o dezvoltare incrementală a bazei de cunoştinţe, proces
favorizat şi de caracterul declarativ al majorităţii schemelor de reprezentare a
cunoştinţelor. Versiunile succesive ale sistemului sunt considerate drept cel mai
important instrument de achiziţionare a cunoştinţelor de care dispun analiştii. S-a
constatat că ritmul de achiziţionare a cunoştinţelor se accelerează după construirea
primei versiuni a sistemului. O variantă operaţională, chiar imperfectă a sistemului
produce o îmbunătăţire a mediului de lucru în procesul achiziţionării cunoştinţelor,
mediu care devine mai structurat şi stimulează astfel procesele de exprimare şi
formalizare a cunoştinţelor.

2.2. Metodologii de realizare a sistemelor expert

Metodologia ORSA
ORSA (Operaţional Research and Systems Analysis) reprezintă o
metodologie care porneşte de la obiectivele generale ale unităţii în care urmează să
funcţioneze sistemul, încercând să realizeze transformarea acestora în cerinţe
pentru realizarea sistemului. Principalele etape de realizare a unui sistem
inteligent, conform metodologiei ORSA sunt:

24
- definirea problemei (iniţial, o definire nestructurată);
- investigarea problemei;
- dezvoltarea definiţiei /definiţiilor rădăcinii sistemului;
- utilizarea modelelor conceptuale în crearea sistemului abstract;

- compararea modelului abstract cu cel real;


- identificarea modificărilor descifrabile şi posibile;
- iniţierea rezolvării problemei sau, cel puţin îmbunătăţirea definirii problemei.

[21]
Primele două etape au ca obiectiv formularea unei/unor descrieri detaliate ale
problemei. Această descriere este de cele mai multe ori o schemă (diagramă) care
poate fi construită gradat, rafinată dacă este necesar. Se recomandă ca această
descriere să includă atât elemente de structură, cât şi procese, dinamice, ca să se
poată forma un punct de vedere despre cum se manifestă acestea într-un caz sau
altul.
Etapa a treia esenţială având drept scop elaborarea (fundamentarea) rădăcinii
sistemului. Definiţia rădăcinii reprezintă o declaraţie în legătură cu ce este sistemul
sau mai exact cu ceea ce trebuie să realizeze sistemul prin perspectiva "viziunii
asupra lumii" considerate.
Pentru a facilita analiza corectitudinii definiţiei rădăcinii, Checkland P. a creat
mnemonica CATWOE.
C (Customer) Ce este utilizatorul, pentru cine acţionează sistemul?
A (Actors) Cine îndeplineşte principalele acţiuni din sistem?
T (Transformation) Care este activitatea fundamentală desfăşurată în sistem?
W (Wetanschaung) Care este perspectiva care face această definiţie să fie
fundamentală?
O (Owners) Care sunt persoanele care decid asupra existenţei sistemului?
E (Environment) Care sunt limitele sistemului?
Obiectivul etapei a patra este obţinerea modelului conceptual al sistemului.
Pentru aceasta se expandează definiţia rădăcinii, obţinându-se un set de activităţi
minim necesare pe care sistemul trebuie să le efectueze. In etapele următoare,

25
modelul conceptual este comparat, din punct de vedere al performanţei cu sistemul
real. Se verifică pe de o parte corectitudinea modelului, şi concomitent se încearcă
identificarea schimbărilor de structură care să amelioreze sistemul. [6]
În ultima etapă sunt puse în aplicare, în mod efectiv modificările considerate
ca desirabile şi realizabile. Aceste modificări se efectuează pe baza unui plan de
implementare adecvat. După efectuarea modificărilor se testează comportamentul
sistemului, în scopul determinării efectelor acestor modificări, procesul de
realizare a sistemului putându-se relua sau opri.

Metodologia RUDE
Metodologia RUDE (Run-Understand-Debug-Edit) este elaborată de
D.Partridge, pe baza analizei comparative a sistemelor inteligente şi a celor
convenţionale. Conform lui Partridge, sistemele inteligente nu pot fi realizate pe
baza modelului "problemei complet formulate", ca în cazul ingineriei software
convenţionale.
Patridge subliniază necesitatea îmbunătăţirii acestei metodologii, prin crearea
unor derivate metodologice riguros fundamentate şi robuste, care să poată fi
utilizate în realizarea de sisteme inteligente comerciale. RUDE reprezintă o
perspectivă exploratorie în construirea de sisteme inteligente. Este necesară însă o
metodă de construire a unui sistem iniţial, de la care să se pornească aplicarea
ciclului RUDE. De asemenea sunt necesare forme de control a procesului iterativ,
precum şi încorporarea acestora într-un mediu de lucru structurat.
Metodologia POLITE. Metodologia POLITE (Produce Objective-
Logical/Physical Design Implement Test-Edit) a fost definită pe baza metodologiei
RUDE. De remarcat faptul că atunci când este cazul, fiecare etapă este prezentată
atât din punctul de vedere al realizării de componente software convenţionale
(stânga), cât şi din punct de vedere al realizării de sisteme inteligente (dreapta).
Acest lucru permite utilizarea metodologiei în ambele domenii de realizare
software.

26
Instrumente de realizare a sistemelor expert
Realizarea sistemelor expert presupune, în primul rând achiziţionarea
cunoştinţelor. Activitatea de achiziţionare a cunoştinţelor se desfăşoară pe
parcursul întregului proces de realizare a unui sistem bazat pe cunoştinţe, începând
din etapa studiului de fezabilitate şi până în etapa punerii în funcţiune a sistemului.
Procesul de achiziţionare a cunoştinţelor este realizat de către informaticieni
special pregătiţi pentru aplicarea diferitelor metode şi tehnici de reprezentare şi
utilizare a cunoştinţelor. în încercarea de reducere a pierderilor de informaţii care
însoţesc procesele de explicitare a cunoştinţelor, se poate recurge la realizarea on-
line a proceselor de inducere a cunoştinţelor, cu ajutorul unor instrumente de
achiziţionare automată a cunoştinţelor, precum sistemele de învăţare automată,
procesoare inteligente de cuvinte, instrumente pentru proiectarea arborilor
decizionali etc.
Diferitele instrumente de achiziţionare automată a cunoştinţelor sunt de regulă
realizate ca instrumente aplicabile unei game largi de sisteme bazate pe cunoştinţe.
Realizatorii acestor sisteme pot adapta instrumentele propriilor cerinţe, integrându-
se în cadrul unui model de achiziţionare automată a cunoştinţelor, parte
componentă a sistemului bazat pe cunoştinţe. [7]
În cadrul activităţii de realizare a sistemului expert se pot utiliza numeroase
tipuri de instrumente software de codificare, încărcare, utilizare şi actualizare a
cunoştinţelor, precum:
a) medii de programare convenţionale precum: C, FORTRAN, PASCAL;
b) medii de programare specializate, precum: LISP, PROLOG;
c) toolkit-uri, precum: KEE ART;
d) generatoare de sisteme expert (shell-uri), precum: GURU, EXSYS, H-
EXPERT;
e) instrumente software specializate.

Dacă instrumentele preferate la sfârşitul anilor 70 erau mediile de programare


specializate, şi în principal LISP-ul, în anii '80 şi mai ales în prezent instrumentele
software cel mai mult utilizate sunt generatoarele de sisteme expert.

27
Selectarea unui anumit instrument software se realizează în cadrul proiectelor
de sisteme expert în funcţie de numeroşi factori, precum:
-disponibilitatea instrumentelor;
-abilitatea în utilizare anumitor instrumente;
-dimensiunea sistemului expert care trebuie realizat;
-tipul de sistem expert care urmează a fi realizat (de clasificare, de
configurare etc);
-destinaţia sistemului expert (asistent inteligent, expert etc);
- modul de utilizare preconizat pentru sistemul expert (individual,

interconectat, integrat);
- tipul utilizatorilor sistemului expert şi deci, interfeţei utilizator care trebuie
asigurată (grafică, animaţie, etc);
- metoda de reprezentare a cunoştinţelor pe care trebuie să le suporte
sistemul expert;
- metodele de raţionament pe care trebuie să le asigure sistemul expert;

- performanţele pe care trebuie să le prezinte sistemul în exploatare (de


exemplu,funcţionare în timp real);
- nivelul resurselor disponibile pentru realizarea sistemului expert sau posibil

de mobilizat, etc. [7]

Generatoare de sisteme expert


Generatoarele de sisteme expert constituie clasa de instrumente software cu
cea mai largă utilizare. Acestea reprezintă sisteme software care oferă realizatorilor
de sisteme expert:
-un cadru (un schelet) de sistem expert (de tipul unui "sistem expert
generalizatul"), în sensul că sunt puse la dispoziţia realizatorilor, în formă
generalizată toate componentele unui sistem expert, mai puţin baza de cunoştinţe;
-facilităţi de realizare a sistemelor expert pe măsură, personalizate, pe bază
componentelor preprogramate. Aceste facilităţi se referă la: [8]
■ limbaj de comandă pentru construirea bazei de cunoştinţe;

28
■ instrumente de control a raţionamentelor;
■ instrumente de personalizare a interfeţelor sistemului, etc.
Generatorul de sisteme expert GURU. Este realizat de Micro Data Base
Systems Incorporation. Acest generator de sisteme expert permite realizarea,
testarea şi implementarea aplicaţiilor de tip sistem expert de dimensiuni medii şi
mici. Pentru asigurarea unui număr mare de facilităţi, generatorul GURU oferă: -
un limbaj specializat pentru specificarea elementelor necesare aplicaţiilor (schema
de reprezentare a cunoştinţelor, stilul de realizare a interacţiunii cu utilizatorul);
- editor pentru modificare elementelor aplicaţiei;
- servicii (utilitare) pentru realizarea interfeţei utilizator şi a interfeţei cu alte

sisteme software, întreţinerea aplicaţiilor, etc;


De asemenea, acest mediu de dezvoltare a sistemelor expert conţine
mecanismul (motorul) de inferenţă, constructorul bazei de cunoştinţe precum şi un
program de consultare a aplicaţiei, cu generare de explicaţii atât în timpul
consultării aplicaţiei cât şi la terminarea consultării. Generatorul GURU mai
dispune şi de o serie de componente ce permit funcţii de prelucrare convenţionale,
respectiv:
-stocarea, gestionarea şi prelucrarea eficientă a datelor prin tabele de calcul
(spreadsheet) baze de date;
- generarea de grafice;
- comunicarea la distanţă prin modem;
- interpretare limbaj natural;
- execuţia unor comenzi ale sistemului de operare fără a părăsi mediul. GURU
reprezintă deci un generator de sisteme expert ce reuneşte avantaj ele
instrumentelor software clasice (spreadsheet, baze de date, editor, interpretor, etc.)
oferind numeroase facilităţi pentru dezvoltarea unor sisteme expert eficiente cu un
efort acceptabil şi într-un timp relativ scurt.
Generatorul de sisteme expert H - EXPERT. Reprezintă un instrument
dezvoltat în C, deci cu o bună portabilitate pe diferite tipuri de maşini şi destinat
realizării de sisteme expert de dimensiuni mari:

29
Generatorul integrează concepte ale programării orientate obiect, utilizând
conceptele de clasă, obiecte, moştenire multiplă, demoni, etc. Asigură o
reprezentare ierarhică a bazei de cunoştinţe, ceea ce face posibilă optimizarea
timpilor de răspuns şi o reprezentare a cunoştinţelor prin reguli. Asigură interfeţe
cu baze de date, spreadsheet-uri, limbaje generale.
Generatorul GOLDWORKS. Este un mediu de realizare a sistemelor expert
care integrează termici de realizare a sistemelor ce depăşesc pe cele ale mediilor
convenţionale de dezvoltare se sisteme. [8]
Producătorul generatorului este Gold Hill, Inc. Platforma hardware este
constituită din staţii PC, cu minim 8 MB RAM. Toolkit-uriie grafice reclama şi o
serie de facilităţi grafice, pentru a putea utiliza diferitele tipuri de obiecte grafice.
Platforma software este reprezentată de sistemul de operare WINDOWS .
Platforma limbaj de programare este GCLISP, cu puterea limbajului COMMON
LISP.

2.3. Realizarea sistemelor expert prin prototipizare


Realizarea unui sistem expert prin prototipizare presupune parcurgerea
următoarele etape:
Studiul de fezabilitate;
• proiectarea sistemului;
• realizarea versiunilor de prototip ale sistemului;
• punerea în funcţiune a sistemului;
• exploatarea şi întreţinerea sistemului.
Vom analiza pe rând aceste etape, cu referire la conţinutul şi la modul de
desfăşurare a diferitelor activităţi.
Studiul de fezabilitate
Studiul de fezabilitate se realizează în general în două faze şi anume:
■ studiul preliminar de fezabilitate;
■ studiul propriu-zis de fezabilitate.

30
Separarea în cele două faze este utilă, întrucât prin utilizarea unor euristici se
poate realiza estimare a gradului de fezabilitate a sistemului, cu un efort relativ
scăzut de investigare şi analiză a domeniului. Numai în situaţia în care concluziile
primei faze sunt încurajatoare se va depune efortul sistematic de investigare şi de
analiza a domeniul vizat, în scopul stabilirii precise a condiţiilor de fezabilitate
tehnică, economică şi operaţională a sistemului. [20]
Organizarea procesului de iniţiere a proiectului
Presupune în principal formarea echipei de realizare a sistemului, precum şi
identificarea principalelor categorii de personal implicat în derularea proiectului.
Echipa de realizare este formată, de regulă dintr-un număr redus de persoane
(5-6), pentru asigurarea omogenităţii stilului de lucru, coordonării eficientă a
activităţii, concomitent cu schimbul util de idei. In cadrul echipei sunt incluşi şeful
proiectului, analişti de cunoştinţe, precum şi programatori. Din echipă este necesar
să facă parte un reprezentant al conducerii instituţiei beneficiare, care să aibă rolul
de a susţine proiectul, în mod competent şi în cunoştinţă de cauză, în cadrul
diferitelor sisteme de decizie locală sau din exteriorul instituţiei. [20]
Studiul preliminar de fezabilitate
Are drept scop determinarea, cu ajutorul unor criterii simple a fezabilităţii
sistemului expert. Criteriile de apreciere a fezabilităţii sistemelor expert se pot
grupa în:
 criterii de ordin tehnic, precum:
-existenţa unor soluţii algoritmice clasice;
-buna delimitare a domeniului;
-tipul de expertiză;
-timpul afectat realizării sistemelor;
-volumul şi complexitatea cunoştinţelor;
-disponibilitatea expertizei;
-caracteristicile de interfaţă impuse.
 criterii de ordin economic:

31
-disponibilitatea
resurselor;
-costurile estimate;
-efectele scontate.
 criterii de ordin cultural, privind nivelul de receptivitate şi de acceptare a
noii tehnologii.
Toate aceste criterii sînt utilizate cu ajutorul unei tehnici de scoring, care
realizează combinarea lor în raport de importanţă acordată fiecărui criteriu în parte,
într-un calificativ unic.
Studiul propriu-zis de fezabilitate
O estimare riguroasă a fezabilităţii tehnice, economice şi operaţionale nu s
epoate realiza în afara unei imagini, chiar şi aproximative a soluţiei de realizare a
sistemului. Soluţia de realizare nu poate fi formulată fără a se cunoaşte bine
domeniul vizat. Se recomandă formularea unor soluţii alternative, dintre care
printr-o schemă de selectare, să se aleagă o soluţie de realizare a sistemului.

32
III. SISTEME DE ASISTARE A DECIZIEI BAZATE PE CUNOŞTINŢĂ

3.1. Sisteme de asistare a deciziilor : definiţii şi explicaţii

Decizia este considerată de teoriile conducerii ca actul suprem al managerului,


ca expresie a libertăţii conducătorului întreprinderii. Decizia nu poate fi
considerată un apanaj al conducerii întreprinderii ci este un atribut al fiecarui
individ. Decizia identificată la un moment dat se înscrie în procesele intelectuale
decizionale. Decidentul utilizează pentru fiecare decizie informaşii specifice
precum şi o cunoaştere generală (formaţie, experienţă acumulată, stratefie globală
aleasă). Sistemele informatice care ajută cu adevărat decidentul sînt numite sisteme
suport pentru decizii (Decision Support System (SSD), în engleză; Systemes
Interactifs d’Aide a la Decision (SIAD), în franceză).[9]
Decizia se exprimă printr-o informaţie care descrie o acţiune viitoare iar ca
rezultat al procesului decizional ia un aspect solemn, formal, autentificînd
autoritatea decidentului pentru ca executantul să-i recunoască puterea şi să I se
supună. Procesul decizional produce o informaţie, fără această informaţie şi fără
comunicarea ei decizia nu va fi urmată de efecte. Acest rol revine sistemului
informaţional. În toate modelele decizionale, locul informaţiei în procesul luării
deciziei este esenţial.
Punctul de pronire în definirea sistemelor de asistare a deciziilor îl reprezintă
chiar cuvintele din denumire: sistem, asistare, decizie.
Cuvîntul “sistem” desemnează o arhitectură complexă care se manifestă ca un
tot, cu interacţiuni şi interdependenţe între elementele componente. Asistarea
deciziei semnifică faptul că decizia nu o ia sistemul ci omul (decidentul). Omul
rămîne factorul activ, cu rol indispensabil în luarea deciziei.
În privinţa termenului de “decizie” lucrurile nu sînt foarte clare, deoarece
noţiunea de “decizie” nu este uşor de definit.
Deci sistemele de asistare a deciziilor sînt sisteme informatice care oferă
sprijin decidenţilor pe parcursul tuturor fazelor procesului decizional. O incursiune
în literatura de spacialitate şi analiza cîtorva definiţii ale sistemelor de asistare a
deciziilor pot să explice mai bine conceptul şi aplicaţiile acestora.
O primă definiţie aparţine autorilor Peter Keen şi Michael Scott Morton “
sprijinirea deciziei implică utilizarea calculatoarelor pentru (1) asistarea
managerilor în procesele decizionale de tip semistructurat, (2) sprijinirea, mai
curînd decît înlocuirea, raţionamentului managerial, (3) îmbunătăţirea eficacităţii
decidenţilor şi mai puţin a eficienţei”. [9]
Sprague şi Watson definesc SSD ca un “sistem informaţional distinct care
integrează modelele decizionale, bazele de date şi decidenţii în vederea sprijinirii
luării deciziilor”. [10]
Sprague, unul din pionerii lucrărilor SSD face o serioasă încercare de a defini
SSD pornind de la un punct de vedere teoretic şi în termeni legaţi de practică.
Compromisul său, bazat pe observaţiile asupra SSD din acel timp, includea în
definiţie patru elemente esenţiale:
1. SSD tind să fie orientate spre probleme mai puţin bine structurate
referitoare la nivelurile superioare de management
2. SSD încearcă să combine utilizarea modelelor sau tehnicilor analitice cu
accesul tradiţional la date şi funcţii de căutare.
3. SSD sînt focalizate pe caracteristici care le face uşor de utilizat de
neinformaticieni intr-un mod interactiv.
4. SSD se bazează pe flexibilitatea şi adaptibilitate pentru a asigura
acomodarea utilizatorilor cu shimbările din mediul decizional.

34
Din aceste elemente putem deriva alte caracteristici:
1. SSD sînt sisteme informaţionale .
2. SSD sînt utilizate de manageri şi de categori largi de specialişti.
3. SSD sînt utilizate în luarea deciziilor. Luarea deciziilor este baza
succesului în organizatii.
4. SSD sînt utilizate pentru sprijinirea personalului nu pentru înlocuirea lui.
5. SSD sînt utilizate în cazul deciziilor semistructurate sau nestructurate.
6. SSD încorporează o baza de date de diferite tipuri, toate deciziile se
bazează pe informaţiile extrase din baza de date.
7. SSD încorporeaza modele. Un model este o reprezentare a sistemului real
care permite cercetarea impactului unor decizii posibile ce pot afecta
sistemul. [11]

Sauter considera că un “SSD este un sitem informalizat care sprijină alegerea


variantelor prin asistarea decidenţilor în organizarea informaţiilor şi modelarea
rezultatelor”. [12] SSD sunt văzute ca sisteme informatice care încorporează
informaţii din surse variate, ajută în organizarea şi analiza informaţiei şi facilitează
evaluarea utilizării de modele specifice. Altfel spus, aceste sisteme sprijină
decidenţii în accesarea datelor relevante din organizaţie în scopul luării deciziilor.
SSD permit decidenţilor să analizeze, rapid şi eficace, datele furnizate de sursele
interne de informaţii. În plus SSD permit accesul la surse externe de informaţii.
Finalmente, SSD oferă decidenţilor abilităţi de analiză a informaiilor într-un mod
care îi ajută în anumite decizii şi care furnizează un suport interactiv.
Mallach precizează o definiţie mai generală pentru sistemele de asistare a
deciziilor “un SSD este un sistem informatic al cărui scop esenţial este de a furniza
specialiştilor informaţii pe care se bazează în luarea deciziilor”. [13] Această
definiţie include elementele esenţiale ale definiţiilor prezentate anterior fără a ne
restricţiona pe o tehnologie specifică, pe abordări sau moduri de utilizare (cum ar fi
interactivitatea).

35
Obiectivul principal al SSD îl constituie îmbunătăţirea modalităţii de adoptare
a unei decizii, sau realizarea unui studiu pregătitor în vederea adoptării deciziei în
cazul în care ansamblul activităţilor care trebuie desfăşurate în acest scop nu este
programabil.
Problemele care conduc la necesitatea utilizării unui SSD sunt cele în care :
• preferinţele, raţionamentul, intuiţia şi experienţa decidentului sunt esenţiale;
• căutarea soluţiei implică o combinaţie de căutare de informaţii, manipulare de
date, calcule, formalizare sau structurare a problemei (modelare);
• succesiunea operaţiilor precedente nu este cunoscută în avans deoarece ea
depinde de datele utilizate, sau se poate modifica în vederea obţinerii de rezultate
intermediare;
• criteriile de decizie sunt numeroase, contradictorii şi dependente de utilizator
• datele utilizate nu sunt întotdeauna cunoscute dinainte;
• obţinerea unei soluţii satisfăcătoare trebuie realizată într-un timp limitat;
• problema este supusă unei evoluţii şi transformări rapide.
Clasificarea deciziilor
Simon grupează deciziile în funcţie de masura în care procesul decizional
poate fi pre-planificat, în decizii programate respectiv neprogramate.
Tabelul 2.
Tip de decizie Caracteristici
Programate Repetitive, de rutină, reguli şi procese decizionale
Structurate cunoscute, deseori automate, de obicei presupun
"lucruri" mai degrabă decît oameni, pot fi delegate la
nivele inferioare ale organizaţiei.
Neprogramate Noi, nerutiniere, regulile de decizie nu sunt cunoscute,
Nestructurate au un grad ridicat de incertitudine, nu pot fi delegate la
nivele inferioare, pot implica "lucruri", dar întotdeauna
implică oameni.
Aceste două categorii trebuie considerate ca doua extreme ale domeniului
decizional.

36
O alta clasificare a deciziilor se poate face în funcţie de gradul de cunoaştere
al decidentului referitor la rezultatul diferitelor alternative.
În cazul condiţiilor de certitudine şi risc există diferite tehnici de optimizare,
însă în cazul incertitudinii, teoretic nu există suficiente date pentru ca decizia să se
poată lua. Motivul constă în faptul că, prin definiţie, luarea deciziei înseamnă
alegerea între alternative, iar dacă acestea nu sunt cunoscute, alegerea nu se poate
face. În practică însă, decizia se ia prin utilizarea raţionamentului şi a informaţiilor
disponibile, estimării valorilor şi a probabilităţilor de apariţie a rezultatelor
posibile. Astfel, practic, incertitudinea se transformă în risc.
Tabelul 3
Starea Explicatii
rezultatului
Certitudine Există un singur rezultat pentru fiecare alternativă şi
există cunoştinţe complete şi exacte referitoare la el.
Risc Există mai multe rezultate posibile pentru fiecare
alternativă şi fiecăreia pot fi ataşate o valoare şi o
probabilitate de realizare a rezultatelor.
Incertitudine Numărul rezultatelor, valorile şi probabilităţile nu sunt
cunoscute.

Alte clasificări ale deciziei iau în calcul criterii referitoare la numărul de


persoane care participă la adoptarea deciziei (1), periodicitatea elaborării deciziei
(2) şi numărul criteriilor decizionale (3).
(1)
 decizii unipersonale care sunt fundamentate şi elaborate de o singură
persoană, cu referire la problemele curente ale organizaţiei;
 decizii de grup a căror fundamentare este rodul conlucrării unui anumit
număr de persoane.
(2)
 decizii periodice elaborate la anumite intervale de timp;

37
 decizii aleatoare adoptate la intervale neregulate, greu de anticipat,
necesitatea fundamentării lor fiind determinată de factori necontrolabili;
eficacitatea lor depinde decisiv de potenţialul decizional al decidentului;
 decizii unice care reprezintă un caz de excepţie, neavînd precedent şi care
probabil nu se vor repeta nici într-un viitor apropiat; eficacitatea lor depinde
decisiv de potenţialul decizional al decidentului.
(3)
 decizii unicriteriale care presupun compararea alternativelor pe baza unui
singur criteriu;
 decizii multicriteriale оn cazul carora diferitele alternative se compara prin
raportarea la doua sau mai multe criterii.

3.2. Clasificarea sistemelor de asistare a deciziilor


Clasificare în funcţie de destinaţie.
 sistemele suport de decizie dedicate care asistă decidentul în rezolvarea unor
probleme specifice unui domeniu dat (economic, tehnic, militar etc.);
 sistemele suport de decizie generatoare care asistă proiectantul în realizarea
mai rapidă a sistemelor suport de decizie dedicate;
 sistemele suport de decizie instrumente care facilitează dezvoltarea evolutivă
a sistemelor suport de decizie dedicate sau generatoare;
Clasificare în funcţie de modul de instruire:
 sistemele suport de decizie inteligente, care rezolvă prin analogie situaţii
decizionale noi;
 sistemele suport de decizie neinteligente, care rezolvă numai situaţiile pentru
care au fost proiectate.
Clasificare în funcţie de modalitatea de interacţiune dintre om şi sistem
 sistemele suport de decizie cu limbaje flexibile (dialogul are la bază un
limbaj apropiat de cel natural);
 sistemele suport de decizie cu comenzi precise (dialogul are la bază comenzi
cu forma precis definită).

38
3.2.1. Clasificarea Alter

O clasificare de referinţă a sistemelor de asistare a deciziilor este clasificarea


Alter care ia în considerare gradul de implicare al sistemului sau modul în care
sistemul sprijină sau determină decizia.[14]
Sistemele de clasare a fişierelor sînt cele mai simple sisteme de asistare a
deciziilor. Accesul la o anumită informaţie poate fi crucial în luarea unei decizii
spre exemplu situaţia contului afişată la un ATM, informaţia primită de la o
agenţie de turism sau de pe Web că nu mai sînt locuri libere pentru un zbor
solicitat. În fiecare din cazurile de mai sus trebuie luată o decizie şi întreprinsă o
anumită acţiune.
Sistemele de analizăa datelor. Pachetele software integrate care combină o
foaie de calcul cu capabilităţi de gestiune a datelor creează sisteme de analiză a
datelor foarte folosite pe microcalculatoare, cu toate că programele de calcul
tabelar au capacităţi de analiză şi modelare mai largi faţă de ceea ce necesită
această categorie de sisteme de asistare a deciziilor. Atunci cînd posibilităţile de
gestiune a datelor nu sînt suficiente, programele de calcul tabelar pot importa
fişiere din alte sisteme.
Sistemele informaţionale pentru analiză. Diferenţa majoră între această
categorie şi cea precedentă constă în faptul că la acest nivel sînt combinate
informaţii din mai multe fişiere. Un sistem informaţional pentru analiză poate
permite utilizatorului să compare trebdul creşterii volumului vînzărilor produselor
unei firme, trend calculat pe baza datelor interne eferitoare la vînzări, cu trendul
mediu al ramurii calculat pe baza datelor din surse externe. Termenul cel mai
cunoscut pentru sisteme informaţionale pentru analiză este cel de depozit de date.
Modelele contabile. Acest model se referă la un model fără factori de
incertitudine în care calculele fiecărei perioade de gestiune depind doar de datele
înregistrate în acest interval. Balanţele de verificare şi contul de profit şi pierdere
sînt modele contabile consacrate.

39
Cel mai folosit instrument pentru reprezentarea modelelor contabile îl
reprezintă programele de calcul tabelar. Pot fi folosite de asemenea şi alte
instrumente, mai ales dacă modelul contabil reprezintă o parte a unui sistem de
asistare a deciziilor.
Sistemele de planificarea necesarului de materiale, o componentă de bază a
majorităţii sistemelor de producţie, încorporează modele contabile. Dacă sistemul
de planificare a necesarului de materiale este folosit pentru planificarea producţiei
şi a aprovizionării, atunci el poate fi o parte a unui sistem de asistare a deciziilor
bazat pe modele contabile.
Modele de reprezentare reflectă incertitudinea, cel mai adesea în
comportamentul individual sau colectiv al oamenilor ori reprezintă
comportamentul dinamic al sistemelor in timp.
Modele de reprezentare sînt folosite pe scară largă pentru a anticipa şi a
estima efectul unei decizii, productivitatea unui factor de producţie faţă d ealtul,
timpul de răspuns al unui sistem faţă de altul. Aceste modele pot avea diverse
intrări şi pe bază prelucrărilor specifice furmizează ieşiri diferite, ajutînd
decidentul în selectarea unei anumite decizii.
Sistemele de optimizare. Find dat un anumit model, se pot estima efectele
diverselor alternative decizionale. Dacă alternativele pot fi enumerate sau
reprezentate, un program poate alege pe aceea care furnizează cele mai bune
rezultate. Deşi previziunile matematice nu sînt întotdeauna singurul fundament pe
baza căruia se iau decizile, ele ajută şi ghidează manageriiîn acţiunile pe care le
întreprind. Un sistem care selectează soluţia cea mai buna din cîteva alternative
posibile constituie un sistem de optimizare.
Sistemele de sugerare. Este un pas mic de la determinarea deciziei optime şi
pînă la a sugera decidentului că acea decizie este ce amai bună. Cînd deciziile sînt
bine structurate este de preferat ca sistemul de asistare a decizilor să facă o astfel
de sugestie. Astfel de sisteme de asistare a deciziilor se numesc sisteme de
sugerare.

40
Un alt tip de sistem de sugerare codifică procesul de luare a deciziilor printr-
un anumit număr de reguli. Aceste reguli emulează raţionamentul unui expert
uman, oferind şi un model descriptiv pentru precesul de luare a deciziilor. Aceste
sisteme funţionează bine acolo unde expertiza umană poate fi codificată printr-un
număr rezonabil de reguli. În aceste cazuri cel mai adesea se foloseşte tehnologia
sistemelor expert.

3.2.2. Clasificarea Holsapple şi Whinston

Holsapple şi Whinston clasifică SSD în şase categorii:


• Sisteme de asistare a deciziilor (SSD) orientate pe texte (text-oriented
SSD)
• Sisteme de asistare a deciziilor (SSD) orientate pe baze de date
(database-oriented SSD)
• Sisteme de asistare a deciziilor (SSD) orientate pe calcul tabelar
(spreadsheet oriented SSD)
• Sisteme de asistare a deciziilor (SSD) orientate pe solver-e (solver
oriented SSD)
• Sisteme de aistare a deciziilor (SSD) orientate pe reguli (rule oriented
SSD)
• Sisteme de asistare a deciziilor compuse (compound SSDS)

Sisteme de asistare a deciziilor (SSD) orientate pe texte (text-oriented


SSD). În DSS orientate pe texte informaţiile, inclusiv datele şi cunoştinţele sînt
stocate în format text şi trebuie să fie accesate de decidenţi. SSD orientate pe text
sprijină decidenţii prin stocarea electronică a informaţiilor reprezentate textual care
pot fi folosite la luarea deziilor. Aceste SSD permit crearea documentelor
electronice, corectarea şi vizualizarea lor. Tehnologiile informaţionale ca Web-
based document imaging, hypertext, agenţi inteligenţi pot fi încorporate în
aplicaţiile DSS orientate pe texte.

41
Sisteme de asistare a deciziilor (SSD) orientate pe baze de date (database-
oriented SSD). Primele generaţii de SSDS orientate pe baze d edate utilizau baze d
edate relaţionale. Dar informaţiile gestionate prin bazele de date relaţionale tind să
fie voluminoase, decriptive rigid structurate. Ele însă oferă facilităţi eficiente
pentru generarea rapoartelor şi realizarea de interogări.
Sisteme de asistare a deciziilor (SSD) orientate pe calcul tabelar
(spreadsheet oriented SSD). Programele de calcul tabelar reprezintă unlimbaj de
modelare care permite utilizatorului să scrie modelele de analiză în SSD. Aceste
modele nu numai că asigură crearea, vizualizarea şi modoficarea cunoaşterii
procedurale dar permit şi specificarea execuţiei anumitor instruţiuni încorporate.
Cel mai popular intrument pentru dezvoltarea SSD este Microsoft Excel.
Sisteme de asistare a deciziilor (SSD) orientate pe solver-e (solver
oriented SSD). Un “solver” este un algoritm sau o procedură care execută anumite
calcule pentru rezolvarea unui tip de problemă. Determinarea cantităţii optime
pentru produsele incluse în programul de fabricaţie sau aplicarea regresiei liniare
pentru calcularea trendului sînt exemple de solver-e. funcşiile din programele de
calcul tabelar pot fi considerate solver-e. Alte solver-e pot fi încorporate într-un
SSD find programate prin limbaje de programare cum sînt C++, Visual Basic etc.
Unele solver-e mai complexe, cum sînt cele bazate pe programarea liniară sînt
comercializate pe piaţă şi pot fi încorporate într-un SSD.
Sisteme de aistare a deciziilor (SSD) orientate pe reguli (rule oriented
SSD). Cunoştinţele încorporate într-un SSD sînt exprimate prin reguli de tip
procedural sau inferenţial, de obicei într-un format tip sistem expert. Aceste reguli
pot fi calitative sau cantitative şi pot înlocui modelele cantitative sau pot fi
integrate cu acestea.
Sisteme de asistare a deciziilor compuse (compound SSD). Un SSD
compus reprezintă hibrid care include două sau mai multe tipuri de SSD descrise
anterior.
O categorie aparte de SSD sînt cele inteligente. SSD inteligente sînt numite şi
SSD bazate pe cunoştinţe (Knowledge-base SSD). [15]

42
3.2.3. Clasificarea Power

Cadrul extins de clasificare a SSD, propus de D.J. Power, se focalizează pe o


dimensiune majoră cu cinci categorii şi trei dimensiuni secundare (utilizatorii
sistemului, scopul sistemului, tehnologiile de implimentare).[16] Cele cinci
categorii de SSD determinate în funţie de componenta dominantă sînt:
SSD orientate pe comunicaţii (communications-driven) includ sistemele ce
accentuează importanţa interfeţei utilizator pentru asigurarea colaborării şi
comunicării în procesele decizionale.
SSD orientate pe date (data-driven) includ sistemele de fişiere şi sistemele
de gestiune a rapoartelor, sistemelor bazate pe utilizarea depozitelor de date,
sistemele informaţionale pentru conducerea executivă (EIS), SSD spaţiale (Spatial
Decision Support Szstems). SSD orientate pe date (data-driven) facilitează accesul
pentru gestionarea unor baze de date imense, prin tehnologii data warehouse şi
OLAP.
SSD orientate pe documente (document-driven) integrează o varietate de
tehnologii de stocare şi prelucare a documentelor pentru a furniza suport
decizional. Componenţa esenţială este baza de documente.
SSD orientate pe cunoştinţe (knowledge-driven) sau SSD de sugerare după
Alter. Aceste SSD conţin expertiza necesară rezolvării anumitor probleme
specifice. Expertiza constă în referitoare la un domeniu specific, interpretînd
problemele demeniului şi stabilind moalităţile de rezolvare a acestora.
SSD orientate pe modele (model-driven) includ sistemele ce utilizează
modelele contabile şi financiare şi modelele de optimizare. Aceste SSD facilitează
accesul la modele şi la gestiunea lor.
Cele mai multe SSD sînt intra-organizaţionale, SSD fiind proiectat pentru
utilizatori individuali din companie. Software-ul pentru dezvoltarea de SSD
asigură realizarea unor activităţi generale cum ar fi management de proiecte şi

43
analize decizionale sau este de tip generator de SSD pentru consruirea unor
categorii specifice de SSD.

3.2.4. SSD şi conectarea la Web

Conectarea la Web are implicaţii sub două aspecte: dezvoltarea de SSD şi


utilzarea SSD.
În dezvoltarea SSD, Web-ul poate fi utilizat pentru colectrea datelor interne şi
externe pentru baza de date a SSD. Web-ul poate fi utilizat pentru comunicare şi
colaborare între realizatori SSD, utilizatori şi manageri. De asemenea web-ul poate
fi utilizat pentru a descărca (download) software SSD sau pentru utilizarea
aplicaţiilor furnizate sau cumpărate online de la furnizorii de servicii.
SSD este utilizat pe web prin diferite modalităţi. În primul rînd, utilizatorii pot
merge pe Internet să activeze aplicaţii SSD readz-made. În al doilea rînd,
utilizatorii pot folosi help-ul pentru aplicaţiile SSD. În al treilea rînd, utilizatorii
pot comunica cu alţii în privinţa interpretării rezultatelor SSD. În final, utilizatorii
pot colabora în implimentarea soluţiilor generate de SSD.

3.2.5. Componente ale SSD


Sistemele suport de decizie sunt constituite din module software pentru
gestionarea bazelor de date, gestionarea dialogului şi respectiv gestionarea
modelelor. SSD avansate conţin şi o componentă pentru gestionarea cunoştinţelor,
fundamentată pe un sistem expert şi care îi conferă SSD atributul de inteligent sau
SSD bazat pe cunoştinţe.
Componenta de Gestiune a datelor
Această componentă este alcătuită din baza de date a SSD, DBMS,
dicţionarul bazei de date, facilităţi de interogare.
Baza de date poate include tranzactii interne, alte surse de date interne, date
externe şi date personale aparşinînd unuia sau mai multor utilizatori. Datele interne

44
(financiare, contabile, din domeniul producţiei, a marketing-ului) provin din
prelucrarea rezultatelor tranzacţiilor interne ale organizaţiei. Datele externe includ
diferite cercetări în domeniul marketing-ului, regulamente guvernamentale,
indicatori macro-economici, iar datele private pot include anumite reguli specifice
decidenţilor.
Dicţionarul bazei de date este un catalog al tuturor datelor din baza de date
care conţine definiţiile acestora şi are ca funcţie principală furnizarea informaţiilor
cu privire la disponibilitatea, sursa şi semnificaţia lor exactă. Utilizarea acestui
catalog este indicată în faza de identificare şi definire a procesului de luare a
deciziilor, prin scanarea datelor şi identificarea domeniilor şi oportunităţilor
problemei.
Facilităţile de interogare reprezintă elementul esenţial pentru accesul la date.
Ele acceptă cereri de date de la alte componente ale SSD, determină care dintre
acestea pot fi soluţionate, formulează cereri detaliate şi returnează rezultate cu
privire la subiectul cerut. Facilităţile de interogare presupun existenţa unui limbaj
special de interogare.
Componenta de gestiune a modelului
Această componentă poate fi descompusă în patru elemente: baza cu modele,
sistemul de management al bazei modelelor, dicţionarul modelelor respectiv
executarea, integrarea şi comandarea modelelor.
Baza de modele conţine rutine şi modele cantitative din domeniul statisticii,
finanţelor, managementului care oferă capacităţi de analiză într-un DSS. Sistemul
de management este un sistem software cu funcţiuni de creare şi actualizare a
modelului, utilizare a subrutinelor şi a altor blocuri, generarea de noi rutine şi
rapoarte, manipularea datelor.
Dicţionarul de modele este un catalog care conţine definiţii de modele şi
furnizează informaşii cu privire la disponibilitatea şi capacitatea acestora.
Controlarea execuţiei modelului precum şi combinarea operaţiilor specifice sunt
controlate de managementul modelului. Pentru a accepta şi interpreta instrucţiunile

45
de modelare, pentru execuţie sau interpretare se foloseşte un procesor de controlare
a modelului.
Componente de Gestiune a dialogului (interfaţa cu utilizatorul)
Această componentă acoperă toate aspectele privind comunicarea între
utilizator şi sistemul suport de decizie, incluzînd atît părţi hard şi soft cît şi factori
care conduc la facilitarea utilizării, accesibilităţii şi interacţiunii dintre utilizator şi
sistemul suport de decizie.
În raport cu modalitatea de comunicare utilizator-sistem, se disting mai multe
tipuri posibile de dialog :
Ц întrebare – raspuns;
Ц prin limbaj de comandă adresată de către utilizator sistemului sub forma unor
perechi verb – substantiv la care acesta oferă răspunsuri, fără a răspunde
solicitărilor privind informaţii suplimentare;
Ц meniu, care presupune existenţa în memorie a unor alternative de comenzi din
care utilizatorul alege un meniu de alternative pe care îl adreseaza sistemului,
acesta executîndu-l fără o eventuală interacţiune cu decidentul;
Ц format intrare/format ieşire, care prevede tipizarea formatelor de intrare ale
datelor şi comenzilor, şi de ieşire a răspunsurilor oferite de sistem;
Ц format de intrare în funcţie de formatul de ieşire, în care formatul de intrare al
datelor va fi specificat în funcţie de cel de ieşire care este predefinit;
Ц tip negociere, care presupune alegerea tipului de dialog în funcţie de
configuraţie, forma dialogului şi costurile corespunzătoare pe unitatea de timp.
Diferitele tipuri de dialog sunt gestionate de către sistem şi pot fi apelate cu
ajutorul unor subrutine integrate în memoria componenţei de interfaţă.
Componenta de gestiune a cunoştinţelor
Această componentă apare în cazul integrării sistemului suport de decizie cu
un sistem expert, în vederea obţinerii unui SSD inteligent (expert). Modulul
cuprinde, in esenţă, motorul de inferenţă şi baza de cunoştinţe. Motorul de
inferenţă va permite sistemului să simuleze raţionamentul unui expert pornind de
la datele şi cunoştinţele disponibile, în timp ce baza de cunoştinţe va alimenta
46
mecanismul de inferenţă, într-un mod similar celui în care baza de date
alimentează algoritmii statistici în cadrul sistemelor suport de decizie. Un aspect
esenţial al construirii şi utilizării sistemelor suport de decizie expert constă in
realizarea unei interactiuni sinergice între aceste elemente, sinergie tradusă pe de-o
parte prin trecerea controlului de la o funcţiune la alta în cadrul sistemului şi, pe de
altă parte, prin transferul informaţiilor între funcţiuni (subsisteme).

47
IV. PROIECTAREA SISTEMULUI EXPERT: DIAGNOSTICAREA
MEDICALĂ A BOLILOR PSIHICE

4.1. Diagnosticarea bolilor psihice

În procesul diagnosticării bolilor psihiatrice medicul se bazează pe


identificarea simptomelor bolii. Anume cu identificarea unor simptome în parte ale
bolii se începe diagnosticarea psihiatrică. Totodată se identifică relaţia dintre
simptomul dat cu un sindrom sau altul şi forma nozologică a afecţiunii.
Cu toate acestea simptomele luate in parte nu conţin informaţia necesară şi
deplină pentru a pune un diagnoz psihiatric. Doar cercetarea unui şir întreg de
simptome ale bolii, care au legătură între ele după tabloul clinic, şi de asemenea
evidenţierea sindroamelor bolii, permite depistarea hotarelor clinice a unui proces
sau altul. Diagnosticarea bazată pe sindrom este mult mai precisă decît cea bazată
pe simptom. Sindromul reflectă activitatea întregului sistem funţional şi de regulă
este într-o strinsă legătură cu alte sindroame.
Constatarea diagnosticului este etapa finală din diagnostificarea psihiatrică,
care se realizează în baza unei analize complexe a simptomaticii psihopatologice,
particularităţilor individuale ale persoanei, datelor anamnezei obiective şi
subiective, dinamica bolii şi rezultatelor cercetărilor paraclinice.
Diversitatea manifestării clinice a diferitor afecţiuni psihice de multe ori
creează dificultăţi deosebite la determinarea apartenenţei nozologice a unei sau
altei simptomatici psihopatologice. În acest caz medicul recurge la cea mai

48
importantă metodă de diagnosticare a bolilor psihice – metoda observării clinice.
Medicul trebuie să viziteze bolnavul, să-l asculte, să-l controleze.
Studierea împreună cu totalitatea tuturor semnelor, care evidenţiază unitatea
etiologiei şi patogenezei, permite medicului să determine independenţa nozologică
a unui caz de boală sau altuia. Totodată un rol esenţial îl joacă atît informaţia
despre bolnav cît şi datele obiective despre rudele bolnavului şi mediul social. O
dificultate mai mare o reprezintă hotărîrea întrebărilor legate de sistematică în
psihiatrie.
În acelaşi timp este important nu numai studierea simptomelor bolii în parte,
dar şi luarea în consideraţie a schimbărilor personalităţii bolnavilor din punct de
vedere a tuturor componentelor structurale. Este important determinarea rolului
social al pacientului, posibilităţile lui (în legătură cu boala) de a se isprăvi cu rolul
de mamă, tată, soră, frate. O atenţie deosebită trebuie acordată deprinderilor
profesionale, formarea contactelor intre personalităţi în colectivele de muncă,
relaţiile cu conducătorul instituţiei şi organizaţiei, colegii de muncă. De asemenea
este necesar de a lua cunoştinţă de reacţia rudelor şi a pacientului însuşi la unele
simptome ale bolii sau altele. De exemlu, daca există simptome ale şizofreniei,
adeseori bolnavul, dar şi rudele nu le acorda atenţia necesară (spunînd „am obosit,
m-am surmenat”, sau se află într-o stare depresivă, cînd pacienţii trec prin această
stare foarte greu, cu semne ale unei stari de tristeţe faţă de apropiaţi şi copii,
posibilitatea unei catastrofe globale, tendinţe de suicid şi altele), nu realiză
dificultatea procesului.
La descrierea simptomelor dezorganizărilor psihice este necesar de a deosebi
forma şi conţinutul aparenţelor bolii.[23]

49
4.2. Tipurile de baze de date şi preedicatele de lucru cu ele în Prolog

4.2.1. Tipurile de baze de date în Prolog


Prolog dispune de resurse încorporate pentru lucrul cu două tipuri de baze de
date sau baze de cunoştinţe: externe şi interne. Bazele de cunoştine interne se
numesc aşa deoarece ele sunt prelucrate doar în memoria operativă a
computatorului, spre deosebire de bazele de cunoştinţă externe care pot fi
prelucrate pe disc sau în memorie. Întrucît bazele de cunoştinţă interne se
localizează îm memoria operativă a computatorului, lucrul cu ele e mult mai rapid
decît cu cele externe. Pe de altă parte, spaţiul memoriei operative, de regulă, este
mult mai mic, decît spatiul memoriei externe. De aici rezultă, ca spaţiul bazei de
date externe poate sa fie relativ mai mare decît spaţiul bazei de date interne. Dacă
se presupune că baza de date posibil să fie destul de mare atunci este necesar de a
se utiliza anume bazele de date externe.[27]
Baza de cunoştinţe internă, numită şi dinamică, conţine fapte, care dinamic, în
procesul executării programului pot fi adăugate sau şterse din bază, salvate într-un
fişier sau adăuga fapte din fişier în baza de cunoştinţe. Aceste fapte pot fi folosite
doar de predicatele declarate în secţiunea de declarare a predicatelor din baza de
date.
DATABASE [- <nume bază de date>]
<nume predicat>

Dacă în baza de cunoştinţe a programului avem doar o secţiune de declarare a
predicatelor atunci denumirea secţiunii poate să lipsească. În acest caz el automat
primeşte denumirea standart dbasedom. În cazul în care în program în baza de
cunoştinţe avem mai multe secţiuni de declarare a predicatelor, atunci numai una
din ele poate filipsită d edenumire. Toate celelalte trebuie să aibă o denumire
unică, care se indică imediat după denumireas ecţiunii DATABASE şi tire. Cînd
secţiune de declarare a predicatelor din baza de cunoştinţe este declarată,

50
compilatorul declară intern domeniul existent cu acelşi nume ca şi a secţiunii;
aceasta permite predicatelor speciale să declare faptele ca termeni.[27]
Sistemul expert efectuat de noi conţine doar o secţiune de declarare a
predicatelor bazei de cunoştinţe, el nu are denumire, de aceea el primeşte automat
denumirea standartă dbasedom.
database
reason(s)
Declararea predicatelor bazei de cunoştinţe coincide cu declararea lor în
secţiunea pentru declararea predicatelor PREDICATES. Totodată acetse predicate
pot fi folosite în caliatate de parametri pentru predicatele predefinite. În afară de
aceasta, faptele, care folosesc aceste predicate, pot fi adăugate sau şterse în timpul
executării programului. Baza de cunoştinţă poate conţine doar fapte şi nu reguli,
dar faptele bazei de cunoştinţă nu pot conţine variabile libere.

4.2.2. Alcătuirea bazei de cunoştinţe dinamice a sistemului expert pentru


dianosticare bolilor psihice
Baza de cunoştinţe a sistemului expert trebuie sa fie alcătuită în colaborare cu
experţi din domeniul dat şi un programist, capabil să expună cunoştinţele
expertului în formă de fapte şi reguli ale sistemului expert. Deoarece noi la
elaborarea acestui sistem expert nu am avut posibilitatea de a ne consulta cu
specialişti calificaţi în domeniul psihiatriei, am studiat literatura de spcialitate,
analizînd minuţios informaţia obţinută şi am structurat-o într-o tabelă în diferite
combinaţii după diferite devieri psihice şi cazuri de boală.
Mai jos sunt enumerate simptomele de bază, care însoţesc diferite sindromuri
psihice. Simptomelor le sunt atribuite un număr corespunzător din listă.

Lista simptomelor:
1. Halucinaţii
1.1. acustice
1.2. tactile

51
1.3. vizuale
2. Anxietate
3. Nelinişte
4. Stare de inhibiţie psihică
5. Obnubilare
6. Conştiinţa suferinţei
7. Menţinerea orientării la ambianţă şi în timp
8. Delir
8.1. Delir primar
8.2. Delir senzorial
8.3. Delir ipohondric
8.4. Delir afectiv
8.5. Delir interpretativ
8.6. Delir sistematizat
8.7. Delir nihilist(negativism)
8.8. Delirul excluderii propriului negativism
9. Afect
9.1. Afectul fricii
9.2. Afectul depresiei
9.3. afectul nelinistii
10. Stupoare, Inhibiţie la nivel intelectual
11. Automatism psihic
11.1. automatism ideator
11.2. automatism senzorial
11.3. automatism motor
12. Pseudohalucinaţii
13. Inepţie în comportament şi exprimare
14. Dependenţa delirului de afectul conducător
15. Delir acut
16. Inactivitate intelectuală

52
17. Lipsă de iniţiativă
18. Scăderea potenţialului energetic
19. Sărăcire emoţională
20. Incapacitate emoţională
21. Autism
22. Dereglări ale unităţii procesului psihic
23. Dezadaptare socială
24. Scădere a memoriei
25. Schimbări ale modului de gîndire
26. Concentrarea atenţiei doar la propria stare
27. Păstrarea memoriei mecanice
28. Atenţie dispersată
29. Memorizare înceată şi nesigură
30. Dereglări ale vorbirii
31. Mişcări haotice
32. Impulsivitate
33. Negativism
34. Arieraţie fizică
35. Vorbirea incorectă şi săracă
36. Primitivitate, dar gîndire logică
37. Inerţie
38. Dezvoltarea incompletă a voinţelor
39. Sugestibilitate
40. Lipsa aproape totală a vorbirii
41. Lipsa aproape totală a gîndirii
42. Dereglări în structura organelor interne
43. Dispoziţia ridicată
44. Excitaţie verbo-motorică
45. Trecerea grăbită a închipuirilor
46. Supraestimarea propriei persoane

53
47. Hipermnezie
48. Sustragere sporită
49. Dispoziţia scăzută
50. Încetinirea închipuirilor
51. Inhibiţie verbo-motorică
52. Hipoestizie
53. Dereglări ale simţului cunoscutului
54. Autoapreciere scăzută
55. Idei mai presus de preţ
56. Ecolalie
57. Ecopraxie
58. Perseverare
59. Menţinerea unei poziţii pentru o perioadă lungă de timp
60. Dezinhibare succedată de inhibare
61. Luarea poziţiei embrionului şi păstrarea acesteia
62. Sindromul pernei aeriene
63. Manierism, mişcări pompoase
64. Grimasare
65. Rîs absurd, fără sens
66. Iritaţie
67. Slăbiciune
68. Nerăbare
69. Dereglări ale somnului
70. Dureri de cap
71. Tulburări vegetative
72. Menţinerea procesului exhibator
73. Dereglări ale procesului inhibator
74. Oboseală sporită
75. Productivitate şi capacitate de muncă scăzută
76. Idei insistente

54
77. Ipohondrie
78. Semne ale anestizării
79. Atenţia sporită faţă de propria sănătate
80. Exprimarea neadecvată a sentimentelro, caracter teatral, emoţii furtunoase
81. Disfuncţii ale sistemului nervos
82. Disfuncţii ale procesului cunoaşterii
83. Agresivitate, indignare
84. Nesociabilitate
85. Tărie de caracter nestabilă
86. Reacţia epuizată a personalităţii
87. Activitate scăzută
88. Predispus la dubii
89. Zăpăcire
90. Lipsa disfuncţiilor memoriei
91. Păstrarea sferei emoţionale
92. Mod de gîndire concret-descriptiv
93. Bagaj mic de cunoştinţe
94. Atenţie şi memorie nedezvoltată
95. Reacţie scăzută la lumea înconjurătoare
96. Emoţii primitive
97. Caracter acut, dezvoltare rapidă
98. Dezvoltare treptată
99. Duritate
100. Stare de nehotărîre

Toate simptomele enumerate mai sus au legătură cu un oarecare sindrom din


Tabelul 4. În tabelul 3 sindromurile psihice sunt grupate după semnele comune ale
devierilor. Aceasta ne-a permis mai departe să analizăm grupurile de sindromuri
psihice cu caracter similar şi să construim pentru fiecare grup arborele de decizie,
după care lucrează programa, de asemenea mecanismul de luare a deciziei.

55
Tabelul 4
Halucinoză acustică 1.1, 2, 3, 4, 6
Halucinoză tactilă 1.2, 2, 3, 4
Halucinoză vizuală 1.3, 2, 3, 4, 5, 6, 7
Sindromul paranoic 2, 3, 8.1, 8.5, 8.6
Sindromul automatismului psihic 1, 8.2, 11.1, 11.2, 11.3
Kandinskii-Klerambo
Sindromul halucinator-paranoic acut 1, 8.2, 15, 89, 11.1, 11.2, 11.3, 9
Demenţă: demenţă epileptică 24, 25, 26
Oligofrenie: demenţă 27, 28, 29, 30, 31, 32, 33, 91, 92
Oligofrenie: imbecilitate 17, 34, 35, 36, 37, 38, 39, 93, 94
Oligofrenie: idiotie 34, 40, 41, 42, 95, 96
Sindromul maniacal afectiv 43, 45, 46, 47, 48
Sindromul depresiei afective: depresia 49, 50, 51
simplă (melancolică)
Sindromul depresiei afective: depresia 8.3, 8.4, 49, 50, 51
ipohondrică
Sindromul depresiei afective: depresia 8.7, 8.8, 49, 50, 51
delirantă
(Sindromul Kotar)
Sindromul depresiei afective: sindromul 49, 50, 8.2
depresiv paranoic
Sindromul depresiei afective: depresia 9.1, 49, 50
anxioză
Sindromul depresiei afective: depresia 9.2, 9.3, 49
alarmantă
Sindromul depresiei afective: depresia 8.2, 6
anestezică
Sindromul depresiei afective: depresia 10, 51
stuporoasă
Sindromul catatonic: excitaţia catatonică 32, 44, 56, 80, 98
patetică
Sindromul catatonic: stuporul 20, 33, 51, 59
negativismului
Sindromul catatonic: stuporul cataleptic 10, 17, 18, 20, 51, 59, 60
Sindromul catatonic: stupor cu amorţire 17, 18, 20, 51, 61, 62
Demenţie: demenţie schizofrenică 16, 17, 18, 19, 20, 21, 22, 23, 90

56
Sindromul hebefrenic 63, 64, 65
Sindromul fobiei obsesive 2, 76, 77, 78, 100
Sindromul ipohondric 2, 77, 79, 88, 71
Sindromul isteric 39, 80, 81
Sindromul psihopatic 4, 23, 32, 33, 38, 54, 66, 67, 81, 83, 84,
85, 86, 87, 88
Sindromul depresiei afective: depresia 33, 66, 83, 84
disforică
Sindromul catatonic: excitaţia catatonică 56, 57, 58, 66, 83, 99, 97
impulsivă
Sindromul neurastenic al asteniei 6, 7, 66, 67, 68, 69, 70, 71, 72, 73, 91
hiperstenice

4.2.3. Construirea arborelui de decizie


Arborele de decizie reprezintă algoritmul de căutare a soluţiilor. Arborele
soluţiilor - este o grupă de întrebări, care au legătură cu faptele şi căle componente.
Arborele poate fi parcurs pe căi diferite şi în aşa fel de a analiza diverse combinaţii
de fapte. Scopul este atins la finalul căii. Dacă scopul este atins pe o cale anumită
înseamnă că am găsit soluţia pentru faptele căii componente. Calea poate să se
ramifice şi în rezultat putem atinge mai multe scopuri.
Să urmărim cum lucrează arborii de decizie în practică. Sindromurile 1-4 din
Tabelul 4 au un şir de caractere asemănătoare în aşa fel putem construi un arbore
de decizie comun.

57
2
nu
da

3 ?
da nu

4 ?

da nu
nu
1. 8.
1 ?
1
da nu nu ?
da
8.
1. 5
6
2
nu ?
da nu da nu da
8.
6
C. C. 1.
?
1 2 3
da
C.
da nu 4

5 ?

da nu

6 ?
da nu

7 ?

da nu

C.
?
3

Fig. 4 Arborele de decizie

58
Ultimul pas a uneia din ramuri: verificarea se începe de la al doilea simptom,
dacă el este prezent, atunci trecem la verificarea celui de-al treilea simptom. Dacă
acesta lipseşte, sistemul ne va afişa un mesaj care ne va aduce la cunoştinţă că nu
sunt condiţii suficiente pentru a pune diagnozul şi va trece la o nouă întrebare,
legată de alt arbore de decizie.
În aşa fel, pas cu pas sunt verificate toate condiţiile: în cazul în care sunt
satisfăcute toate condiţiile necesare pentru diagnosticarea semnelor a unui sindrom
sau altul, sistemul va lua decizia corespunzătoare simptomelor.

4.2.4. Predicatele Prologului pentru lucrul cu bazele de cunoştinţe dinamice


Să analizăm predicatele predefinite ale Prologului, destinate pentrulucrul cu
bazele de cunoştinţe dinamice. Aceste predicate pot fi folosite cu unul sau două
argumente. Varianta cu un singur argument se utilizează dacă baza de cunoştinţă
internă nu are nume. Dar dacă baza este denumită,atunci este necesar să se
folosească un predicat cu două argumente, unde al doilea argument este numele
bazei[27].
Pentru a adăuga fapte în baza de cunoştinţe internă se pot folosi unul din cele
trei predicate assert, asserta sau assertz. Deosebirea dintre aceste predicate constă
în faptul că predicatul asserta adaugă faptul înaintea altor fapte (la începutul bazei
de cunoştinţe interne), iar predicatul asserty adaugă faptul duupă alte fapte (la
sfîrsitul bazei de cunoştinţe). Predicatul assert este adăugat pentru compatibilitatea
cu alte versiuni ale Prologului şi lucrează la fel ca şi assertz. În calitate de primul
parametru al acestor predicate este indicat faptul adăugat, în calitate de al doilea nu
e obligatoriu numele bazei de cunoştinţe internă la care este adăugat faptul[27].
assertz(reason(„Nelinişte”))
Pentru a şterge fapte din baza de cunoştinţe se utilizează predicatele retract şi
tractall. Predicatul retract sterge din baza de cunoştinţe primul fapt de la început,
care poate fi identificat cu primul său parametru. Al doilea parametru neobligatpriu
al acestui predicat este numele bazei de cunoştinţe internă.

59
Pentru ştergerea tuturor predicatelor corespunzătoare primului argument se
foloseşte predicatul retractall. Pentru ştergerea tuturor faptelor dintr-o oarecare
bază de cunoştinţe dinamică se recomndă dea apela acest predicat, indicîndui-se în
calitate de primul parametru o variabilă anonimă. Aşa cum variabila anonimă se
compară cu orice obiect, iar predicatul retractall şterge toate faptele care pot fi
identificate cu primul său argument, toate faptele vor fi şterse din bza de cunoştinţe
internă. Dacă al doilea argument al acestui predicat indică numele bazei de
cunoştinţe, atunci faptele sunt şterse din baza de cunoştinţe indicată. Dacă al doilea
argument nu este indicat, faptele sunt şterse din singura baza de cunoştinţe fără
nume[27].
retractall(reason(_)).

4.2.5. Algoritmul de lucru al mecanismului de decizie al sistemului expert


Să urmărim cum funţionează mecanizmul de decizie al sistemului expert:
deschizînd programul Prolog cu ajutorul tastelor Alt+R utilizatorul vede meniul
alcătuit din 3 puncte:
menu:-clearwindow,
write(“1. Diagnosticare .”),nl,
write(„2. Explicaţia ultimului rezultat primit .”),nl,
write(„3. Ieşire .”),nl,
write(„----------------------------------------”),nl,
write(„Alegeţi acţiunea: ”),readint(N), option(N).

60
Deci, utilizatorul alege una din cele trei vatiante propuse in dependenţă de
necesitate: de a pune diagnozul, după ce concluzii sistemul a afiţat un astfel de
rezultat sau de a încheia lucrul sistemului. Alegerea făcută se transmite ca variabila
N şi ca parametru se utilizează predicatul option(i) pentru a începe acţiunea cerută.
De exemplu, la alegerea „Diagnosticare” utilizatorului i se va propune să răspundă
la prima întrebare, la fel va fi apelat predicatul check şi regula corespunzătoare:
check:-write(„Este anxios pacientul?(da – 1, nu - 0) ”),
readint(X),=1,assertz(reason(„Anxietate”)),
simptom_3(1),!.
check:-simptom_1(2).
Această regulă mai întîi afişează la ecran întrebarea «Pacientul este anxios?».
Utillizatorului i se propune să aleagă unul din raspunsuri «da» sau «nu» apăsînd
tasta 1 sau 0 respectiv. Semnificaţia fiecărei taste se echivalează cu variabila X.
Mai departe se verifică X=1, deasemenea şi dacă răspunsul este pozitiv şi este
prezent simptomul «tulburare». Dacă X=1, atunci răspunsul a fost «da», adică
acest simptom va fi adăugat în baza de cunoştinţe dinamică a sistemului expert, va
fi verificat dacă nu se dublează în baza de cunoştinţe, şi sistemul de decizie va
trece la un nou predicat simptom_3(1). În cazul în care răspunsul nu a fost unitatea
programul trece la îndeplinirea regulii simptom_1(2).
simptom_3(1):-write(“Pacientul este neliniştit? (da – 1, nu - 0) ”),
61
readint(X),X=1,assertz(reason(“Nelinişte”)),
simptom_4(1),!.
simptom_3(1):-write(“Neidentificat – este necesară o descriere mai detaliată a
simptomelor”),
retractall(reason(_)),
assert(reason(“Neidentificat – este necesară o descriere mai detaliată a
simptomelor” )),
readchar(_).
Această regulă verifică prezenţa următorului simptom. Utilizatorului i se pune
întrebarea «Pacientul este îngrijorat?» şi dinnou se propune să aleagă răspunsul
«da» sau «nu» apăsînd tasta 1 sau 0 respectiv. Semnificaţia fiecărei taste se
echivalează cu variabila X. Mai departe se verifică X=1, deasemenea şi dacă
răspunsul este pozitiv şi este prezent simptomul «îngrijorare». Dacă X=1, atunci
răspunsul a fost «da», adică acest simptom va fi adăugat în baza de cunoştinţe
dinamică a sistemului expert, va fi verificat dacă nu se dublează în baza de
cunoştinţe, şi sistemul de decizie va trece la un nou predicat simptom_4(1). În
cazul în care răspunsul nu a fost unitatea atunci programul afişează mesajul că nu
sunt simptome destule pentrua lua o decizie. În aşa fel, programul parcurge toate
regulele care aparţin primei ramuri. În cazul cînd la prima întrebare a unui arbore
de decizie răspunsul este negativ, atunci sistemul de decizie imediat trece la
următorul arbore şi regulele lui.
În acest fragment de cod se întîlneşte situaţia cînd programul a verificat toate
condiţiile unei ramuri al arborelui de decizie şia ajuns la regula finală, executarea
căreia va permite să punem diagnozul. Adică, dacă răspunsul la această întrebare
va fi pozitiv, X=1, atunci utilizatorul va primi mesajul cu diagnozul luat. În caz
contrar, dacă ultima din condişiinu este satisfăcută, adică lipsa simptomului
respectiv, programul va afişa mesajul cu diagnozul posibil.
simptom_7(1):-write(“Menţinerea orientării la ambianţă şi în timp s-a păstrat?(da
– 1, nu - 0) ”),

62
readint(X),X=1, asserty(reason(“Menţinerea orientării la ambianţă şi în
timp”)),
write(“Diagnoz: Halucinoză vizuală.”),
assertz(reason(“-------------------------------------------------------------------
------------”)),
assertz(reason(“Diagnoz: Halucinoză vizuală.”)),
simptom_7(1):-write(“Neidentificat – diagnozul posibil Halucinoză vizuală”),
retractall(reason(_)),
assert(reason(“Neidentificat – diagnozul posibil Halucinoză vizuală”)),
readchar(_).

În cazul cînd una din ramurile arborelui de decizie se termină, la atingerea


scopului final, din baza de cunoştinţe dinamică cu ajutorul predicatului

63
retractall(reason(_)) se şterg toate predicatele introduse în procesul executării
regulii, corespunzătoare argumentului reason(_).
În aşa fel, se parcurg toţi arborii de decizie, verificîndu-se toate situaţiile
posibile. Bazele de cunoştinţe interne folosite în acest caz permite utilizatorului la
sfîrşitul sesiunii să primească explicaţia ultimului rezultat primit:
explain:-retract(reason(S)),
write(S),nl,fail.
explain:-readchar(_).
Predicatul explain pe rînd alege din baza de cunoştinţe dinamică toate
răspunsurile primite ultima dată, adică simptomele şi le afişează la ecran, în aşa fel
încît utilizatorul să se poată analiza.
Utilizarea anume a bazelor dinamice de cunoştinţe este determinată anume în
primul rînd de faptul că ele permit introducerea schimbărilor în toate regulile, care
ulterior va permite modoficarea, adăugarea şi perfecţionarea programului. Acest
fapt este de o importanţă mare luînd în consideraţie faptul că la modelarea bazei de
cunoştinţe şi a sistemului de decizie ne-am condus nu în conformitate cu
cunoştinţele unui expert calificat, ci a datelor luate din litaratura stiinşifică
corespunzătoare. Cu toate acestea în caz de necesitate programul este uşor de
modificat şi de corectat.

64
CONCLUZIE
Secolul XX a fost supranumit secolul vitezei. Prin extrapolare - al tehnicii, al
tehnologiilor, al informaticii - progresul înregistrat în toate aceste domenii a fost
unul deosebit. Este rândul secolului XXI să beneficieze de avansul tehnico-
ştiintific pentru a asista la o creştere semnificativă a calităţii şi chiar a duratei
vieţii. În orice domeniu de activitate factorul cheie în atingerea scopurilor propuse
este reprezentat prin luarea unei decizii bune. Totuşi la bază există o combinaţie de
trei aspecte: experienţă din cazuri anterior rezolvate, rezultatele ultimelor cercetări
şi raţionamentul personal. Anume prin aportul Inteligenţei Artificiale s-au
automatizat activităţile dificile, care sunt imposibile sau practic sunt greu efectuate
de finţa umană. Iar Sistemele Expert realizează în fapt prelucrarea cunoştinţelor
umane şi se pot regăsi pe orice treaptă a conducerii oferind răspunsuri la întrebări
dintr-o arie specifică prin efectuarea de inferenţe asupra cunoaşterii conţinută în
baza de cunoştinţe, fiind capabile să explice utilizatorilor raţionamentele şi
concluziile care au condus la o anumită soluţie.
De altfel în zilele de astăzi sistemele expert se aplică în toate domeniile
posibile: în medicină, în ştiinţă, în economie, în tehnică prin aplicaţiile care
realizează performanţe, de fapt de care numai omul era capabil.
În calea parcursă spre atingerea scopurilor şi realizării obiectivelor în acest
proiect am reuşit:
• să mă familiarizez cu Sistemele Expert ce sunt nişte aplicaţii ale
Inteligenţei Artificiale de a altfel şi nişte programe concepute pentru a
raţiona în scopul rezolvării problemelor pentru care în mod obişnuit se
cere o expertiză umană considerabilă;
• să fac cunoştinţă cu domeniile şi aplicaţiile din acest domeniu;
• să proiectez şi să realizez un Sistem Expert;
• realizarea Sistemului Expert ce ne permite diagnosticarea unor boli
psihice.
În medicină luarea unei decizii apare într-un mod foarte important atunci când
trebuie pus un diagnostic deoarece la stabilirea acestuia apar mai multe alternative,

65
deşi toate datele medicale au fost colectate, iar Sistemul Expert proiectat poate să
sugereze cea mai plauzibilă alternativă. Sistemul poate oferi şi o valoare asociată
bolii, aceasta fiind interpretată ca un scor de plauzibilitate. Sistemul este capabil să
sugereze medicului utilizator tipul evolutiv şi forma bolii, cu toate că pentru o
diagnosticare sută la sută sunt necesare mai multe tipuri de analize. Evident că
decizia finală asupra diagnosticului este lăsată exclusiv medicului.

66
BIBLIOGRAFIE

[1] Cîrstoiu, D. I. – Sisteme Expert, Ed. ALL, Bucureşti, 1994


[2] Holsape, C. W., Whinston, A. B. – L’utilisation des systemes experts dans
l’entreprise, Les editions d’organisation, Paris, 1989
[3] Zaharia, M., Cîrstea, C., Sălăgean, L. – Inteligenţa artificială şi sisteme
expert în asistarea deciziilor economice, Edictura Economică, Bucureşti, 2003
[4] Zaharia, D. - Sisteme expert, vol. 1, Editura Ştiinţa şi Tehnica, Bucureşti,
2005
[5] Zaharie, D., Năstase, P. – Sisteme expert de gestiune, Editura Romcart,
Bucureşti, 1993
[6] Aplicaţii IA. D. Galea, M. Costin, 2001, Iaşi, ISBN 51-6-8048. pag.232
[7] Aluja, G. J, colectiv – Fuzzy and Expert Systems in decision Making,
Edictura Expert Bucureşti, 1995
[8] Savall, H., Zardete, V. – Le nôuveau controle de gestion, Editions
Eyrolles, Paris, 1993, pag. 28
[9] Keen, P.G.W., Scott-Morton, M.S., Decision Support Systems. An
Organizational Perspective, Addison-Wesley, 1978, pag.15
[10] Sprague, R., Watson, H., BIT-BY-BIT: Toward Decision Support
Systems, California Management Review 22, No. 1, 1979, pag. 560-568
[11] Sprague, R., A Framework for the Development of Decision Support
Systems, MIS Quarterly 4, no. 4 (December 1980), pag. 1
[12] Sauter, V., Decision Support Systems: An Applied Managerial Approach,
1997
[13] Mallah. E., Decision Support and Data Warehouse Systems, Irwin
McGraw-Hill, Boston, 2000, pag. 12
[14] Alter, S.L., Decision Support Systems: Curent Practice and Reading,
MA: Addison Wesley, 1980, pag. 90-91

67
[15] Holsapple, C.W., Whinston, A.B., Decision Support Systems: A
Knowledge-Based Approach, St. Paul, MN: West Publishing, 1996
[16] Power, D.J., Categorizing Decision Support Systems: A
Multidimensional Approach, in volume Decision Making Support Systems:
Achievements, Trends and Challenges for the New Decade, Idea Group
Publishing, Hershey, 2003, pag. 20-27
[17] Zaharia, D., N. Pavel s.a.: Sisteme Expert; Aplicaţii, vol II, Editura
Ştiinţa şi Tehnica,Bucureşti, 1998
[18] J-C Pomerol, P. Levin – Systemes interactifs d’aide a la decision et
systemes experts, Ed. Hermes, 1990
[19] http://ro.wikipedia.org/wiki/Sistem_expert
[20] http://www.datagram.ro-sisteme_expert.php
[21] http://www.math.md/imi-site/ro/official_information.Shtml
[22]http://www.computerbooks.tu/books/Programming/Book-Introduction-to-
Expert-Systems/index.html
[23] http://www.depressia.com/page_145.html
[24] http://www.softkez.info/reviews/review464.php
[25] http://infobacau.inf.ro/bogdan/cursuri/se/cuprins.html
[26] http://www.inteligenta-artificiala.ro/document5.html
[27] Иван Братко. Алгоритмы искусственного интеллекта на языке
PROLOG

68
69