Sunteți pe pagina 1din 34

Ce sunt Sistemele Expert?

Sistemele Expert au fost pentru prima dată introduse impreună cu conceptul de


Inteligenţă Artificială. Acestea fac parte dintr-o gamă de instrumente indinspensabile pentru
realizarea de instrumente automate sau interactive capabile să realizeze sarcini complexe.
Sistemele Expert pot fi considerate programe soft care operază intr-un sistem sofisticat la fel
cum o fac si expertii umani. Cu alte cuvinte, acestea sunt aplicaţii software care imită judecata
experţilor umani dintr-un domeniu bine conturat [3].
Un Sistem Expert este un ”sfătuitor computerizat” care este capabil să raţioneze
(şi nu doar să arate o enumerare de date), dar care se ocupă de obicei de un spaţiu mic de
cunoştinţe, numite de altfel ”domeniu de cunoştinţe”. Cunoştinţa pe care o posedă este activă
deoarece ea poate fi folosită pentru a deduce noi informaţii din ceea ce este deja cunoscut despre
o problemă. Având in vedere faptul că, cunoştinţa pe care care o posedă un sitem expert tinde să
fie legată de aplicaţii specifice, ele nu sunt aşa de răspândite ca bazele de date, a căror cunoştinţă
poate fi folosită in diferite aplicaţii. Cea mai des intâlnită reprezentare de cunoştinţe la Sistemele
Expert o reprezintă regulile. Dr. Marvin Minsky definea Inteligenţa Artificială ca fiind:
"Domeniu de studiu care incearcă să construiască sisteme care dacă ar fi încercate de oameni ar
fi considerate inteligente”[4].
Înca din anii 1970, o varietate de Sisteme Expert, au fost folosite cu succes in diferite
domenii, cum ar fi cel al medicinei, al chimiei si chiar in domeniul computaţional, proiectarea
sistemelor de configuraţie pentru calculatoare. Aceste aplicaţii au fost privite ca o tehnologie
nouă foarte importantă şi guvernele ţărilor industriale au întâmpinat-o investind in cercetarea
acestui domeniu. Cu toate că proiectele încrezatoare care s-au lansat la acea vreme nu s-au
realizat in totalitate, o dezvoltare puternică in acest domeniu a avut loc. Sistemele Expert, sunt
de departe cea mai importantă parte comercială din tehnologiile Inteligenţei Artificiale aplicate.
1.2.1 Prin ce diferă un sistem expert de un program clasic? [5]

Modularitate. Cunoaşterea care stă la baza puterii de raţionament a unui sistem expert
este divizată în reguli. În felul acesta piese elementare de cunoaştere pot fi uşor adăugate,
moficicate ori eliminate. Modularitatea reprezentării cunoaşterii asigură totodată şi posibilitatea
de menţinere la zi a bazei de cunoştinţe de către mai mulţi experţi simultan. Ea poate reprezenta
astfel opera unui colectiv de autori adesea dezvoltându-se pe o perioadă lungă de timp, simultan
cu intrarea ei in folosinţă.
Transparenţă. Un Sistem Expert poate explica soluţia pe care o dă la o anumită
problemă. Aceasta este de altfel un factor de importanţa majoră în asigurarea credibilităţii
sistemelor expert puse să furnizeze diagnostice medicale de exemplu. Pentru ca un medic să aibă
incredere într-un diagnostic furnizat de maşină, el trebuie să il inţeleagă. Cu toate acestea,
Sistemele Expert de diagnostic medicinal nu au fost foarte des folosite şi asta din principii de
etică. Dacă un astfel de sistem ar furniza un diagnostic greşit sau un tratament inadecvat pe cine
s-ar da in judecată?
Soluţii in condiţii de incertitudine. Sistemele Expert pot oferi în general soluţii
problemelor care se bazeaza pe date nesigure ori incomplete. Dintr-un anumit punct de vedere
un Sistem Expert funcţionează ca o maşină care ştie să niveleze asperitaţile, ori care poate trece
cu uşurinţă peste ele. Adesea un mecanism foarte fin este şi foarte pretenţios, el putând funcţiona
pe o condiţie pentru care a fost proiectat. Aceasta este şi cazul unui program clasic, pentru care
neputinţa de a furniza valoarea exactă a unui parametru îl poate arunca pe o condiţie de eroare.
Un Sistem Expert ştie să facă faţă fie unor cunoştinte incomplete ori incerte asupra domeniului
de expertiză, fie unor date de intrare incomplete ori incerte.

1.2.2 Prin ce diferă un Sistem Expert de un expert uman?


Sistemele Expert se deosebesc de specialiştii umani în mai multe privinţe. Un Sistem
Expert nu poate ajunge la concluzii în mod intuitiv. De asemenea el nu poate examina o situaţie
din diverse perspective. Ele nu pot recurge pentru a raţiona la principiile primale şi nu pot trasa
analogii. În mod obişnuit ele nu pot invăţa din experienţa. Dar odată cu evoluţia tehnologiei, s-ar
putea realiza si Sisteme Expert care să inveţe, si care să fie capabile sa-şi imbunataţească
capacitatea de cunoaştere dinamic. Aceasta ar reprezenta o strânsă colaborare cu Reţelele
Neuronale, colaboare care ar putea da rezulate excepţionale şi care ar putea fii de un real ajutor.
Tendinţa generală, este de a înlocui expertul uman cu cel artificial deoarece specialistul
uman este mai greu de abordat, este foarte ocupat şi nu se poate fi in mai multe locuri, sau mai
mulţi experţi şi specialişti sunt necesari, dar aceştia nu sunt obişnuiţi să îşi confrunte punctele de
vedere. De semenea, în cazul sistemelor de gestiune a proceselor, este posibilă extindrea
expertizei umane într-o manieră care să beneficieze de un timp de reacţie mai scurt şi de o
memorie şi o capacitate de invăţare crescută.
În continuare, se va realiza o comparaţie între un Sistem expert şi un expert uman:

Tabelul 1.1. Comparaţie dintre expertul uman si Sistemul Expert

Factorul Expertul uman Sistemul Expert


Timpul disponibil Numai în zile lucrătoare Oricând
Localizare spaţială Numai local Oriunde, mai ales în medii
improprii omului
Siguranţa informaţiilor De neînlocuit Înlocuibil
Performanţa Variabilă Consistenţa permanentă
Viteza de lucru Variabilă Rapidă
Costul Mare Acceptabil

Ca o concluzie, putem spune, că introducerea unui Sistem Expert va ameliora calitatea


deciziilor luate datorită faptului că acestea deschid largi posibilitaţi raţionamentelor prin
exploatarea unui număr mult mai mare de variante decât cele dinîn mintea omului, acesta
datorându-se şi faptului că ele au o capcitate mult mai mare de memorare decât un specialist
uman. De asemenea, aceasta îi va permite să efectueze raţionamente identice, rezultând astfel o
mare capacitate de anticipare.

1.2.3 Exemple de Sisteme Expert

În funcţie de domeniul lor de aplicaţie, sistemele expert pot fi imparţite în trei


categorii importante [5]
1. Sisteme expert de diagnostic. Problemele tratate de acestea pot fi recunoscute după
următoarele proprietaţi;
-domeniu constă din două mulţimi finite, disjuncte – una conţinând observaţii, cealaltă
soluţii – şi dintr-o cunoaştere complexă, adesea incertă si incompletă despre relaţiile dintre
aceste două mulţimi;
-problema este definită printr-o mulţime de observaţii, mulţime ce poate fi incompletă;
-rezultatul diagnosticului este selecţia uneia sau mai multor soluţii ale problemei;
-în cazul în care calitatea soluţiei poate fi inbunataţită prin considerarea unor observaţii
suplimentare, una din sarcinile clasificării o reprezintă găsirea acelei submulţimi de observaţii
suplimentare care ar trebui cerute pentru a le completa pe cele existente.
2. Sisteme expert de construcţie: aici soluţia nu mai poate fi gasită prin cautarea intr-o
mulţime existentă. Soluţia este acum construită ca o secvenţă de paşi ori o configuraţie de
elemente intercondiţionate (astfel vazută, o problemă de diagnostic poate fi considerată un caz
special al unei probleme de construcţie). Definirea problemei inseamnă precizarea condiţiei
iniţiale ale problemei, precizarea cerinţelor asupra soluţiei şi a spaţiului soluţiilor (combinaţiile
teoretic posibile de obiecte elementare care respectă ori nu cerinţele).
3. Sisteme expert de simulare: dacă în sistemele expert de diagnostic şi construcţie
soluţia era selectată ori respectiv asamblată, simularea serveşte numai pentru precizarea efectelor
anumitor presupoziţii asupra unui sistem. Un sistem este privit ca o unitate a cărei comportare
poate fi inferată din cunoaşterea comportării părţilor componente. Simularea constă din
determinarea valorilor unor parametrii de ieşire din valorile date ale unor parametrii de intare.
Adesea o simulare este cerută pentru a verifica dacă soluţia oferită de un Sistem Expert proiectat
pentru a furncţiona în diagnostic sau construcţie este întardevar cea dorită.
Există diferite alte clasificări ale Sistemelor Expert, şi o alta posibilă ar fi [6]
 Sisteme expert pentru diagnostic
 Sisteme expert pentru reparaţii
 Sisteme expert pentru instruire
 Sisteme expert de inerpretare
 Sisteme expert pentru prognoză
 Sisteme expert pentru proiectare si planificare
 Sisteme expert de monitorizare şi control

DENDRAL
Primul sistem expert a apărut în momentul în care NASA a hotarât trimiterea unui vehicul
pe Marte, având ca scop, printre altele binenţeles, cercetarea structurii chimice a solului acestei
planete. Cercetătorii de la Stanford au construit în acest scop chimiştilor în identificarea
structurii chimice a unor substanţe în funcţie de spectograma de masă.
MYCIN
MYCIN este unul dintre cele mai vechi sisteme exert iar crearea sa a influenţat foarte
mult isoria dezvoltării sistemelor expert. Sistemul, a fost dezvoltat la Stanford în anii ’70.
Misiunea lui era diagnosticarea şi recomandarea de tratament pentru diferite infecţii ale sângelui.
Aplicaţia de diagnostic a fost dezvolată in parte pentru a exploara cum fac experţii umani
estimări brute (dar importante) bazandu-se doar pe unele informaţii parţiale. Oricum, problema
este importantă şi din punct de vedere practic: există mulţi doctori începători sau nespecializati
care trebuie să facă aceste aproximări asupra diagnosticului, deci existenţa unui sistem expert ar
fi foarte utilă în acordarea unui tratament cât mai eficient. Dar MYCIN n-a fost niciodată utilizat
în practică, şi asta nu din cauza că nu a fost destul de performant sau că ar fi greşit mult în
diagnosticare, pentru că, din contra, testele au întrecut cu mult aşteptările membrilor catedrei de
medicină de la Stanford. A fost mai mult din cauze etice şi legale legate de folosirea
calculatoarelor în medicină: dacă se pune un diagnostic greşit, pe cine dăm in judecată?
MYCIN avea cunoştinţa reprezentată prin seturi de reguli IF-THEN cu diferite grade de
certitudine.
IF infecţia este primar-bacteriană
AND locul de unde s-a prelevat cultura este unul steril
AND poarta de intare suspectată este tractul gastronintestinal
THEN avem evidenţa de grad 0.7 că infecţia este bacteroidă.
Scris in Lisp, cu regulile reprezentate formal, MYCIN este un sitem direcţionat de scop,
folosind strategia de raţionament înapoi.
Aplicaţia raţioneaza, pe baza răspunsurilor pe care le primeşte la anumite întrebări şi pe
baza cunoştinţei pe care o posedă. Există trei stadii principale ale dialogului. La început, se
adună datele iniţiale despre caz pentru ca sistemul să producă o diagnoză largă. Apoi, se pun
întrebări mai specifice pentru a testa ipoteze specifice. În finalul acestei faze se propune un
diagnostic. Al treilea stadiu cuprinde întrebări pentru determinarea unui tratament, având in
vedere diagnosticul găsit şi informaţii despre pacient. Acesta se încheie evident cu propunerea
unui tratament. În orice moment utilizatorul poate întreba de ce i se adreseaza o anumită
întrebare sau cum s-a ajuns la concluzie, iar când se propune tratamentul poate solicita tratament
alternativ dacă primul nu este satisfacător.
Cu toate că a fost un proiect de pionerat în domeniul Sistemelor Expert, MYCIN a avut şi
câteva probleme care au fost rezolvate mai târziu prin folosirea unor taxonomii explicite a
bolilor (reprezentată ca un sistem de cadre) pentru a reprezenta adevăruri despre diferite tipuri de
boli. În acest fel, s-a rezolvat problema amestecării regulior cu domeniu de cunoştinţe.
S-au dezvoltat multe sisteme pornind de la MYCIN. De exemplu, EMYCIN a fost primul
shell de sistem exert dezvoltat din MYCIN. Un nou sistem expert numit PUFF a fost dezvoltat
pornind de la MYCIN, dar specializat pe boli de inimă. Sistemul numit NEOMYCIN a fost
dezvoltat pentru a instrui doctori, cărora li se prezintă cazuri diverse, li se verifică concluziile şi
li se explică unde au greşit.
Sistemele Expert, au fost şi sunt folosite şi în alte domenii decât cel de diagnostic
medicinal. Domeniul ecconomic şi financiar-contabil, utilizează unele dine cele mai cunoscute
aplicaţii expert.
În sistemul de audit şi control sunt folosite sistemele: FINEXPRO, FINEXPERT, GIPA,
CREDITEXPERT în cel de planificare CAPEX.
Activitatea bancară, a fost şi este un domeniu în care se folosesc frecvent sisteme
expert.
- gestiunea conturilor clienţilor: SMERTIOS, ALVIN, MATIAS;
- împrumuturi comerciale: CLASS;
- creditare şi analiza cărţii de credit: FCA, Application Expert, MOZART, CRES,
Credite Expert;
- transfer de bani: A-CLASS-ATRANS, TEXPERT;
Finanţe, asigurări, planificare impozite şi taxe sunt de asemenea ramuri ale domeniului
economic care se bucură de facilitaţile oferite de aplicaţii ale Inteligenţei Artificiale.
Compania daneză CRI A/S, specializată în aplicaţii ale noilor tehnologii informaţionale
încă din 1978, a elaborat periodic un repertoriu al sistemelor esxpert [7] .
Unele exemple pentru domeniul gestiunii, finanţelor şi contabilitaţii din ediţia 1986 sunt:
1. Contabilitate
AUTOMATED TAX – pregătire documente de impozitare;
AGGREGATE Assistant – proiectare situaţii financiare din conturi
AYMM (Finance) – selectare finanţare guverne pentru noi debuşee de
afaceri
FOLIO – determinare obiective de investiţii pentru protofoliile clienţilor;
TAXADVISOR – consiliere şi analiză în probleme de impozite pentru
Intreprinderi
TICOM – evaluarea controlului intern in auditing
ESTEAM – gestiune portofolii pentru investitii profitabile
AUDITOR – asistare la evaluarea debitorilor slabi
2. Gestiune
APEX – management vănzări
COMEX – gestiune afaceri în agricultură
CONCEPT – gestiune, modele şi planificarea marketing
MARKETER – asistenţă în decizii de marketing
Exemple de Sistemele Expert, sunt folosite cu succes şi domenii cum ar fi: reparaţii de
echipamente, analizări de investiţii, planificări de asigurări, determinarea de trasee pentru
livrare, oferte de contracte, consiliere pentru clienţi, controlul producţiei şi instruire.

II. CONCEPTE FUNDAMENTALE IN TEORIA SISTEMELOR


EXPERT

2.1 Definiţia Sistemelor Expert


Edward Feigenbaum, professor la Universitatea Stanford, un pionier al tehnologiei
sistemelor expert, dă pentru un astfel de sistem următoarea definiţie:
”… un program inteligent care foloseşte cunoaştere şi proceduri de inferenţă pentru a
rezolva probleme suficient de dificile încât să necesite o expertiză semnificativă pentru găsirea
soluţiei.” [5]
Un sistem expert 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 activitaţ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 rationare. Un sistem expert tratează cu succes
probleme pentru care o soluţie algoritmică clară nu există. [9]
Un Sistem Expert 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 success
probleme pentru care o solutie algoritmică claă nu există. [10]
Unul din fondatorii Inteligenţei Artificiale, H.Simon, spunea despre Sistemele Expert că
sunt o reprezentare a comportamentului uman, care se bazează pe modelul raţionalitaţii
limitate, model care ţine seama de limitele întalnite da către un decident veritabil, atât în planul
informaţiilor, cât şi în cel al raţionamentului.
O definiţe originală aparţine profesorilor J. Giarratano şi Riley (NASA) : un Sistem expert
este un sistem care emulează abilitatea de a lua decizii a expertului uman. Termenul «
emulează » înseamnă că sistemul este menit să acţioneze în toate privinţele ca expertul uman.
Emularea este ceva mai mult decât simularea, care cere doar să se acţioneze prin imitarea
condiţiilor realizate.
Definiţiile date de alţi autori, sunt foarte asemănătoare. Sistemele expert sunt sisteme de
programare bazate pe tehnicile Inteligenţei Artificiale, care înmagazinează cunoştinţele
experţilor umani dintr-un domeniu bine definit şi apoi le folosesc, pentru rezolvarea
problemelor din acest domeniu ; Un sistem computerizat capabil să ofere sfaturi într-un
domeniu particular de cunoştinţe, în virtutea faptului că conţine cunoştinţe oferite de un expert
uman în acest domeniu.
Definiţia tradiţională a unui program este :
Algoritm + Structuri de date= Program
In Sistemele Expert, definiţia se schimbă astfel:
Motor de inferenţă + Baza de cunoştinţe = Sistem Expert [8]
Cu toate că au fost date diferite definiţii despre Sistemele expert, unele caracteristici
comune, se pot stabili. Unele idei care conturează noţiunea de Sistem Expert sunt :
 Din punct de vedere conceptual Sistemele expert vizează reconstituirea
raţionamentului uman pe baza expertizei obţinute de la experţi ;
 Sistemele Expert dispun de cunoştinţe şi de capacitatea de a desfăşura activitaţi
intelectuale umane;
 Sistemele Expert sunt organizate pentru achiziţia şi exploatarea cunoaşterii dintr-un
domeniu particular numit domeniul problemei;
 Sistemele Expert dispun de metode de invocare a cunoaşterii şi exprimarea
expertizei, comportându-se ca un « asistent inteligent » ;
 Ca nivel de realizare informatică, Sistemele Expert se bazează pe principiul separării
cunoaşterii (bazei de cunoştinţe) de programul care o tratează (motorul de inferenţă) ;
 Sistemele Expert sunt capabile să memoreze cunoaşterea, să stabilească legături între
cunoştinţe şi situaţii pe baza faptelor şi prelucrării cunoaşterii incerte.
Sistemele Expert incearcă să reproducă raţionamentul experţilor umani asupra
cunoştinţelor puse la dispoziţia lor într-o anumită manieră, ajungând să le modifice şi chiar să
ofere explicaţii asupra unor raţionamente făcute.

2.2 Concepte de baza ale Sistemelor Expert

Conceptele de bază ale uniu Sistem Expert sunt: expertiza şi experţii, transferul
expertizei, regulile de inferenţă şi capacitatea de a explica.
Expertiza este o cunoaştere intensivă, specifică domeniului problemei, achiziţionată prin
instruire, citire sau experienţă îndelungată. Următoarele tipuri de cunoştere sunt exemple de ceea
ce se include în expertiză:
 Fapte despre domeniul problemei;
 Teorii din domeniul problemei;
 Reguli şi proceduri privind domeniul problemei;
 Reguli sau euristici despre ce trebuie făcut într-o situaţie problematică dată,
pentru soluţionarea problemei;
 Startegii globale despre soluţionarea tipurilor de probleme;
 Metacunoaştere.
Toate aceste tipuri e cunoaştere permit experţilor să ia decizii mai rapide şi mai bune
decât neexperţii în soluţionarea problemelor complexe. Este nevoie de ani mulţi de pregătire
pentru a deveni expert.
Expertiza este de obicei asociată cu un înalt grad de inteligenţă şi are asociată o mare
cantitate de cunoştinţe. Experţii umani au o caracteristică suplimentară în sensul că invaţă din
succesele şi greşelile făcute în trecut, iar cunoaşterea o pot memora, organiza şi regăsi rapid. Ei
pot apela structurile cunoaşterii din experienţa proprie.
Experţii sunt dificil de definit, ei pot fi persoane cu mai multe nivele sau grade de
expertiză. Întrebarea este căt de multă expertiză trebuie să posede o persoană calificată într-un
domeniu înainte de a fii considerată un expert?
Expertiza umană incluide o gamă largă de activitaţi ale expertului cum ar fi:
 Recunoaşterea şi formularea problemei;
 Rezolvarea problemei cu exactitate şi rapiditate;
 Explicarea soluţiei;
 Învăţarea din experienţă;
 Restructurarea cunoaşterii;
 Fragmenatrea regulilor;
Toate acestea indică capacitatea experţilor de a transforma datele unei probleme arbitrare
intr-o formă care conduce la o soluţie rapidă. Aceasta este posibil datorită capacitaţii de învăţare
din experienţă a unor lucruri noi, de fragmentare a regulilor cunoscute, de determinare a
relevanţei cunoaşterii şi a limitei acesteia in domeniu. Toate aceste activităţi trebuie desfaşurate
eficient (rapid şi cu cost redus) şi eficace (cu rezultate de calitate). Pentru a imita un expert uman
este necesar să se construiască un sistem cu toate aceste caracteristici.
Există doua motive pentru care se decide construirea unui Sistem Expert : înlocuirea unui
expert şi asistarea unui expert în activitatea sa.
Principalele raţiuni pentru înlocuirea expertului uman sunt:
 a face expertiza posibilă în orice moment
 automatizarea unei sarcini rutine care necesită un expert
 expertul este foarte scump
 expertiza este cerută in medii de lucru periculoase pentru sănătatea omului
Asistarea experţilor umani de către programe specializate este tot mai des întâlnită in
marile firme şi nu numai. Principalele motive pentru care se dezvoltă Sistemele expert capabile
să asiste experţii în munca lor sunt:
 ajută expertul în executarea sarcinilor de rutină în scopul îmbunătaţirii
productivităţii sale
 ajută expertul în executarea sarcinilor dificile în scopul unui mai bun control al
complexităţii
 punerea la dispoziţia expertului a informaţiei dificil de procurat la momentul
oportun
Transferul expertizei constituie de fapt obiectivul unui Sistem Expert. Transferul are
loc de la expertul uman la calculator şi de aici la utilizatorii experţi sau nonexperţi. Acest proces
implica patru activitaţi:
 achiziţia cunoaşterii de la experţi sau/şi din alte surse
 reprezentarea cunoaşterii în calculator
 inferenţierea pe baza cunoaşterii stocate
 transferul cunoaşterii către utilizator
Inferenţierea (procesul de inferenţiere) o trasătură unică, dar majoră a Sistemului
Expert, este abilitatea de a raţiona. Pe baza expertizei memorate în baza de cunoştinţe şi a
programului care poate avea acces la o bază de date sau la un fişier calculatorul este programat
să facă inferenţe. Inferenţele sunt executate de către componenta numită motor de inferenţă care
posedă proceduri şi cunoaştere procedurală în legătură cu soluţionarea problemei.
Regulile Majoritatea Sistemelor Expert în funcţiune sunt bazate pe reguli de forma
IF..THEN::ELSE memorate în baza de cunoştinţe. Mai recent reprezentarea prin cadre a devenit
un complement al reprezentării prin reguli în anumite aplicaţii.
Capacitatea explicativă este o trăsătură majoră a Sistemelor Expert în legătură cu
explicarea sfatului pe care-l dau sau a recomandărilor făcute pentru alternativele decizionale.
2.3 Arhitectura unui Sistem Expert

Toate caraceristicile Sistemelor Expert determină o structură specifică a acestora,


structură care poate fi grupată în jurul a trei module principale, module ce determină un sistem
esential: Baza de cunoştinţe, Mecanismul de inferenţe şi Baza de fapte.
Cu toate acestea, un Sistem Expert, este bazat pe două componente distincte
complementare: noi tehnologii de programare ce permit utilizarea a foarte multe cunoştinţe,
precum şi modul de inferenţă dintre acestea, şi noi construcţii şi metodologii dezvoltate ce
permit utilizarea efectivă a acestor tehnologii pentru probleme complexe. Combinarea cât mai
eficientă a acestor componente, duc la realizarea unor Sisteme Expert de real succes.
Pentru realizarea unui sistem, este nevoie, de o strânsa cooperare între un specialist în
domeniu, şi un inginer de cunoştinte. Expertul trebuie să fie capabil să işi raporteze cunoştinţele
şi să reuşească să interpretze o anumită informaţie. Inginerul, este cel care transpune informaţia
primită într-o formă de reprezentare specifică sistemelor informatizate ţinând seama de cele trei
module principale ale unui Sistem Expert.
În literatura de specialitate, aditional acestor trei componente specifice mai apar şi altele
noi, fără de care Sistemul Expert nu ar putea fi folosit : modul de achizitie al cunoştinţelor,
interfaţa utilizator şi modul de explicaţii.
Baza de cunoştinţe este reprezentată ca o structură de date ce conţine ansamblul
cunoştinţelor specializate introduse de către expertul uman. Este o componentă cognitivă
cunoaşterea fiind memorată într-un spaţiu special organizat, spaţiu în care se descriu situaţii
evidente, fapte reale sau ipotetice, precum şi euristici. În cazul memorării cunoaşterii sub formă
de reguli de producţie, baza de cunoştinţe conţine două componente: baza de fapte şi baza de
reguli, iar motorul de inferenţă se mai numeşte interpretor de reguli.
Mecanismul de inferenţă poate fi denumit şi interpretor deoarece, el preia cunoştinţele
din baza de date şi le utilizează pentru construirea unui raţionament, pentru a forma inferenţe şi a
trage concluzii. Acesta urmăreşte o serie de obiective majore cum ar fi: alegerea startegiei de
control în funcţie de problema curentă, comutarea între acestea pentru a putea realiza o deducţie
executarea acţiunilor care sunt prevazute în planul de rezolvare.
Baza de fapte este reprezentată de o memorie auxiliară ce conţine toate datele
utilizatorului (fapte iniţiale ce descriu enunţul problemei de rezolvat) şi rezultatele intermediare
produse în cursul procedurii de deducţie.
Modul de achiziţie al cunoştinţelor preia cunoştinţele specializate furnizate de expertul
uman sau inginerul de cunoştinţe ce nu este specifică reprezentării interne, şi apoi verifică
validitatea acestora în final generând o baza de cunoştinţe coerentă.
Interfaţa utilizator est cea care asigură dialogul dintre utilizator şi sistem, fără nici un
ajutor din partea proiectantului de sistem sau a unui specialist în ingineria cunoaşterii. Prin
intermediul acesteia, se preiau parametrii problemei pe măsură ce componenta de control are
nevoie de ei. Există Sisteme Expert care au o interfaţă foarte complexă, furnizând chiar şi
dicţionare, fiind capabilă de analize lexicale şi sintactice. Cu toate acestea ea trebuie sa fie
simpla şi calară pentru a fi posibilă utiltizarea facilă a ei.
Modul de explicaţii urmăreşte obţinerea de explicaţii asupra desfăşurării proceselor
inferenţiale făcute, a soluţiilor obţinute în sesiunile de consulatre. Acesta poate oferii evidentieri
în cazul lipsei unor cunoştinţe sau a inconsistenţei acestora, uneori fiind capabil de dezvăluirea
cauzelor unor eşecuri
Următoarea figură (Figura 2.1) prezintă arhitectura unui Sistem Expert
Expert
uman

Inginer de
cunoştinţe

Modul de achiziţie a
cunoştinţelor

Baza de
cunoştinţe Mecanism
de
inferenţă

Baza de Modul de
fapte explicare

Utilizator Interfaţa utilizator

2.4 Sisteme multi-expert


Sistemele multi-expert sunt o abordare mai recentă şi mai promiţătoare care tinde să
depăşească Sistemele Expert. Ele reprezintă programe folosite pentru rezolvarea unor probleme
foarte complexe care includ opinii diferite legate de acceasi problemă, cunoştinţe care au fost
achiziţionate prin diferite expertize. Un Sistem Expert bazat pe un sistem multiplu are unele
avantaje, cum ar fi:
1) posibilitatea de a împarţii experienţa, cunoştinţa si resursele;
2) o mai mare credibilitate ;
3) o raţionare mai buna datorită observaţiilor facute de alţi agenţi constituenţi. [11]
Există două scheme de dezvoltare a sistemelor multi-expert. Prima este cea în care
sistemul este alcătuit din mai multe subsisteme (agenţi ) care abordează diferite părţi ale
problemei. Problema care trebuie rezolvată la astfel de sisteme, o reprezintă coordonarea şi
cooperarea subsistemelor. A doua schemă este caracterizată de o singură bază de cunoştinţe
conţinând informaţii de la mai multi experţi .
Hanachi (1996) a propus o tehnică specifică de dezvolatre a Sistemelor Expert. Această
tehnică presupune existenţa a două baze de date una activă şi una deductivă care se comportă ca
un sistem informaţional cooperativ. Acest sistem, menţine informaţii despre dezvolatrea
proiectului si un set de reguli care coordonează şi controlează diferite activitaţi.
Rezolvarea şi încorporarea opiniilor conflictuale reprezintă o problemă majoră pentru
reprezentarea cunoaşterii. Lietal (1995) sugerează un raţionament fuzzy care combină cunoştinţa
experţilor şi ţine cont de independenţa acestora. Aceast mod de abordare a problemei
« identifică » cazurile de intrare şi găseşte informaţia cea mai potrivită pentru a fi folosită intr-
un caz individual.
Cercetătorii constată azi o evoluţie către interacţiuni frecvente şi complexe între cei mai
diverşi specialişti dintr-un domeniu restrâns, în scopul exercitării unei activităţi de nivel înalt.

2.4.1 Arhitectura Sistemului multi-expert


Arhitectura unui Sistem multi-expert are la bază arhitectura unui Sistem Expert, dar are
în plus unele principii care trebuie respectate :
 trebuie să conţină mai multe module de cunoaştere, identice celor din componenţa
unui Sistem Expert
 trebuie facută o separare între motoarele de inferenţă şi modulele de cunoaştere
 pe intervalul unei expertize modularitatea cunoaşterii trebuie să rămână validă,
adaugarea, modificare sau ştergerea unui modul de cunoaştere nu va trebui să
afecteze direct alte module din sistem
 sistemul trebuie să permită aflarea soluţiei la o anumită problemă dacă aceasta
există
 raţionamentul folosit trebuie să fie semănător celui uman. Aceasta este şi restricţia
principală pentru rezolvarea în sistem multiexpertiză a problemelor complexe.
Reţeaua de module de cunoaştere este legată slab astfel că nici un modul nu poate
avea o vedere generală şi completă asupra reţelei pentru a servi ca supraveghetor.

2.4.2 Comunicarea intre modulele de cunoastere

În cadrul unui Sistem multi-expert există două tipuri de comunicaţii: între sistem şi
utilizator şi între modulele de cunoaştere ale sistemului.
Primul tip de comunicare se face prin intermediu Interfeţei utilizator, asemeni Sistemelor
Expert clasice.
Cel de-al doilea tip de comunicare este ilustrat in Figura 2.2 reprezentată mai jos

SISTEMUL MULTI-EXPERT
Utilizator

= modul de cunoaştere

= comunicaţie

Comunicarea care se realizează într-un Sistem multi-expert poate fi de mai multe tipuri:
- comunicarea prin partajarea informaţiei
- comunicarea prin trimiterea de mesaje
- comunicarea prin cunoaşterea declarativă
Comunicarea prin partajarea informaţiei se caracterizează prin existenţa unei
structuri de date partajată în care iniţial se află datele problemei, care se modifică pe parcursul
execuţiei programului, în final obţinându-se rezultatul problemei. Acest mod ce comnunicare
este cel mai des folosit, utilizându-se în comunicarea între module.
Comunicarea prin trimiterea de mesaje constă în schimbul unor mesaje între modulele
de cunoaştere conform unui protocol dinainte stabilit. Mesajul are ataşata marca emiţătorului,
mesajul propriu-zis, si receptorul sau receptorii căruia îi este adresat. Transmiterea mesajului se
poate face direct, numai la unul sau la mai mulţi receptori identificaţi anterior, sau prin difuziune
ceea ce înseamnă că, mesajul este transmis tuturor modulelor în acelaşi timp.
Comunicarea prin cunoaşterea declarativă se bazează pe faptul că, numele
receptorilor şi conţinutul mesajelor reprezintă conţinutul unui modul de cunoaştere particular
numit modulul de cunoaştere declarativă (MCD).
Cunoaşterea declarativă a acestui modul permite constiutuirea bazei de fapte iniţiale
pentru modulul de cunoaştere activat. După soluţionarea problemei într-un modul informaţiile
comunicate de către MCD îi vor fi returnate cu eventualele modificări.
Avantajul paralelismului pe care acest mod de comunicare îl oferă, este umbrit de fapul
că, modulul principal controlează rezoluţia iar celelalte module de cunoaştere nu sunt total
independente.

2.5 Criterii de evaluare a Sistemelor multi-expert

Principalele motive pentru care se aleg Sistemele multi-expert în aplicaţiile mari şi


complexe sunt: rapiditatea, siguranţa, calitatea soluţiei, eficacitatea, claritatea, costul şi
adecvarea la domeniu.
Rapiditatea este una dintre cele mai importante criterii de evaluarea a acestor sisteme, în
special atunci când este implementat pe o arhitectură multiprocesor.
Siguranţa pe care o oferă acest tip de sisteme, asigură continuitatea funcţionarii acestuia
chiar dacă un modul lipseşte sau nu rezolvă corect o subproblemă, a generat un eşec. În acest fel
este eliminată posibilitatea unui eşec total şi este asigurată o buna fiabilitate.
Calitatea soluţiei este ridicată, deoarece cunoaşterea este repartizată pe mai multe
module, asfel încât soluţia obţinută este mai bună decât dacă aceasta ar fi inegrată intr-un singur
modul.
Eficacitatea are în vedere timpii de rezoluţie care în cazul partajării cunoaşterii între mai
mule module este mai mare.
Claritatea este dată tot de modularitate, sistemul este vizibil iar cantitatea de informaţii
necesară unei decizii momentane se reduce.
Adecvarea la domeniul aplicativ al problemei este luat în considerare, deoarece experţii
acordă mai multă incredere în sisteme ce reflectă propria lor abstractizare şi conceptualizare.
Costurile de concepere sunt mai reduse datorită modularităţii care oferă posibilitatea
achiziţiei cunoaşterii în paralel de la toţi experţii, precum şi validarea globală a prototipului.

III. ORGANIZAREA UNUI SISTEM EXPERT


Ideea esenţială care stă la baza concepţiei constructive a Sistemelor Expert, este aceea că
un expert uman îşi construieşte soluţia la o problemă din piese elementare de cunoaştere,
familiare acestuia anterior, şi pe care expertul le selectează şi le aplică într-o anumită secvenţă.
Pentru a furniza o soluţie coerentă la o problemă dată, cunoaşterea trebuie să fie formalizată,
reprezentată într-o formă adecvată proceselor de inferenţă, ca apoi să poată fi manipulată
conform unei anumite metode de rezolvare a problemei. Ca o consecinţă imediată a celor
prezentate mai sus, se pune problema separării cunoaşterii asupra domeniului, a datelor
problemei- baza de cunoştinţe – şi a parţii responsabile cu organizarea proceselor inferenţiale
care să implice aceste cunoştinţe – sistemul de control (motorul de inferenţe), acestea fiind de
fapt şi modulele principale ale unui Sistem Expert.

Baza de cunoştinţe Sistemul de control

Figura 3.1 Componentele principale ale unui Sistem Expert

Aceste două componente formează inima unui Sistem Expert în jurul lor, alte
componente realizează funcţionalitatea complexă a acestuia, cum ar fi:
- interfaţa de comunicare
- componenta de achiziţie a cunoştinţelor
- componenta explicativă
Baza de cunoştinţe, care este componenta sistemului responsabilă cu depozitarea de
informaţii asupra demeniului de expertiză şi a problemei de rezolvat, este la rândul ei formată
din:
- baza de fapte
- baza de reguli
- agenda
Sistemul de control este responsabil cu desfăşurarea proceselor de inferenţă. El codifică
una sau mai multe startegii de aplicare a regulilor.

3.1 Baza de cunoştinţe

Toate Sistemele Expert, au o componentă numită baza de cunoştinţe destinată memorării


cunoaşterii dintr-un domeniu particular. Această cunoaştere este sursa de ”inteligenţă” şi se
foloseşte de către motorul de inferenţe pentru raţionarea concluziilor şi a soluţiilor problemei
care trebuie rezolvată. Colectarea şi organizarea cunoaşterii este cea mai dificilă muncă în
procesul de construire a unui Sistem Expert.

3.1.1 Metode de reprezentare a cunoaşterii

Înainte de a prezenta metodele folosite de reprezentare a cunoaşterii unui Sistem Expert,


să înţelegem mai bine seminficaţia ”de cunoaştere” şi disticţia dintr-e termenii : date, informaţie
şi cunoaştere.
Datele sunt termeni care se referă la şiruri numerice sau alfabetice despre fapte, situaţii
rezultate din numărare sau măsurare, care singure nu au nici o semnificaţie, dar pot constitui un
răspuns la o întrebare a utilizatorului.
Informaţia reprezintă o prelucrare a datelor şi o utilizare a acestora astfel încât să prezinte
o semnificaţie pentru utilizator.
Cunoaşterea, este un termen care are mai multe definiţii, unii afirmând că este o
percepţie clară şi certă a unor fapte, o înţelegere a ceva, o învăţare, o experienţă practică, o
recunoaştere a ceva; alţii afirmând că este o informaţie rafinată care are tendinţa să fie cât mai
generală chiar incompletă sau imprecisă. Ea poate să includă fapte şi informaţii , concepte,
proceduri, modele şi euristici care pot fi utilizate în inferenţe pentru soluţionarea problemelor.
Datorită variaţiei cunoaşterii atât în conţinut cât şi în aspectul exterior, apar mai multe
tipuri de cunoaştere: cunoaşterea specifică, cunoaşterea generală, cunoaşterea exactă,
cunoaşterea imprecisă, cunoaşterea procedurală si cunoaşterea declarativă.
Chiar dacă calculatoarele nu pot avea studii, experienţă şi/sau învăţătură aşa cum au
oamenii, ele pot utiliza cunoaşterea furnizată de experţii umani. Această cunoaştere constă în
fapte, concepte, teorii, metode, euristici, proceduri şi relatii. Astfel, cunoaşterea, poate fi
considerată informaţia care este organizată, analizată asfel încât calculatoarele sa o poata
înţelege şi folosi în soluţionarea problemelor.
Pentru Sistemele Expert, cunoaşterea este reprezentată de expertiza de care dispune
expertul uman, sau de cunoaşterea disponibilă din carţi. Cunoaşterea expertului este specifică
unui domeniu al problemei, asfel încât atat expertul uman, cât şi cel computerizat raţionează şi
face inferenţe în acelaşi mod atunci când are la dispoziţie anumite fapte.
Gândirea despre reprezentarea cunoaşterii se concentrează în jurul a trei teme: domeniul
cunoaşterii, limbajul de reprezentare a cunoaşterii şi mecanismele de inferenţă.
Domeniul cunoaşterii are în vedere ceea ce trebuie reprezentat din domeniul problemei.
Limbajul de reprezentare a cunaoşterii ne arată cum trebuie şi cu ce metode sau modele
trebuie reprezentată cunoaşterea.
Mecanismele de inferenţă se referă la prelucrările cele mai adecvate ale cunoaşterii din
domeniu în scopul derivării unor piese noi de cunoaştere, cele mai relevante pentru soluţionarea
problemelor.
Cu toate, că se cunosc mai multe metode de reprezentare a cunoaşterii, unele elemente
comune, se găsesc:
- admit utilizarea mai multor limbaje de programare existente sau a generatoarelor de
Sisteme Expert, iar rezultatul este memorat;
- prin conţinutul lor, rezultatele reprezentării (fapte, reguli, cadre..) pot fi utilizate în
mecanisme de raţionament
În funcţie de modelul specific, metodele de reprezentare a cunoaşterii se clasifică în:
metode declarative şi metode procedurale.
Metodele declarative, sunt acelea, care folosesc aserţiunile şi faptele, iar metodele
procedurale sunt folosite la reprezentarea acţiunilor sau procedurilor.
Reţelele semantice, cadrele/obiectele structurate şi logica predicatelor, este specifică
metodei declarative, iar regulile şi procedurile celei procedurale. Însă, acestea, nu sunt singurele
mai există scenariile, listele, tabelele de decizie, arborii decizionali, restricţiile, reţele neuronale.
A. Regulile de producţie

Această metodă este cea mai folosită metodă de reprezentare a cunoaşterii Sistemelor
Expert, fiind foarte eficace pentru reprezentarea recomandărilor, directivelor sau strategiilor.
În locul reprezentării cunoştinţei într-un mod declarativ (ca o serie de lucruri care sunt
adevărate), regulile pot specifica ce ar trebui să facă sau ce se poate include în diferite situaţii.
Un sistem bazat pe reguli, conţine o serie de reguli IF-THEN, o serie de fapte şi un interpretor ce
controlează aplicarea regulilor.
Există două tipuri de sisteme bazate pe reguli: sisteme cu înlănţuire înainte, şi sisteme cu
înlănţuire înapoi. În primul model, se începe cu o serie de fapte iniţiale, şi se continuă să se
folosească regulile care derivează noi concluzii din acele fapte. În modelul înlănţuirii înapoi, se
porneşte cu o serie de ipoteze (goals) pe care se încearcă a fi demonstrate, şi se tot caută reguli
care ar permite să deducă acele presupuneri. Primul model, este numit şi data-driven iar al doilea
goal-driven.
Reprezentarea exactă a cunoaşterii dintr-un domeniu particular necesită un număr mare
de reguli, ca să poată fi surprinse toate detaliile. Numărul regulilor este direct proporţional cu
complexitatea cunoaşterii.
Tipologia regulilor are în vedere marea varietate a formelor cunoaşterii de reprezentat
asfel: reguli de cauzalitate, de recomandare, directivă, strategice, euristice. Regulile pot fi
clasificate în funcţie de natura funcţiei informatizate cu Sisteme Expert, asfel: reguli pentru
probleme de interpretare, de diagnostic, de planificare, de proiectare.
Pe lângă autonomia ridicată pe care o conferă acest mod de reprezentare, regulile pot fi
privite ca piese de cunoaştere independente, ele reprezintă şi o modalitate eficientă de procesare
a cunoaşterii.
Cauzele care produc diminuarea performanţelor sistemelor bazate pe reguli se pot
elimina prin măsuri de organizare a bazei de fapte, a bazei de reguli şi prin introducerea unor
măsuri de accelerare a procesului inferenţial.

B. Metoda bazată pe logică


Una din cele mai importante metode de reprezentare, care ne permite să reprezentăm
fapte complexe despre lume, şi să derivăm noi fapte intr-un mod care ne garantează că, dacă
faptele iniţiale sunt adevărate, actunci si concluziile sunt la fel. Logica predicatelor de ordinul
întâi (cea mai folosită), are o sintaxă bine definită, reguli şi semantici de inferenţă.
Propoziţiile cu valoare de adevăr, numite şi aserţiuni, se referă, la obiecte, concepte,
evenimente din domeniul problemei, sunt reprezentate cu tehnici specifice predicatelor de
ordinul I, calculul acestora, permiţând descrierea atributelor obiectelor, conceptelor,
evenimentelor.
Calculul predicatelor este preferat de folosit, datorită structurii sale şi puterii de
inferenţiere. El este adecvat pentru unele probleme, dar suferă pentru că propoziţiile nu pot fi
fragmentate în părţi, ci trebuie tratate ca un întreg, dar cu toate acestea, ele pot fi vazute ca două
părţi de bază:
- obiecte (argumente)
- predicate (aserţiuni despre atributele obiectelor)
Logica, are o importanţă deosebită în Sistemele Expert, în care motoarele de inferenţă
raţionează de la premise către concluzii. Un termen semnificativ pentru programarea logică şi
Sistemele Expert este acela de sisteme de raţionament automat (Automated Reasoning Szstems).

C. Metoda reţelelor semantice

Aceste reţele, au la bază un model cu structură dereţea, considerat din punct de vedere
conceptual ca mijloc important de reprezentare a cunoaşterii graful.
Reţeaua este un graf orientat în care cunoaşterea este reprezentată prin asocierea la noduri
şi arce a semnificaţiei sau semanticilor. Astfel, se ajunge la interpretarea în termeni de
obiecte/entităţi şi relaţii a domeniului problemei.
Cel mai întâlnit este modelul în care nodurile sunt asociate obiectelor din domeniu, iar
arcele sunt asociate legăturilor sau relaţiilor dintre obiecte. Două noduri care sunt legate printr-
un arc, înseamnă că sunt în legătură directă.
Caracteristica de bază a unei reţele semantice constă în aceea că oferă un formalism de
reprezentare a cunoaşterii împreună cu o structură de regăsire a cunoaşterii. În acest mod de
reprezentare, raţionamentul înseamnă căutarea unei căi dintre nodurile grafului folosind
cunoaşterea disponibilă din domeniu.
Aceste grafuri, pot fi de cauzalitate sau de dependenţă, fiind foarte utile pentru
formalizarea cunoaşterii în Sistemele Expert.
În reţelele de cauzalitate, semnificaţiile asociate nodurilor şi arcelor pot să difere în
funcţie de problema de soluţionat, ele oferind o adecvare foarte bună la achiziţia cunoaşterii
cauzale incomplete şi o imbunataţire a înţelegerii şi explicaţiilor pe care trebuie să le ofere
Sistemul Expert. Asfel că, în cazul unei informaţii incomplete, ea poate fi completată foarte
uşor, prin introducerea unui nou nod în graf.
În cazul grafurilor de dependenţă semnificaţia nodurilor este dată de obiecte, stări
psihologice, propoziţii, aserţiuni, iar legăturile reprezintă relaţiile dintre două obiecte şi pot fi: de
timp, de spaţiu, de posesie, de acţiune, de atribuire, de presupunere, de colecţie.
Metoda tripletelor obiect-atribut-valoare (OAV) au la bază metoda reţelelor semantice.
Această reprezentare este foarte convenabilă pentru listarea cunoaşterii în formă tabelară şi mai
ales pentru translatarea tabelelor prin reguli de inducţie în programare inteligente.

D. Metoda cadrelor şi scenariilor

Cadrele, sunt o variantă de reprezentare a cunoaşterii non-procedurale intr-un Sistem


Expert. Într-un cadru, toată informaţia relevantă referitoare la un concept particular este stocată
într-o singură entitate. Acestea seamănă foarte mult cu o înregistrare complexă record care
suporta ierarhia. Ele sunt des folosite pentru reprezentarea cunoştinţelor specifice unor anumite
evenimente sau obiecte, cum ar fi, un tip de păsări, un pacient, etc.
În timp ce reţelele semantie se bazează pe cunoaştere bidimensională, cadrele adaugă şi
cea de-a treia dimensiune, permiţând nodurilor să aibă structură.
Cadrele diferă de reţelele semantice pentru că pot descrie un obiect sau un sistem în care
se dau detalii despre componentele şi ralaţiile între ele.
S-a dovedit, că modurile de reprezentare hibride, aduc cele mai multe îmbunătaţiri şi că
cercetările în acest domeniu, sunt de real folos.

E. Metoda obiectelor structurate

Tot mai mulţi specialişti prezintă metoda obiectelor structurate ca o metodă bazată pe
cadre deoarece, în esenţă, reprezentarea cunoaşterii prin cadre face referinţe la programarea
orientată obiecte în construirea bazei de cunoştinţe. Metoda obiectelor structurate este din ce în
ce mai utilizată în Sistemele Expert deoarece:
- reflectă multe idei ale paradigmei reprezentării cunoaşterii cu cadre şi se înscrie în
rândul metodelor cu transfer succesorial
- cunoaşterea declarativă se menţine separată de cunoaşterea procedurală
- toată cunoaşterea este concentrată într-o singură structură numită obiect
- suportă moştenirea
- este modularizată prin mecanisme de transmitere a mesajelor şi încapsulare
- unele limbaje, suportă vizualizarea a obiectelor ( C++, Java...)
Conceptele acestei metode sunt: obiect, încapsulare, transmiterea mesajelor, legarea
dinamică şi moştenirea.

F. Metoda reţelelor neuronale

Abordările care urmăresc modul în care lucrează creierul uman se concretizează în aşa-
numitele reţele neuronale şi maşini care învaţă. Maşinile care învaţă se referă la tehnologii
ultramoderne capabile să realizeze învăţarea din experienţă. Cercetările au scos la iveală mai
multe asemenea metode, precum şi algoritmi speciali, toate în faza de laborator: reţele
neuronale, învăţare inductivă, raţionament bazat pe cazuri, algoritmi genetici, metode statistice
folosite în achiziţia cunoaşterii şi soluţionarea problemelor, învăţatrea bazată pe explicaţii.

3.2 Motorul de inferenţă

Componenta de control a unui Sistem Expert mai este numită şi motorul de inferenţă
pentru că, în cursul execuţiei la fel ca într-un proces inferenţial, sistemul este capabil să genereze
fapte noi din cele cunoscute, aplicând reguli.
Un mecanism elementar de aprindere a regulilor lucrează conform următorului algoritm:
- faza de filtrare: acum, se determină mulţimea tuturor instanţelor de reguli filtrate
(MIRF) corespunzătoare regulilor din baza de reguli (BR) care pot satisface condiţiile
pe faptele din baza de fapte (BF). În cazul în care nici o regulă nu a putut fi filtrată
atunci motorul se opreşte, în caz contrat se trece la următorul pas
- faza de selecţie: se alege o instanţă de regulă R € MIRF. Dacă MIRF conţine mai mult
de o singură instanţă, atunci se selectează regulă urmând strategia de conflict
- faza de execuţie: se execută partea de acţiuni a regulii R, cu rezultatul asupra bazei de
fapte. Se revine apoi la faza de filtrare. La unele Sisteme Expert, mai apare o subfază a
fazei de filtrare numită faza de restricţie, aici se aleg o serie de reguli care a prioro
merită să particile la acest ciclu inferenţial.
Motoarele de inferenţă implementează o proprietate numită refractibililatea, care se
manifestă în faza de filtare: o regulă nu este filtrată mai mult de o singură dată pe un set
anume de fapte. Fără această proprietate, sistemele expert ar fi antrenate în bucle triviale ce ar
apărea ori de câte ori acţiunile părţii drepte ale unei reguli nu ar produce modificări în bază.
Faza de selecţie, se mai poate numi, şi strategia de control a unui Sistem Expert,
deoarece, ea este legătura de trecere de la o stare la alta în procesul de raţionament, pentru
rezolvarea problemelor. Ea determină cum o căutare să fie direcţionată în scopul atingerii stării
finale. Cele mai folosite strategii de control, sunt cele înainte (forward-chaining) şi înapoi
(backward-chaining).
Strategia de control înainte este bazată pe fapte, deoarece, se porneşte de la un set de
fapte iniţiale şi se caută ”înainte ” până se ajunge la scop. Regulile, sunt folosite ”spre înainte”,
ele generând fapte noi, şi tot asa pană când se ajunge la starea scop, sau până când nu mai sunt
reguli care pot fi utilizate.
Strategia de control înapoi, se mai numeşte şi strategia bazată pe scop. În acest caz, ne
depalasăm înapoi, de la scop înspre faptele iniţiale cunoscute. Prima dată, se caută in baza de
fapte dacă scopul se gaseşte acolo în cazul în care nu se găseşte, se caută dacă nu se află printre
concluziile unei reguli. Dacă se găseşte, ea se numeşte stare de scop, apoi se verifică daca
premizele acestei noi stări, se află în baza de fapte. Dacă nu există, atunci acestea devin noi
scopuri şi se continuă procesul până se găseşte o premiză care nu este suportată de nici o regulă.
Această metodă este similară cu demonstrarea ipotezelor de către experţii umani.
Strategia de control mixă combină cele două strategii pentru ca în timpul căutării prin
baza de cunoştinţe să înlăture inconveninetele acestora, reţinând numai cele care ar putea fi
folosite cu succes.
Metaregulile se referă la reguli care conţin starea procesului deductive şi modifică
dinamic ordinea priorităţii regulilor de declanşare.
3.3 Agenda

Agenda este structura de date care memorează la fiecare moment instanţele regulilor.
Aceste instanţe sunt dispuse într-o listă, instanţa de regulă aflată pe prima poziţie fiind aceea ce
va fi apoi utilizată.
Există două criterii care dictează ordinea instanţelor regulilor din agendă. Primul este
prioritatea declarată a regulilor, al doilea strategia de rezoluţie a conflictelor. Folosind aceste
doua criterii, insantele sunt ordonate în agendă în mod descrescător priorităţilor declarate, iar
cele cu priorităţi egale în ordinea dată de strategia de rezoluţie a conflictelor.

3.4 Modul de explicaţie

Unele dintre cunoştinţele conţinute într-un Sistem Expert au un caracter euristic. Din acest
motiv soluţia furnizată de sistem nu este în mod necesar optimă. Este chiar posibil ca această soluţie
să nu fie nici măcar corectă. Rezultă de aici necesitatea ca Sistemul Expert să îşi explice modul în
care a ajuns la o anumită concluzie. De acest lucru se ocupă modulul de explicaţii, care permite
trasarea drumului urmat în raţionament 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şecului. El ajută
expertul să verifice consistenţa bazei de cunoştinţe.
IV. METODE DE REALIZARE A SISTEMELOR EXPERT

Dezvoltarea limbajelor de programare, tendinţa lor de a utiliza diverse forme de expresie


umană, au făcut mai uşoară munca de realizare a unui Sistem Expert. Necesitatea de reprezentare
a unui bagaj foarte mare de cunoştinţe, capacitatea de deducţie rapidă şi eficienta a soluţiilor
problemelor sunt unele din problemele care trebuie luate în considerare.
Realizarea unui Sistem Expert presupune achiziţia cunoştinţelor, care se face cu un
generator de Sisteme Expert sau achiziţia cunoştinţelor şi reprezentarea lor prin implementarea
motorului de inferenţă, în final urmând faza de validare.

4.1 Etapele realizării Sistemelor Expert


Calitatea şi utilitatea unui Sistem Expert depind în mod esenţial de cunoştinţele pe care le
încorporează şi utilizează. Efortul principal în realizarea unui Sistem Expert este orientat spre
cunoştinţe. Aceasta începe cu identificarea structurii generale corespunzătoare domeniului de
expertiză şi continuând cu colectarea, reprezentarea, validarea şi utilizarea acestora.
Primul lucru necesar în realizarea unui Sistem Expert este culegerea cunoştinţelor
relevante de la un expert uman. Aceste cunoştinţe sunt de obicei de natură euristică, iar
culegerea lor într-un mod care poate fi utilizat de calculator este în general o misiune dificilă. Un
inginer de cunoştinţe are ca scop culegerea cunoştinţelor de la un expert uman şi construirea
bazei de cunoştinţe a sistemului. Munca depusă de inginer, este foarte anevoiasă, deoarece
achiziţionarea de cunoştinţe de la expertul uman este dificilă, exprimarea cu exactitate a
cunoştinţelor şi regulilor nu este tocmai la îndemâna oricui. Este necesar conceperea unui
prototip iniţial bazat pe informaţiile obţinute de la expert, urmând apoi rafinarea iterativă
folosind reacţiile expertului şi a potenţialilor utilizatori ai sistemului.
Un mod de realizare a sistemului, uşor de verificat şi modificat va fi un atuu puternic în
toată munca care trebuie depusă. De asemenea, sistemul, trebuie să fie capabil să-şi explice
raţionamentul şi să răspundă la întrebări despre procesul de soluţionare al problemei.
Capaciatatea de adăugare şi ştergere a unor blocuri de cunoştinţe trebuie să fie luată în
considerare.
Reprezentarea cunoştinţelor prin reguli, este una din cele mai folosite metode, de obicei
ele nu au concluzii precise ci doar un anumit grad de certitudine cum că concluzia este adevărată
dacă condiţia este adevărată.
Etapele care trebuie parcurse în procesul de creare a unui Sistem Expert sunt:
 analiza preliminară
 modelarea conceptuală
 colectarea cunoştinţelor
 reprezentarea cunoaşterii
 validarea sistemului
 introducerea în exploatare şi mentinerea în funcţiune
Două din cele mai cunoscute metode de realizare a sistemelor expert sunt cea propusă de
societatea de informatică COGNITECH, si de societatea KADS.
Prima metodă, folosesc o metodă de realizare prin prototipaj, care cuprinde trei etape:
A. Un studiu de fezabilitate realizat mai întâi cu ajutorul unei machete de siteme expert
B. Realizarea prototipuli de test, această etapă construirea unui prototip pe care se
expertimentează diferitele moduri de reprezentare a cunoştinţelor. În cursul acestei
etape se urmăreşte construirea unei versiuni capabile să acopere domeniul de
expertiză ce formează obiectul sistemului.
C. În final, Sistemul Expert este realizat pornind de la prototip. Dacă rezultatele sunt
satisfăcătoare şi structura sistemului realizat ca prototip, dă rezultate bune, urmează
faza de industrializare.
Metoda KADS (Knowledge Acquisition Documentation Szstem) este o metodă de
inginerie a cunoştinţelor dezvoltate în cadrul Comunităşii Europene, în intenţia definirii unui
standard metodologic european pentru conceperea şi realizarea de sisteme şi aplicaţii care
utilizează baze de cunoştinţe. Această metodă, cuprinde următoarele etape:
 definirea aplicaţiei
 analiza
 proiectarea
 implementarea
 exploatarea şi menţinerea în funcţiune
Propunerea acestei metode, constă într-un demers de modelare al expertizei care
diferenţiază descrierea domeniului de descriere al raţionamentelor, tot aşa cum pentru aplicaţiile
convenţionale se diferenţiază descrierea datelor de cea a prelucrărilor. În acest scop există o
structură pe patru nivele: domeniu (descriere obiectelor, atributelor, relaţiilor, formule de calcul,
euristici), inferenţă (descrierea primitivelor de raţionament folosite pentru rezolvarea problemei),
activitate (etapele de reţionament şi structura de inferenţă), strategie (planul generel de rezolvare
a problemei).

4.2 Alegerea unei Probleme

Realizarea unui Sistem Expert implică mule ore de muncă şi o anumită sumă de bani.
Pentru a evita costurile şi eşecurile ruşinoase, cercetaătorii, au dezvoltat o serie de reguli de
ghidare care ne ajută să determinăm dacă o problemă este potrivită pentru ca o problema să fie
rezolvată cu ajutorul unui sistem expert: [12]

1. Nevoie unei soluţii trebuie să justifice costurile dezvoltării aplicaţiei. Trebuie


să fie o relaţie de echitabilitate între cost si rezultatul final.
2. Expertiza umana nu este la îndemână în toate situaţiile atunci când este
nevoie de ea. Dacă cunoştinţa « expertului » este disponibilă oricând, atunci
nu va fi nevoie de realizarea unui sistem expert. Cu toate acestea, în domenii
Cum ar fi exploatarea petrolului şi medicină se întâmplă destul de rar ca
cunoştinţa specializată să fie oferită de un sistem expert, făra ca să se apeleze
la cunoştinţele unui expert în materie.
3. Problema poate fi retolvată folosind tehnicile de deducţie simbolice. Nu ar
trebui să se ceară dexteritate manuală sau aptitudini psihologice.
4. Problema este bine structurată şi nu necesită (multă) cunoştinţă de bază.
Această cunoştinţă este greu de capturat şi reprezentat. S-a arătat că unele
domenii tehnice sunt mai uşor de abordat, şi că tind să implice o cantitate
destul de redusă de informaţie formalizată.
5. Problema nu poate fi uşor rezolvată folosind tehnicile computerizate
tradiţionale. Dacă există un bun algoritm care să soluţioneye problema, atunci
nu est enevoie de un sistem expert pentru rezolvarea acestuia.
6. Existenţa cooperări şi voinşei unor experţi umani. Pentru ca un proiect să aibă
success este esenţial ca experţii să fie doritori să ajute şi să nu se simtă
ameninţaţi. De asemenea, este nevoie de un management al proiectului şi de
potenţiali utilizatori.
7. Problema este de scop şi de mărime potrivită. De obicei, este nevoie de
probleme care necesită o expertiză specializată, dar care necesită un timp
destul de scurt pentru un expert uman ca să fie rezolvată (o oră maxim).

Trebuie să fie clar că doar o clasă destul de redusă de probleme sunt potrivite pentru
sistemele expert. Cu toate acestea, dată o anumită problemă sistemele expert pot aduce beneficii
enorme. Sisteme au fost dezvoltate spre exemplu pentru a folosi la analiza unor mostre de petrol,
la configurarea unui sistem de calculator. Ambele siteme sunt (sau au fost) folosite scutind sume
enorme de bani.
4.3 Generatoare de Sisteme Expert

După cum am văzut în capitolele anterioare, un Sistem Expert conţine un motor de


inferenţă, o bază de cunoştinţe, o baza de fapte şi o serie de alte componente auxiliare. Deci un
Sistem Expert oricât de performant ar fi nu este numai un motor de inferenţă, ci necesită mai
ales o mare acumulare de cunoştinţe, care trebuie introduse în sistem. Acel program informatic,
care nu are bază de cunoştinţe dar care este capabil să o primească şi să o exploateze este un
generator de Sisteme Expert, sau altfel numit instrument de elaborare sau shell, adică este o
“cochilie goală”, care trebuie umplută. Acest generator conţine, pe lângă motorul de inferenţă,
utilitare de elaborare şi de exploatare indinspensabile.
Un generator de Sisteme Expert este un instrument care permite realizarea mai multor
Sisteme Expert, dar fiecare dintre acestea este o entitate separată, adică sunt sisteme diferite care
nu au nici o legătură între ele.
Majoritatea Sistemelor expert din prima generaţie au fost prevăzute cu un software
pentru achiziţia de cunoştinţe, mai mult sau mai puţin complet. S-au comercializat deci sisteme
care să înmagazineze cunoştinţe.
Pentru crearea unui Sistem expert, cu ajutorul unui generator de sisteme expert, trebuie
completată baza de cunoştinţe a acestuia. În ea trebuie introduse fapte şi reguli, acestea fiind
unele dintre funcţiile principale ale editorului. Toate sistemele evoluate posedă un astfel de
editor, care serveşte la achiziţia cunoştinţelor.
Alături de acest editor, există şi alte utilitare, precum trasorul, motorul de elaborare,
modul de învăţare şi eventual alte module specializate în explicaţii, comentarii şi calcule.
Acestea din urmă nu sunt prezente în toate sistemele expert.
Fiecare dintre aceste module trebuie să poată comunica cu utilizatorul, deci există
interfeţe care permit dialogul cu acestea. O arhitectură simplă a unui generator de sisteme expert
este prezentată schematic în Figura 4.1
Baza de cunoştinţe

Editor Motorul de inferenţe Trasor

Interfaţa utilizator Învăţare

Alte module

Interfaţa
procedeu

Este de remarcat faptul că fiecare modul poate fi dotat cu propria interfaţă de dialog cu
observaţia că pentru sistemele industriale este neapărat nevoie de interfaţă de procedeu, pentru a
achiziţiona în mod automat datele care provin de la captatoare şi automate. De exemplu, în
domeniul gestiunii interfeţele sunt destinate, de cele mai multe ori, extragerii datelor din bazele
de date şi să înscrie în ele noi informaţii.
Cel mai celebru dintre sistemele expert din generaţia veche este sistemul MYCIN. El a
făcut să apară numeroase aplicaţii şi a dat naştere motorului de elaborare EMZCIN. Acesta
conţine celebrul modul de achiziţie a cunoştinţelor, cunoscut sub numele de TEIRESIAS.
Tot în aceeaşi perioadă de dezvoltare, s-a născut sistemul CASNET, un alt sistem expert
medical, destinat pentru stabilirea diagnosticului şi a terapiei glaucomului. Sistemul CASNET a
dat naştere sistemului EXPERT.
Un alt reprezentatnt de seamă din rândul sistemelor expert este sistemul PROSPECTOR.
Acesta este destinat detectării zăcămintelor de minerale şi a fost dezvoltat dând naştere unui
sistem de elaborare numit KAS. Sistemul OPSS a provenit dintr-o familie de limbaje ale
inteligenţei artificiale, momentat fiind inclus în sistemul KNOWLEDGE CRAFT. Un sistem
destinat analizei limbajului natural, care a adus multe idei noi care mai târziu au fost reluate este
HEARSAZ-III.

S-ar putea să vă placă și