Sisteme expert

Published on January 2017 | Categories: Documents | Downloads: 47 | Comments: 0 | Views: 515
of 74
Download PDF   Embed   Report

Comments

Content

1. SISTEME EXPERT
1.1. Introducere

Sistemele expert (SE) constituie o clasă particulară de sisteme informatice bazate pe inteligenŃa artificială, având drept scop reproducerea cu ajutorul calculatorului a cunoştinŃelor şi raŃionamentelor experŃilor umani dintr-un domeniu bine definit. Deci, SE încearcă să imite, în principal, raŃionamentul expertului uman prin raŃionamente artificiale. In plus, trebuie precizat faptul că după preluarea cunoştinŃelor expertului uman, SE le multiplică şi justifică experienŃa acestuia. łinând cont de faptul că un expert uman într-un domeniu se formează foarte greu şi necesită, pe lângă pregătirea şi experienŃa personală, şi calităŃi native, se dovedeşte necesară multiplicarea acestora prin intermediul sistemelor expert. Un expert uman recunoaşte, defineşte şi rezolvă probleme din domeniul său de expertiză, având o capacitate crescută de a se orienta şi a aborda aspecte, precum: complexitatea, incertitudinea, inconsistenŃa, confuzia şi aprecierile vagi. Pornind de aici, expertul uman trebuie să aducă problema în stadiul în care lucrurile sunt cât mai simple, complete, precise, consistente şi clare: adică să treacă problema din sfera expertizei în sfera cunoştinŃelor comune de specialitate. In acest stadiu, rezolvarea problemei poate fi susŃinută eventual de prelucrări algoritmice. Pe parcursul timpului se remarcă numeroase încercări de a defini un sistem expert. În continuare se vor prezenta câteva dintre cele mai reprezentative definiŃii. E.A. Feigenbaum defineşte sistemele expert astfel: “programe concepute pentru a raŃiona în mod abil în domeniile în care există o expertiză umană considerabilă”. 1

Partea 1

H. Farreny dă însă o altă definiŃie, mai funcŃională: ”sistemele expert sunt produse software, dar pot fi tot atât de bine şi echipamente, destinate să înlocuiască sau să asiste omul în domeniile unde este recunoscută o expertiză umană insuficient structurată pentru a constitui o metodă de lucru precisă, sigură, completă, direct transpusă pe calculator şi supusă revizuirilor sau completărilor în urma experienŃei acumulate”. Alte concepŃii arată că “sistemele expert sunt programe care posedă o mare cantitate de cunoştinŃe într-un domeniu specializat, provenite de la experŃii umani, fiind capabile să atingă performanŃele expertului în domeniu.” Utilizarea sistemelor expert se bazează pe premiza că orice problemă poate fi rezolvată printr-o succesiune de raŃionamente care pot fi descompuse în reguli logice. Incercând să imite expertul uman, sistemul expert se caracterizează prin: • cunoştinŃele sunt independente de mecanismul de raŃionament - nu depind unele de altele, iar modificarea unui element nu influenŃează raŃionamentul; • spre deosebire de programarea clasică, unde trebuie să se descrie explicit toate prelucrările într-o manieră statică, SE se caracterizează printr-o abordare declarativă în care se specifică cunoştinŃele (independente unele de altele) care vor fi exploatate în mod dinamic de mecanismul de raŃionament; • SE trebuie să fie capabil să explice raŃionamentele făcute şi să argumenteze soluŃiile obŃinute, într-o manieră asemănătoare expertului uman, permiŃându-se astfel utilizatorului să studieze rezultatul şi, eventual, să-l controleze; • cunoştinŃele manipulate de SE sunt în principal de natură simbolică, spre deosebire de programele clasice care utilizează preponderent date numerice; • SE trebuie să fie capabil să gestioneze baze de cunoştinŃe de volum mare şi să trateze cunoştinŃe inexacte şi incomplete; • SE utilizează metode empirice, bazate pe experienŃă, care conduc la soluŃiile cele mai bune; • SE este specializat într-un anumit domeniu şi nu în rezolvarea unei singure probleme, ca programele clasice. In plus, un SE trebuie să îndeplinească următoarele cerinŃe: • înaltă performanŃă - sistemul trebuie să fie la un nivel competitiv egal sau mai bun decât un expert în domeniu; • răspuns în timp adecvat - sistemul trebuie să ia o decizie într-un timp rezonabil, comparabil sau mai bun decât timpul necesar expertului uman pentru luarea deciziei. In cazul unui SE în timp real, restricŃiile asupra timpului de răspuns sunt foarte severe, deoarece răspunsul trebuie stabilit într-un interval precis de timp; • siguranŃa - SE trebuie să fie sigur, să nu determine erori în funcŃionare; • flexibilitate - deoarece SE poate deŃine o cantitate mare de cunoştinŃe, este important ca SE să implementeze un mecanism eficient pentru adăugarea, modificarea şi 2

Sisteme expert

ştergerea cunoştinŃelor. Aceste prelucrări nu necesită rescrierea sau actualizarea programelor care alcătuiesc sistemul. În unele lucrări pentru un sistem expert se mai foloseşte noŃiunea de sistem bazat pe cunoştinŃe. Totuşi trebuie să se facă o distincŃie între aceste două tipuri de sisteme. Astfel, sistemele bazate pe cunoştinŃe realizează o sarcină prin aplicarea unor reguli asupra reprezentării simbolice a cunoştinŃelor, fără a mai utiliza şi alŃi algoritmi sau a realiza alte prelucrări algoritmice. Astfel de sisteme sunt mai generale decât sistemele expert. În plus, se poate ca ele să nu conŃină nici o expertiză, putând rezolva eficient o sarcină fără a fi necesar nici un expert. Trebuie remarcat şi faptul că sistemele bazate pe cunoştinŃe utilizează metode independente de domeniu. Spre deosebire de sistemele expert, sistemele bazate pe cunoştinŃe sunt mai simplu şi mai ieftin de construit, utilizat şi întreŃinut. Într-o definiŃie tradiŃională, un program este reprezentat sub forma următoarei ecuaŃii: program = algoritm + structuri de date În cazul unui sistem expert, definiŃia se modifică astfel: sistem expert = cunoştinŃe + motor de inferenŃă În continuare (tabelul 1-1) pot fi urmărite o serie de deosebiri între sistemele expert şi programele clasice (convenŃionale): tabelul 1-1. Deosebiri între sistemele expert şi programele clasice Sistem expert simulează raŃionament uman asupra domeniului unei probleme realizează raŃionamente asupra reprezentării cunoştinŃelor umane, calcule numerice şi prelucrări de date (informaŃii simbolice) se caracterizează printr-o abordare declarativă, în care se specifică doar cunoştinŃele (independente unele de altele), care vor fi exploatate în mod dinamic de mecanismul de raŃionament rezolvă probleme utilizând metode euristice sau aproximative care nu garantează succesul cerinŃele pot fi vagi oferă răspunsuri aproximative controlul şi datele sunt separate (baza de Programe clasice simulează însuşi domeniul problemei realizează calcule numerice şi prelucrări de date (prelucrează informaŃii numerice) toate prelucrările sunt descrise explicit într-o manieră statică

oferă soluŃii algoritmice cerinŃele sunt foarte bine definite răspunsurile oferite sunt exacte controlul şi datele sunt implicit integrate 3

Partea 1

cunoştinŃe este clar separată de) într-un program secvenŃial rezolvarea este controlată de motorul de rezolvarea problemei este controlată de inferenŃă ordinea instrucŃiunilor controlul este slab puternic soluŃia este dată de reguli şi inferenŃă soluŃia se obŃine ca urmare a aplicării unor algoritmi căutarea soluŃiei se realizează într-un domeniu căutarea soluŃiei este simplă sau chiar nu larg se realizează nici o căutare intrarea poate fi incompletă sau incorectă intrarea este presupusă corectă nu necesită toate faptele iniŃiale, putându-se necesită toate datele de intrare, putând obŃine concluzii rezonabile chiar în absenŃa chiar să nu funcŃioneze corespunzător fără unor fapte anumite date pot fi tratate intrări neaşteptate intrările neaşteptate sunt foarte dificil de tratat ieşirea poate să varieze, putându-se obŃine ieşirea este totdeauna corectă (se spune că ci doar răspunsuri greşite programele nu greşesc, programatorii fac greşeli) în marea majoritate a cazurilor pot fi obŃinute în general, nu se oferă explicaŃii asupra explicaŃii modului în care s-a ajuns la o concluzie sau asupra motivelor care au determinat cererea de introducere a unor date execuŃia are loc conform regulilor execuŃia este, în general, secvenŃială corespunzătoare, care sunt executate dacă condiŃia de aplicabilitate este îndeplinită proiectarea programului este nestructurată proiectarea programului este structurată este acceptată realizarea modificărilor realizarea modificărilor este dificilă extinderea sistemului este incrementală extinderea programului se realizează în salturi sistemul poate opera doar cu câteva reguli poate rula doar când este terminat lucrează pe staŃii de lucru şi calculatoare programele tradiŃionale pot lucra pe toate compatibile PC tipurile de calculatoare pot prelucra mari baze de cunoştinŃe pot prelucra mari baze de date Alte deosebiri dintre sistemele tradiŃionale şi sistemele expert pot fi urmărite din schema ciclurilor de viaŃă ale celor două tipuri de sisteme.

4

Sisteme expert

Ciclul de viaŃă al unui sistem convenŃiomal Recunoaşterea problemei şi studiu de fezabilitate

Ciclul de viaŃă al unui sistem expert Identificarea problemei Analiza primară şi achiziŃia cunoştinŃelor

CerinŃe utilizator CerinŃe software Proiectare software

SelecŃia instrumentelor sistemului expert

Reprezentare Proiectare detaliată Scrierea codului Testare Integrare Implementare Operare şi întreŃinere Verificare şi validare Implementare Operare şi întreŃinere AchiziŃia cunoştinŃelor Dezvoltare prototip

figura 1-1. Ciclurile de viaŃă ale sistemelor convenŃionale şi expert Trebuie să se remarce faptul că sistemele expert şi programele convenŃionale au şi asemănări, dintre care se poate aminti faptul că scopul comun este producerea unui soft de calitate. În plus, o parte din modulele soft din cadrul unui sistem expert (cum ar fi, interfaŃa utilizator şi motorul de inferenŃă) constituie software convenŃional. Se poate realiza, de asemenea, o comparaŃie între sistemele expert şi alte programe de inteligenŃă artificială.

5

Partea 1

Sisteme expert Alte programe de IA - tratează probleme care necesită expertiză - se ocupă de probleme matematice abstracte umană sau versiuni simplificate ale unor probleme reale - trebuie să dea răspunsul într-un timp cât mai - majoritatea programelor de IA nu dau scurt răspunsul foarte rapid - trebuie să fie capabile să explice şi să - nu trebuie să ofere explicaŃii, de obicei, justifice soluŃiile utilizatorii acestor programe sunt chiar cei care le-au dezvoltat

1.2.

Scurt istoric

Se poate spune ca domeniul sistemelor expert s-a dezvoltat odată cu cel al inteligenŃei artificiale (IA) şi poate fi privit ca o ramură a IA. IniŃial au fost o serie de încercări pentru a realiza calculatoare inteligente, într-un mod general. GPS (General Problem Solver) din anii 1960 (autori Newell şi Simon) a fost o astfel de încercare, fiind considerat predecesorul sistemelor expert. Deşi nu a avut mare succes, este considerat un bun început. La mijlocul anilor ’70 au fost dezvoltate câteva sisteme expert de timp real, principala lor contribuŃie fiind recunoaşterea rolului central al cunoaşterii. Această perioadă este strâns legată de dezvoltarea teoriei referitoare la reprezentarea cunoaşterii, procedurile de asistare a deciziei şi inferenŃă. In ciuda acestor evoluŃii, sistemele expert construite au avut un succes limitat, datorat, în principal, diversităŃii şi caracterului vast al cunoaşterii, precum şi faptului că eforturile de rezolvare a problemelor bazate pe cunoştinŃe erau premature. Totuşi, unele tipuri de reprezentare a cunoaşterii au fost funcŃionale şi s-a remarcat că puterea unui sistem expert derivă din cunoaşterea specifică de care acesta dispune şi nu de formalismul particular şi schemele de inferenŃă pe care acesta le exploatează. Cercetătorii şi-au dat repede seama că pentru a progresa trebuie să se concentreze pe aplicaŃii specifice unor domenii şi astfel au început să apară sistemele expert dedicate unor anumite domenii. Primele sisteme expert dezvoltate au fost în chimie şi medicină: DENDRAL (1967) în domeniul chimiei; MYCIN (1976) în medicină, pentru diagnosticarea infecŃiilor bacteriene ale sângelui; PROSPECTOR (1979) în domeniul prospecŃiunilor geologice. Totuşi, cercetătorii şi-au dat seama că un mecanism de rezolvare a problemelor este doar o mică parte a unui sistem complet inteligent. Dintre concluziile lor se desprind acela cum ar fi: • GPS-urile nu pot fi utilizate în construcŃia unor sisteme expert de înaltă performanŃă; 6

Sisteme expert

• • •

rezolvarea pe cale umană a problemelor este adecvată doar dacă se operează într-un domeniu limitat; sistemele expert pot fi reactualizate constant cu noi informaŃii; complexitatea problemelor necesită un volum considerabil de cunoştinŃe despre domeniul din care problemele provin;

La începutul anilor ’80 tehnologia sistemelor expert s-a orientat către sectorul comercial, dintre sistemele expert construite putându-se enumera XCON, XSLE, CATS-1. De asemenea, au apărut nişte medii de dezvoltare a sistemelor expert, cum ar fi EMYCIN, EXPERT, META-DENDRAL şi EURISKO. Aproximativ 1/3 din sistemele construite în perioada menŃionată şi-au dovedit performanŃele şi, consideră unii autori, se află încă în exploatare. Ultima perioadă a secolului trecut se caracterizează de apariŃia unor medii de dezvoltare care permit construirea rapidă şi cu costuri scăzute a sistemelor expert, de diseminarea sistemelor expert în diverse medii, integrarea extensivă a sistemelor expert cu alte tehnologii, precum şi utilizarea tehnologiei sistemelor expert în construcŃia rapidă a sistemelor inteligente. Nu trebuie omise nici tendinŃele actuale ale domeniului sistemelor expert, putându-se menŃiona: • se remarcă creşterea utilizării sistemelor expert în îndeplinirea mai multor sarcini; • utilizarea tehnologiei sistemelor expert pentru a fundamenta construcŃia sistemelor inteligente; • abordarea programării orientate pe obiecte în reprezentarea cunoştinŃelor; • dezvoltarea unor sisteme complexe cu surse de cunoştinŃe multiple, cu moduri de raŃionament multiple şi care pot prelucra şi informaŃia de tip fuzzy; • utilizarea mai multor baze de cunoştinŃe; • îmbunătăŃiri ale achiziŃiei cunoaşterii; • utilizarea sistemelor expert în Internet, ceea ce conduce la creşterea numărul de utilizatori. În tabelul 1-2 se prezintă piaŃa sistemelor expert în diferite Ńări [AIRINE, 97].

7

Partea 1

tabelul 1-2. PiaŃa sistemelor expert în diferite Ńări (în mld franci)
łara 1986 1987 1988 1989 1990 1991 1992 1993 1994 1994

SUA JAPONIA GERMANIA ANGLIA FRANłA ALTE łĂRI TOTAL

0.8 0.3 0.3 0.3 0.3 0.2 2.2

1.4 0.4 0.4 0.4 0.3 0.3 3.2

2.0 0.6 0.5 0.5 0.4 0.4 4.4

2.9 0.8 0.6 0.6 0.5 0.6 6.0

3.7 1.2 0.7 0.7 0.6 0.8 7.7

4.7 1.7 0.9 0.9 0.7 1.3 10.2

5.7 2.4 1.3 1.3 0.9 1.8 13.4

6.8 3.0 1.8 1.8 1.3 2.4 17.1

7.9 3.8 2.2 2.2 1.8 3.2 21.1

9.0 5.0 3.2 2.2 2.2 4.0 25.6

In decursul timpului au fost construite sute de SE şi Ńinând cont de aplicaŃiile acestora, se poate realiza următoarea clasificare a aplicaŃiilor SE [GIARIL, 89], [HARMAU, 88], [POPA, 98]: 1. Sisteme expert de interpretare, care permit identificarea stărilor din domeniul investigat, ca urmare a prelucrării informaŃiilor şi cunoştinŃelor obŃinute. 2. Sisteme expert de diagnoză, care au ca scop determinarea stării de funcŃionare a unui sistem. 3. Sisteme expert de predicŃie, care se ocupă cu prognoza evoluŃiei sistemului pe baza stării prezente şi a legilor de evoluŃie, având ca scop definirea comportării viitoare a sistemelor pentru preîntâmpinarea eventualelor efecte nedorite sau luarea măsurilor adecvate pentru optimizarea funcŃionării. 4. Sisteme expert pentru proiectarea sistemelor complexe supuse restricŃiilor, care nu se pot rezolva cu soluŃii convenŃionale. După identificarea problemelor, se apelează la proiectarea asistată de calculator, în care sistemul expert are un rol esenŃial în soluŃionarea problemelor. 5. Sisteme expert pentru planificare, care permit programarea activităŃilor cu scopul minimizării de resurse în condiŃiile restrictive impuse de mediu, care nu pot fi satisfăcute prin metode clasice. 6. Sisteme expert pentru monitorizare, care urmăresc compararea datelor observate cu datele dorite, semnalând abaterile care depăşesc limitele stabilite. Prin monitorizare se urmăreşte asigurarea regimului optim de funcŃionare. 7. Sistemele expert de depanare vor urmări funcŃionarea sistemelor, vor specifica prevederi şi le vor aplica la repararea „din mers” a unor componente. 8. Sisteme expert de învăŃare, care vor fi utilizate pentru instruirea personalului, respectiv pentru elaborarea unor produse program specializate în rezolvarea unor probleme noi. 9. Sisteme expert de control, prin care se stabileşte modul de comportament al sistemelor.

8

Sisteme expert

1.3.

Oportunitatea realizării şi utilizării unui SE

Utilizarea sistemelor expert se bazează pe premiza că orice problemă poate fi rezolvată printr-o succesiune de raŃionamente care pot fi descompuse în reguli logice. Un asemenea sistem devine capabil să colecteze şi să stocheze experienŃa acumulată de persoanele cu calificare superioară şi experienŃă vastă şi să o aplice în rezolvarea unor probleme în diferite situaŃii. În continuare vor fi prezentate, pe scurt, câteva argumente pentru realizarea şi utilizarea unui SE, cu indicarea domeniilor în care se recomandă acest lucru [AIRINE, 97]. Sistemul expert poate ajuta expertul uman, preluând unele aspecte ale muncii sale, determinând astfel sporirea productivităŃii expertului. Oportunitatea unui sistem expert apare şi în activităŃile în care experŃii umani sunt foarte puŃini, supraîncărcaŃi de lucrări, indispensabili când este nevoie de ei sau sunt foarte scumpi. În plus, oportunitatea sistemului expert este clară dacă tipul de activitate în care se aplică face apel la raŃionamente pentru: • diagnosticarea cauzelor unor evenimente; • planificarea derulării unei acŃiuni; • previziuni multicriteriale; • înŃelegerea evenimentelor care au avut loc pentru ale interpreta, controla sau a le însuşi; • evaluarea unui diagnostic, evaluarea previziunilor, a evenimentelor, a acŃiunilor etc.; • dominarea evenimentelor (de exemplu, în activităŃi de control, în activităŃi manageriale etc.). În toate cazurile însă, condiŃia esenŃială de utilizare a unui SE presupune ca posibilităŃile de raŃionament din domeniu să fie identificate şi să poată fi exprimate, respectiv achiziŃionate. În caz contrar este imposibilă elaborarea bazei de reguli.

Concepte de bază Înainte de a trece la prezentarea elementelor componente ale unui sistem expert, vor fi explicate câteva concepte de bază utilizate: - expertiza – este o acŃiune specifică cunoştinŃelor obŃinute din învăŃare, materiale citite şi experienŃă. CunoştinŃele permit experŃilor ca în rezolvarea unor probleme complexe să ia decizii mai bune, într-un timp mai scurt decât non-experŃii. Ca exemple de expertize: reguli şi proceduri referitoare la un domeniu general de probleme, reguli (euristică) care indică ce trebuie făcut într-o situaŃie specifică, strategii globale pentru rezolvarea unor probleme specifice, meta-cunoştinŃe (cunoştinŃe despre cunoştinŃe);

9

Partea 1

-

-

-

experŃi – un expert este un individ sau un grup de indivizi care pot realiza expertize de diferite nivele. În multe domenii, raportul de non-experŃi-experŃi este de 100 la 1, fiind deci evident avantajul oferirii accesului la expertiză pentru nonexperŃi, achiziŃia de cunoştinŃe – reprezintă procesul de preluare a cunoştinŃelor de la expert într-un mod care permite traducerea cunoştinŃelor într-o reprezentare ce poate fi utilizată într-un sistem expert. inferenŃa reprezentarea cunoştinŃelor explicare

Reguli – reprezintă piese de cunoaştere. Multe SE utilizează reguli de forma IF-THEN (dacă atunci). Se pot întâlni şi reguli care au o componentă ELSE (altfel), fiind deci de forma IFTHEN-ELSE, dar cele mai frecvente sunt cele de forma IF-THEN. În viaŃa de zi cu zi regulile sunt utilizte frecvent, reprezentând o modalitate de descriere a luării unei decizii. De exemplu, DACA plouă, ATUNCI ia umbrela. DACA lumina este stinsă, ATUNCI verifică comutatorul. SE sunt proiectate să găsească o concluzie sau să facă o recomandare. Pentru a executa regulile şi a ajunge la o concluzie sunt necesare date. Aceste date provin din datele de intrare specificate de utilizator şi din datele pe care sistemul ajunge să le „cunoască” din reguli. Concluzie BineînŃeles că un sistem expert actual nu va putea realiza performanŃele de inventivitate ale expertului uman şi nici nu va putea reacŃiona la situaŃii neprevăzute aşa cum ar putea să o facă un operator bine pregătit. Totuşi, utilizarea unor astfel de sisteme prezintă o serie de avantaje dintre care amintim: - preŃul de cost al expertizei este mai redus relativ la expertul uman; - rezistenŃa la oboseală (calitatea expertizelor nu este influenŃată de programul de lucru şi de monotonie); - cunoaşterea înmagazinată nu se degradează în timp (nu există uitare); - baza de cunoştinŃe poate fi dezvoltată continuu utilizând numai cunoştinŃe verificate. - comparativ cu un operator uman, sistemul expert nu va fi afectat nici de monotonia supravegherii unei funcŃionări normale şi stabile a unui proces, dar nici situaŃiile de criză nu-i vor diminua capacitate de reacŃie, aşa cum s-ar putea întâmpla cu un operator mai puŃin rezistent la stress.

10

Sisteme expert

1.4.

Elementele componente ale unui SE

Elementul central al prelucrării inteligente îl constituie raŃionamentul artificial, ca imitare a celui natural, efectuat de creierul uman. In orice domeniu de activitate există probleme cu un grad ridicat de dificultate, care pot fi rezolvate numai de către experŃi umani, formaŃi ca specialişti în urma unei vaste experienŃe în domeniul respectiv. Se pot defini sistemele expert ca reprezentând sisteme de programare bazate pe tehnici de inteligenŃă artificială (IA) [CARRE, 96], care înmagazinează cunoştinŃele experŃilor umani dintr-un domeniu bine definit şi apoi le folosesc pentru rezolvarea problemelor din acest domeniu. O problemă mult discutată în privinŃa utilizării SE este aceea a raportului între relevanŃă şi precizie. Un sistem descompus într-un număr mic de subsisteme are o relevanŃă mare şi o precizie mică, iar cu cât descompunerea avansează, relevanŃa scade şi precizia creşte. Prelucrarea algoritmică se caracterizează printr-o precizie mare, iar SE printr-o relevanŃă mare, pe care o preia din practica rezolvării problemelor, ceea ce face că acesta să fie un mijloc important pentru dominarea complexităŃii. SE pot oferi soluŃii mai productive decât programele algoritmice în situaŃiile în care cerinŃele informaŃionale se modifică des. Conceptele de bază ale unui sistem expert bazat pe cunoştinŃe, sunt reprezentate în figura 1-2, conform [GIARIL, 98]:

Baza de cunoştinŃe Utilizator Fapte Expertiză Motor de inferenŃă

figura 1-2. Concepte de bază ale SE Se observă că utilizatorul oferă sistemului expert fapte sau alte informaŃii şi primeşte ca răspuns expertiza. Elementele principale ale unui SE sunt prezentate în figura 1-3 [TURARO, 00] sau detaliat în figura 1-4, unde: - baza de cunoştinŃe – conŃine ansamblul cunoştinŃelor specializate introduse de către expertul uman (cunoaşterea din domeniul obiect). Este formată din baza de fapte şi baza de reguli;

11

Partea 1

-

-

baza de fapte – conŃine faptele iniŃiale ce descriu enunŃul problemei de rezolvat şi rezultatele intermediare produse în cursul procedurii de deducŃie; • baza de reguli – reproduce raŃionamentul expertului; motorul (mecanismul) de inferenŃe – este componenta de bază a sistemului expert. Motorul de inferenŃe preia cunoştinŃele din baza de cunoştinŃe, realizează raŃionamente, indicând care reguli sunt satisfăcute de fapte, care este prioritatea acestor reguli şi determină execuŃia regulii cu prioritatea cea mai mare; modulul explicativ – explică utilizatorului motivele raŃionamentului SE permiŃând trasarea drumului urmat în raŃionare de SE şi generarea justificărilor pentru soluŃiile obŃinute; •
Baza de reguli Motorul de inferenŃe Baza de fapte

Modulul explicativ

Modulul de achiziŃii de cunoştinŃe

InterfaŃa utilizator

figura 1-3. Elementele principale ale unui sistem expert
Mediu de consultare
Utilizator Interfa Ńa utilizator Fapte despre un anumit incident -

Mediu de dezvoltare
Baza de cunoştinŃe baza de fapte baza de reguli

Modulul explicativ Motor de inferenŃă AchiziŃia cunoştinŃelor

Inginer de cunoştinŃe Cunoa ştere documentată AchiziŃia cunoştinŃelor Rafinarea cunoaşterii CunoştinŃele expertului

Ac Ńiuni recomandate

figura 1-4. Structura detaliată a unui sistem expert 12

Sisteme expert

-

-

modulul de achiziŃie a cunoştinŃelor – preia cunoştinŃele specializate furnizate de expertul uman într-o formă ce nu este specifică reprezentării interne, verifică validitatea acestora, generând în final o bază de cunoştinŃe coerentă; interfaŃa utilizator – permite comunicarea între SE şi utilizator.

In continuare va fi descrisă fiecare componentă a unui SE: Baza de cunoştinŃe conŃine ansamblul de cunoştinŃe specializate într-un anumit domeniu, preluate de inginerul de cunoştinŃe (specialistul care va face legătura dintre expertul uman şi SE) de la expertul uman. Privite în mod general, cunoştinŃele reflectă "obiectele" lumii reale şi relaŃiile dintre ele. Procesul de creare a bazei de cunoştinŃe, care constă în preluarea cunoştinŃelor de la expertul uman, modelarea acestora de către inginerul de cunoştinŃe în conformitate cu cerinŃele metodei de reprezentare, introducerea în baza de cunoştinŃe şi validare, este destul de laborios şi necesită o conlucrare permanentă între inginerul de cunoştinŃe şi expert. Acest proces presupune foarte multe iteraŃii şi teste în cursul cărora însuşi expertul uman poate fi pus în dificultate pentru argumentarea unor opŃiuni. Baza de fapte conŃine datele unei probleme concrete care urmează să fie rezolvată (formularea problemei), precum şi faptele rezultate în urma raŃionamentelor efectuate de motorul de inferenŃe asupra bazei de cunoştinŃe. In unele publicaŃii, baza de fapte este inclusă în baza de cunoştinŃe. Totuşi, trebuie făcută distincŃie între cunoştinŃe care descriu rezolvarea unei clase de probleme şi fapte, care descriu aserŃiuni de instanŃiere a unei probleme din clasă respectivă. Deoarece regulile sunt activate pe baza faptelor cunoscute, calitatea procesului de raŃionament este nemijlocit influenŃată de măsura în care sunt disponibile toate faptele relevante. Deci, rezultă că una dintre cerinŃele esenŃiale la care trebuie să răspundă baza de fapte este de a reflecta cât mai fidel realitatea şi de a înregistra, cu promptitudine, modificările intervenite în aceasta. In funcŃie de domeniul concret în care se utilizează şi de condiŃiile de exploatare, faptele pot fi introduse într-un SE prin una din următoarele căi: • prin tastare la terminal, înaintea declanşării procesului de raŃionament; • în cursul procesului de raŃionament, prin chestionarea utilizatorului, caz în care, întrebările puse de SE urmează fidel traseul din procesul inferenŃial; • prin consultarea unei baze de date proprii sau aparŃinând altor aplicaŃii informatice; • prin preluare directă de la diverşi senzori. Baza de fapte mai este denumită şi memorie de lucru a sistemului. Baza de reguli – regulile exprimă cunoştinŃe generale despre domeniul problemei de rezolvat. Ordinea regulilor din baza de reguli este nesemnificativă. Motorul de inferenŃe este elementul efectiv de prelucrare în SE, care, pornind de la fapte (datele de intrare ale problemei), activează cunoştinŃele corespunzătoare din baza de 13

Partea 1

cunoştinŃe, construind astfel raŃionamente care conduc la noi fapte (de ieşire). Altfel spus, acesta construieşte un plan de rezolvare în funcŃie de specificul problemei, utilizând cunoştinŃele din domeniul respectiv. În urma acŃiunii motorului de inferenŃe într-un anumit context, baza de fapte se îmbogăŃeşte fie prin adăugarea unor elemente noi, fie prin modificarea celor existente. In ultimă instanŃă, motorul de inferenŃe este un program care implementează algoritmii de raŃionament deductiv, inductiv şi mixt, dar care este independent de baza de cunoştinŃe. Astfel, algoritmii de raŃionament implementaŃi în motorul de inferenŃe sunt în general aceiaşi, indiferent de SE pe care dorim să-l dezvoltăm, dar cu toate acestea, nu se poate construi un mecanism universal de inferenŃe pentru toate domeniile de expertiză. La realizarea motorului de inferenŃe dificultatea constă în găsirea celui mai eficient mod de declanşare a regulilor. Pentru aceasta ciclul de bază al motorului de inferenŃă parcurge următoarele etape mari: • selecŃia – în această etapă are loc selecŃia unui subansamblu al bazei de fapte şi reguli de interes pentru raŃionament, în scopul economisirii timpului la fazele următoare; • filtrarea – în cadrul acestei etape, numită filtrare (pattern matching), motorul de inferenŃe caută acele fapte care sunt declanşabile (sau cele care verifică un filtru particular definit în sistem) comparând premisele fiecărei reguli cu cele din baza de fapte. Regulile vor fi reŃinute în timpul acestei etape într-o listă numită “ansamblul de conflicte” şi care va conŃine acele reguli ce vor putea fi declanşate şi cărora li se va aplica un criteriu de arbitraj pentru a se stabili care sunt regulile ce vor fi aplicate efectiv. In unele sisteme, ansamblul de reguli cărora li se aplică filtrarea este redus la un subansamblu de reguli din baza de reguli şi doar acestor reguli li se va aplica filtrarea; • rezolvarea conflictelor – în această fază, motorul alege din ansamblul de conflicte regulile ce vor fi efectiv declanşate. In numeroase sisteme expert această fază se reduce la declanşarea tuturor regulilor din ansamblul de conflicte, în ordinea în care ele se prezintă. Totuşi, uneori este esenŃială detectarea numai a acelor cunoştinŃe care sunt importante în controlarea şi dirijarea motorului de inferenŃe. De fapt, atunci când sunt prea multe reguli declanşate sunt deduse prea multe fapte ceea ce va conduce la declanşarea a tot mai multe reguli şi astfel performanŃele sistemului se degradează rapid. Pentru a se evita acest lucru se poate alege o strategie de control. Există mai multe astfel de strategii însă cele mai des utilizate se aleg: − în funcŃie de prioritate (este aleasă regula cea mai prioritară); − în funcŃie de coeficientul de încredere (varianta cea mai fiabilă). Fiecare sistem are propria sa tehnică de rezolvare a conflictelor aleasă în funcŃie de domeniul pe care îl abordează sistemul expert. Această alegere poate fi făcută în mod “inteligent” prin utilizarea metaregulilor, cu alte cuvinte reguli ce permit sistemului selecŃionarea dinamică a regulilor de declanşat în funcŃie de cunoştinŃele ce le deŃine despre problema tratată;

14

Sisteme expert

• execuŃia – în această fază, motorul de inferenŃe acŃionează asupra părŃii acŃiune a regulilor reŃinute în faza de rezolvare a conflictelor. In general această fază constă în adăugarea de noi fapte în baza de fapte, dar, pentru unele sisteme, este posibilă extragerea faptelor din baza de fapte sau declanşarea procedurilor legate de o regulă. De exemplu: pentru a da un ordin unui robot, pentru a citi informaŃii dintr-o bază de date sau pentru a lansa afişarea grafică a rezultatelor. Acest ciclu <filtrare - rezolvarea conflictelor - execuŃie> este repetat de motorul de inferenŃe cât timp există reguli declanşabile sau condiŃia de oprire nu este verificată. Când nu mai există reguli declanşabile, deci sistemul a dedus tot ce era posibil de dedus, se spune că baza de cunoştinŃe este saturată şi ciclul se încheie. Modulul explicativ are rolul de a prezenta într-o formă larg accesibilă (limbaj natural) justificarea raŃionamentelor efectuate de motorul de inferenŃe şi totodată întrebările la care trebuie să răspundă utilizatorul. De asemenea, acest modul este util şi expertului uman pentru verificarea coerenŃei bazei de cunoştinŃe. In plus, acest modul a fost dezvoltat ca o consecinŃă a observării tendinŃei utilizatorilor de a folosi sistemul pe care l-au înŃeles cel mai bine. ExperienŃa a dovedit că sistemele a căror funcŃionare este tăinuită, nu inspiră nici o încredere decidenŃilor şi, mai devreme sau mai târziu sunt abandonate. Modulul de achiziŃie a cunoştinŃelor are rolul de a transforma cunoştinŃele din forma în care le exprimă cogniticianul (inginerul de cunoştinŃe) în forma internă de memorare pe suport. Totodată, acest modul asigură şi interfaŃa de comunicare cu baza de date sau alte sisteme. Cercetările în acest domeniu sunt orientate pe dezvoltarea mecanismelor care vor permite achiziŃia de cunoştinŃe în limbaj natural, ceea ce va duce la o dezvoltare rapidă a SE. Inginerul de cunoştinŃe îşi aduce o contribuŃie importantă în realizarea unui SE şi se poate spune că rolul său este similar rolului analistului pentru realizarea unui sistem informatic. InterfaŃa cu utilizatorul realizează dialogul utilizatorului cu SE, în sensul specificării datelor de intrare şi al furnizării rezultatelor problemei de rezolvat. Cercetătorii susŃin să se acorde o atenŃie deosebită realizării acestei interfeŃe, recomandând să se Ńină cont de modul de procesare al inteligenŃei umane, care trebuie descompusă în raŃionamente cât mai simple şi, în acelaşi timp, simplu de modelat matematic. În figura 1-5 este prezentată o structură de funcŃionare a procesorului de informaŃii uman propusă de Cord, Moran şi Newell în 1983. Se poate observa că modelul ia în considerare şi aspectul cantitativ al volumului de cunoştinŃe vehiculate de om în timp. InterfaŃa între utilizator şi sistemul expert trebuie să îndeplinească următoarele funcŃii [GUGA, 98]: - să ofere opŃiuni prin meniuri; - să utilizeze un limbaj adecvat utilizatorului prin întrebări, comenzi şi comentarii; - să poată afişa rapid grafice, animaŃie etc.; 15

Partea 1

-

să permită intervenŃia rapidă şi facilă a utilizatorului în orice etapă; limbajul de comunicare să fie cât mai apropiat de cel uman; să Ńină cont de erorile umane, să prevină şi să afişeze cât mai multe mesaje de eroare; formatarea ecranului să fie cât mai convenabilă utilizatorului.

Memoria pe termen lung - durata de viaŃă infinită - capacitate infinită - reprezentare semantică Memorie pe termen scurt - durata de viaŃă cca. 7 secunde - capacitate 3-4 subiecte - reprezentare acustică sau vizuală PercepŃie vizuală Durata 200 ms Capacitate 17 caractere Reprezentare psihică PercepŃie auditivă Durata 1500 ms Capacitate 5 caractere Reprezentare psihică

PROCES DE CUNOAŞTERE ciclu 70 ms

PROCES MOTOR ciclu 70 ms

PROCESUL PERCEPTIV ciclu 100 ms figura 1-5. Modelul procesorului uman Arhitectura unui sistemului expert ideal este, însă, mult mai complexă (vezi figura 1-6) [AIRINE, 97].

1.5.

Reprezentarea cunoaşterii

Pentru un SE, reprezentarea cunoştinŃelor experŃilor în domeniul de expertiză considerat, are o importanŃă deosebită, deoarece un SE va fi conceput pentru un anumit tip de reprezentare a cunoştinŃelor şi modul în care SE reprezintă cunoştinŃele afectează dezvoltarea, eficienŃa, viteza de lucru şi mentenanŃa respectivului sistem. CunoştinŃele pot fi clasificate în: • cunoştinŃe procedurale; • cunoştinŃe declarative; • cunoştinŃe subconştiente - care nu pot fi exprimate prin limbaj (de exemplu, cum ştim să mişcăm mâna). 16

Sisteme expert

O altă clasificare împarte cunoştinŃele în: • cunoştinŃe afirmative, care sunt datele primare aflate în baza de fapte; • cunoştinŃe operatorii - reprezintă cunoştinŃele conŃinute în reguli şi ele indică modul în care sunt folosite faptele; • strategii (cunoştinŃe) de control, care sunt constituite din cunoştinŃele ce se referă la modul de rezolvare a problemei şi care indică ordinea în care se aplică regulile. Prelucrarea cunoştinŃelor impune definirea de structuri pentru memorare şi prelucrare care să facă posibilă efectuarea de raŃionamente. In consecinŃă, pentru stocarea şi utilizarea cunoştinŃelor se folosesc structuri de cunoştinŃe, tot aşa cum pentru stocarea şi prelucrarea datelor se utilizează structuri de date.
SISTEM E DE PRELUARE CAPTATORI BAZA DE DATE EXTERNE SOFTWARE DE APLICAłII

M ODULE EXPLICATIVE

M ODULE INTERFAłĂ

M ODULE DE ÎM BOGĂłIRE A EXPERTIZEI

MOT OR DE INFERENłĂ DEDUCłII SIST EME DE DIALOG ÎN LIMBAJ NAT URAL PREVIZIUNE INDUCłIE SIMULARE ST RAT EGII DE PRIORIT AT E UT ILIZAT OR BAZA DE CUNOŞT IINłE REGULI DE INFERENłE PREVIZIUNI ST RAT EGII FAPT E MODELE ST RUCT URALE MODELE DE COMPORT AMENT

.

:

SPAł IUL DE LUCRU DESCRIEREA PROBLEMEI ST ADIUL CURENT DE REZOLVARE MODULE DE ÎMBOGĂłIRE A EXPERT IZEI

EXPERT UL UMAN

figura 1-6. Arhitectura unui sistem expert ideal Integrarea cunoştinŃelor într-un formalism de reprezentare ridică o serie de probleme specifice. Există, în primul rând, mari diferenŃe în privinŃa statutului informaŃiilor prelucrate (ele pot fi intangibile sau modificabile, certe sau incerte, valide sau perimate, empirice sau 17

Partea 1

teoretice [MINCĂ, 95]), diferenŃiere la care formalismul de reprezentare trebuie să răspundă cât mai bine. CunoştinŃele referitoare la un anumit domeniu sunt, în marea majoritate a cazurilor, incomplete, fie deoarece, fiind implicite pentru expertul uman, sunt omise în reprezentarea pe calculator, fie datorită faptului că sunt dificil de transmis sau de formulat. Aceasta atrage după sine necesitatea de a găsi modalităŃi de reprezentare şi de raŃionament în condiŃii de incertitudine. CunoştinŃele se schimbă o dată cu modificările survenite în domeniul în care sunt utilizate. Cum multe dintre ele sunt în strânsă interdependenŃă, schimbările unor anumite informaŃii pot antrena, prin efect indirect, actualizarea altor informaŃii, devenite perimate prin modificarea celor dintâi. Aceste schimbări pot fi extrem de diverse, începând cu conŃinutul şi terminând cu însuşi tipul informaŃiilor. In sfârşit, cunoştinŃele exprimă, în general, informaŃii specifice unor clase sau grupuri de "obiecte" materiale sau conceptuale. Dar nu este exclus că în cadrul acestora să existe elemente care fac excepŃie sau sunt chiar în contradicŃie cu proprietăŃile clasei din care fac parte. Aceasta impune găsirea unor modalităŃi adecvate de reprezentare şi tratare a excepŃiilor. Există numeroase formalisme de reprezentare a cunoştinŃelor, care răspund, mai mult sau mai puŃin, problemelor specifice enumerate. O parte dintre modalităŃile de reprezentare a cunoştinŃelor vor fi prezentate în continuare.

1.5.1. Metode de reprezentare a cunoaşterii
1.5.1.1. Introducere

Pentru a fi utilizată de un program, cunoaşterea este memorată sub forma unor piese de cunoaştere care descriu obiectele, faptele, fenomenele, procesele şi evenimentele din domeniul de expertiză. De mare importanŃă în realizarea oricărui SE, reprezentarea cunoştinŃelor aduce o contribuŃie determinantă atât la înlesnirea realizării obiectivelor utilitare ale acestor sisteme, cât şi la obŃinerea unor performanŃe mai bune în ceea ce priveşte resursele de spaŃiu şi timp consumate de întregul sistem. O problemă importantă care se ridică este definirea unor metode pentru a reprezenta mari cantităŃi de cunoştinŃe într-o formă care să permită folosirea ei efectivă [BĂRBUC, 83]. O arhitectură de reprezentare a cunoştinŃelor poate fi considerată ca fiind structurată pe trei nivele: • nivelul intern, care este constituit din schema internă ce descrie structura de stocare fizică a cunoştinŃelor în baza de cunoştinŃe. Astfel, sunt descrise detaliile complete ale stocării, precum şi modul de acces la cunoştinŃe; • nivelul conceptual - descrie complet structura întregii baze de cunoştinŃe, ascunzând detaliile legate de stocarea fizică. La acest nivel, descrierea bazei de cunoştinŃe se concentrează asupra descrierii entităŃilor, tipurilor de date, relaŃiilor dintre ele, precum şi a restricŃiilor asociate; 18

Sisteme expert

• nivelul extern sau nivelul utilizator - include o colecŃie de scheme externe ce descriu baza de cunoştinŃe prin prisma diferiŃilor utilizatori, fiecare descriind baza de cunoştinŃe prin prisma propriilor interese. Unul din conceptele de bază ale reprezentării cunoştinŃelor este cel de entitate. Se consideră entitatea ca reprezentând un obiect al lumii reale cu o existenŃă independentă. Orice entitate are o serie de proprietăŃi numite atribute, care particularizează entitatea respectivă. Valorile acestor atribute au ca scop identificarea entităŃii. Atributele pot fi atribute atomice, care au semnificaŃie independentă şi atribute complexe, ce pot fi împărŃite în atribute atomice. Din punctul de vedere al numărului de valori pe care le poate lua un atribut pentru o entitate particulară, atributele pot fi clasificate în: atribute cu o singură valoare şi atribute cu mai multe valori. Schema entităŃii reprezintă descrierea atributelor entităŃii şi specifică o structură comună fixată a entităŃilor de acelaşi tip. Extensia entităŃii cuprinde setul instanŃelor entităŃilor individuale la un anumit moment. Se introduce de asemenea, şi noŃiunea de domeniu, care reprezintă setul de valori asociat fiecărui atribut al unei entităŃi tip. Matematic, atributul A al entităŃii tip E, poate fi definit ca o funcŃie A : E → P(V) unde P(V) reprezintă setul valorilor posibile ale lui V. Valoarea atributului A pentru entitatea e, se va nota ca A(e). Pentru un atribut simplu, A(e) este o valoare cu un singur element. Se consideră că un atribut null nu are valoare sau are valoarea null. Pentru un atribut compus A setul de valori este format ca produsul cartezian din P(V1), P(V2), ..., P(Vn), unde V1, V2, ..., Vn reprezintă setul valorilor unui simplu component al lui A. Deci, V = P(V1) × P(V2) × ... × P(Vn) Intre entităŃi se pot stabili o serie de relaŃii ce pot avea la rândul lor atribute ce le caracterizează. Astfel, un atribut va fi specificat ca un atribut relaŃie, dacă valoarea sa este determinată prin combinarea entităŃilor participante într-o relaŃie instanŃă. Reprezentarea cunoştinŃelor într-un SE urmăreşte descrierea universului în care sistemul efectuează raŃionamente, sub forma unor entităŃi şi a unor simboluri relaŃionale corespunzătoare relaŃiilor dintre acestea. Se numeşte stare într-un domeniu bine precizat, totalitatea cunoştinŃelor din acest domeniu. O reprezentare care nu Ńine seama de evoluŃia stărilor se spune că este declarativă. Când se are în vedere evoluŃia domeniului (universului) de la o stare la alta, aceasta se face fie prin înregistrarea stărilor succesive, deci enumerativ, fie prin înregistrarea unei singure stări, denumită stare iniŃială şi prin specificarea unui mecanism care asigură transformarea acesteia în stările corespunzătoare diferitelor momente ulterioare momentului iniŃial. 19

Partea 1

FaŃă de aceste consideraŃii, dependenŃa modului în care se reprezintă cunoştinŃele de tipul problemei conduce la următoarele clase de metode de reprezentare: - metode logice, care reprezintă acele metode ce consideră cunoaşterea ca o serie de enunŃuri adevărate (aserŃiuni) privind cunoştinŃele şi relaŃiile între ele. In cazul acestor metode, se permite folosirea regulilor de inferenŃe direct asupra cunoştinŃelor din baza de cunoştinŃe. Dar, prezintă dezavantajele unor soluŃii nesatisfăcătoare de sistematizare a bazei de cunoştinŃe, de reprezentare a cunoaşterii despre acŃiuni, precum şi de reprezentare a regulilor euristice; - metode relaŃionale - reprezintă metodele prin care cunoaşterea este reprezentată, pornind de la relaŃiile dintre obiecte, sub formă de grafuri şi reŃele; - metode procedurale - sunt metodele în care cunoaşterea este reprezentată sub formă de proceduri ce permit obŃinerea stărilor la momente specificate, pornind de la stările iniŃiale sau intermediare. In plus, în caracterizarea unui concept se apelează la: - definiŃie - care reprezintă descrierea formală a conceptului în termenii limbajului de reprezentare, prin care se diferenŃiază de alte concepte sau prin care se poate aprecia echivalenŃa cu alte concepte similare; - acŃiune - reprezintă relaŃiile conceptului cu entităŃi; - generalizare - reprezintă o definiŃie mai puŃin restrictivă a acestuia, eliminându-se din definiŃia conceptului unele proprietăŃi mai puŃin relevante; - specializare - este noŃiunea inversă a generalizării, în care definiŃia unui concept este o specializare a unui concept mai general, cuprinzând în plus faŃă de acesta, o serie de proprietăŃi adiŃionale. Un exemplu tipic al unui concept este numit prototip şi se referă la un obiect reprezentativ al instanŃelor conceptului ce evidenŃiază trăsăturile caracteristice ale conceptului şi acoperă cât mai bine spectrul de exemple disponibile.
1.5.1.2. Reprezentarea cunoştinŃelor în limbajul calculului cu predicate de ordin I

Logica cu predicate de ordinul I a fost folosită pentru prima dată ca metodă de reprezentare a cunoştinŃelor în programul de demonstrare a teoremelor al lui Gilmore şi în programul „The Logic Theorist” al lui Newell, Shaw şi Simon în 1963. Utilizarea logicii simbolice ca model de reprezentare a cunoştinŃelor este importantă deoarece oferă o abordare formală a raŃionamentului, cu fundamente teoretice riguroase. Formalismul logic permite derivarea unor cunoştinŃe noi, plecând de la cele existente, pe baza deducŃiei şi a demonstrării teoremelor, facilitând automatizarea proceselor de raŃionament şi execuŃia inferenŃelor corecte şi logic valide. Pe de altă parte, logica simbolică este suficient de expresivă şi flexibilă pentru a permite reprezentarea cu acurateŃe a cunoştinŃelor problemei de rezolvat [FLOREA, 93]. Deci, această metodă de reprezentare este indicată în cazul în care piesele de cunoaştere şi componentele acestora sunt implicate în probleme cu numeroase inferenŃe.

20

Sisteme expert

Logica predicatelor aprofundează studiul propoziŃiilor, prin descompunerea propoziŃiilor elementare în părŃile lor constitutive, logica propoziŃională constituind un caz particular al logicii cu predicate de ordinul I. In calculul propoziŃional, propoziŃiile sunt presupuse a fi bine alcătuite după reguli de formare care nu aparŃin limbajului calculului propoziŃional, ci limbajului natural. Pentru rafinarea cunoaşterii, astfel încât să poată fi surprinsă semnificaŃia componentelor fiecărei propoziŃii, se poate considera următoarea fază, şi anume reprezentarea predicativă. Pentru această etapă trebuie făcute următoarele observaŃii: - orice propoziŃie are structura gramaticală de forma subiect - predicat, sau, considerând termeni mai apropiaŃi de obiectivul urmărit în procesul de reprezentare, de forma grup nominativ- grup predicativ; - se poate considera grupul predicativ ca având semnificaŃia abstractizată printr-un simbol de predicat, în ale cărui locuri sunt plasate obiectele din grupul nominal; - unele componente ale propoziŃiei au rolul de a modifica valoarea de adevăr în funcŃie de acoperirea domeniului în care variabilele iau valori, dând astfel o semnificaŃie cantitativă care este surprinsă prin cuantificarea universală sau existenŃială a variabilelor. De exemplu, dacă în propoziŃia "Traductorul este defect" se elimină subiectul, se ajunge la o formulare de forma: "... este defect". Expresiile de acest tip, cu un singur element liber sunt denumite predicate sau proprietăŃi. Expresiile cu două sau mai multe elemente libere sunt denumite relaŃii. RelaŃiile pot fi concepute şi ca predicate. Dacă în poziŃia elementului liber se introduce o variabilă, atunci în funcŃie de valorile care i se atribuie acesteia, se pot obŃine propoziŃii care să fie întotdeauna adevărate, uneori adevărate şi alteori false sau întotdeauna false. Prin urmare, tratarea unor asemenea expresii impune ca, alături de modalităŃile de legare a propoziŃiilor (şi ∧, sau ∨, negaŃie , implicaŃie =>, echivalenŃă <=>) să se ia în considerare şi cuantificatorul universal (∀ - pentru orice valori) şi cuantificatorul existenŃial (∃ - există cel puŃin o valoare). Utilizarea cuantificatorilor este legată de transcrierea în calculul cu predicate de ordinul întâi a unor propoziŃii în care aceşti cuantificatori acŃionează ca operatori unari asupra variabilelor pe care le prefixează. Folosirea predicatelor pentru a rezolva problema de apartenenŃă la o mulŃime pentru entităŃi, care sunt, la rândul lor, termeni ai altor predicate, are dezavantajul de a conduce, în caz de substituŃie, la predicate de ordin superior. In acest context, reprezentarea cunoştinŃelor se poate face în două moduri: • pe baza logicii predicatelor de ordinul unu, în care utilizarea variabilelor în formularea faptelor şi a regulilor este permisă numai pentru subiecte; • pe baza logicii predicatelor de ordinul doi, în care utilizarea variabilelor este permisă atât pentru subiecte, cât şi pentru predicate.

21

Partea 1

Se poate spune că în acest mod de reprezentare piesele de cunoaştere sunt descrise prin expresii ale căror componente sunt formule ale limbajului. O piesă de cunoaştere exprimată în limbaj natural este descompusă în propoziŃii elementare adecvate numite aserŃiuni ce specifică fapte (proprietăŃi, relaŃii legate de piesa de cunoaştere). łinând cont de definiŃiile anterioare se poate defini o propoziŃie elementară ca fiind generată de un predicat cu un număr finit de locuri în care se specifică variabile formale sau obiecte în mulŃimea suport.
Acest mod de reprezentare este constituit din două etape:

• reprezentarea propoziŃională, în cadrul căreia piesele de cunoaştere sunt descompuse în aserŃiuni legate prin conectivele logice specifice calculului propoziŃional; • reprezentarea predicativă, în care fiecare aserŃiune este descompusă în componentele sale, predicate sau obiecte. Calculul cu predicate reprezintă un model al raŃionării cu două valori, model ce implică analiza conexiunilor între clauze. Modul de raŃionare este asemănător raŃionării umane. Setul obiectelor ce reprezintă variabile în propoziŃie poartă denumirea de universul discursului. Cea mai răspândită modalitate de reprezentare a regulilor de inferenŃă foloseşte forma clauzală a expresiilor în limbajele de ordinul întâi. Se numeşte clauză, o expresie de forma: A1, A2, ... Am |- B1, ..., Bn în care A1, A2, ... Am reprezintă antecedentul, iar B1, ..., Bn reprezintă succedentul clauzei respective. Clauza este o expresie echivalentă cu formula: (A1 ∧ A2 ∧ ... ∧ Am ) → (B1 ∨ ... ∨ Bn ) din calculul propoziŃional şi din calculul cu predicate de ordinul întâi, în care Ai şi Bj (cu 1 ≤ i ≤ m , 1 ≤ j ≤ n ) sunt formule bine formate în aceste limbaje.
Cea mai răspândită formă de reprezentare clauzală este aceea care conŃine o singură formulă în succedent, de tipul: A1, A2, ... Am |- B, cunoscută sub denumirea de clauză Horn. Forma generală a regulilor de inferenŃă este:

22

Sisteme expert

A1 ,… , Am B1 ,… , Bn

(m ≥ 1, n ≥ 1)

în care A1, A2, ... Am sunt clauzele care alcătuiesc premisa regulii, iar B1, ..., Bn sunt clauzele care alcătuiesc concluzia. Principalul avantaj al metodei constă în faptul că piesele de cunoaştere pot fi introduse direct în sistemul rezolutiv pentru a fi folosite la efectuarea de inferenŃe, dacă şi acest sistem este conceput pe baza unor mecanisme inferenŃiale definite în calculul cu predicate de ordinul întâi (cum este cazul, de exemplu, cu diferitele metode de rezolvare bazate pe demonstrarea automată a teoremelor). Unul din dezavantajele metodei este reprezentat de implementarea dificilă în practică a acestei metode, datorită lucrului cu elemente de logică. De asemenea, un alt dezavantaj îl constituie captarea trăsăturilor relevante ale pieselor de cunoaştere în predicate.
1.5.1.3. Metode procedurale de reprezentare a cunoştinŃelor

Reprezentarea procedurală nu este legată de cercetările în domeniul inteligenŃei artificiale. Astfel, programele de calcul cunoscute sunt piese de cunoaştere obŃinute prin reprezentarea procedurală a unor algoritmi. Metodele procedurale se bazează pe aspectele dinamice ale cunoaşterii asupra modului de folosire a pieselor de cunoaştere pentru efectuarea inferenŃelor, asupra determinării de noi fapte prin executarea unor noi operaŃii asupra pieselor de cunoaştere. Metodele procedurale presupun utilizarea unor simboluri prin care se identifică proceduri ce sunt evaluate de procesoarele interpretative ale limbajelor de nivel înalt. Un exemplu de acest tip este limbajul LISP [TURTUR, 93]. Reprezentarea procedurală este dependentă de tipul problemei ce se rezolvă cu piesele de cunoaştere reprezentate. In măsura în care cunoaşterea devine tot mai complexă, creşte numărul pieselor de cunoaştere. In general, într-o reprezentare procedurală se folosesc două tipuri de operaŃii primitive, şi anume: • operaŃii asupra memoriei, cum ar fi: înscriere, ştergere, extragere, căutare, corespondenŃă, modificare; • operaŃii care returnează valori ale unor funcŃii sau valori de adevăr ale unor predicate. Intr-o reprezentare integral procedurală, sunt cuprinse atât componentele necesare pentru obŃinerea pieselor de cunoaştere în memorie, cât şi componentele care specifică modul în care acestea sunt folosite în vederea realizării obiectivelor propuse. Reprezentarea procedurală a cunoaşterii poate fi utilizată conform [GEORGE, 85] şi ca modalitate de a specifica euristica atingerii unui obiectiv, priorităŃile în aplicarea unor reguli, ordinea de efectuare a unor operaŃii, apariŃia unor evenimente, momentele în care se introduc obiecte noi în procese, situaŃiile alternative. 23

Partea 1

Principalul avantaj al utilizării metodelor procedurale este reprezentat de uşurinŃa aplicării regulilor existente, specifice domeniului de competenŃă aplicativă. Deoarece interpretarea cunoaşterii astfel reprezentate este directă, se pot obŃine performanŃe de timp mai bune decât în cazul altor metode. Un alt avantaj îl constituie faptul că reprezentările de acest tip pot fi utilizate atât în cazul strategiilor de utilizare productive, cât şi în al celor reductive, deoarece procedurile sunt elaborate cu ajutorul unor operaŃii primitive cu puŃine restricŃii sintactice şi semantice. Astfel, pot fi surprinse şi situaŃiile în care apar efecte laterale despre care trebuie să se Ńină seama la efectuarea raŃionamentelor. Dar, această reprezentare are şi o serie de dezavantaje, dintre care se consideră că dezavantajul major este dat de flexibilitatea scăzută în utilizarea pieselor de cunoaştere pentru efectuarea altor inferenŃe decât cele specificate explicit prin procedurile aferente.
1.5.1.4. Reprezentarea cunoştinŃelor cu ajutorul cadrelor

O metodă de reprezentare care face o sinteză între reprezentările declarative şi cele procedurale şi care este capabilă să structureze cunoştinŃe foarte complexe, este cea bazată pe ideea de frame (Minsky, 1975). Un frame sau cadru este o unitate complexă ce descrie un prototip al unui obiect sau al unei situaŃii, atât prin metode declarative (prezentând, de exemplu, atributele obiectului sau situaŃiei respective), cât şi procedurale (conŃinând, de exemplu, proceduri pentru a executa o serie de inferenŃe tipice). Această reprezentare are un caracter intensional, în sensul că descrie clase de obiecte prin intermediul unor tipare generale; indivizii unei clase pot fi obŃinuŃi prin actualizarea sau instanŃierea reprezentării asociate clasei respective, deci se poate spune că reprezentarea cu ajutorul cadrelor aparŃine metodelor cu transfer succesoral. In consecinŃă, alături de funcŃia de stocare a cunoştinŃelor, cadrele asigură organizarea acestora în ierarhii sau reŃele succesorale, prin care are loc partajarea proprietăŃilor comune. Un cadru este alcătuit din următoarele categorii sintactice: - identificatorul cadrului, căruia i se asigură un nume ce va specifica în alte descrieri, enunŃuri, mesaje, acea structură a cadrului căruia îi este ataşat. Numele serveşte pentru identificarea fiecărui cadru în baza de cunoştinŃe şi trebuie să satisfacă, în consecinŃă, cerinŃele de unicitate pe care le presupune această funcŃie; - formele (sau rubricile), reprezentând categorii de caracteristici cărora li se atribuie simboluri relaŃionale specifice conceptului care se reprezintă prin cadrul respectiv. Numele rubricilor servesc pentru identificare. Având caracter local, ele trebuie să fie unice numai în interiorul cadrului în care apar; - faŃetele, reprezentând perechi de forma simbol - valoare, cu ajutorul cărora sunt descrise obiectele din relaŃiile specificate de diferitele forme ale reprezentării. Valoarea poate fi vidă în momentul definirii faŃetei şi poate face obiectul operaŃiilor uzuale de atribuire şi consultare. Pentru o reprezentare cât mai precisă a realităŃii, se face distincŃia între valoarea nulă (sau zero) şi valoarea nedefinită. SituaŃia în care pentru un cadru s-a declarat o faŃetă, fără a se fi definit o valoare pentru ea, este identică cu a şti că o entitate trebuie să aibă o 24

Sisteme expert

proprietate, pentru că aceasta apare la toate elementele de acelaşi tip, fără a se cunoaşte însă care este conŃinutul său exact. De asemenea, pot fi situaŃii în care valoarea poate fi dată de un alt cadru. Conceptul de cadru ca instrument de reprezentare este o structură arborescentă, care conŃine simbolurile ce definesc piesa de cunoaştere ce se reprezintă. Structura arborescentă a cadrelor poate fi uşor urmărită în următoarea definiŃie exprimată în formalismul metalingvistic, conform [GEORGE, 85]: <cadru> := <identificator_cadru> <descriere_forme> <descriere_forme> := (<identificator_formă> <descriere_faŃete>) | (<descriere_forme> (<identificator_formă> <descriere_faŃete>)) <descriere_faŃete> := (<identificator_faŃetă> <descriere_date>) | (<descriere_faŃete> (<identificator_faŃetă> <descriere_date>)) <descriere_date> := (<valoare>) | (<descriere_date> (<valoare>)) <valoare> := <date> | (<date> (<etichetă> <mesaje>)) | (<date> (<etichetă> <mesaje> <comentarii>)) Există diferite implementări ale conceptului de cadru descris mai sus, care se deosebesc prin detalii nesemnificative. De exemplu, în cazul implementărilor în limbajul LISP, pentru neterminalele <identificator_cadru>, <identificator_formă> şi <identificator_faŃetă> se preferă o diferenŃiere implicită, prin nivelul la care este plasat simbolul respectiv în structura de listă a cadrului. Astfel, simbolul identificatorului cadrului este plasat la primul nivel, simbolul corespunzător identificatorului de formă este considerat la al doilea nivel şi la al treilea nivel se consideră plasat simbolul identificatorului faŃetă. In cazul descrierilor nestructurate sunt necesare cuvinte cheie identificatoare pentru cadre, forme, faŃete. Simbolurile pot reprezenta proprietăŃi ale obiectelor, relaŃii în structura acestora, nume ale altor cadre sau identificatori de proceduri ataşate. In felul acesta se realizează pe structura arborescentă legături semantice cu alte concepte, făcând posibilă alcătuirea unei reŃele semantice corespunzătoare situaŃiei particulare ce se reprezintă cu ajutorul cadrelor. Tipurile mai importante de relaŃii care caracterizează piesa de cunoaştere şi legăturile sale în universul discursului sunt: • generalizarea, care exprimă, prin diferitele sale faŃete, alte concepte ce au definiŃii mai puŃin restrictive decât piesa de cunoaştere; • specializarea - indică alte concepte ale căror descrieri satisfac şi definiŃia dată pentru piesa de cunoaştere; • apartenenŃa - arată clasa din care face parte piesa de cunoaştere, deci clasa din care se moştenesc proprietăŃile; • compoziŃia - indică obiectele care intră în alcătuirea obiectului reprezentat prin piesa de cunoaştere; • proprietăŃile - arată care sunt proprietăŃile specifice obiectului reprezentat.

25

Partea 1

De notat faptul că pentru reconstituirea arborelui de clasificare se poate folosi forma de generalizare pentru sensul ascendent, sau, în sens descendent, forma de specializare. Cadrele oferă o cale de organizare şi grupare a elementelor disparate de cunoaştere în structuri. Ele se deosebesc de conceptele de structură a înregistrării şi respectiv înregistrare (record), folosite în diverse limbaje de programare şi în bazele de date, prin două facilităŃi fundamentale: transferul succesoral al proprietăŃilor (moştenirea proprietăŃilor) şi predicatele asociate. Cadrele sunt organizate în ierarhii sau reŃele succesorale, în care fiecare element moşteneşte proprietăŃile elementelor aflate pe nivelul superior. PoziŃionarea unui cadru în această ierarhie se realizează prin specificarea apartenenŃei, deci a părintelui sau părinŃilor. Orice cadru, cu excepŃia vârfului ierarhiei, trebuie să aibă cel puŃin un părinte. In cazul vârfului ierarhiei, se consideră o valoare convenŃională pentru părintele său. Deoarece un cadru moşteneşte proprietăŃile părinŃilor săi, o proprietate poate fi definită o singură dată pe nivelul adecvat, fiind automat preluată de toŃi descendenŃii. Această organizare a cadrelor prezintă o serie de avantaje, cum ar fi: organizarea şi structurarea cunoştinŃelor, asigurarea valorilor implicite, reprezentarea şi tratarea excepŃiilor. Avantajele enumerate asigură menŃinerea coerenŃei logice în baza de cunoştinŃe. Astfel, modificarea unei proprietăŃi pe un anumit nivel se propagă automat pe toate nivelele care-i succed în arborele succesoral, fără a mai fi necesară nici o altă operaŃie suplimentară. O facilitate oferită de această metodă o constituie introducerea în cadre a reprezentării regulilor, obŃinându-se astfel o îmbinare a calităŃilor provenind de la două metode de reprezentare diferite. Transpunerea unei reguli în cadre se poate realiza Ńinând cont de următoarele observaŃii: - o regulă poate fi descrisă prin două forme procedurale consecutive, corespunzătoare celor două acŃiuni distincte dintr-o regulă; - prima formă procedurală evaluează condiŃia şi în caz de adevăr, determină execuŃia celei de a doua forme procedurale, altfel, în cazul evaluării condiŃiei la fals, se ignoră specificaŃiile celei de a doua forme, realizându-se ieşirea din regulă; - corpul propriu-zis al acŃiunii este reprezentat de a doua formă procedurală, care se execută, conform celor menŃionate anterior, doar atunci când este îndeplinită condiŃia din prima formă procedurală; - într-un cadru pot fi prezente, de asemenea, în afara acestor forme cu caracter procedural, şi forme având caracter declarativ, ce specifică orice fel de context operaŃional impus pentru regula respectivă. Fiecărei rubrici i se pot ataşa proceduri care să controleze operaŃiile ce afectează conŃinutul lor, denumite predicate. Există două tipuri de predicate: • de atribuire (If - added); • de consultare (If - needed). 26

Sisteme expert

Predicatele sunt activate automat înaintea operaŃiilor cărora le corespund şi pot autoriza sau interzice execuŃia acestora. Dacă o rubrică are un predicat de atribuire, atunci orice operaŃie de modificare a conŃinutului său va fi executată numai dacă predicatul poate fi verificat. Această categorie de predicate serveşte, în general, pentru controlul validităŃii datelor. Predicatele de atribuire mai pot fi utilizate pentru a controla şi restricŃiona drepturile de modificare ale informaŃiilor, folosind, spre exemplu, un sistem de parole. Predicatele de consultare acŃionează similar celor de atribuire: orice operaŃie de citire a conŃinutului unei rubrici va fi executată numai după ce predicatul de consultare ataşat (dacă există) a fost verificat. Această categorie de predicate permite, spre exemplu, deducerea de informaŃii care nu există ca atare în baza de cunoştinŃe. De asemenea, ele pot servi pentru calcularea unor date pe baza celor existente. Predicatele de consultare pot controla, de asemenea, drepturile de acces. Predicatele sunt moştenite de toŃi descendenŃii cadrului în care au fost definite, o dată cu atributele la care au fost ataşate şi cu valorile acestora. ExcepŃiile se reprezintă în aceeaşi manieră cu cea aferentă atributelor. Astfel, dacă pe un anumit nivel, predicatele ataşate unui atribut trebuie să asigure un tratament diferit de cel asumat de predicatele moştenite, atunci ele vor fi redefinite, iar această definiŃie particulară va masca definiŃia preluată de la antecedenŃi. Predicatele asociate permit trecerea de la o structură pasivă la o structură activă a datelor. Prin ele, datele devin capabile să declanşeze automat prelucrări specifice, la orice operaŃie de consultare sau actualizare. Atât predicatele de atribuire cât şi cele de consultare pot avea forma regulilor de producŃie. Prin conectarea cadrelor cu un ansamblu de reguli de producŃie se obŃine un sistem integrat de reprezentare şi inferenŃă. In acest caz, predicatele asociate pot invoca reguli de producŃie, iar regulile la rândul lor pot face referinŃă la faptele stocate de cadre. RaŃionamentul cu aceste reprezentări are la bază un proces de recunoaştere. Un obiect sau o situaŃie pot fi identificate pe baza unor atribute prezentate într-un cadru, iar restul de elemente din reprezentare pot fi utilizate pentru a infera noi trăsături ale acestora. Aceste reprezentări se folosesc în situaŃii în care cunoştinŃele sunt puternic structurate şi organizate ierarhic şi în care interacŃiunile sunt numeroase. Prin toate aceste avantaje, cadrele oferă o cale deosebit de promiŃătoare pentru reprezentarea cunoştinŃelor şi se bucură, din acest motiv, de o largă tratare în literatura de specialitate.
1.5.1.5. Reprezentarea cunoştinŃelor prin reŃele de producŃie

Modelul regulilor de producŃie a fost utilizat pentru prima dată în cadrul sistemelor expert în sistemele DENDRAL [BUCFEI, 78] şi MYCIN [BUCSHO, 84].

27

Partea 1

Această metodă este indicată a se folosi în situaŃiile în care cunoştinŃele pot fi modularizate în segmente mici, relativ independente şi în care conŃinutul cunoştinŃelor este procedural (cunoştinŃe de tip cum). De asemenea, se recomandă această reprezentare în cazul în care se constată existenŃa condiŃionărilor sau a restricŃiilor în utilizarea pieselor de cunoaştere, exprimate în vederea restrângerii spaŃiului problemei la acele elemente care reprezintă candidaŃii valabili la participarea în procesele inferenŃiale. In momentul de faŃă acest mod de reprezentare a cunoştinŃelor este unul dintre cele mai utilizate în cadrul sistemelor expert. Aşa cum s-a specificat anterior, cunoaşterea în reŃelele (sistemele) de producŃie este de natură procedurală şi se pot defini următoarele componente: - cunoaştere declarativă sau factuală, ce reprezintă piese de cunoaştere stocate sub forma unor structuri de date într-o colecŃie numită context; - cunoaştere procedurală, care este reprezentată sub forma regulilor de producŃie, de tip condiŃie - acŃiune, reguli ce formează baza de reguli; - cunoaşterea strategică sau de control, formată din reguli ce privesc secvenŃele de acŃiuni în procesul de rezolvare. Reprezentarea regulilor de producŃie se bazează pe logica propoziŃiilor, astfel încât atât faptele cât şi regulile pot conŃine numai entităŃi invariabile (constante). Datorită limitărilor inerente unei asemenea soluŃii, s-a trecut la o altă modalitate de reprezentare, bazată pe logica predicatelor, în care faptele şi regulile pot include entităŃi generice, conferindu-le astfel un grad mai ridicat de generalitate. Deoarece entităŃile generice sunt specificate prin intermediul variabilelor, această metodă de reprezentare este denumită, prin extensie de limbaj, reprezentare prin reguli de producŃie cu variabile. Se consideră sistemul de producŃii ca fiind compus dintr-o bază de date şi un set de reguli. Ordinea în care regulile sunt introduse şi stocate în sistem este nesemnificativă. CondiŃiile unei reguli pot fi considerate ca o bază de date, ce returnează un indicator de succes sau eroare. Concluzia unei reguli este o acŃiune ce manipulează date din baza de date, şi în plus, o strategie de control a sistemului determină secvenŃa regulilor utilizate. Baza de date este constituită dintr-un set de termeni, iar o regulă de producŃie este formată din două componente: partea stângă a regulii (numită şi antecedent, premisă, condiŃie sau situaŃie) şi partea dreaptă a regulii (numită şi consecinŃă, concluzie, acŃiune sau răspuns). O regulă de producŃie are forma generală IF c THEN t, (tradus în limba română, DACĂ c ATUNCI t), în care condiŃia c este constituită din termeni, paranteze, conective, ∨, ∧, , iar concluzia t este formată dintr-un singur termen. In general, nu se permite o conjuncŃie de termeni într-o concluzie.

28

Sisteme expert

1.5.2. Probleme ale reprezentării cunoştinŃelor prin reguli
Sistemele bazate pe reguli de producŃie decurg din două formalisme logice: calculul propoziŃional de ordinul 0, ce utilizează noŃiunea de propoziŃie sau fapt boolean care poate fi fals sau adevărat şi operatorii logici AND, OR, NOT. Dacă se adaugă expresii ce cuprind operatori relaŃionali atunci se extinde formalismul, ajungându-se la ceea ce este numit calculul propoziŃional de ordinul 0+.

Operatorul SAU în ipoteză
Această opŃiune ridică o serie de dificultăŃi. Pentru deducerea faptului este necesar ca cel puŃin una din premise să fie adevărată, iar pentru explicaŃia raŃionamentului trebuie precizat şi care premisă din ipoteză a fost satisfăcută. In cazul unei ipoteze conjunctive sunt verificate toate premisele. De aceea, se recomandă transformarea regulilor ce conŃin operatorul SAU în ipoteză prin mai multe reguli ce sunt în forma conjunctivă [PENTIU, 00]. Acest lucru este totdeauna posibil, deoarece în logica propoziŃională formulele: (F1) (F2) (P1 sau P2 sau ... sau Pn) -> C (P1 -> C) sau (P2 -> C) sau ... sau (Pn -> C)

sunt echivalente. In general, o regulă de forma: (R)

dacă f11 şi f12 ... şi f1n sau f21 şi f22 ... şi f2n2 sau ... sau fm1 şi ... şi fm,nm atunci C

se expandează în mai multe reguli de forma: (R1) dacă f11 şi f12 şi ... şi f1,n1 atunci C . . . (Rm1) dacă fm1 şi fm2 şi ... şi fm,nm atunci C

Operatorul SAU în concluzie
Se consideră regula: 29

Partea 1

(Rx)

dacă lipsă_intrare atunci Scos_din_funcŃie sau Avarie

Se ridică în mod evident problema: cărui fapt din concluzie să-i fie atribuită valoarea adevărat? Şi cum să se rezolve această situaŃie din punct de vedere informatic? Există soluŃiile [PENGRA, 98]: - se dublează memoria de lucru, şi într-o copie a acesteia se consideră un fapt, iar în cealaltă, cel de al doilea fapt. Se efectuează procesul inferenŃial separat pentru fiecare din aceste copii, utilizatorul trebuind să decidă în final asupra uneia din variantele de rezultat propuse de sistem; - se consideră mai întâi faptul Scos_din_funcŃie ca fiind adevărat, se continuă procesul inferenŃial, apoi se revine şi se adaugă Avarie = adevărat. Ambele variante sunt complicate. Din acest motiv cele mai multe SE comerciale nu acceptă operatorul sau în concluzie. Rezolvarea o poate da inginerul de cunoştinŃe cu ajutorul unui fapt suplimentar, în cazul considerat, de exemplu NefuncŃional [PENTIU, 00]:

dacă NefuncŃional şi not Scos_din_funcŃie atunci Avarie dacă NefuncŃional şi not Avarie atunci Scos_din_funcŃie dacă Scos_din_funcŃie atunci NefuncŃional dacă Avarie atunci NefuncŃional dacă not Scos_din_funcŃie şi not Avarie atunci not NefuncŃional Primele două reguli sunt cele mai necesare. In general, această problemă trebuie evitată prin introducerea unor concepte de o semnificaŃie cunoscută. Utilizarea regulilor de producŃie prezintă următoarele avantaje din punct de vedere al modelării cunoştinŃelor în sistem [HAYWAT, 83]: - separarea cunoştinŃelor generale despre problemă, de datele specifice unei instanŃe a problemei de rezolvat; - partiŃionarea cunoştinŃelor în unităŃi de cunoştinŃe independente, facilitând, astfel, dezvoltarea incrementală a bazei de cunoştinŃe; - posibilitatea menŃinerii a două forme de expresie a regulilor: o formă internă sistemului, adecvată procesului de rezolvare şi o formă externă, apropiată limbajului natural, pentru interfaŃa utilizatorului cu sistemul.
1.5.2.1.1. Mecanismul interpretativ al regulilor de producŃie Dacă într-o regulă condiŃia este satisfăcută, se spune că regula este selectată pentru declanşare sau regula este aplicabilă. Regulile aplicabile sunt introduse într-o mulŃime a regulilor aplicabile, mulŃime din care este selectată regula cu cea mai mare prioritate. Mecanismul interpretativ al regulilor de producŃie, prezentat în figura 1-7, conŃine următoarele etape:

30

Sisteme expert

Baza de fapte RestricŃia

Baza de reguli

SubmulŃimea faptelor Filtrare

SubmulŃimea regulilor

A = mulŃimea regulilor aplicabile

SelecŃia unei reguli din A A nevidă ExecuŃie A este vidă Sfârşit

figura 1-7. Mecanismul interpretativ al regulilor de producŃie faza de restricŃie - reprezintă selecŃia unui subansamblu al bazei de fapte şi reguli de interes. SelecŃia are ca efect reducerea considerabilă a timpului pentru fazele următoare; faza de filtrare (pattern matching), ce are ca efect comparaŃia între partea de premisă a regulii considerate şi faptele bazei de fapte pentru determinarea regulilor aplicabile. In urma acestei etape pot rezulta una, mai multe sau nici o regulă declanşabilă. Dacă nu se obŃine nici o regulă declanşabilă, atunci rezultă o situaŃie de eşec, care trebuie explicată, sau în care utilizatorul trebuie să răspundă la o serie de întrebări puse de către SE, în scopul completării formulării problemei. De asemenea, se poate face observaŃia conform căreia aplicarea după faza de selecŃie a fazei de filtrare ajută la reducerea substanŃială a ansamblului regulilor ce sunt filtrate cu elemente din baza de fapte; faza de rezolvare a conflictelor are ca obiectiv alegerea acelor reguli ce sunt aplicate efectiv. Problema este rezolvată printr-o strategie ce poate fi foarte simplă în raport cu contextul, sau mai complexă Ńinând cont de context în sensul aplicării celei mai promiŃătoare reguli. Printre principalele criterii de alegere care pot fi utilizate în această etapă, se pot aminti: prima regulă din listă, cea mai complexă regulă (cu cel mai mare număr de fapte în premisă), cea mai utilizată regulă sau cea mai prioritară (regula selectată conform criteriului

-

-

31

Partea 1

-

-

priorităŃii), regula cea mai fiabilă (regulă selectată conform coeficientului de încredere); faza de execuŃie constă în aplicarea regulilor ce au fost selectate în faza anterioară, acŃiunea constând, în general, din adăugarea de noi fapte în baza de fapte. Este posibil ca aplicarea regulii să facă apel la proceduri externe având ca efect modificări ale bazei de fapte sau/şi formularea de întrebări către utilizator sau execuŃia acŃiunii indicate de partea dreaptă a regulii; pornind de la contextul modificat în urma aplicării regulilor anterioare, se reia ciclul începând cu faza de restricŃie, atât timp cât în cadrul ciclului are loc modificarea contextului.

Oprirea mecanismului interpretativ poate avea loc în cazul în care acŃiunea unei producŃii specifică concret oprirea, sau dacă se selectează o producŃie vidă. ReŃelele inferenŃiale între premise şi concluzie determină procesul numit raŃionament, ce se bazează pe faptele furnizate prin enunŃ şi pe piesele de cunoaştere existente în baza de cunoştinŃe. RaŃionamentul poate fi direct, în cazul în care faptele furnizate în enunŃ şi piesele de cunoaştere din baza de cunoştinŃe sunt suficiente, sau prin analogie, în cazul incompletitudinii faptelor. Metodele mult utilizate până în prezent sunt metodele din clasa raŃionamentelor directe. Metodele ce studiază transformările de la premise la concluzii se numesc şi metode de raŃionare formală şi au o importanŃă deosebită în abstractizarea unor proprietăŃi ce intervin la raŃionamentele prin analogie. 1.5.2.1.2. Metode de rezolvare a conflictelor S-a specificat faptul că la un moment dat, sunt selectate mai multe reguli, sistemul urmând să decidă care dintre acestea vor trebui declanşate. Se poate ajunge la o astfel de situaŃie datorită conflictelor între instanŃele aceleiaşi reguli, cât şi datorită conflictelor între reguli diferite ce candidează la soluŃie ca urmare a realizării cu succes a corespondenŃei. Rezolvarea acestor conflicte este făcută pe baza informaŃiei ce provine din context, din baza de reguli sau surse combinate. Dacă pentru informaŃia ce provine din context se poate indica o anumită importanŃă pieselor de cunoaştere, importanŃă materializată printr-o pondere ce reprezintă o dată de intrare în mecanismul de evaluare a priorităŃii, notând cu pi ponderea regulii i din baza de reguli, se pot enunŃa câteva din cele mai utilizate criterii [CÂRSTO, 94]: - prioritatea dată de cea mai importantă piesă de cunoaştere din regulă - deci, se alege regula r, cu pr = max pi, pentru 1≤ i ≤ n; - prioritatea determinată de media aritmetică a ponderilor de importanŃă a pieselor de cunoaştere ce apar în regulă:

32

Sisteme expert

1 n pr = ∑ pi n i =1

(1-1)

- ordinea inversă a dispersiei ponderilor de importanŃă a pieselor de cunoaştere ce se calculează prin: s2 =
n 1 ⋅ ∑ ( pi − p r ) 2 n − 1 i =1

( 1-2)

unde pr este media aritmetică calculată mai sus. Rezolvarea conflictelor de prioritate se poate baza şi pe faptul că structura regulilor de producŃie selectate este purtătoare de informaŃie utilă pentru acest scop. O regulă PP este un caz particular al unei reguli PG dacă [CÂRSTO, 94]: - PP şi PG sunt identice; - toate clauzele condiŃionale ale regulii generale PG se regăsesc printre clauzele condiŃionale ale regulii PP; - pentru fiecare clauză condiŃională din PG ce specifică piese de cunoaştere în context, există în PP o clauză care conŃine un subset de piese de cunoaştere, printre care şi aceea specificată în clauza din PG. In acest caz se preferă PP pentru a satisface în întregime restricŃiile specificate de regula PG. 1.5.2.1.3. Transmiterea acŃiunii O caracteristică a sistemelor de producŃii este comunicarea între reguli prin intermediul contextului. Această metodă este utilizată în programarea clasică, având ca principiu constituirea unei zone (depozit) de informaŃie la care au acces mai multe task-uri. Această zonă este folosită sub denumirea de zonă de comunicaŃii sau, cel mai frecvent, cutie poştală. Fiecare task poate efectua o serie de acŃiuni asupra cutiei poştale, şi anume: poate extrage din cutia poştală informaŃia necesară prelucrării sau informaŃia care îi este adresată explicit, de asemenea, poate depune în cutia poştală rezultatele obŃinute. In plus, informaŃia poate fi pusă la dispoziŃia tuturor task-urilor (tehnică de broadcasting) sau poate fi restricŃionată prin tehnici de adresare diferenŃiată. Această metodă poartă numele de comunicare prin date şi în cadrul ei, programul nu este abordat ca o secvenŃă prestabilită de operaŃii, ci este realizată înlănŃuirea operaŃiilor ca urmare a interpretării cutiei poştale după reguli care să permită stabilirea următoarei operaŃii. In consecinŃă, principalul obiectiv al părŃii de acŃiune dintr-o regulă îl constituie realizarea funcŃiei de comunicare, deci înscrierea informaŃiei pe care o produce regula în context. Principalele operaŃii ce pot fi efectuate asupra contextului sunt: - ştergerea unei piese de cunoaştere din context, care acŃionează atât asupra piesei de cunoaştere propriu-zise, cât şi asupra informaŃiei auxiliare menŃinută de sistem pentru a fi utilizată la rezolvarea conflictelor de prioritate;
33

Partea 1

- înscrierea unei piese de cunoaştere în context, realizându-se astfel crearea unui nou element în context, precum şi declararea procedurii de evaluare a priorităŃii pentru plasarea noii piese de cunoaştere în mulŃimea ordonată a contextului; - modificarea unei piese de cunoaştere, ce presupune înscrierea în context a unei noi forme a piesei de cunoaştere, în aceeaşi poziŃie, informaŃia privind prioritatea piesei rămânând neschimbată. Partea de acŃiune poate specifica şi o serie de alte operaŃii auxiliare, dintre care: - activarea sau dezactivarea unor reguli de producŃie; - alterarea conŃinutului bazei de reguli, prin ştergerea, înscrierea sau modificarea de reguli de producŃie; - iniŃierea executării unor programe care pot efectua: • secvenŃe de operaŃii care nu afectează conŃinutul contextului sau al bazei de reguli, de exemplu operaŃii de intrare - ieşire; • secvenŃe de operaŃii care modifică strategia de control cum ar fi: apelarea explicită a unei reguli, testări ce nu pot fi reprezentate drept condiŃii ale unor reguli, dar care servesc unor procese decizionale diferite de cele implementate prin strategia decizională a interpretorului; • calcule pentru atribuirea de valori unor simboluri. 1.5.2.1.4. Organizarea sistemelor de producŃie Metoda de reprezentare a cunoaşterii cu ajutorul sistemelor de producŃii s-a impus în cadrul metodelor de reprezentare a cunoaşterii datorită avantajelor sale, dintre care se pot enumera: simplitatea şi modularitatea regulilor, formatul liber al pieselor de cunoaştere şi aspectul natural al transpunerii în reguli a cunoaşterii despre comportarea sistemelor din lumea reală. Un alt avantaj al sistemelor de producŃii îl constituie autonomia lor ridicată, deoarece regulile comunicând între ele numai prin intermediul contextului, o modificare în conŃinutul unei reguli are efect numai asupra aplicabilităŃii respectivei reguli, în cazul în care modificarea afectează partea de condiŃie, sau asupra contextului, dacă modificarea afectează partea de acŃiune. ConsecinŃă a autonomiei sistemului de producŃie îl constituie faptul că regulile pot fi tratate ca piese de cunoaştere independente, deci pot fi introduse, şterse sau modificate fără a fi necesară analiza efectului acestor operaŃii asupra altor reguli. Se pot enumera şi o serie de dezavantaje ale sistemelor de producŃii, şi anume: - pe măsură ce sistemul acumulează cunoaştere, în loc să-şi îmbogăŃească performanŃele, devine mai neperformant. Astfel, dacă de exemplu, sistemul rezolvă o problemă într-un interval de timp, după ce sistemul este învăŃat să rezolve şi o altă problemă, timpul de rezolvare pentru prima problemă va fi mai mare; - eficienŃa sistemelor de producŃii este depreciată de faptul că executarea acŃiunilor nu are loc imediat ce s-a selectat regula, ci numai după ce faza de corespondenŃă s-a efectuat şi pentru celelalte reguli rămase netestate în baza de reguli, iar apoi, după ce s-au rezolvat şi conflictele de prioritate. 34

Sisteme expert

1.5.2.1.5. Măsuri pentru creşterea performanŃelor Utilizarea sistemelor de producŃii necesită o analiză în scopul prevenirii şi eliminării cauzelor ce conduc la descrierea performanŃelor sistemului. Astfel, trebuie avute în vedere următoarele: - organizarea contextului astfel încât să poată fi permisă explorarea sa parŃială, deci a pieselor de cunoaştere direct implicate în rezolvarea problemei; - organizarea bazei de reguli astfel încât din procesul interpretativ să fie eliminate regulile neadecvate problemei; - introducerea unor elemente auxiliare pentru facilitarea accesului, selecŃiei, execuŃiei. O primă măsură care poate fi luată se referă la organizarea contextului pentru obŃinerea unor grupări de piese de cunoaştere adecvate rezolvării unor tipuri predefinite de probleme. Un astfel de context poartă numele de context local. ÎnvăŃarea din experienŃa sistemului este posibilă teoretic, dar realizarea practică este dificilă. Ea constă din gruparea pieselor de cunoaştere pe tipuri de probleme, păstrându-se pentru fiecare piesă de cunoaştere înregistrarea unor referinŃe către tipurile de probleme în care este implicată. Se pot considera aceleaşi criterii şi pentru stabilirea unor grupări pe mulŃimea regulilor. Dar, în legătură cu aceasta trebuie avută în vedere şi specializarea funcŃională a regulilor, astfel că realizarea grupărilor se face pe baza similitudinii obiectivelor ce se urmăresc prin aplicarea regulilor de producŃie individuale. O altă modalitate de creştere a performanŃelor sistemelor de producŃie constă în adăugarea unor noi contexte, în care sistemul înregistrează şi menŃine actuală informaŃia necesară pentru a creşte eficienŃa procesului de căutare. Această informaŃie poate fi o referinŃă care restrânge căutarea numai la acele entităŃi care pot candida la încheierea cu succes a respectivei faze. Astfel de contexte poartă numele de contexte de referinŃe. Componentele interpretorului de reguli ce prelucrează contextele de referinŃe sunt denumite filtre. Se pot construi contexte de referinŃă care să informeze asupra tuturor producŃiilor în ale căror condiŃii se află o anumită piesă de cunoaştere din contextul global sau contexte de referinŃă care să conŃină pentru fiecare regulă lista de referinŃă la piesele de cunoaştere existente în partea de condiŃie. La realizarea contextelor de referinŃă se pot avea în vedere atât o serie de simplificări (de exemplu, considerarea numai a primei piese de cunoaştere din partea de condiŃie), cât şi introducerea unor date suplimentare, care să simplifice fazele ulterioare ale ciclului de interpretare. Conform [GEORGE, 85], sistemele care utilizează contexte de referinŃă obŃin performanŃe mult mai bune comparativ cu sistemele tradiŃionale, mergând până la de 6 ori mai rapid decât acestea.
1.5.2.2. Reprezentarea cunoştinŃelor prin reŃele semantice

35

Partea 1

In situaŃia în care cunoştinŃele nu pot fi modularizate în segmente mici, relativ independente (ca în cazul regulilor de producŃie), ci au un caracter mai degrabă declarativ (cunoştinŃe de tip ce), se folosesc reprezentări de tipul reŃelelor semantice. Această modalitate de reprezentare este indicată în cazul în care se acordă importanŃă semnificaŃiei relaŃiilor între piesele de cunoaştere, sau între componentele structurale ale acestora. Elementele primitive (primitivele semantice) constituente ale unei reŃele semantice sunt: • nodurile, care reprezintă abstractizări structurale pentru concepte, evenimente, stări etc.; • arcele (legăturile), care sunt, de fapt, abstractizări ale relaŃiilor propriu-zise. O reŃea semantică este un graf orientat şi etichetat. O bună structurare a reŃelei semantice de obiecte încearcă să evite circuitele în graf şi tinde spre o organizare ierarhică a obiectelor. Intr-o reŃea semantică se etichetează atât nodurile, cât şi arcele. Nodurile pot fi etichetate cu concepte, instanŃe, valori (ale proprietăŃilor), proceduri, iar arcele sunt etichetate cu relaŃiile ce există între noduri. In ceea ce priveşte inferenŃele pe reŃele semantice, un tip de inferenŃă se referă la determinarea unei anumite proprietăŃi pentru un nod, Ńinând seama de ierarhiile din reŃeaua semantică şi de moştenirea proprietăŃilor. Această căutare de noi proprietăŃi în ierarhia de concepte este numită şi inferenŃă prin moştenire. Implementarea unei asemenea inferenŃe presupune de fapt găsirea unui algoritm, care primind la intrare numele unui nod şi numele unei proprietăŃi, să determine la ieşire: • răspunsul da şi valoarea proprietăŃii dacă conceptul sau instanŃa corespunzătoare nodului are acea proprietate; • răspunsul nu în caz contrar. Pentru a obŃine un grad mai ridicat de generalitate, se pot introduce legături structurale care să exprime proprietăŃile intrinseci ale conceptelor asociate nodurilor. In acest context, se disting legături pentru atribuirea de proprietăŃi generice, care leagă un concept de atributele sale şi legături pentru atribuirea de proprietăŃi specifice, care leagă reprezentantul unui concept de proprietăŃile sale specifice. O altă posibilitate de inferenŃă pe o reŃea semantică este dată prin mecanismul de filtrare. Astfel, se construieşte un fragment de reŃea semantică drept rezultat al căutării înŃelesului pentru o situaŃie sau drept rezultat al unei întrebări. Apoi, se încearcă punerea în corespondenŃă, nod cu nod, a acestui fragment de reŃea în reŃeaua semantică reprezentând baza de cunoştinŃe. In fragmentul iniŃial vor exista unele noduri sau arce nelegate şi care în urma acestui proces capătă valoarea prin care se află înŃelesul sau răspunsul la întrebarea respectivă. Se poate face o clasificare a reŃelelor semantice în funcŃie de structură şi de tipul de reprezentare: • reŃele semantice simple; • reŃele semantice sortate; 36

Sisteme expert

• reŃele semantice extinse. ReŃelele semantice pot fi eficient implementate folosind structurile de date dinamice cu pointeri. ReŃelele semantice determină o taxinomie, adică o arborescenŃă sau un graf ierarhizat, în care există proprietăŃi de moştenire. Din acest motiv ele sunt utile, în special, pentru reprezentarea universurilor de discurs în care apar clasificări complicate, deoarece clasificarea se face de la general la particular. ConstrucŃia unei taxinomii permite sistemului să ştie că un element al clasificării posedă, în afara propriilor sale proprietăŃi, proprietăŃile tuturor predecesorilor din graf. O taxinomie bine concepută poate să reducă în mod considerabil numărul de caracteristici ataşate în mod explicit unui obiect. Un alt avantaj al folosirii reŃelelor semantice este reprezentat de faptul că toate informaŃiile despre o entitate conceptuală sunt grupate şi pot fi atinse dintr-un anumit punct din reŃea. Dar reŃelele semantice prezintă şi o serie de dezavantaje, cum ar fi: - dificultatea materializării cuantificatorilor; - algoritmii de prelucrare variază în funcŃie de problema şi de reŃeaua dezvoltată, spre deosebire de calculul predicatelor de ordinul 1 unde metoda rezoluŃiei este general valabilă. De aici, o mai mare dependenŃă între model şi programele de prelucrare. Faptul că reŃelele semantice favorizează filtrarea, operaŃie care influenŃează în mare măsură performanŃele în exploatarea bazelor de cunoştinŃe, a făcut ca în practică să se apeleze la combinarea reŃelelor semantice cu regulile de producŃie.

1.5.3. Strategii de control într-un SE
RaŃionamentul reprezintă procesul de constituire a lanŃurilor sau a reŃelelor inferenŃiale între premisele unei probleme şi concluzie. Fundamentarea raŃionamentului se realizează pe faptele furnizate prin enunŃ şi pe piesele de cunoaştere disponibile în baza de cunoştinŃe. Dacă acestea sunt suficiente pentru formularea unei concluzii, raŃionamentul este direct, deoarece toate entităŃile cuprinse în reŃeaua inferenŃială aparŃin faptelor aferente problemei date. Cazul incompletitudinii faptice poate conduce la impas în sistemele rezolutive şi din acest motiv au fost studiate şi alte tipuri de raŃionament, dintre care se poate aminti raŃionamentul metaforic (sau raŃionamentul prin analogie). In categoria raŃionamentelor directe intră şi raŃionamentele formale, care cuprind metodele ce studiază transformările structurale de la premise la concluzii. Un alt tip de raŃionamente este reprezentat de raŃionamentele informale, ce pornesc de la semnificaŃiile factuale şi procedurale cuprinse în enunŃurile problemelor.

37

Partea 1

Pentru asigurarea desfăşurării corecte a unui raŃionament, procesul de rezolvare (mecanismul de inferenŃe) este controlat pe baza unei strategii care asigură succesiunea corectă a inferenŃelor. Astfel, pot fi enumerate următoarele strategii mai importante pentru controlul raŃionamentelor: - strategia de control înainte, care porneşte de la starea iniŃială de fapte descrisă prin enunŃul problemei, şi, prin aplicarea unor reguli sau a unor operatori, generează succesiv candidaŃi la soluŃie, până când se obŃine un răspuns corespunzător obiectivului problemei. Prin aplicarea regulilor sau a operatorilor, se obŃin fapte noi. La fiecare pas se pot obŃine derivări valabile prin aplicarea mai multor reguli (operatori), dar numai una se află pe lanŃul care conduce la soluŃie. Deoarece, în majoritatea cazurilor, nu se cunoaşte care este această regulă sunt generate toate faptele derivabile dintr-o anumită stare. Astfel, se obŃine un arbore ale cărui noduri sunt puncte în spaŃiul problemei, iar selectarea soluŃiei se obŃine aplicând o procedură de căutare în acest spaŃiu. Metodele care se bazează pe strategia de control înainte se mai numesc şi metode productive. Se spune despre această strategie de control că este dirijată de datele problemei sau de jos în sus şi conduce la căutare în spaŃiul stărilor. - strategia de control înapoi porneşte de la obiectivul problemei, căutând ca, prin aplicarea unor reguli, să se obŃină fie descompunerea problemei în subprobleme de complexitate mai mică, fie reformularea problemei în termeni derivaŃi pe baza regulii folosite. Deci, această strategie de control este dirijată de obiectivul problemei, sau de sus în jos. Contextele precedente pot fi considerate ca subobiective ale problemei date. Metodele ce se bazează pe strategia de control înapoi se mai numesc şi metode reductive. - strategia de control combinat înainte - înapoi aplică întâi metode reductive pentru obŃinerea de subprobleme, pe care le rezolvă apoi cu ajutorul unor metode productive (dacă subproblemele nu au fost rezolvate integral prin metode reductive). Prin folosirea combinată a celor două strategii de bază, se caută a se obŃine o simplificare a problemei şi, deci, o reducere a spaŃiului stărilor pentru subproblemele componente, cu efecte favorabile în ceea ce priveşte resursele necesare pentru rezolvare. Strategia de control circumstanŃial se caracterizează prin faptul că aplicarea regulilor este autorizată nu numai de valoarea de adevăr a condiŃiei regulii, ci şi de caracteristici relaŃionale derivate din fapte. Astfel, valabilitatea regulilor este condiŃionată de circumstanŃele aplicării lor. Deoarece această caracteristică este independentă de sensul în care se desfăşoară raŃionamentul, se pot întâlni strategii circumstanŃiale înainte, înapoi sau combinate.

1.6.

Sisteme expert pentru aplicaŃii în timp real

OrganizaŃiile care activează în domenii cum ar fi producŃia de bunuri, telecomunicaŃii, industria aeronautică etc. se confruntă permanent cu o serie de probleme legate de creşterea eficienŃei în vederea obŃinerii unei productivităŃi mărite şi a unei mai bune utilizări a resurselor, a unei calităŃi ridicate a produselor şi serviciilor, dar şi de obŃinerea unui răspuns rapid la necesităŃile clienŃilor. Orientarea tot mai pregnantă către fluxurile de date electronice 38

Sisteme expert

sau către comerŃul electronic se transformă într-o presiune continuă asupra acestor organizaŃii, presiune relativă la îmbunătăŃirea operaŃiilor, simultan cu creşterea complexităŃii acestora. Odată cu creşterea complexităŃii operaŃiilor, variaŃia rapidă a datelor conduce la apariŃia unor dificultăŃi în ceea ce priveşte interpretarea acestora şi acŃiunile răspuns sintetizate de sistem ca urmare a evaluării lor. O altă problemă care trebuie rezolvată în cadrul unor astfel de sisteme este legată de evenimentele externe, situaŃiile în care acestea trebuie tratate de un sistem expert fiind foarte frecvente. Din punctul de vedere al acestora, apar următoarele aspecte: • evenimentele externe pot apare la momente de timp oarecare; • un eveniment extern trebuie tratat imediat, cu excepŃia situaŃiilor în care el este la concurenŃă cu alte resurse ale sistemului; • timpul capătă conotaŃii deosebite; în cazul unui sistem expert în timp real restricŃiile asupra timpului de răspuns sunt foarte severe, deoarece răspunsul trebuie stabilit într-un interval precis de timp. Marea majoritate a sistemelor expert pentru aplicaŃii în timp real se regăsesc în domeniul controlului proceselor, situaŃie în care acestea capătă denumirea de Expert Control. Gama de sisteme expert utilizate poate varia de la sisteme aplicabile proceselor simple, în care câmpul de cunoaştere este mai limitat (cazul proceselor monovariabile), până la cele aplicabile proceselor de complexitate ridicată, cum ar fi cazul proceselor nucleare (caracterizate de număr mare de variabile de trebuie controlate, câmp de cunoaştere foarte larg, grad de risc ridicat etc.). În continuare sunt prezentate principalele probleme ce pot să apară în conducerea proceselor industriale, şi care se pot rezolva cu ajutorul sistemelor expert. În considerarea acestor probleme s-a Ńinut cont de clasificarea sistemelor expert de la pagina 8. 1. Sisteme expert de interpretare, care au ca obiect de lucru datele culese din proces prin intermediul senzorilor sau traductoarelor, precum şi datele cu semnificaŃii simbolice care descriu situaŃii caracteristice ce determină stările reale ale procesului. 2. Sisteme expert de diagnoză; bazate pe tehnici moderne de diagnosticare, aceste sisteme expert permit determinarea stării de funcŃionare a unui echipament care face parte din sistemul de conducere sau chiar a întregului sistem; 3. Sisteme expert de predicŃie; astfel de sisteme se bazează pe stările anterioare şi cea curentă a sistemului pentru a prognoza evoluŃia sistemului pe un orizont de timp mai lung sau mai scurt. Un alt element de bază în realizarea predicŃiei este reprezentat de legile de evoluŃie. PredicŃia are ca scop preîntâmpinarea apariŃiei unor efecte nedorite sau luarea unor măsuri adecvate pentru optimizarea funcŃionării; 4. In situaŃiile în care sistemele ce se doresc a fi conduse sunt supuse restricŃiilor şi soluŃiile convenŃionale nu conduc la rezolvarea problemelor caracteristice acestora, se poate face apel la sistemele expert pentru proiectarea unor astfel de sisteme. O primă etapă de lucru prevede identificarea problemelor, după care se apelează la proiectarea asistată de calculator, sistemul expert având un rol esenŃial în soluŃionarea problemelor; 39

Partea 1

5. Sisteme expert pentru planificare; în multe situaŃii, metodele clasice utilizate nu pot conduce la respectarea condiŃiilor restrictive impuse de managementul mediului. Prin urmare, s-au dezvoltat sisteme expert de planificare, care permit programarea fluxului de activităŃi în scopul minimizării consumului de resurse; 6. Sisteme expert pentru monitorizare, care lucrează cu două tipuri de date: date observate/măsurate prin intermediul traductoarelor sau senzorilor din process şi, respectiv, date dorite; pe baza acestor două categorii sunt calculate abateri, eventualele depăşiri de către acestea a unor limite stabilite fiind semnalizate corespunzător. Asigurarea regimului optimi de funcŃionare este realizată prin intermediul monitorizării. 7. Sistemele expert de depanare; astfel de sisteme lucrează, de obicei, în conjuncŃie cu sisteme de diagnoză; în cazul în care sunt sesizate defecte, sistemele expert de depanare vor sintetiza succesiunile de acŃiuni ce trebuie urmărite pentru înlăturarea defectelor şi vor proceda la repararea „din mers” a componentelor defecte ale echipamentelor din proces; 8. Sisteme expert de învăŃare; astfel de sisteme expert sunt utilizate, în special, pentru instruirea personalului. De asemenea, ele mai pot fi utilizate în vederea elaborării unor produse program specializate în rezolvarea unor probleme noi; 9. Sisteme expert de control, prin care se urmăreşte îndeplinirea următoarelor activităŃi: • determinarea stării reale curente de evoluŃie a sistemului; • precizarea evoluŃiei sistemului real; • diagnosticarea situaŃiilor de excepŃie; • programarea remedierilor; • supervizarea tuturor activităŃilor pentru asigurarea realizării operaŃiilor şi a optimizării funcŃionării sistemului. Sistemele expert pot utiliza, ca instrumente, şi reŃele neurale, logica fuzzy, algoritmi genetici, agenŃi, multimedia etc., ajungându-se, astfel, la sisteme hibride. In general, în cazul domeniului proceselor industriale, sistemele expert acŃionează asupra parametrilor sistemelor, dar şi asupra algoritmilor sistemului (de reglare, identificare, monitorizare etc.), stabilind, de exemplu, ordinea în care intră în execuŃie aceşti algoritmi. Dintre particularităŃile implicate de utilizarea algoritmilor numerici de către sistemele expert pot fi menŃionate [POPA, 98]: • divizarea execuŃiei, aceasta conducând la necesitatea dezvoltării unor algoritmi specifici, precum şi a logicii secvenŃiale de execuŃie; • datorită faptului că funcŃionarea sistemului expert este simultană şi în strânsă legătură cu algoritmii numerici, procedurile cod ale acestora trebuie proiectate şi implementate corespunzător; • algoritmii numerici implementaŃi trebuie să fie caracterizaŃi de o portabilitate ridicată şi să permită dezvoltarea ulterioară, în corelaŃie cu tehnicile evoluate de conducere a proceselor industriale [TURCU, 99][TURCU, 2000]; • aplicaŃiile implementate trebuie să permită combinarea mai multor algoritmi de control, să dispună de facilităŃi de modificare a unor parametri ai procesului (de 40

Sisteme expert



exemplu, perioada de eşantionare), să existe posibilitatea utilizării unor algoritmi optimali şi/sau adaptivi; punerea la dispoziŃia utilizatorului a unor mijloace de creare a unor interfeŃe grafice utilizator cu flexibilitate ridicată.

Din punctul de vedere al arhitecturilor care pot fi utilizate, în tabelul 1-3 sunt prezentate două astfel de arhitecturi, cu unele dintre caracteristicile lor: tabelul 1-3. Utilizarea sistemelor expert în conducerea proceselor industriale

Sistem expert

Executiv control proces

Bibliotecă algoritmi numerici

Sistem cognitiv

InterfaŃă operator

Inginer de cunoştinŃe

Echipament de dezvoltare

InterfaŃă proces PROCES

InterfaŃă utilizator UTILIZATOR

Baza de cunoştinŃe Motor de inferenŃă

InterfaŃă utilizator Baza de fapte

Operator de proces

• sistemul expert poate funcŃiona off-line sau semi on-line; • biblioteca de algoritmi numerici are prioritate maximă; • cele trei procese pot comunica între ele prin mecanisme de tip cutie poştală; • algoritmii trebuie asociaŃi cu proceduri specifice de iniŃializare, execuŃie, oprire şi modificare a parametrilor; • sistemul trebuie să permită modificarea unor variabile globale ale algoritmilor numerici; • comunicaŃia între echipamentul destinat consolei operatorului de proces şi regulatoarele locale trebuie să asigure actualizarea permanentă a bazei de cunoştinŃe a sistemului expert.

• arhitectura oferă o supleŃe mărită, activitatea de achiziŃie a cunoştinŃelor executându-se pe echipamentul de dezvoltare, iar baza de cunoştinŃe rezultată fiind transferată pe maşina Ńintă; • funcŃiile sunt mai simple; • baza de cunoştinŃe se modifică mai rar; • posibilitate de verificare, adaptare şi perfecŃionare a modelelor matematice;

La momentul actual există o multitudine de sisteme expert în timp real dezvoltate pentru mediul industrial (şi nu numai), unele dintre acestea fiind prezentate în paragrafele următoare. 41

Partea 1

Rete++
Rete++ este un sistem expert care suportă atât înlănŃuirea înainte cât şi pe cea înapoi. Prin intermediul lui, programatorul poate dezvolta ierarhii de obiecte pe care apoi le poate instanŃia, manipula şi accesa fie utilizând C++, fie C-ul, fie o sintaxă standard bazată pe reguli. Modificarea datelor considerate de către reguli se realizează prin crearea unei instanŃe C++ şi realizarea de atribuiri şi accesări ale membrilor instanŃei. Rete++ generează în mod automat taxonomii ale claselor. Componentele C++ ale aplicaŃiilor Rete++ utilizează clasele generate în mod direct sau le subclasează în funcŃie de necesităŃi. Motorul de inferenŃă al Rete++ va considera în mod automat orice instanŃă a unei clase generate (sau subclasele ei) ca îndeplinind condiŃiile regulilor. Tipurile de date C++ furnizate de Rete++ permit o reprezentare mai flexibilă şi un raŃionament automat fără necesitatea de a apela funcŃii externe. Rete++ monitorizează automat modificările obiectelor C++, fără necesitatea scrierii de cod explicit pentru apelarea funcŃiilor. Rete++ este furnizat ca o bibliotecă C++ şi, prin urmare el poate fi încorporat ca o parte a aplicaŃiei C++ dezvoltate. De asemenea, Rete++ poate fi încapsulat într-un mediu care conŃine şi o componentă de grafică, module pentru raŃionamentul bazat pe cazuri, precum şi pentru integrarea cu baze de date. In ciuda non-monotoniei lui, Rete++ integrează o dependenŃă de tip “Truth Maintenance System” în vederea asigurării unui raŃionament complet. Agendele şi seturile de reguli multiple suportă o dezvoltare modulară şi sisteme expert cooperante. Rete++ mai dispune de un editor de reguli (pentru programarea bazată pe reguli), iar mediul său de dezvoltare monitorizează baza de cunoştinŃe, aceasta conŃinând vederi multiple care sunt actualizate în timp real, permiŃând astfel depanarea, navigarea, monitorizarea şi setarea breakpoint-urilor, urmărirea regulilor, faptelor şi a scopurilor.

RTworks
RTworks este o familie de module software independente proiectate pentru lucrul în timp real, acestea permiŃând achiziŃia şi monitorizarea inteligentă în timp real, analiza datelor, distribuirea şi afişarea mesajelor şi a datelor. RTworks oferă un număr ridicat de strategii complexe de rezolvare a problemelor, incluzând sisteme bazate pe cunoştinŃe, raŃionamente temporale şi statistice, precum şi abilitatea de a distribui o aplicaŃie într-o reŃea eterogenă. RTworks este însoŃit de un motor rapid de inferenŃă (RTie) care este utilizat pentru analiza datelor prin intermediul obiectelor, claselor, procedurilor şi regulilor. Motorul de inferenŃă poate furniza tendinŃe, predicŃii şi raŃionamente temporale relative la date care au o evoluŃie rapidă în timp. RTworks mai dispune de un program de editare (DRAW) care permite şi utilizatorilor care nu sunt programatori să construiască diverse ecrane. De asemenea, acestora le sunt puse la dispoziŃie mai mult de 60 de formate pentru trasarea unor diverse tipuri de grafice (de tip 42

Sisteme expert

bar, plăcintă etc.). Obiectele grafice pot fi legate de variabile care controlează dinamic atribute cum ar fi culoare, scală, rotaŃie, mişcare, animaŃie etc. RTworks rulează într-o arhitectură de tip client-server în care serverul Rtserver distribuie în mod inteligent mesajele şi datele aplicaŃiei, în sensul că le va trimite numai proceselor client care au nevoie de acestea. Procesele client definite de utilizator se pot conecta la server, dar pot schimba mesaje şi cu alte procese ale aplicaŃiei. Dintre posibilele aplicaŃii ale RTworks pot fi menŃionate cele din domeniile controlul proceselor, monitorizarea reŃelelor de calculatoare, comerŃ şi finanŃe etc. Dintre companiile care utilizează acest sistem expert pot fi menŃionate Lockheed, NASA, Dow Chemical, PG&E (Pacific, Gas, and Electric), SWIFT, Mazda şi NTT.

COMDALE/C, COMDALE/X, PROCESSVISION, COMDALE/C
COMDALE/C este un sistem expert de timp real, proiectat pentru monitorizarea şi controlul proceselor industriale. • COMDALE/C permite emiterea unor cereri pentru justificări, recomandări, concluzii şi acŃiuni fără a întrerupe procesul de luare a deciziilor. Are o arhitectură deschisă cu posibilităŃi de raŃionament bazate pe timp. Poate lucra şi în condiŃiile unei inconsistenŃe în ceea ce priveşte cunoştinŃele şi datele. Dintre alte facilităŃi oferite mai pot fi menŃionate: configurare completă orientată pe obiecte, capabilităŃi de lucru în reŃea, procesarea alarmelor, realizarea de istorice şi elaborarea de tendinŃe, programarea evenimentelor, posibilităŃi de lucru cu baze de date de timp real, interfaŃarea cu PLG (programmable logic controlers) şi alte dispozitive de intrare/ieşire; • COMDALE/X este un sistem expert consultativ care lucrează off-line şi care interoghează utilizatorul în vederea obŃinerii informaŃiei necesare pentru luarea deciziilor. COMDALE/X este combinat cu COMDALE/C, rezultatul constituindu-se într-un mijloc de dezvoltare a sistemelor expert de timp real. COMDALE/X are capacitatea de a încorpora documente hypertext şi abilităŃi de raŃionare ale sistemului expert, cu scopul de a crea un aşa numit hyper manual care furnizează informaŃii şi emite direcŃii de lucru prin intermediul unei interfeŃe specializate; • Process Vision este un pachet software utilizat pentru monitorizarea şi controlul proceselor în timp real. Bazat pe o arhitectură deschisă şi modulară, Process Vision pune la dispoziŃia utilizatorului o interfaŃă grafică care permite configurarea intuitivă a afişărilor, implementarea unui sistem de alarmare evoluat, efectuarea validării senzorilor, precum şi elementele necesare de conectare a tuturor instrumentelor de proces într-un singur mediu.

CPRS

43

Partea 1

C-PRS (Procedural Reasoning System în C) este utilizat pentru reprezentarea şi executarea procedurilor operative. El permite utilizatorului să exprime şi să reprezinte secvenŃe condiŃionale de operaŃii complexe şi asigură execuŃia lor în timp real. CPRS este foarte util pentru controlul proceselor şi supervizarea aplicaŃiilor. Tehnologia CPRS a fost aplicată în cazul unor procese cu constrângeri de timp real, cum ar fi cele din domenii cum ar fi explorarea spaŃială (NASA), diagnoza şi supervizarea reŃelelor de telecomunicaŃii (Telecom Australia), controlul roboŃilor mobili (SRI, LAAS), controlul zborului şi managementul traficului aerian (Grumman).

G2
Acest sistem expert de timp real dezvoltat de Gensym (www.gensym.com) este unul dintre cele mai utilizate sisteme expert de timp real din lume.. Acest sistem se bazează pe un management al operaŃiilor experŃilor, reuşind să „controleze” complexitatea prin capturarea cunoştinŃelor celor mai buni experŃi şi combinarea acestora cu date achiziŃionate în timp real, informaŃii arhivate şi chiar politici manageriale. Motoarele de inferenŃă ale acestui sistem expert analizează în timp real toate aceste intrări în vederea elaborării celei mai bune decizii, fie ca recomandări pentru operatori, fie ca acŃiuni automate. G2 este un mediu de dezvoltare a sistemelor expert, orientat pe obiecte şi bazat pe reguli, care a fost dezvoltat în principal pentru mediul industrial, mediu în care operaŃiile sunt caracterizate de complexitate şi dinamicitate. Sistemul monitorizează resursele utilizând o bază de cunoştinŃe ce include multiple recomandări ce trebuie luate în calcul la apariŃia unor eventuale probleme. G2 este un mediu de dezvoltare incremental care poate monitoriza online mediul de lucru sau care poate fi utilizat pentru situaŃii de tip „what-if” într-un mediu simulat. Cunoaşterea este achiziŃionată pe baza regulilor, procedurilor şi funcŃiilor care pot fi aplicate unei întregi clase de obiecte. Cumulate şi cu portabilitatea pe diverse platforme, execuŃia multitasking şi concurentă în timp real, integrarea cu sisteme de timp real şi baze de date existente, precum şi cu posibilitatea realizării modificărilor pe baza limbajului natural structurat chiar de la distanŃă, toate aceste caracteristici conduc la posibilitatea utilizării G2 în diverse domenii, enumerând dintre acestea (pe lângă cele menŃionate anterior) managementul calităŃii, optimizarea proceselor, managementul energiei şi al mediului, managementul defectelor sau al situaŃiilor anormale dintr-un sistem. După cum se poate observa din figura 1-8, sistemul expert de timp real G2 poate fi utilizat pentru monitorizarea unor procese industriale complexe şi asistarea identificării. Aceste operaŃii se bazează pe combinarea regulilor şi a unui expert sistem bazat pe model, a execuŃiei în timp real şi a interfaŃării grafice, precum şi pe monitorizarea sistemului si a capabilităŃilor acestuia. Creşterea performanŃei în sistemele bazate pe G2 se datorează, în principal pe: • transformarea datelor achiziŃionate în timp real în informaŃie utilă, acest lucru realizându-se pe baza raŃionamentului şi a analizei; 44

Sisteme expert

• • • •

detectarea potenŃialelor probleme înainte ca acestea să aibă un impact negativ asupra sistemului; determinarea cauzelor acestor probleme în vederea obŃinerii rapide a unei rezoluŃii; emiterea unor recomandări sau realizarea unor acŃiuni corectoare în vederea reabilitării cu succes a sistemului; coordonarea activităŃilor şi a fluxului de informaŃii în vederea optimizării proceselor.
G2

USER PROGRAM INTERFACE

DATABASE INTERFACE

CONTROL SYSTEM INTERFACE

PLC INTERFACE

SIMULATION INTERFACE

USER PROGRAM

DATABASE

CONTROL SYSTEM

PLC

USER SIM ULATION

figura 1-8. Mediul de dezvoltare G2. Din punct de vedere software, platforma G2 include un set de componente software, acestea constituindu-se în nişte pachete. Fiecare din aceste pachete include o serie de elemente prezentate în figura 1-9:

Motor de inferenŃe G2 SERVER Telewindows Telewindows2 (pentru acces multi-user)

Asistent de diagnosticare G2 Drivere pentru ActiveX, Java şi conectivitate la Internet şi la surse de date on-line, cum ar fi baze de date sau sisteme de control

figura 1-9. Componente ale pachetelor de dezvoltare G2. Una dintre cele mai importante caracteristici ale lui G2, care îi conferă acestuia un anumit grad de unicitate, este abilitatea raŃionamentului bazat pe date achiziŃionate în timp real. Acest lucru face din G2 cea mai utilizată platformă pentru sisteme expert de timp real. Pe lângă această caracteristică, G2 oferă şi o serie de alte facilităŃi în ceea ce priveşte raŃionamentul şi productivitatea dezvoltării, acestea detaşându-l net de alte produse software existente pe piaŃă. La o eventuală comparaŃie cu acestea, pot fi luate în considerare următoarele atu-uri ale lui G2: 45

Partea 1

• •

• • •



• • • • • • •



proiectarea şi operarea în timp real, incluzând istorice şi execuŃia concurentă a liniilor multiple de raŃionament, foarte importante în luarea în timp real a deciziilor; achiziŃia cunoştinŃelor pe baza unui limbaj natural structurat, cu punerea la dispoziŃie a unor formate de introducere a regulilor, procedurilor şi expresiilor, precum şi a unui verificator sintactic (cu consecinŃe imediate asupra rapidităŃii de achiziŃie a cunoştinŃelor); reguli generice, proceduri şi formule care se aplică imediat asupra claselor de obiecte, cu efect direct asupra reducerii efortului de dezvoltare; motor de inferenŃă înainte/înapoi, programat sau startat de evenimente noi, utilizat pentru reprezentarea cunoştinŃelor umane referitoare la procesele în timp real; modelarea şi simularea dinamică, acestea permiŃând efectuarea unor analize de tip „what-if”, a unor comparaŃii între condiŃiile predictate şi cele actuale ale procesului, precum şi efectuarea în timpul dezvoltării a unor teste asupra logicii aplicaŃiei; dezvoltare orientată pe obiecte, incluzând moştenirea multiplă şi înŃelegerea comportării obiectelor conectate, în scopul obŃinerii rapide şi realiste a modelelor proceselor; portabilitatea pe diverse platforme, incluzând Windows NT/2000, HP, SUN şi IBM UNIX workstations şi Linux; facilităŃi de inspecŃie, care permit examinarea rapidă a stării cunoştinŃelor şi a aplicaŃiei; facilităŃi de securitate, care elimină posibilitatea utilizării aplicaŃiei fără o autorizare pralabilă; posibilităŃi de depanare rapidă, incluzând şi trasarea regulilor; punerea la dispoziŃie a unor instrumente grafice pentru trasarea şi editarea grafurilor, cifrelor, butoanelor, precum şi un editor de icon-uri; posibilitatea construirii unor aplicaŃii cooperante prin interconectarea mai multo aplicaŃii G2 sau prin intermediul protocolului TCP/IP; implementarea posibilităŃilor de acces de la distanŃă, întreŃinere de la distanŃă şi de efectuare a operaŃiilor multi-user (pe baza Telewindows şi Telewindows2), precum şi a unor abilităŃi de definire a unor nivele de securitate; prezenŃa unor interfeŃe de tip Data server care permit comunicaŃii performante cu sistemele sau bazele de date externe.

Aşa cum s-a menŃionat anterior, G2 poate fi utilizat cu succes în mediul industrial, mai ales datorită faptului că majoritatea proceselor industriale au caracteristici particulare, cerinŃe de sistem şi de performanŃe care nu pot fi obŃinute pe baza metodologiilor clasice de control. Prin urmare, strategiile avansate de control îşi pot aduce un aport deosebit la îndeplinirea condiŃiilor impuse prin proiectare. In cazul controlului proceselor este necesară, de obicei, implementarea unor sisteme complexe în care regulatoarele trebuie să satisfacă cerinŃe care să conducă la stabilitate, robusteŃe etc. ObŃinerea unor performanŃe mărite se bazează pe 46

Sisteme expert

metodologiile controlului avansat, trebuind rezolvate probleme legate de formularea problemei, validarea modelului, controlul în buclă închisă şi supervizarea. Una din modalităŃile de abordare poate fi constituită de testarea în medii simulate, simularea putând fi utilizată pentru validarea unei anumite abordări, înainte de a fi aplicată procesului în sine. O posibilitate de conectare a lui G2 cu lumea externă este prezentată în figura 1-10 [AMANAZ, 99]. G2 InterfaŃa utilizator Modelul programului principal Definire obiecte

InterfaŃa utilizator

Motor de inferenŃă

Lumea externă

Distribuirea fluxului de informaŃii

Algoritmi

Subrutine

Instrumente matematice

Biblioteci

figura 1-10. Posibilitate de conectare a lui G2 cu lumea externă.

Sisteme expert utilizate în domeniul nuclear
Accidentele de avion şi accidentele de la centralele nucleare arată că cu cât automatizarea este excesiv dezvoltată, rezultatul este scăderea vigilenŃei operatorului uman. Aceasta demonstrează că în timpul executării unor procese, calculatorul trebuie utilizat mai mult ca un asociat. De aceea, în prezent, SE sunt îndreptate spre stocarea unui volum mare de cunoştinŃe, reguli şi proceduri, scenarii de simulare simple şi, mai ales, pe interactivitatea cu operatorul uman care trebuie să aibă acces total la baza de date şi la raŃionamentele experŃilor care conduc la rezolvarea problemei. Aceasta din cauză că raŃionamentele expert se bazează totdeauna pe proceduri standard, experimentate anterior [GUGA, 98]. Trebuie să se remarce faptul că fiinŃa umană realizează raŃionamente mult mai complexe decât un SE, deoarece omul foloseşte grupe de reguli şi proceduri euristice în paralel. Euristicile folosite de om nu pot fi modelate matematic decât parŃial. Dar, pe de altă parte, omul are limitele sale, de exemplu, în intervalele de timp în care activitatea mentală este supraîncărcată şi în memoria de scurtă durată omul este obligat să acumuleze multe fapte, el poate fi depăşit de evenimente şi se poate să nu mai raŃioneze corect. Generarea energiei electrice pe baza exploatării reactoarelor nucleare reprezintă una dintre cele mai sensibile activităŃi din domeniul producerii energiei. Deşi operatorii umani 47

Partea 1

sunt capabili de a face faŃă situaŃiilor de urgenŃă, totuşi ei nu sunt infailibili, astfel că eventualele erori umane pot fi generatoare de accidente grave, cum a fost cazul accidentului de la Cernobîl, petrecut în noaptea de 26 aprilie 1986. Acesta a fost cel mai grav accident nuclear petrecut în toate timpurile, în care nivelul scăzut al securităŃii, proasta proiectare a testelor de siguranŃă şi standardele scăzute ale construcŃiei reactoarelor au contribuit, cumulat, la producerea dezastrului. Dezastrul a lăsat urme adânci. Mii de kilometri pătraŃi de teren ai fermelor din Belarus, Ukraina şi Rusia au suferit contaminaŃii majore, populaŃia fiind supusă la un nivel înalt de radiaŃii. Europa a fost şi ea afectată. In Marea Britanie 400.000 de acri au fost expuşi contaminării şi milioane de oi au fost victimele norilor radioactivi care au traversat cerul până în 4 mai 1986. Ca urmare, 4,2 milioane de oi au fost sacrificate, iar unele zone sunt interzise culturilor agricole chiar şi în ziua de astăzi. Efectele accidentului de la Cernobîl au pus pe gânduri pe majoritatea producătorilor de energie, acest lucru având ca efect creşterea interesului pentru siguranŃa reactoarelor nucleare. Prin urmare, s-a pus întrebarea dacă sistemele expert şi inteligenŃa artificială îşi pot aduce contribuŃia la creşterea siguranŃei de exploatare a reactoarelor nucleare şi la prevenirea apariŃiei accidentelor asemănătoare celui de la Cernobîl. La momentul actual există două tipuri de reactoare utilizate în industria nucleară: BWR (reactoare care încălzesc apa, Boiling Water Reactors) şi PWR (reactoare care presurizează apa, Pressurized Water Reactors). Un reactor BWR încălzeşte apa rece până la transformarea ei în vapori, aceştia fiind utilizaŃi pentru a pune în mişcare un turbo generator. Deoarece apa trece prin imediata vecinătate a reactorului, aceasta este radioactivă şi, ca urmare, şi turbo generatorul poate fi clasificat ca element radioactiv, necesitând să i se aplice proceduri de urgenŃă şi măsuri de siguranŃă mărite. Trebuie remarcat că monitorizarea reactorului presupune realizarea unor legături între echipamente şi senzori/traductoare plasaŃi într-un mediu radioactiv. Un reactor PWR lucrează, în principiu, în mod identic cu unul BWR, numai că apa de răcire nu este lăsată să fiarbă. Aceasta este adusă la o temperatură foarte ridicată şi circulată printr-un schimbător de căldură, aburii rezultaŃi în acesta acŃionând turbo generatorul pentru producerea energiei electrice. Ca urmare, aburii proveniŃi din schimbătorul de căldură nu vin în contact cu apa utilizată la răcirea reactorului şi, în concluzie, nu sunt radioactivi. Referitor la construcŃia sistemelor expert pentru acest domeniu, literatura de specialitate pune în evidenŃă câteva aspecte pe care viitoarele sisteme expert sau orice alt soft dezvoltat trebuie să le ia în considerare. Multe dintre componentele unei centrale nucleare sunt evaluate/clasificate funcŃie de indicii de siguranŃă. Acest lucru înseamnă că proiectantul aplicaŃiilor software trebuie să ia în considerare multiple scenarii de tipul „what-if”, pentru a se asigura că procedurile software sunt sigure din punctul de vedere al accidentelor sau al evenimentelor. Ca urmare, un sistem expert care monitorizează sau controlează o componentă clasificată după un indice de siguranŃă va trebui el însuşi clasificat după un astfel de indice. Camerele de control ale unei centrale nucleare sunt foarte complexe, ele conŃinând o multitudine de comutatoare, lumini de avertizare, elemente de măsură, ferestre de înregistrare şi alarmare, toate acestea trebuind să fie puse în legătură cu sistemul expert. Realizarea acestei 48

Sisteme expert

legături este foarte importantă, mai ales dacă se Ńine cont de numărul ridicat de senzori/traductoare, tipurile de semnale utilizate (unele trebuind convertite într-o formă simbolică), precum şi de tipurile de echipamente utilizate (clasificate după indicii de siguranŃă sau nu). Trebuie menŃionat că, deşi o mare parte a informaŃiei utile se regăseşte la nivelul diagramelor, procedurilor şi planurilor de funcŃionare, cea mai mare parte provine din expertiza inginerilor, tehnicienilor şi operatorilor care lucrează acolo. Ca urmare a cestui fapt, expertiza este considerată ca un capital intelectual care reprezintă o parte importantă din preŃul producerii energiei electrice. Alte consideraŃii referitoare la sistemele expert din acest domeniu sunt: • ele trebuie să fie capabile să gestioneze situaŃiile apariŃiei defectelor multiple; • să fie capabile să modeleze fizic reactoarele nucleare; • să conŃină informaŃii despre licenŃele şi regulamentele de operare; • să poată determina inconsistenŃele relative la citirile senzorilor/traductoarelor, în scopul prevenirii apariŃiei erorilor. Centralele nucleare se confruntă cu aceleaşi probleme de competitivitate cu care se confruntă şi alte medii industriale, dar cu aspecte specifice: creşterea puterii generate şi a productivităŃii, concomitent cu asigurarea standardelor de siguranŃă. Pentru a atinge aceste scopuri, compania EPRI a utilizează de mulŃi ani tehnologia sistemelor expert, considerând că aceasta poate fi pusă în slujba asigurării condiŃiilor de siguranŃă în centralele nucleare. Unul din sistemele expert utilizate este PLEXSYS (PLant EXpert SYStem) care permite operatorului să reprezinte centrala nucleară sub forma unor modele CAD. Baza de cunoştinŃe poate fi asociată cu aceste modele, astfel încât sistemul expert poate face o asociaŃie directă între procedurile de rezolvare a problemelor cu modificările survenit în instalaŃie pe parcursul funcŃionării. Un alt sistem dezvoltat de EPRI este EOPTS (The Emergency Operating Procedures Trackins Systems) care conŃine un motor de inferenŃă şi o schemă de reprezentare a cunoştinŃelor care permit interpretarea şi compilarea procedurilor corespunzătoare situaŃiilor de urgenŃă. Rezultatul obŃinut este un modul software care coexistă şi conlucrează cu sistemul de afişare a parametrilor de siguranŃă ai centralei nucleare. Tot EPRI a dezvoltat o aplicaŃie denumită RISP (Refueling Insert Shuffle Planner) care determină traseele pe care le poate parcurge macaraua utilizată la reîncărcarea reactoarelor nucleare. Deşi această aplicaŃie nu a fost dezvoltată pentru găsirea soluŃiei optimale (din cauza consumului mare de timp), totuşi, pe baza utilizării euristicii, permite găsirea unor soluŃii eficiente ale problemei.

OASYS (On-line Operator Aid System)
Acest sistem a fost dezvoltat ca un sistem de avertizare on-line destinat operatorilor din centralele nucleare. El se constituie într-un sistem integrat care conŃine patru module: • modul pentru validarea semnalelor – permite emiterea unor concluzii referitoare la corectitudinea citirilor variabilelor procesului; 49

Partea 1

• • •

modul pentru procesarea alarmelor – ierarhizează alarmele în funcŃie de gradul lor de periculozitate; modul de diagnosticare – anticipează problemele ce pot apare în funcŃionarea reactorului; modul de urmărire dinamică a procedurilor de urgenŃă – permite emiterea unor direcŃii de acŃiune în caz de urgenŃă, incluzând proceduri de refacere a stării de normalitate şi de restaurare a funcŃiilor.

Atunci când centrala nucleară este într-o stare de funcŃionare normală, OASYS menŃine condiŃiile de funcŃionare, în vederea preîntâmpinării apariŃiei situaŃiilor anormale. La apariŃia unei erori ce conduce la funcŃionarea anormală a instalaŃiei, OASYS înlătură această situaŃie, prin intermediul procesării alarmelor şi diagnosticarea defectelor. Dacă reactorul intră într-o stare anormală de funcŃionare, OASYS procedează la oprirea funcŃionării reactorului, prin exploatarea procedurilor speciale de urgenŃă. Un alt sistem expert destinat mediului nuclear este OPERATOR ADVISOR EXPERT SYSTEM. In cadrul acestuia, inginerii de cunoştinŃe au identificat patru aspecte ce trebuie luate în considerare în exploatarea centralelor nucleare: • monitorizarea şi interpretarea stării centralei nucleare; • identificarea stărilor normale şi anormale de funcŃionare; • diagnoza defectelor; • predicŃia răspunsurilor instalaŃiei la derularea unor acŃiuni specifice de control, ca răspuns la detectarea unei stări anormale de funcŃionare. Dacă, la un moment dat, este detectată o defecŃiune, atunci ea este evaluată de sistemul expert prin intermediul unei proceduri operative de urgenŃă, a unei proceduri de tratare a unei stări anormale de funcŃionare sau a unei proceduri de răspuns la alarmă. Sistemul va furniza paşii care trebuie urmaŃi pentru a remedia defecŃiunea, în concordanŃă cu indicaŃiile din procedura de urgenŃă. De asemenea, sistemul monitorizează acŃiunile operatorului, asigurându-se că procedurile de urgenŃă sunt urmate corect, preîntâmpinând executarea unor paşi greşiŃi. In Japonia, componentele centralelor nucleare sunt, în marea majoritate, controlate de calculator, Datorită gradului ridicat de automatizare, este foarte important ca operatorul să recepŃioneze mesaje corecte despre starea de funcŃionare a componentelor. In acest sens, sistemele expert sunt utilizate pentru asigurarea funcŃionării sigure şi corespunzătoare a instalaŃiilor. Incorporarea lor în cadrul sistemelor de exploatare a instalaŃiilor nucleare nu s-a putut realiza cu ajutorul mijloacelor tradiŃionale. Astfel, au fost dezvoltate nişte sisteme expert specifice domeniului, care au ca scop creşterea siguranŃei de exploatare, îmbunătăŃirea

50

Sisteme expert

flexibilităŃii operaŃionale şi a eficienŃei, precum şi reducerea numărului de operaŃii ce trebuie efectuate de operatorul de proces. Sistemele expert dezvoltate utilizează o structură de reprezentare a cunoştinŃelor special proiectată pentru rezolvarea acestor probleme, numite tabele ale instalaŃiei. O astfel de tabelă constă în descrierea condiŃiilor de funcŃionare în cazul intrărilor multiple şi a unei singure ieşiri precum şi a unui număr mare de operaŃii ce trebuie efectuate în diverse situaŃii de funcŃionare a centralei nucleare. Toate acestea sunt corelate cu condiŃii temporale, precondiŃii sau condiŃii complete. Baza de cunoştinŃe a fost construită prin achiziŃia de la experŃii din diverse domenii, cum ar fi operatorii de proces, inginerii de test (care au efectuat teste la punerea în funcŃiune a centralei), inginerii automatişti şi inginerii responsabili cu analiza instalaŃiilor. De asemenea, cunoştinŃele au fost rezultatul studierii manualelor instalaŃiilor componente, a datelor operaŃionale, a condiŃiilor de proiectare şi a caracteristicilor dinamice ale instalaŃiei. Motorul de inferenŃă permite înlănŃuirea atât înainte cât şi înapoi şi permite verificarea alarmelor şi a limitelor de variaŃie a variabilelor pe baza unei tabele de monitorizare. Sistemul furnizează multiple elemente de ieşire către operator, cum ar fi ecrane grafice explicative, mesaje vocale, lumini şi imagini de avertizare etc.

1.7.

Generatoare de SE

Un generator de sisteme expert (GSE) reprezintă un mediu de dezvoltare a SE. Astfel, un GSE este, de fapt, un program informatic complex, care integrează ansamblul cunoştinŃelor necesare elaborării şi consultării sistemelor expert [AIRINE, 97], fiind privit ca un instrument de elaborare de tip cadru (shell). În literatura de specialitate se mai utilizează şi denumirea de sisteme esenŃiale, tocmai pentru că un astfel de sistem conŃine toate componentele unui sistem expert, mai puŃin baza de cunoştinŃe. Dar, chiar dacă un GSE nu are o bază de cunoştinŃe, el este capabil să o construiască şi să o exploateze. In plus, un GSE trebuie să conŃină motorul inferenŃial, precum şi utilitare de elaborare şi exploatare indispensabile. De fapt, în cadrul GSE sunt utilizate motoare de inferenŃe standardizate, care devin, practic, autonome şi care pot fi aplicate pentru prelucrarea cunoştinŃelor din diverse domenii. Acest lucru este posibil datorită distincŃiei clare între cunoştinŃe şi mecanismele de prelucrare a acestora din sistemele expert. Prima realizare a constituit-o în 1979 EMYCIN (Essential MYCIN), care se baza pe motorul de inferenŃe MYCIN, la care s-au adăugat utilitarele pentru constituirea bazei de cunoştinŃe. EMYCIN putea fi utilizat pentru construirea unor sisteme expert şi din alte domenii decât domeniul medical în care se aplica MYCIN. Un generator de sisteme expert trebuie să îndeplinească trei mari cerinŃe [AIRINE, 97]: - achiziŃionarea cunoştinŃelor experŃilor, care nu este posibilă decât utilizând reguli simple în raport cu formele cunoaşterii folosite de experŃi; 51

Partea 1

-

exploatarea cunoştinŃelor prin motorul de inferenŃe care permite: evaluări, pronosticuri, decizii, precum şi explicarea raŃionamentelor efectuate; menŃinerea şi actualizarea cunoştinŃelor, prin posibilităŃi de adăugare, suprimare şi modificare a regulilor.

Clasificarea generatoarelor de sisteme expert se realizează în funcŃie de logica utilizată de motorul de inferenŃe. Astfel, cel mai simplu nivel este al motoarelor de inferenŃă de ordinul 0, în care faptele sunt exprimate prin propoziŃii simple, booleene. Motoarele de inferenŃe de ordinul 0+ permit lucrul cu variabile şi, în plus, propoziŃiile pot fi mai complexe. O altă categorie este reprezentată de motoarele de inferenŃe de ordinul 1 care permit scrierea unor reguli mult mai generale, prin utilizarea predicatelor de ordin 1. În decursul timpului, pentru dezvoltarea GSE s-au utilizat limbajele de programare specifice domeniului inteligenŃei artificiale, LISP, PROLOG, SMALLTALK, precum şi extensiile acestora (INTERLISP, COMMON LISP, FRANZLISP, MACLISP, ZETALISP etc.), dar şi C, FORTRAN, respectiv limbaje orientate pe obiect, cum ar fi C++. În continuare este prezentată, pe scurt, arhitectura generală a unui GSE, care cuprinde (v. figura 1-11) [DAVIDE1, 97]:

52

Sisteme expert

ConfidenŃialitatea accesului la baza de cunoştinŃe

DICłIONAR • fapte • reguli • frame • obiecte

Compilator reguli

EDITOR

BAZA DE CUNOŞTINłE MOTORUL DE ELABORARE ALTE MODULE SPECIALIZATE PE: • calcule • comentarii • explicaŃii

MOTOR DE INFERENłĂ

INTERFAłA UTILIZATOR

TRASOR ÎNVĂłARE

INTERFAłĂ PROCEDEU

BAZE DE DATE SPREADSHEET

figura 1-11. Arhitectura specifică unui GSE motorul de inferenŃe – este conectat la baza de cunoştinŃe din care îşi preia cunoştinŃele pe care le prelucrează şi le rememorează tot la nivelul bazei de cunoştinŃe; baza de cunoştinŃe – conŃine regulile şi faptele necesare dezvoltării unui SE; editorul – asigură schimbul de cunoştinŃe între utilizator şi SE prin intermediul unei interfeŃe şi a unui modul de dialog, într-o manieră şi structură apropiată limbajului natural. Practic, cu ajutorul lui se încarcă baza de cunoştinŃe şi el este cel care asigură corespondenŃa cunoştinŃelor introduse de operator cu structurarea predefinită a cunoştinŃelor. In plus, editorul realizează o compilare a regulilor, permiŃând detectarea eventualelor erori de sintaxă în cadrul regulilor, şi astfel, implicit, accelerarea activităŃii motorului inferenŃial; trasorul - urmăreşte şirul raŃionamentelor care se efectuează în motorul de inferenŃe şi, de asemenea, actualizează baza de fapte, pe măsură ce faptele sunt dovedite; motorul de elaborare - are rolul de a coordona acŃiunea trasorului şi a editorului, permiŃând facilitarea lucrului pentru programator. Astfel, motorul de elaborare 53

-

-

-

Partea 1

-

-

-

oferă toate facilităŃile pentru efectuarea corecŃiilor şi realizarea verificării sintaxei, asigurând calitatea bazei de reguli (din punct de vedere al completitudinii, coerenŃei şi neredundanŃei); modulul de învăŃare, care presupune achiziŃia de noi reguli şi, pe de altă parte, reperarea euristicilor performante (urmărindu-se optimizarea sau simplificarea numărului de reguli); interfeŃe utilizator – care permit comunicarea şi dialogul eficient cu utilizatorul. Trebuie să se precizeze faptul că pot exista mai multe module de interfaŃă utilizator; dicŃionarul, componentă auxiliară care conŃine toate informaŃiile particulare şi specifice faptelor, regulilor, obiectelor etc. opŃional, module specializate în explicaŃii, comentarii şi calcule.

Toate aceste componente sunt organizate şi exploatabile într-o manieră unitară în accepŃiunea unui mediu de elaborare al unui SE. Un sistem expert este consultat, în general, de două categorii de utilizatori, şi anume, utilizatorii obişnuiŃi (care caută doar un răspuns la o anumită problemă) şi utilizatorii experŃi (care, ca şi utilizatorii obişnuiŃi pot căuta răspunsuri, dar, în plus, pot realiza şi perfecŃionarea cunoştinŃelor). Generatoarele de sisteme expert oferă instrumente de dialog pentru ambele categorii de utilizatori. Dintre GSE existente se pot aminti: Guru, Argument-Decidex, First-Class, Intelligence service, M1, Nexpert-Object, Crystal, Personal Consultant, VP EXPERT, H-EXPERT, XI PLUS, G2, CLIPS, JESS, CORVID (EXSYS) , K-Vision, Expert System Builder, ESIEWin, e2gLite etc. În continuare sunt prezentate câteva caracteristici ale unor generatoare de sisteme expert utilizate în decursul timpului [BENLEV, 93][DAVIDE2, 97][GUGA, 98][JACKSO, 99].

EMYCIN A fost realizat în 1979 la universitatea Stanford, California, utilizând limbajul de programare INTERLISP. Modulul de achiziŃionare a cunoştinŃelor a fost creat de Davis în 1977 şi denumit TEIRESIAS. În continuare sunt prezentate câteva caracteristici ale sistemului EMYCIN: • se permite explicarea de către sistemul expert a raŃionamentelor de tip DE CE şi CUM; • sunt explicate problemele şi comentariile (CARE); • este utilizat trasorul pentru mulŃimea de raŃionamente; • se permit răspunsuri la întrebarea DE CE pe nivele ierarhice în arborescenŃe; • regulilor li se pot ataşa coeficienŃi de verosimilitate; • sistemul lucrează prin înlănŃuire înapoi, fiind guvernat de obiective;
54

Sisteme expert

• limbajul de comunicare este apropiat de cel natural. IniŃial, sistemul a fost conceput pentru diagnoză şi diagnostic în medicină, apoi a fost utilizat în diagnosticarea programelor (DART) şi echipamentelor de calcul, în geologie (LITHO) etc.

KAS KAS (Knowledge Acquisition System) a fost realizat în 1979 la Universitatea Stanford, SUA. Pentru implementare s-a utilizat limbajul de programare INTERLISP. Pot fi amintite câteva caracteristici: • regulile sunt clasice, de forma: DACA premiza ATUNCI concluzia. • fiecare premisă este o clauză; • concluziei i se poate ataşa un coeficient de suficienŃă şi unul de necesitate; • concluzia este totdeauna un fapt; • se explică raŃionamentele prin răspunsuri la întrebări de tipul DE CE şi CUM; • se explică problemele prin comentarii CE; • se utilizează trasorul pentru mulŃimea raŃionamentelor; • editorul este performant; • include o serie de utilitare pentru introducerea regulilor, faptelor, a coeficienŃilor de certitudine, suficienŃă şi necesitate.
Sistemul KAS poate fi adaptat în special la probleme de diagnostic.

GURU Modulele corespunzătoare acestui GSE sunt dezvoltate utilizând limbajul C. Acest GSE prezintă o serie de caracteristici, dintre care vor fi amintite o parte: • concluzia poate fi constituită din unul sau mai multe fapte sau acŃiuni externe foarte numeroase; • se realizează compilarea bazei de reguli; • pentru reguli se folosesc coeficienŃi de verosimilitate, iar pentru fapte coeficienŃi de certitudine, care vor fi utilizaŃi în cadrul operaŃiei de selecŃie; • motorul de inferenŃe permite utilizarea mai multor tipuri de raŃionament (deductiv, regresiv, mixt), asigurând o productivitate ridicată în efectuarea consultărilor şi testărilor; • operaŃia de selecŃie se bazează fie pe coeficienŃi de prioritate corespunzători regulilor, pe evaluarea premisei sau pe coeficienŃi de verosimilitate; • conŃine un editor grafic şi procesor de texte, precum şi un generator de rapoarte; • editoarele de reguli şi de fapte, trasorul şi editorul de rapoarte sunt performante şi oferă numeroase facilităŃi performante de construire şi actualizare rapidă a bazei de

55

Partea 1

reguli, atât în regim asistat, prin meniuri şi submeniuri, cât şi în regim direct, prin comenzi specifice; • dispune de un ansamblu de peste 100 variabile de mediu prin care se specifică anumite condiŃii de lucru; • are un limbaj de programare şi poate apela proceduri externe sau primi rezultate. În FranŃa foarte multe sisteme expert din domeniul financiar bancar folosesc GURU: CREDIT MANGER pentru analiza riscurilor clienŃilor, PREFACE EXPERT pentru crearea întreprinderilor din sectorul financiar, MDRG EXPERT pentru managementul resurselor umane etc. [AIRINE, 97].

VP-EXPERT [Paperback Software International, 1987] Acest GSE prezintă câteva caracteristici funcŃionale, dintre care: • regulilor li se pot ataşa coeficienŃi de verosimilitate şi de certitudine; • motorul de inferenŃă funcŃionează după strategia înlănŃuirii înainte şi înapoi cu revenire; • mediu de dezvoltare foarte puternic, constând din: editor integrat, mecanisme de generare automată de întrebări, posibilitatea de a înregistra şi afişa grafic lanŃurile de raŃionamente utilizate în timpul unei consultări, posibilitatea de a explica raŃionamentele efectuate; • poate comunica (în sensul schimbului de date) cu alte componente, cum sunt: sisteme de gestiune a bazelor de date (dBase, FOXBASE), procesoare de tabele (LOTUS123), fişiere ASCII şi apeluri către comenzile DOS; • posibilitatea de generare automată prin inducŃie a bazei de cunoştinŃe, plecând de la o tabelă care poate fi importată dintr-un fişier ASCII, dBase, LOTUS-123; • permite manipularea cunoştinŃelor inexacte prin atribuirea de coeficienŃi de corectitudine faptelor din baze de fapte; • posibilitatea de a utiliza într-un raŃionament mai multe baze de cunoştinŃe. H-EXPERT Acest GSE este un mediu complet de dezvoltare a unor SE de dimensiuni mari şi complexe. Este scris în întregime în C şi prezintă următoarele caracteristici importante: • utilizează conceptele reprezentării orientate obiect prin folosirea noŃiunilor de clasă, obiect, transfer succesoral multiplu (valori, atribute), restricŃii; • motorul de inferenŃe funcŃionează în logica predicatelor de ordin unu cu variabile locale relativ la reguli şi unificarea acestora; • baza de cunoştinŃe este organizată ierarhic, ceea ce permite o reprezentare mai naturală a cunoştinŃelor şi optimizarea timpului de răspuns; • acceptă integrarea unor biblioteci de programe ale utilizatorilor, ceea ce permite personalizarea aplicaŃiilor;
56

Sisteme expert

• este utilizabil sub interfeŃele grafice MS/WINDOWS permiŃând un dialog simplu şi agreabil cu utilizatorii; • baza de cunoştinŃe poate avea maximum 64.000 reguli; • poate comunica cu baze de date, procesoare de tabele şi programe scrise în limbajul C. CunoştinŃele pot fi structurate pe două niveluri: • global, sub forma unor pachete tematice coerente, numite lumi de cunoştinŃe, care sunt organizate ierarhic sub formă de arbori, având astfel posibilitatea de a specifica cunoştinŃe globale (lumi ascendente) şi locale (lumi descendente); • particular, structurând expertiza sub forma unei reŃele de clase şi obiecte. Motorul de inferenŃe este non-monoton (poate modifica conŃinutul bazei de cunoştinŃe) şi foloseşte toate tipurile de raŃionament (înlănŃuire înainte, înapoi şi mixtă). H-Expert este în acelaşi timp un mediu evoluat de dezvoltare SE (multi-fereastră, utilizarea mouse-ului) cuprinzând: • editor specializat pentru crearea şi actualizarea cunoştinŃelor (clase, obiecte, atribute, reguli, lumi); • compilator incremental pentru verificarea sintaxei şi coerenŃei bazei de cunoştinŃe; • reprezentarea grafică a cunoştinŃelor, ceea ce permite o manipulare mai uşoară a acestora; • instrumente de ajutor pentru testarea pas cu pas a raŃionamentelor motorului de inferenŃe asupra unei baze de cunoştinŃe, precum şi pentru căutarea multicriterială; • gestiunea unui jurnal care reŃine mai multe consultaŃii ale SE.

GenSAA - Software pentru crearea de sisteme expert de monitorizare în timp real „Un dezvoltator de sisteme expert nu trebuie să scrie nici o linie de cod” Goddard Space Flight Center, Greenbelt, Maryland
Acest software permite dezvoltarea rapidă de sisteme expert care permit monitorizarea inteligentă în timp real şi detecŃia defectelor în sisteme hardware sau software. Domeniul Ńintă iniŃial al acestui software a fost cel spaŃial. Un sistem expert construit pe baza GenSAA era un sistem bazat pe reguli care asistă analiştii de zbor pe durata operaŃiilor realizate la centrul de control al zborurilor spaŃiale; sistemul expert primeşte date de la modulul de zbor şi de sistemele de la sol, realizează inferenŃe şi emite concluzii referitoare la datele recepŃionate (atât în mod text cât şi în mod grafic). Dezvoltările ulterioare ale GenSAA au permis utilizarea lui şi în alte domenii, dintre acestea putând fi menŃionate controlul proceselor industriale, monitorizarea reŃelelor, monitorizarea şi controlul traficului auto etc.

GenSAA este utilizat ca o alternativă la generatoarele de sisteme expert comerciale care, de obicei, necesită multiple cunoştinŃe de programare, în dauna celor referitoare la zborurile spaŃiale (la momentul iniŃial). Efortul depus prin activitatea de programare reprezenta un impediment major în calea dezvoltării rapide a unui sistemexpert. GenSAA a depăşit acest impediment, permiŃând dezvoltarea grafică a unui sistem expert. 57

Partea 1

GenSAA conŃine un mediu de lucru (figura xx) care este un set de subprograme utilitare şi care generează o interfaŃă grafică utilizator care permite dezvoltarea unui sistem expert prin utilizarea unor tehnici de tipul „poin-and-click” sau „drag-and-drop”, nefiind necesară scrierea de cod. De asemenea, mai conŃine un mediu de execuŃie (subprogram de execuŃie). Dezvoltatorul sistemului expert utilizează spaŃiul de lucru pentru construcŃia interfeŃei grafice a sistemului expert, definirea regulilor de detectare a defectelor ale acestuia, selectarea datelor etc. Mediul de lucru al GenSAA (figura 1-12) pune la dispoziŃie următoarele subprograme utilitare:

SpaŃiul de lucru Manager de date Constructor de reguli Constructor de interfeŃe grafice

SpecificaŃii de date

Baza de reguli

SpecificaŃii utilizator

Componente executabile Software sistem expert

figura 1-12. Generarea unui sistem expert GenSAA. • manager de date – acest program este utilizat pentru definirea a patru tipuri de variabile cu care poate lucra sistemul expert construit. Toate variabilele care provin din surse externe, din schimbul cu alte sisteme expert GenSAA sau care sunt asociate cu obiecte grafice GenSAA trebuie specificate prin intermediul acestui program; constructor de reguli – acest program este utilizat pentru crearea bazei de reguli a sistemului expert construit. Baza de reguli de o colecŃie de reguli de tipul „if-then” care poate, pe baza inferenŃei, să conducă la noi fapte bazate pe faptele curente. O regulă conŃine una sau mai multe condiŃii şi una sau mai multe acŃiuni. Aceste reguli sunt obiectul de lucru al unui motor de inferenŃe, acesta gestionând întregul lor ansamblu pe durata execuŃiei; constructorul de interfeŃe grafice – este un instrument puternic ce permite construcŃia interfeŃelor grafice utilizator (GUI). InterfaŃa grafică este constituită dintr-un spaŃiu de lucru, ferestre şi obiecte grafice. Aceste elemente pot fi create şi particularizate dinamic, fără programare, pe baza mecanismelor acestui constructor.





58

Sisteme expert

Fişierele create în mediul de lucru sunt utilizate de mediul de execuŃie la definirea sistemului expert executabil. Prin urmare, mediul de execuŃie va furniza mediul operaŃional al sistemului expert. Componentele acestuia rămân neschimbate pe durata execuŃiei, ele controlând operaŃiile sistemului expert dezvoltat pe durata execuŃiei.

Concluzie
Extinderea considerabilă a utilizării sistemelor expert se datorează şi dezvoltării generatoarelor de sisteme expert, care reprezintă sistemele expert vide, aplicabile în diferite domenii de activitate. Utilizarea generatoarelor de sisteme expert conduce la mutaŃii esenŃiale în domeniu: sfera utilizatorilor de sisteme expert se extinde, accesul la construirea bazei de cunoştinŃe nu mai este rezervat exclusiv specialiştilor.

1.8.

Sisteme interactive de asistare a deciziei

1.8.1. Considerente generale
SE pot fi folosite de sine stătător sau pot fi integrate în alte sisteme informatice în funcŃie de necesităŃi. O clasă specială de sisteme informatice, în care SE pot fi integrate mai uşor din punct de vedere funcŃional sunt sistemele interactive pentru asistarea deciziilor (SIAD). De fapt, la origine, sistemele expert au fost prezentate ca sisteme de asistare a deciziei (MYCIN şi PROSPECTOR). Extinderea lor s-a datorat atât progreselor realizate în tehnologiile informatice, cât şi în tehnicile de modelare din anii ’70 şi ’80. Un SIAD (Système Interactif d’Aide à la Décision) sau sistem suport pentru decizii (decision support systems - DSS) este un sistem informatic care utilizează cunoştinŃele dintr-un anumit domeniu de aplicaŃie pentru a ajuta decidentul în rezolvarea unor probleme slab structurate (greu de algoritmizat şi programat). În figura 1-13 este prezentată schema procesului de luare a deciziei. Asistarea deciziei este o problemă complicată, cele trei nivele decizionale, decizia în condiŃii de certitudine, incertitudine şi risc, având mecanisme practice de rezolvare dependente de decident. Trebuie precizat faptul că nici un sistem decizional nu poate simula comportamentul real al unui decident în stare de incertitudine. În figura 1-14 este prezentată structura unui sistem interactiv de asistare a deciziei, conform [ZAHNĂS, 93].

59

Partea 1

Realitate

Examinare

RaŃionare

Validare model

Proiectare

Verificarea şi testarea soluŃiei propuse

SelecŃie soluŃie

Succes

Implementarea soluŃiei Eşec

figura 1-13. Implementarea procesului de luare a deciziilor Biblioteca de modele poate conŃine, de exemplu, modele de cunoştinŃe, modele de date pentru baza de date, modele de cooperare om-maşină a bazei de obiecte multi-media etc. Biblioteca de reprezentări grafice oferă, de exemplu, editoare grafice, foi de calcul etc. InterfaŃa utilizator poate fi o interfaŃă inteligentă, asigurând o interactivitate ridicată. Trebuie remarcat faptul că decidentul utilizează pentru fiecare decizie informaŃii specifice, precum şi o cunoaştere generală (formaŃie, experienŃa acumulată, strategia globală aleasă). Un astfel de sistem suport pentru decizii, în cadrul căruia sunt legate între ele modele cu structuri foarte diferite, devine pluristructural. Datorită componentei sistem expert, sistemul suport pentru decizii se mai numeşte şi sistemul suport pentru decizii inteligente. Un astfel de sistem este bazat pe principiul căutării euristice, cel mai adesea cu mai multe niveluri. La baza majorităŃii sistemelor suport pentru decizii au stat modelele matematice şi ale cercetării operaŃionale care se bazează pe următoarele ipoteze [AIRINE, 97]: - toate acŃiunile posibile sunt identificate înaintea prelucrărilor; - execută o preordonare globală asupra acŃiunilor reprezentate printr-o funcŃie de utilitate explicită la care se poate da o exprimare matematică; - intrările sunt numerice şi conŃin orice informaŃie utilă; cea mai bună decizie este cea care maximizează funcŃia de utilitate.

60

Sisteme expert

InterfaŃa utilizator

UTILIZATOR

Biblioteca de modele

Biblioteca de reprezentări grafice

Subsistemul de modelare Subsistemul de prezentare a informaŃiilor

Subsistemul statistic, previziune, optimizare Sistem de gestiune a bazelor de date

SISTEM EXPERT

Baze de date

Fişiere externe

figura 1-14. Sistem interactiv de asistare a deciziei Se pot distinge două tipuri de SIAD [BENLEV, 93], şi anume: cele care includ statistici ale cercetării operaŃionale şi au la bază algoritmi de optimizare, calcule numerice, şi cele care sunt îndreptate exclusiv spre gestiunea informaŃiei (baze de date, gestiunea fişierelor şi fluxuri de informaŃii în întreprindere). O caracteristică comună a tuturor acestor sisteme o constituie interactivitatea, putându-se remarca faptul că, în parte, sau în totalitate, controlul căutării este lăsat la latitudinea utilizatorului, respectiv a decidentului. Conform [ZAHNĂS, 93], principalele caracteristici ale unui SIAD sunt: - în cadrul unui SIAD, experienŃa, intuiŃia, judecăŃile şi preferinŃele decidentului sunt esenŃiale; - interactivitate de nivel înalt; - căutarea soluŃiilor necesită manipulări de date, căutare de informaŃii, modelare, calcule; - procedurile care urmează să se execute la un moment dat nu sunt cunoscute a priori, acestea depinzând de date sau de rezultatele intermediare; - criteriile de decizie sunt numeroase, conflictuale şi depind adesea de utilizatori;

61

Partea 1

-

atunci când utilizatorul nu este de acord cu sistemul, el păstrează totuşi un minim de sfaturi în luarea deciziei; datele nu sunt întotdeauna cunoscute dinainte; timpul de răspuns pentru obŃinerea unei soluŃii satisfăcătoare este limitat, astfel încât să se poată obŃine informaŃiile necesare în timp util.

InteligenŃa artificială permite să se introducă cunoştinŃe calitative, aproximative şi incerte în sistemele de asistare a deciziei; de asemenea, permite dobândirea şi reproducerea raŃionamentelor certe ale decidentului, dar construirea unui model sau a unei metodologii complete de luare a deciziei ridică încă multe probleme. În continuare sunt prezentate câteva avantaje şi dezavanteje ale sistemelor interactive de asistare a deciziei. Avantajele sistemelor interactive de asistare a deciziei Fiecare tip de sistem interactiv de asistare a deciziei are rolul de a asista managerii să răspundă la întrebări care apar ca urmare a necesităŃii luării unei decizii. Intrebările pot fi complexe sau simple. De exemplu, un manager doreşte să afle, prin interogarea unei baze de date, care este volumul vânzărilor pentru fiecare din ultimii cinci ani, care produs nu s-a aflat în stoc mai mult de cinci zile într-o lună sau care client a comandat cele mai multe produse. De asemenea, ar putea dori să afle care sunt estimările profitului, sau care salariat şi-a îndeplinit planul de vânzări. Un sistem interactiv de asistare a deciziei specific poate suporta doar luarea unor decizii operaŃionale sau poate contribui la luarea unor decizii strategice, pentru perioade lungi de timp. Un SIAD are definit un anumit scop şi, ca urmare, elementele stocate în bazele de date, variabilele definite, seriile de date disponibile, precum şi instrumentele care sunt utilizate pentru stocarea şi analizarea date sunt elementele care determină întrebările care pot fi puse şi cât de relevantă este informaŃia care a fost creată. Proiectarea şi capabilităŃile SIAD-ului influenŃează procesul de luare a deciziilor. Dezavantajele sistemelor interactive de asistare a deciziei Principalul dezavantaj al unui SIAD este acela că ceea ce se doreşte nu este întotdeauna ceea ce este nevoie, iar ceea ce este nevoie nu este întotdeauna obŃinut. Este foarte uşor ca la construirea unui SIAD să se promită mult şi este uşor ca managerii să dezvolte estimări nerealiste pentru un SIAD nou. Chiar şi cel mai evoluat SIAD nu poate elimina deciziile proaste. Unii manageri pot pune multiple întrebări greşite şi pot trage concluzii greşite pe baza informaŃiilor recepŃionate ca răspuns. Ca urmare, datorită scopului şi costurilor de dezvoltare, un SIAD trebuie să se bucure de credibilitate din partea utilizatorului. Erorile produse de decizii greşite pot conduce la pagube, acestea amplificându-se dacă deciziile greşite se succed. 62

Sisteme expert

1.8.2. AplicaŃii
Planificarea şi diagnosticul financiar, consultanŃa financiară, evaluarea activelor financiare, acordarea de credite etc. reprezintă unele dintre cele mai cunoscute domenii de aplicaŃii pentru SIAD. Simularea consecinŃelor deciziilor, elaborarea diagnosticului şi a deciziilor constituie instrumente de lucru puse la dispoziŃia managerilor financiar. De asemenea, sistemele suport pentru decizii stau la baza realizării sistemelor de simulare constructive, virtuale sau reale, adică a acelor sisteme care reproduc câmpul de luptă sub forma jocurilor de război [SAFTES, xx] (prin joc de război se înŃelege o simulare, utilizând sau nu calculatorul, implicând cel puŃin două forŃe opuse într-o operaŃie militară). Aceste sisteme sunt folosite în armatele occidentale, ca instrumente în pregătirea comandanŃilor şi statelor majore de la nivel companie până la nivel zona de operaŃii. Se folosesc diferite date, reguli specifice şi proceduri care determină ca participanŃii să interacŃioneze într-o situaŃie reală sau simulată. Exemple de sisteme de simulare constructivă utilizate în procesul de pregătire al armatelor occidentale: - BBGT ( Brigade and Battle Group Trainer ) – folosit în armata britanică pentru instruirea comandanŃilor şi statelor majore la nivel B. si Bg.; - CLAWS – Integrated Land Maritime Airgame, utilizat pentru desfăşurarea jocurilor de război la Colegiul de Razboi Interarme al Marii Britanii; - BBS (Brigade Battle Simulation) – folosit în armata Statelor Unite pentru antrenarea tuturor compartimentelor statelor majore în desfăşurarea de aplicaŃii de comandament şi exerciŃii de stat major la nivel B - Bg; - TACSIM (Tactical Simulation) - folosit in armata Statelor Unite de către compartimentele de informaŃii ale statelor majore de la B la nivel teatru de operaŃii. Un alt domeniu în care se utilizează sistemele suport pentru decizie este cel medical. Astfel, se pot aminti câteva astfel de sisteme: Dxplain (sistem utilizat la Massachusetts General Hospital).

1.8.3. Sisteme interactive de asistare a deciziei în timp real
O arie de aplicaŃii cu perspective deosebite este oferită de SE destinate ca suport pentru decizie în conducerea în timp real a proceselor, cu aplicabilitate şi în conducerea proceselor industriale. Sistemele suport pentru decizii au ca obiectiv sprijinirea decidentului pentru depăşirea limitelor actuale. Astfel, decidenŃii au la dispoziŃie mai multe informaŃii şi mai multe modele, putând determina rapid consecinŃele. Deci, sistemele suport pentru decizii asigură depăşirea restricŃiilor de timp şi mijloace.

63

Partea 1

Scopul tehnologiei informaŃiei a fost întotdeauna ca prin utilizarea siliconului şi a programelor software să imite creierul uman. Nicăieri acest lucru nu a fost mai adecvat ca în cazul domeniului asistării deciziilor, care implică raŃionament cognitiv sau învăŃarea din experienŃa trecută cu scopul de a îmbunătăŃi procesele curente sau viitoare. Din păcate, singurul mare dezavantaj al sistemelor interactive de asistare a deciziilor iniŃiale era imposibilitatea lor de a lucra în timp real. Atunci când se confruntă cu o dilemă, o persoană este capabilă ca, pe baza gândirii cognitive şi intuitive, să-şi pună în evidenŃă capabilitatea de a lua decizii. Prin contrast, puternica legătură a sistemelor computerizate de asistare a deciziilor cu paradigmele tradiŃionale, nu permite ca astfel de acŃiuni să se deruleze foarte rapid. OrganizaŃiile care activează în prezent, forŃate să lucreze la viteze dictate de Internet, trebuie să reacŃioneze la acŃiunile clienŃilor şi ale furnizorilor, chiar în momentul interacŃiunii. Acest lucru presupune necesitatea unui alt model de luare a deciziilor. In loc de a trage nişte concluzii pe baza unui raport şi de a le lua în considerare în zilele următoare, vitezele actuale impun prelucrarea imediată a datelor şi trecerea rapidă la acŃiune. In ultima perioadă, a început o adevărată cursă având ca participanŃi dezvoltatori de sisteme interactive de asistare a deciziei care lucrează în timp real. Acest lucru vine şi ca urmare a creşterii importanŃei unor domenii noi de acŃiune, cum ar fi cel denumit data warehouse, care presupune existenŃa unor sisteme de asistare a deciziilor caracterizate prin integrarea datelor din mai multe sisteme tranzacŃionale şi prezentarea lor într-o formă omogenă. Dintre cei care ocupă primele locuri în cursa menŃionată pot fi menŃionaŃi Oracle şi i2 Tehnologies, consideraŃi pionierii domeniului sistemelor de asistare a deciziilor în timp real, a infrastructurilor şi soluŃiilor problemelor decizionale cu constrângeri temporale. Aşa numiŃii vânzători inteligenŃi sunt şi ei în căutare de parteneri care activează în domeniul menŃionat. De ce aceştia s-au orientat spre astfel de sisteme? Răspunsul este simplu: tendinŃa actuală este de a construi motoare de asistare a deciziilor care pun în aplicare rezultate din teoria constrângerilor temporale şi care permit luarea celor mai bune decizii, acestea contribuind decisiv la îndeplinirea priorităŃilor organizaŃiei. Un astfel de model dinamic permite furnizarea automată către factorii executivi a unor analize a deciziilor (caracterizate de consistenŃă), concomitent cu o gamă de opŃiuni decizionale, în locul unor teancuri de rapoarte tipărite pe hârtie (caracterizate de o agregare a datelor). Deşi rezultate ale implementării sistemelor de asistare a deciziilor în timp real se regăsesc în domenii cum ar fi activitatea lanŃurilor de furnizori sau aprovizionarea electronică, totuşi scopurile unor astfel de proiecte nu sunt foarte uşor de atins. Acest lucru se datorează faptului că, pe măsură ce seturile de date devin tot mai numeroase şi mai complexe, costurile cresc vertiginos. Ca urmare, nu toate aplicaŃiile vor fi capabile să rezolve problema luării deciziilor în timp real. Pentru cei care vor reuşi implementarea unor astfel de sisteme, problema acută pe care trebuie să o rezolve este puternica integrare cu instrumente care să permit furnizarea în timp real a datelor (cum ar fi sistemele de brokeraj a mesajelor). 64

Sisteme expert

Pe lângă domeniile menŃionate anterior, sistemele interactive de asistare a deciziilor se regăsesc şi în domeniul conducerii şi coordonării proceselor industriale. Dacă planificarea este privită ca un proces de luare a deciziilor, procesele de control pot fi considerate o extensie naturală şi ca un element distinct al proceselor de decizie. Astfel, pe lângă fazele clasice ale procesului de rezolvare, sistemele interactive de asistare a deciziilor trebuie să includă şi funcŃii legate de comunicare, urmărire, monitorizare şi alarmare. In ceea ce priveşte luarea deciziilor în aplicaŃiile de control (supervizare, coordonare şi conducerea operativă a proceselor de producŃie) pot fi puse în evidenŃă o serie de aspecte [FILBAR, 99]: • datorită mediului cu dinamică semnificativă, trebuie efectuată o monitorizare continuă; • orizonturile de timp pe care sunt luate deciziile sunt relativ limitate, acest proces fiind unul repetitiv; • sunt prezente constrângeri de timp; • poate avea efecte pe termen lung, care, în situaŃia în care decizia luată a fost eronată, pot fi catastrofale. SituaŃiile de luare a deciziilor care pot apare în domeniul proceselor industriale pot fi sau nu strict de timp real. Dacă, de exemplu [FILBAR, 99], din cauza unei avarii neaşteptate, o instalaŃie tehnologică trebuie oprită, programul de producŃie pentru linia din care face parte instalaŃia devine neoperant. Adaptarea programului de producŃie la noua situaŃie presupune adoptarea unor măsuri compensatorii care să gestioneze criza apărută. Dacă această situaŃie a mai fost întâlnită şi în trecut, atunci rezolvarea ei poate fi făcută pe baza experienŃei anterioare, care a fost memorată în sistemul informatic. Operatorul uman va fi cel care va accepta vechea rezolvare. Din punctul de vedere al tipurilor de situaŃii de decizie care pot apare în mediul industrial, poate fi făcută următoarea clasificare [SPIESP, 97]: • normale, în strânsă legătură cu execuŃia sarcinilor curente ale unităŃii; • anormale previzibile, atunci când în timpul unor situaŃii normale apar evenimente cunoscute; • de pornire, întâlnite mai ales în situaŃiile în care se porneşte o unitate funcŃională care trebuie să coopereze cu alte unităŃi; • anormale şi imprevizibile, când evenimentele ce apar sunt noi sau foarte rare. In primele două cazuri procesele de luare a deciziilor sunt de tip reactiv, ca urmare a apariŃiei unor evenimente normale şi planificate, respectiv anormale, dar pentru care există acumulată o experienŃă anterioară suficientă pentru rezolvarea problemelor ce apar. In ultimele două cazuri, decizia se bazează pe o experienŃă incompletă, rezolvarea problemelor bazându-se foarte mult pe factorul uman (inventivitate, capacitate de sinteză etc.). Un aspect important în luarea deciziilor atunci când constrângerile de timp sunt foarte importante, o caracteristică importantă a procesului de luare a deciziilor este flexibilitatea. Aceasta este utilizată pentru stimularea şi realizarea unor schimbări în structura produselor şi a proceselor, în modul de organizare şi în capacitatea de decizie a operatorilor şi managerilor, bazate pe anticiparea evoluŃiilor mediului. 65

Partea 1

AplicaŃii ale sistemelor interactive de asistare a deciziei în timp real pot fi întâlnite în următoarele domenii: managementul traficului aerian, monitorizarea bolnavilor din spitale, conducerea proceselor industriale etc.

Exemple
Ca exemple de sisteme interactive de asistare a deciziilor care lucrează în timp real pot fi menŃionate cele construite pe baza generatorului DISPECER, care permit asistarea şi optimizarea proceselor de decizie privind coordonarea proceselor unitare de producŃie în cadrul unor unităŃi industriale de prelucrări primare (fabrici de celuloză şi hârtie, rafinării, combinate pentru îngrăşăminte chimice), sau unităŃi de prelucrare şi acumulare (gestionarea resurselor de apă, trafic rutier urban etc.) Alte exemple de sisteme interactive de asistare în timp real sunt:

Caliper Este utilizat pentru a dezvolta sisteme de asistare a decizie care exploatează tehnologia sistemelor informaŃiomale geografice, cercetarea operaŃională, metodele statistice şi instrumente software specializate. Sistemele dezvoltate au fost aplicate cu succes în modelarea extinderii afacerilor, planificarea vânzărilor, precum şi în dezvoltarea şi exploatarea logistică. Dintre aplicaŃiile lui pot fi menŃionate: • sistem de informare a clienŃilor – este utilizat de operatorii telefonici pentru a furniza informaŃii potenŃialilor clienŃi asupra modului în care pot exploata sistemul de transport public într-o anumită zonă. Sistemul este capabil de a furniza mai multe alternative, în funcŃie de preferinŃele clientului/turistului şi poate răspunde în timp real la schimbările de trafic ce au loc în zona vizată; • sistem logistic de planificare a traseelor – scopul acestui sistem este de a reduce costurile legate de livrarea produselor, de a elimina efortul legat de înregistrarea traseelor şi încărcarea operatorului; problema care trebuie rezolvată în acest caz este foarte complexă, deoarece presupune locaŃii de distribuŃie neuniform distribuite, timpi/ore de livrare impuşi/impuse şi ferestre de timp alocate transportului de către furnizorii de astfel de servicii. O inovaŃie adusă de acest sistem constă în utilizarea unei estimări a timpilor de mers, deosebit de utili în stabilirea parcursurilor. Acest lucru se traduce într-o utilizarea mult mai eficientă atât a vehiculelor cât şi a personalului; • sistem pentru managementul traficului armatei USA – este un sistem de analiză strategică a transportului de trupe şi armament. Se bazează pe analiza relaŃiilor dintre infrastructura de transport, fluxurile de echipament, personal şi furnizori; • sistem de planificare dedicat serviciilor poştale – este utilizat în optimizarea reŃelelor de livrare a coletelor poştale. Acest sistem integrat de asistare a deciziei a fost integrat cu un GIS (Geograpic Information System) şi permite exploatarea eficientă a unor
66

Sisteme expert



reŃele de transport pe baza cerinŃelor de spaŃiu, a facilităŃilor oferite de locaŃiile poştale (loc de depozitare, acces etc.), precum şi a exploatării unor modele de aşteptare; sistem de asistare a deciziei pentru paza de coastă – estimează în timp real necesarul de echipamente şi personal, pentru situaŃiile de criză apărute în navigaŃie. Pune accent pe constrângeri legate de timpii de navigare, tipul, capacitatea, performanŃele şi disponibilitatea vaselor care pot participa la acŃiunile de salvare. Permite trasarea rutelor de urmat de către vasele de salvare, mai ales pentru zonele în care navigarea este îngreunată de obstacole.

RTXPS
Este un mediu de tip sistem expert, destinat aplicaŃiilor de asistare interactivă în timp real a deciziilor, de planificare a sarcinilor de comandă şi control în domenii cum ar fi managementul situaŃiilor de urgenŃă apărute în medii caracterizate de hazard, controlul complex al operaŃiilor şi aplicaŃii de antrenare. RTXPS poate fi configurat astfel încât să implementeze orice tip de chestionar sau manual de operare (bazat pe proceduri sau protocoale). Bazat pe funcŃii dezvoltate în conformitate cu tehnologiile inteligenŃei artificiale, acest mediu poate trata situaŃiile sensibile apărute în medii de tip client-server, oferind un suport extins şi asistenŃă operatorilor, în condiŃiile păstrării calităŃii controlului. Exploatarea eficientă a unor timere precum şi a cererilor de acŃiune furnizează un suport viabil pentru controlul în timp real. RTXPS este bazat pe un motor de inferenŃă cu înlănŃuire înainte, care procesează regulile de producŃie, exploatând dinamic baza de cunoştinŃe şi determinând declanşarea acŃiunilor. AcŃiunile sunt comunicate operatorului în format hypertext şi includ, sau pot declanşa automat, execuŃia unor funcŃii pentru achiziŃia şi afişarea datelor, funcŃionarea unui sistem expert, simularea şi optimizarea unor modele, precum şi lansarea unor aplicaŃii GIS. Alte facilităŃi oferite de acest sistem sunt punerea la dispoziŃia utilizatorului a unei biblioteci ce include funcŃii pentru comunicarea externă, logare, generare de rapoarte, compilare automată şi trimitere de e-mail-uri şi fax-uri, generare automată şi actualizare de pagini web etc. RTXPS poate fi legat la un sistem de monitorizare şi de achiziŃie de date on-line, cu funcŃionare în timp real. In acest mod se realizează o buclă de reacŃie care poate fi utilizată atât pentru actualizarea dinamică a contextului problemei, cât şi pentru recalibrarea modelelor dinamice. RTXPS utilizează o sintaxă de limbaj natural simplă pentru regulile, acŃiunile şi descriptorii săi. In plus, pe baza unui limbaj intuitiv SCRIPT pot fi dezvoltate eficient baze de cunoştinŃe pentru noi aplicaŃii. Dintre aplicaŃiile dezvoltate pe baza RTXPS pot fi menŃionate: • sistem de asistare a deciziei în managementul riscului tehnologic – destinat estimării riscurilor, gestionării acestora şi antrenării operatorilor pentru evitarea, anticiparea şi rezolvarea situaŃiilor de risc; • sistem de gestiune a riscului accidentelor chimice; 67

Partea 1



sistem de asistare a deciziilor în domeniul transportului de materiale periculoase – este corelat cu un GIS, vehiculele care transportă astfel de materiale fiind dotate cu echipamente care transmit permanent (on-line) informaŃii despre starea drumului, starea vremii, numărul participanŃilor la trafic de pe artera pe care circulă, eventualele defecŃiuni tehnice pe care le are din cauza drumului etc. Analizate, toate aceste elemente permit furnizarea unei rute pentru vehiculul respectiv, dar şi obŃinerea unor rute adecvate pentru alte transporturi.

Sistemele suport pentru decizii trebuie să fie filtre inteligente, prin care se selectează, se interpretează şi se condensează informaŃia pentru a pregăti decizia, decizia finală fiind luată de om (spre deosebire de SE, care asigură şi finalitatea luării deciziei). SIAD au avut o contribuŃie importantă în ameliorarea profesionalismului decidenŃilor, oferind un suport pentru ca deciziile să poată fi luate pe baza unor fundamente ştiinŃifice, diminuându-se astfel riscul eşecurilor. Sistemele de asistare a deciziei în timp real sunt mai complexe decât sistemele convenŃionale, trebuind să îndeplinească o serie de cerinŃe, printre care se pot aminti: - trebuie să garanteze oferirea unui răspuns în timpul specificat; - au un ciclu de luare a deciziei mai scurt; - permit luarea deciziei pe mai multe nivele; - trebuie să permită combinarea unor tehnologii diferite; - realizează planificarea execuŃiei astfel încât să fie respectate constrângerile de timp.

1.9.

Proiectarea şi realizarea sistemelor expert

Conceperea şi realizarea unui sistem expert, necesită în principal două categorii de personal: - experŃii umani, a căror experienŃă urmează a fi reprezentată prin cunoştinŃe, ce vor fi transmise către utilizatori prin intermediul SE; - cogniticienii (inginerii de cunoştinŃe), care asigură transpunerea cunoştinŃelor şi strategiilor de raŃionament ale expertului uman în structurile specifice metodei de reprezentare a cunoştinŃelor (reguli de producŃie, reprezentări succesorale etc.) şi a instrumentelor informatice utilizate (programare logică, generator de SE). Alături de aceştia, se vor regăsi şi participanŃii tradiŃionali la o asemenea activitate: - utilizatorii finali, care vor exploata sistemul valorificând cunoştinŃele incorporate în el; - proiectanŃii şi programatorii, care vor asigura rezolvarea problemelor informatice implicate de realizarea SE (conceperea şi programarea comunicaŃiei cu utilizatorul, transferul de informaŃii etc.). 68

Sisteme expert

În figura 1-15 sunt prezentate categoriile de personal care sunt implicate în dezvoltarea, utilizarea şi întreŃinerea unui sistem expert, precum şi relaŃiile dintre aceştia.
Cunoaştere documentată

Dezvoltator de instrumente
Dezvoltă

Expert
AchiziŃionează cunoştinŃe

Colectiv suplimentar
Testează Sarcini suplimentare

Instrumente, limbaje
Furnizează

Utilizează

Inginer de cunoştinŃe

Dezvoltă

Sistem expert
Utilizează

Utilizează

Cooperează

Dezvoltă

Vânzător

Inginer de sistem

Utilizator final

figura 1-15. ParticipanŃii la construcŃia unui sistem expert Calitatea şi utilitatea unui SE depind, în mod esenŃial, de cunoştinŃele pe care le încorporează şi utilizează. Acesta constituie modul pentru care, efortul principal în realizarea unui SE este îndreptat spre cunoştinŃe, având în vedere identificarea structurilor generale corespunzătoare domeniului de expertiză şi continuând cu achiziŃia, reprezentarea, validarea şi utilizarea acestora. Conform acestor caracteristici definitorii, în [ZAHNĂS, 93] se consideră că ciclul de viaŃă al unui SE (figura 1-16) se compune din următoarele etape: • analiza preliminară; • modelarea conceptuală; • achiziŃia cunoştinŃelor; • reprezentarea cunoştinŃelor; • validarea sistemului; • introducerea în exploatare şi menŃinerea în funcŃiune. În continuare va fi descrisă fiecare etapă a ciclului de viaŃă al unui sistem expert. 1. Analiza preliminară - urmăreşte definirea lucrării sau achiziŃiei care va face obiectul sistemului expert, precum şi alegerea instrumentelor informatice necesare. In ceea ce priveşte problema sau lucrarea ce urmează a fi abordată prin tehnologia SE, se consideră că aceasta trebuie să răspundă cel puŃin următoarelor cerinŃe: - să facă apel la cunoştinŃe aparŃinând unui domeniu bine delimitat;

69

Partea 1

-

-

-

să aibă un nivel mediu de complexitate, astfel încât să se evite problemele prea complicate, altfel se poate ca sistemul să fie incapabil s-o rezolve într-un timp rezonabil; să fie structurabilă, adică să utilizeze elemente identificabile, reproductibile şi formalizabile, atât în privinŃa conceptelor şi cunoştinŃelor folosite, cât şi a raŃionamentelor; să prezinte o lucrare repetitivă în timp; să fie bine cunoscută de către experŃii disponibili; să nu facă apel la tipuri de cunoştinŃe ce nu pot fi tratate prin una din metodele de reprezentare existente (de exemplu, cunoştinŃe „vizuale”, de natură topologică). Se spune că o problemă candidează la un SE dacă expertul poate să rezolve problema prin telefon (astfel, se exclude vederea).
Analiza preliminară Selectarea problemei Modelarea conceptuală Concepte AchiziŃia cunoştinŃelor

Transferul expertizei de la expertul uman spre calculator

Structura Reprezentarea cunoştinŃelor Baza de cunoştinŃe Validarea sistemului SE final Introducerea în exploatare, menŃinerea în funcŃiune

figura 1-16. Ciclul de viaŃă al unui sistem expert Selectarea unei probleme care răspunde acestor criterii constituie numai un prim pas, care trebuie continuat cu o analiză mai detaliată, menită să verifice oportunitatea rezolvării sale printr-un SE. In acest scop se pot avea în vedere patru categorii de factori: - natura problemei sau a activităŃii; - rezultatele previzibile; - expertiză disponibilă; - utilizatorii finali. 70

Sisteme expert

Din punct de vedere al naturii problemei, evaluarea se bazează pe măsura în care aceasta răspunde criteriilor următoare: - lucrarea este esenŃialmente cognitivă, solicitând într-o măsură preponderentă analiza, sinteza, sau decizia; - implică raŃionamente sau cunoştinŃe simbolice; - face apel la un număr ridicat de parametri; - foloseşte reguli şi metode euristice; - trebuie rezolvată deseori pe baza unor date incomplete; - solicită prezentarea de explicaŃii şi justificări ale rezultatelor sau raŃionamentelor; - se află pe un nivel intermediar de formalizare caracterizat prin preponderenŃa clasificărilor şi euristicilor; - implică înlănŃuiri de raŃionamente, structurate eventual pe mai multe nivele; - nu poate fi rezolvată cu metode informatice convenŃionale. Din punct de vedere al rezultatelor, evaluarea se bazează pe raportarea efectelor previzibile ale SE la următoarele criterii: - determină îmbunătăŃirea calităŃii produselor sau serviciilor oferite; - acumulează expertiză pentru care nu există documentaŃie scrisă; - asigură difuzarea expertizei existente către personalul lipsit de experienŃă sau către debutanŃi; - prin utilizare, antrenează creşterea calificării profesionale; - poate fi realizat cu un efort minim de programare. O tehnică frecvent utilizată în efectuarea unor asemenea analize o reprezintă grilele de evaluare (rating grids). Grila de evaluare este compusă dintr-un ansamblu de criterii predefinite, în raport cu care problema este apreciată şi notată cu un anumit punctaj. Dacă punctajul obŃinut este sub o anumită limită (specificată de asemenea în grilă), problema este considerată neoportună pentru un SE. Sub aspectul instrumentelor informatice, se poate opta între două posibilităŃi: - realizarea unui motor de inferenŃe propriu, scris într-un limbaj adecvat; - utilizarea unui generator de SE care are incorporat motorul de inferenŃe, rămânând ca utilizatorul să-şi însuşească modul de funcŃionare al acestuia şi să modeleze cunoştinŃele expertului uman în concordanŃă cu posibilităŃile oferite de generator. Alegerea între aceste două posibilităŃi trebuie să aibă în vedere criterii principale: - limbajul de reprezentare al cunoştinŃelor să fie simplu şi cât mai general; - să existe un mecanism de control eficace, cu posibilităŃi de automodificare şi un modul explicativ elaborat; - comunicaŃia cu utilizatorul să fie cât mai apropiată de limbajul natural. 71

Partea 1

Odată adoptate deciziile privitoare la problema abordată şi instrumentele informatice, se poate trece la etapele următoare. 2. Modelarea conceptuală - urmăreşte definirea structurii conceptuale a cunoştinŃelor utilizate de către expertul uman în domeniul de activitate care formează obiectul viitorului SE. In cadrul său, expertul defineşte în colaborare cu cogniticianul noŃiunile de bază folosite, relaŃiile esenŃiale existente între aceste noŃiuni, lucrările principale de efectuat şi restricŃiile generale care intervin în cursul rezolvării problemelor. Acest efort de conceptualizare este necesar pentru a delimita mai exact domeniul de expertiză al viitorului SE şi a fundamenta formularea cunoştinŃelor în cadrul viitoarei baze de cunoştinŃe. Modelarea conceptuală se axează pe evidenŃierea următoarelor aspecte: - identificarea principalelor obiecte, concepte sau entităŃi din domeniul de expertiză; - definirea atributelor necesare pentru descrierea obiectelor, conceptelor sau entităŃilor; - identificarea celor mai importante corelaŃii care există între acestea; - examinarea restricŃiilor principale care guvernează sau intervin în relaŃiile dintre obiecte; - specificarea tipurilor de probleme la care urmează să răspundă viitorul sistem; - definirea cadrului general de utilizare al SE, atât sub aspectul manierei de comunicare a problemelor de rezolvat (prin dialog la terminal, prin consultarea unor baze de date existente etc.), cât şi al interacŃiunii cu utilizatorul final. 3. AchiziŃia cunoştinŃelor - urmăreşte achiziŃia tuturor cunoştinŃelor necesare funcŃionării viitorului SE. Principalele probleme care intervin în realizarea sa sunt: - lipsa de sistematizare iniŃială, consecinŃă a faptului că în exercitarea activităŃii sale, expertul nu are nevoie să-şi exteriorizeze cunoştinŃele ; - tendinŃa firească de omitere a cunoştinŃelor generale aparŃinând fondului comun al profesiei sau domeniului respectiv, care pentru expertul uman sunt subînŃelese; - existenŃa mai multor surse de cunoştinŃe; - dificultatea de a identifica, din masa de cunoştinŃe, pe cele necesare sau relevante; - necesitatea de a considera un număr cât mai mare de excepŃii şi de cazuri nespecifice, pentru a putea conferi suficientă flexibilitate viitorului sistem. Deci, se poate identifica o latură statică, descriptivă, a cunoştinŃelor şi o latură dinamică, ce priveşte modul de participare al acestora în efectuarea raŃionamentelor. Această diferenŃiere trebuie observată şi în achiziŃia cunoştinŃelor, fiind de preferat să se obŃină o descriere cât mai completă înaintea abordării modului în care expertul le corelează şi le utilizează în rezolvarea problemelor. Descrierea cunoştinŃelor se poate axa pe următoarele aspecte, care de altfel corespund celor specificate la modelarea conceptuală: - identificarea obiectelor, conceptelor sau a noŃiunilor folosite; această identificare nu trebuie înŃeleasă numai ca o enumerare, ci ca un proces de atribuire de 72

Sisteme expert

-

-

identificatori unici şi de rezolvare a problemelor legate de eventualele ambiguităŃi, de sinonimii şi omonimii; descrierea obiectelor, conceptelor sau a noŃiunilor folosite, prin precizarea atributelor şi a valorilor relevante ale acestora, care îmbracă de foarte multe ori o exprimare pronunŃat calitativă, de genul "bun", "excelent", "mediocru", "opus" etc.; organizarea cunoştinŃelor, care constă în identificarea şi precizarea reŃelelor ierarhice sau taxonomice (de clasificare) ale obiectelor, conceptelor sau noŃiunilor folosite de către expert; cu acest prilej pot fi stabilite care sunt conceptele primare şi cele derivate, precum şi relaŃiile de transfer succesoral dintre ele.

Odată acest cadru definit, se poate trece la identificarea şi explicitarea regulilor şi strategiilor de raŃionament aplicate de către expertul uman. In virtutea caracterului iterativ al etapei, după o primă definire a cunoştinŃelor, se trece la abordarea strategiilor şi proceselor de raŃionament a căror analiză antrenează revederea şi completarea cadrului conceptual. AchiziŃia cunoştinŃelor se poate realiza pe cale manuală (interviul) sau automată. Automatizarea achiziŃionării cunoştinŃelor presupune definirea unor instrumente informatice care să asigure următoarele servicii: - asistarea expertului în transmiterea directă a cunoştinŃelor sale, fără a mai fi necesară participarea altei persoane (în speŃă, a cogniticianului); - sprijinirea cogniticianului în culegerea mai eficientă a cunoştinŃelor, în special în cazul problemelor de mari dimensiuni sau complexitate ridicată; - inducŃia automată, adică generarea automată de reguli de producŃie pe baza unui set de exemple sau cazuri formulate de expert sau chiar a conŃinutului unei baze de date nespecifice. In această privinŃă, există algoritmi şi programe, independente sau încorporate în generatoare de sistem expert, capabile să efectueze asemenea prelucrări. Spre exemplu, ele pot să examineze conŃinutul unei baze de date, să identifice corelaŃiile dintre valorile luate de atributele acesteia şi să le exprime sub formă de reguli de producŃie. CunoştinŃele achiziŃionate până acum nu sunt direct utilizabile: ele urmează a fi structurate şi exprimate în forma adecvată metodei de reprezentare a cunoştinŃelor şi a particularităŃilor motorului de inferenŃe. 4. Reprezentarea cunoştinŃelor - prin care se urmăreşte asigurarea formalizării şi reprezentării cunoştinŃelor în structura adecvată înregistrării lor în baza de cunoştinŃe şi exploatării de către motorul de inferenŃe. Realizarea sa este facilitată de unele generatoare de sisteme şi de instrumentele informatice de achiziŃionare automată a cunoştinŃelor.

73

Partea 1

5. Validarea sistemului - are drept scop verificarea măsurii în care sistemul obŃinut poate fi utilizat în practică. Validarea sistemului trebuie să cuprindă toate elementele ce caracterizează funcŃionarea sistemului: rezultatele furnizate de către acesta, procesele de raŃionament care conduc la aceste rezultate şi metodele de inferenŃe aplicate. În primul rând se pune problema validării bazei de cunoştinŃe, din punct de vedere al completitudinii şi al coerenŃei. În sistemele cu coeficienŃi de certitudine trebuie luat în considerare şi criteriul neredundanŃei. Completitudinea elimină riscul opririi sistemului datorită inexistenŃei unei reguli. De exemplu, completitudinea este foarte importantă pentru sistemele industriale cu buclă închisă, altfel este necesară mereu intervenŃia operatorului. CoerenŃa reprezintă proprietatea unei baze de reguli de a produce fapte necontradictorii pentru orice bază de fapte necontradictorie. Responsabil cu coerenŃa şi completitudinea bazei de cunoştinŃe este omul şi nu sistemul. Apoi, trebuie să se aibă în vedere validarea propriu-zisă a sistemului. Principalele criterii ce pot fi avute în vedere la validarea sistemului sunt: - naturaleŃea în interacŃiunea cu utilizatorul uman; - gradul de acoperire a gamei de probleme specifice domeniului de expertiză; - capacitatea de a răspunde la formulări diferite ale problemelor; - precizia rezultatelor furnizate şi proporŃia rezolvărilor corecte în raport cu numărul total de probleme tratate. In funcŃie de rezultatele observate, validarea poate impune completarea, rafinarea sau îmbogăŃirea bazei de cunoştinŃe ca şi operarea de modificări structurale menite să îmbunătăŃească parametrii de exploatare curentă. 6. Introducerea în exploatare şi menŃinerea în funcŃiune - cuprinde ansamblul activităŃilor necesare trecerii la stadiul de sistem operaŃional. Aceasta se realizează pe două nivele: - prin integrarea în structurile organizatorice existente; - prin integrarea cu aplicaŃiile informatice aflate deja în exploatare. Trebuie să se acorde o atenŃie sporită mentenabilităŃii aplicaŃiei, deci utilizarea după o oră, o zi sau o săptămână să dea aceleaşi performanŃe.

74

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close