Sunteți pe pagina 1din 111

Obiective

Cursul urmrete dobndirea, de ctre studeni a unor competene n dezvoltarea i implementarea prototipurilor de sisteme expert, ca i n utilizarea unor sisteme expert dezvoltate n domeniul specializrii lor. Astfel se urmrete: - dobndirea unor cunotine fundamentale despre Inteligena Artificial - nsuirea tehnologiilor de elaborare a sistemelor expert - nsuirea metodelor de reprezentare a cunotinelor - studiul unor generatoare de sisteme expert - dobndirea abilitii de a utiliza sisteme expert disponibile.

Teme
Nr. crt. 1. 2. 3. 4. Denumirea temei Timp mediu necesar pentru asimilare 2 ore 3 ore 3 ore 3 ore 3 ore 3 ore 3 ore 3 ore 3 ore 2 ore

Noiuni de Inteligen Artificial Fundamentele sistemelor expert Reprezentarea cunoaterii. Metode logice Reprezentarea cunoaterii. Alte metode de reprezentare Paradigma conexionist. Introducere n teoria reelelor 5. neuronale Motorul de inferene al sistemelor expert bazate pe reguli 6. de producie 7. Gestionarea incertitudinii. Raionament nuanat (fuzzy) 8. Consideraii privind construirea sistemelor expert 9. Exemplu de realizare a unui sistem expert 10. Generatoare de sisteme expert. Exsys

Competene dobndite Dup nsuirea coninutului acestui curs studenii vor dobndi competene n urmtoarele domenii: Abordarea rezolvrii problemelor pin intermediul Inteligenei Artificiale; Modelarea i reprezentarea cunotinelor prin mijloace comprehensibile pentru calculatorul electronic; Modelarea neuronal a unor clase de probleme; Arhitectura sistemelor expert, funcionarea acestora i utilizarea lor;

Realizarea de sisteme expert folosind generatoarele de sisteme expert.

Cuprins

11. NOIUNI DE INTELIGEN ARTIFICIAL.............................................5 1.1. Definiii ale inteligenei artificiale..............................................................5 1.2. Scurt istoric al IA .......................................................................................7 1.3. Componentele Inteligenei Artificiale........................................................9 1.4. Aplicaii ale IA..........................................................................................10 1.5. Rezolvarea problemelor de IA..................................................................12 1.6. Sisteme informatice bazate pe cunotine.................................................14 12. FUNDAMENTELE SISTEMELOR EXPERT..............................................17 2.1. Definiii ale sistemelor expert...................................................................17 2.2. Scurt istoric al SE......................................................................................18 2.3. Arhitectura sistemelor expert....................................................................18 2.4. Aplicaii ale sistemelor expert. Sisteme expert de gestiune......................22 13. REPREZENTAREA CUNOATERII...........................................................29 3.1. Cunoaterea. Definiii. Clasificri............................................................29 3.2. Modaliti generale de reprezentare a cunoaterii...................................31 3.3. Elemente de logica propoziiilor...............................................................32 13.4. Logica predicatelor.................................................................................35 3.5. Reguli de producie...................................................................................39 13.6. Alte modaliti de reprezentare a cunotinelor......................................48 4. PARADIGMA CONEXIONIST. INTRODUCERE N TEORIA................63 REELELOR NEURONALE..............................................................................63 4.1. Neuron natural i neuron artificial. Inspiraie din neurotiine................63 4.2. Modele de neuroni i de reele neuronale artificiale................................65 4.3. Implementri, aplicaii, tendine...............................................................67 4.4. Reelele neuronale artificiale i sistemele expert ................................69 5. MOTORUL DE INFERENE AL SISTEMELOR EXPERT.........................73 BAZATE PE REGULI DE PRODUCIE..........................................................73 5.1. Ciclul de baz al motorului de inferene...................................................73 5.2. Moduri de raionament pentru motoarele de inferene.............................74 5.3. Strategii de control ntr-un sistem expert ................................................80 5.4. Unificarea predicatelor..............................................................................81 16. CONSIDERAII PRIVIND CONSTRUIREA SISTEMELOR EXPERT....84 6.1. Limbaje folosite n realizarea sistemelor expert.......................................84 6.2. Consideraii practice privind realizarea sistemelor expert.......................84 6.3. Sistem multi-expert...................................................................................86 17. EXEMPLU DE REALIZARE A UNUI SISTEM EXPERT.........................90 PERFORMAN FINANCIAR.......................................................................92 18. GENERATOARE DE SISTEME EXPERT................................................100 3

8.1. Arhitectura generatoarelor de sisteme expert (GSE)..............................100 8.2. Prezentare sintetic a generatorului de SE EXSYS Professional............103 TESTE DE AUTOEVALUARE........................................................................109 I 109 1. Prezentai concis componentele Inteligenei Artificiale.................................109 2. Prezentai concis arhitectura sistemelor expert..............................................109 3. Prezentai concis regulile de producie...........................................................109 4. Realizai o comparaie sintetic ntre logica propoziiilor i logica predicatelor de ordinul I. ....................................................................................................109 5. S se construiasc tabelul de adevr asociat urmtoarei formule:.................109 109 6. Se consider urmtoarele afirmaii:................................................................109 Dac o main e mai rapid dect un Porsche, atunci e o main sport. Este de asemenea o main sport dac este mai rapid dect o alt main sport. Dac X este mai rapid dect Y i Y este mai rapid dect Z, atunci X este mai rapid dect Z. Mai mult, dac o main este mai rapid dect un Porsche i un Ferrari atunci este o main de formula 1.......................................................109 A) Formulai predicatele necesare pentru a codifica aceste fapte (spre exemplu Mai_rapid (X,Y));...........................................................................................109 B) Codificai faptele de mai sus ca un sistem de reguli de producie................109 BIBLIOGRAFIE.................................................................................................110

11. NOIUNI DE INTELIGEN ARTIFICIAL 1.1. Definiii ale inteligenei artificiale Inteligena artificial (IA) reprezint un domeniu al informaticii care urmrete realizarea unor sisteme care s reproduc (s imite) caracteristicile inteligenei umane: nelegerea limbajului, nvarea, raionamentul, rezolvarea problemelor, recunoaterea formelor etc. Ea se afl la confluena mai multor tiine: informatica, tiinele cognitive, logica, neurotiinele etc. Inteligena natural este definit [1] ca fiind capacitatea de a nva sau nelege din experien, abilitatea de a achiziiona i memora cunotine, capacitatea de a rspunde rapid i eficient la probleme noi, utilizarea facultii de a raiona. Altfel spus, inteligena poate fi definit ca abilitatea de a achiziiona cunotine i de a le utiliza folosind gndirea i raionamentul. n ceea ce privete inteligena artificial exist o multitudine de definiii, dintre care o parte vor fi trecute n revist mai jos, toate concurnd ns spre ideea de a nzestra mainile cu ceea ce la oameni se numete inteligen. Iat cteva dintre cale mai cunoscute definiii ale IA: $ IA este legat de automatizarea activitilor pe care noi le asociem cu gndirea uman, activiti cum ar fi rezolvarea problemelor, luarea deciziilor, nvarea (Bellman, 1978) [6]. $ IA este legat de efortul de a face calculatoarele s gndeasc, de a nzestra mainile cu minte, n sensul cel mai literal (Hangeland, 1985) [6]. $ IA este studiul proceselor de calcul ce fac posibile percepia, raionamentul i aciune (Winston, 1992) [6]. $ Sistemele inteligente sunt acele sisteme care gndesc raional i acioneaz raional (Russel i Norvig, 1995) [1]. O alt abordare interesant a inteligenei n general i a cele artificiale n particular este prezentat n referina [13]: Se poate defini inteligena ca o msur a succesului unei entiti de a-i atinge obiectivele prin interaciune cu mediul su. Consecinele acestei definiii sunt: A. Comportamentul inteligent poate fi observat doar n prezena unui mediu; B. Pentru a msura inteligena trebuie s existe scopuri i o scal pentru a determina ct de bine sunt acestea atinse; C. Aceast definiie permite existena mainilor inteligente; D. Abilitatea de a etala inteligen depinde de interaciunea cu mediul i de mecanismele interne ale sistemului n cauz. Din cele expuse mai sus rezult o serie de elemente comune dar i de deosebiri n definirea IA de ctre diveri cercettori. Problema poate fi simplificat dac se d o definiie operaional a unui sistem inteligent: cum trebuie s se comporte un sistem pentru a fi considerat inteligent. Aceast definiie a fost dat de Alan Turing care a conceput n 1950 celebrul test ce-i poart numele. Testul Turing este urmtorul [6]: se consider un joc de imitaie, la care particip trei juctori. Juctorul A este un brbat iar juctorul B este o femeie. Juctorul C (judectorul) comunic printr-un sistem de teleimprimare cu A i B, fr

s-i poat vede pe acetia. Juctorul C trebuie s decid, prin ntrebri adresate celorlali doi, care este brbat i care este femeie. Scopul lui A este s-i faciliteze lui C o identificare corect pe cnd scopul lui B este s provoace o identificare eronat. Dac n locul unui brbat i a unei femei se pun un om i o main, aceasta poate fi considerat inteligent dac C nu poate decide care este omul i care este maina. O alt variant const n nlocuirea lui C cu un sistem artificial i dac acesta face corect identificarea femeii i a brbatului, se spune c este un sistem inteligent. Elementele caracteristice ale IA, puse n eviden de definiiile de mai sus pot fi i mai mult reliefate prin comparaie cu informatica convenional: Tabelul 1.1. Comparaie ntre IA i programele convenionale. Sursa [1], pag. 14. Criteriul Programe de IA Programe convenionale Natura prelucrrii Natura intrrilor Cutarea Explicaii Scopul principal Structura Natura ieirilor ntreinerea i actualizarea Hardware Capacitate de raionament n principal simbolic Pot fi incomplete n principal euristic Ofer explicaii Cunoaterea Separarea cunoaterii de control Pot fi incomplete Relativ uoar datorit modularitii cunoaterii n principal PC-uri i staii de lucru Da n principal numeric Obligatoriu complete Algoritmic Uzual nu ofer explicaii Date i informaii Controlul este integrat cu datele i informaiile Obligatoriu corecte i complete Uzual dificil Toate tipurile de calculatoare Nu

n aceeai idee a evidenierii particularitilor IA, referina [3] mparte informatica clasic n patru domenii: Tabelul 1.2. Domeniile informaticii clasice. Sursa [3], pag. 2. Limbajul Domeniul informaticii Msurarea performanei folosit Informatic tiinific FORTAN Informatic de gestiune Informatic n timp real COBOL ADA FLOPS (floating point operation per second) IPS (instructions per second) DEBIT n BPS (bits per second) i timpi de comutare de context Obiectele manipulate numere reale iruri de caractere i numere ntregi evenimente

Domeniul informaticii

Limbajul folosit

Msurarea performanei FLOPS (floating point operation per second)

Obiectele manipulate numere reale

Informatic tiinific FORTAN Informatic simbolic LISP (inteligen PROLOG artificial)

LIPS (logical inferences per concepte second)

1.2. Scurt istoric al IA Primele elemente de IA pot fi semnalate nc din Egiptul antic, dar preocuprile constante de studiere a inteligenei umane i de realizare a unor sisteme inteligente au aprut dup al doilea rzboi mondial. Momentul naterii IA este considerat anul 1956 cnd a fost folosit pentru prima oar i termenul Artificial Intelligency. Tabelul 1.3 ilustreaz principalele jaloane istorice ale IA. Tabelul 1.3. Istoria inteligenei artificiale. Sursa [1], pag.15. ANUL EVENIMENTUL 3000-2778 IC 200 IC 1930 DC 1936 1943 1950 1951 1951 1955 S-a realizat n Egipt primul sistem expert pe hrtie de papirus cu aplicaie n chirurgie. n China s-au realizat automate i orchestre mecanice. Se utilizeaz un analizor diferenial n reglarea tirurilor artileriei. Alan Turing prezint o main capabil s soluioneze orice problem din matematici cu ajutorul unui alfabet i unui set de reguli. McCulloch i Pitts propun arhitecturi de reele neuronale pentru inteligen artificial Isaac Asimov prezint trei legi ale roboticii. UNIVAC I - Primul calculator electronic introdus pe pia, conceput de Eckert i Mauchly. Marvin Minsky a construit primul calculator neuronal SNARK. Allen Newell, J.C. Shaw i Herbert Simon au realizat primul limbaj de programare n inteligena artificial IPL 11 (Information Proccesing Language 11). Newell, Shaw i Simon creeaz programul numit Logic Theorist care n 1957 devine General Problem Solver. Se folosesc tehnici recursive pentru soluionarea problemelor matematice n logica propoziiilor. La colocviul de la Darthmouth College din New Hampshire (SUA) se lanseaz termenul de inteligen artificial de ctre John McCarthy acceptat unanim pentru a desemna o nou tiin i tehnologi. Nathaniel Rochester prezint primul sistem neuronal realizat cu calculatorul electronic.

1956

1956

ANUL 1957 1959 1965 1966 1967 1967 1968 1970 1973 1974 1975 1976 1977 1978 1979

EVENIMENTUL Apare o descriere a PERCEPTRON-ului I, model care are capacitatea de a recunoate formele, de ctre F. Rossenblatt cu sistemele neuronale. Apare limbajul LISP, primul utilizat pe scar larg n inteligena artificial (John McCarthy). ncepe proiectul DENDRAL, primul sistem expert, destinat analizei structurilor moleculare (B. Buchanan, E. Feigenbaum, J. Lederberg). Logica Fuzzy-Zadeh. Apare ELIZA - un program inteligent psihanalist (J. Weizenbaum) care interoga pacienii. S-a creat primul laborator de inteligen artificial la M.I.T. (SUA). ncep lucrrile la INTERNIST, primul sistem expert pentru diagnostic medical, de ctre A. Pople i J. Myers, n prezent denumit CADUCEUS, funcional din 1982. Apar reele semantice i modelul memoriei asociative de Quillian. Apare limbajul PROLOG realizat de Alain Colmerauer i Roussel (Frana). Sistemul expert MYCIN pentru diagnostic medical. Apare primul robot controlat de calculatorul electronic. Tehnica Frames (cadre) de M. Minsky. PROSPECTOR - pentru expertiz geologic (Duda & Hart). OPS-shell utilizat n realizarea lui XCON/R1 (Forgy). Este lansat PROSPECTOR, un sistem expert pentru localizarea zcmintelor geologice de R.O. Duda i colegii si. Algoritmul Rete pentru accelerarea execuiei SEBR (Forgy).

Sfritul anilor Se nfiineaz primele firme specializate n inteligena artificial care 70 i ncep s comercializeze sisteme expert. nceputul anilor 80 1980 1980 1981 1982 1983 1985 1988 Sistemul expert XCON de la Digital Equipment Corporation pentru configurarea calculatoarelor. Mainile LISP (Symbolics, LMI). Kazuhiro Fuchi anun proiectul japonez A cincia generaie John Hopfield resusciteaz reelele neuronale. KEE-shell (Intellicorp). CLIPS-shell (NASA). Piaa sistemelor expert era deja de circa 400 milioane dolari SUA.

ANUL n anii 80

EVENIMENTUL Se nfiineaz programul ESPRIT (European Strategic Program for Research in Information Technology) pentru Comunitatea European.

Sfritul anilor Crete numrul firmelor i sistemelor expert comercializate, al 80 i sistemelor neuronale, roboilor etc. nceputul anilor 90 1990 i urmtorii 1992 1994 1997 Cercetri n domeniul agenilor inteligeni ncorporai n medii reale (Newell, Laird, Rosenbloom). MARVEL - sistem expert n timp real care monitorizeaz zborurilor spaiale. PEGASUS - program inteligent pentru recunoaterea vorbirii. Calculatorul IBM Deep Blue l nvinge pe campionul mondial la ah Garry Kasparov! Roboi interactivi (animale) devin disponibili comercial (ex. AIBO realizat de Sony). MIT realizeaz robotul Kismet, capabil s exprime emoii. Robotul Nomad de la Carnegie Mellon exploreaz zone ndeprtate din Antarctica i localizeaz meteorii. Se experimenteaz un prototip de avion-robot proiectat pentru misiuni de lupt.

2000

2002

1.3. Componentele Inteligenei Artificiale Aa cum s-a putut vedea n seciunile anterioare, IA ca tiin are o vrst relativ mic i acest lucru se manifest i printr-o oarecare neclaritate a frontierelor sale. Figura 1.1. prezint sintetic un punct de vedere asupra componentelor IA. n sintez, se pot face urmtoarele afirmaii [3]: IA simuleaz raionamentele de gndire ale creierului uman prin intermediul unor reguli de raionament aplicate succesiv prin intermediul unui sistem de calcul i a unui nou mod de programare de tip declarativ ce utilizeaz conceptele de reguli, fapte i motoare de inferen (MI). Apare astfel un nou domeniu al informaticii - informatica simbolic - caracterizat prin limbaje specializate (LIPS, PROLOG) i concepte specifice.

$ $

Domeniile (componentele) clasice ale IA sunt: interfeele, ce asigur: - percepia vizual; - imagine pe calculator; - tratarea automat a cuvintelor; raionamentele, cuprind: - sisteme expert; - demonstrarea teoremelor; instrumentele, conin: - baze de cunotine;

- reprezentarea cunotinelor; - maini specializate / maini LISP. De asemenea, la intersecia acestor domenii, IA mai conine: - traducerea automat; - nelegerea limbajelor naturale; - metodologie-ajutor n programare; - baze de date deductive. 1.4. Aplicaii ale IA Componentele IA ilustrate n fig. 1.1. sugereaz i principalele domenii de aplicaie ale IA [1]: $ Rezolvitoare generale de probleme $ Sisteme expert $ Prelucrarea limbajului natural $ Recunoaterea formelor $ Robotica $ nvmntul asistat de calculator n capitolul 2 se vor prezenta mai multe aplicaii ale inteligenei artificiale n domeniul economic i al gestiunii.

10

Interfee . Percepie vizual . Imagini pe calculator . Tastarea automat a cuvintelor

.Traducere automat . Inelegerea limbajelor naturale

Raionament Logic . sisteme expert . demonstrarea teoremelor

Ajutor n programare . Baze de date deductive

. Baze de cunosinte . Reprezentarea cuvintelor . Limbaje specializate . Maini specializate / maini LISP Instrumente

Fig. 1.1. Componentele Inteligenei Artificiale. Sursa [3], pag. 3. Aceste aplicaii ale IA sunt realizate cu ajutorul sistemelor inteligente care se bazeaz pe una din cele dou abordri fundamentale: Prelucrarea simbolic a informaiilor (cunotinelor); Paradigma conexionist (abordarea neuronal). Abordarea logico-simbolic a condus la realizarea unor programe inteligente, din categoria rezolvitoarelor generale de probleme i sisteme expert. Abordarea neuronal, foarte activ n momentul de fa pornete de la simularea neuronal (hardware) a creierului uman. S-au obinut rezultate remarcabile n recunoaterea formelor, recunoaterea vorbirii etc. Principalele tipuri de sisteme inteligente, realizate pornind de la una din abordrile de mai sus sunt [1]: $ Sistemele neuronale artificiale. Sunt bazate pe paradigma conexionist i au aplicaii, n aproape toate domeniile vieii sociale. $ Sistemele inteligente bazate pe algoritmi genetici. Funcionarea lor este inspirat din biologie, n sensul c n timp se ncurajeaz soluiile candidat capabile s rezolve o problem i se penalizeaz soluii care eueaz (similar cu evoluia biologic). $ Sistemele fuzzy. Sunt sisteme bazate pe logica nuanat i s-au dovedit

11

performante n aplicaii de control i de recunoatere a structurilor. Sistemele fuzzy pot prelucra incertitudinea i imprecizia. $ Sistemele expert reprezint unul dintre succesele IA i se caracterizeaz prin faptul c rezolv probleme complexe la nivelul de performan al experilor umani. $ Sisteme inteligente hibride sunt sisteme ce implic cooperarea dou sau mai multe tehnologii din cele de mai sus. Astfel exist sisteme neuro-fuzzy, sisteme expert fuzzy etc. 1.5. Rezolvarea problemelor de IA Tabelele 1.1 i 1.2 din seciunea 1.1. au pus n eviden trsturile particulare eseniale ale IA. n cele ce urmeaz vom prezenta concis i alte elemente caracteristice ale acestui domeniu: metodele de rezolvare a problemelor de IA. n primul rnd s ncercm s precizm care sunt clasele de probleme ce fac obiectul IA. n general o problem poate fi rezolvat prin urmtoarele tehnici [9]: a) utilizarea unei formule explicite. Exemplu: n ( n +) 1 S n = + +. + = 1 2 .. n 2 b) utilizarea unei expresii pentru modul de calcul (formul de recuren):

= n , S Sn 1 +

= 0

c) construirea soluiei prin enumerare sau prin ncercare - eroare. n general, n cazul rezolvrii algoritmice a unei probleme se definete complexitatea algoritmului ca fiind numrul de operaii de efectuat, n funcie de dimensiunea intrrii (n exemplele precedente, n funcie de n). n cazul n care complexitatea este mrginit de o expresie polinomial de gradul K, se spune c problema este polinomial (n exemplul 1 complexitatea este O(0) n exemplul 2 este O(n). Problemele pentru care nu se cunoate un algoritm polinomial se numesc probleme NP (not polynomial) i o categorie aparte de astfel de probleme se numesc NP complete. n general clasa problemelor de IA este cea a problemelor complexe care fie nu au o soluie cunoscut fie soluiile cunoscute sunt prea complicate (ex. probleme NP) 1.5.1. Specificarea problemelor de IA Problemele sunt puse adesea sub forma unui enun informal n limbaj natural. Pentru a rezolva problema cu ajutorul unui calculator este necesar s se emit specificaiile problemei [4]: Enun Enun formalizat Soluia Descrierea formal a unei probleme necesit urmtoarele [3]: 1. Definirea unui spaiu al strilor problemei care s conin toate configuraiile posibile. 2. Specificarea uneia sau mai multor stri din spaiul strilor din care procesul de rezolvare s poat porni (stri iniiale). 3. Specificarea uneia sau mai multor stri care pot fi acceptate ca soluii (stri

12

scop sau stri finale). 4. Specificarea unei mulimi de reguli care descriu aciunile permise (operatorii permii). 5. Specificarea unei strategii de control care s decid ce aciune trebuie efectuat n fiecare stare. Exist mai multe tipuri de enunuri: 1. Enunuri de tip 1 pentru probleme de tip combinatoriu; 2. Enunuri de tip 2 pentru probleme cu operatori de schimbare de stare; 3. Enunuri de tip 3 cu operatori de decompoziie a problemei; Rezolvare unor probleme dificile conduce uneori la acceptarea unei soluii care nu este optim. O astfel de strategie de control care nu garanteaz cea mai bun soluie ci o soluie foarte bun poate folosi cunoaterea euristic despre problem. O euristic este o regul empiric, o simplificare sau orice alt mecanism care limiteaz drastic cutarea soluiei n spaii mari de probleme [1]. 1.5.2. Rezolvarea problemelor Rezolvarea unei probleme const n gsirea unui drum n spaiu strilor dintr-o stare iniial ntr-o stare final. Este un proces de cutare n care se folosesc reguli i o strategie de control. n IA cutarea are dou semnificaii majore: cutarea unui drum spre scop; cutarea unei soluii (este un caz mai general implicnd cutarea ntr-un spaiu mai mare de soluii posibile). O modalitate convenabil de structurare a sistemelor inteligente n scopul realizrii procesului de cutare o constituie sistemul de reguli de producere (producie). Un sistem de producie const n urmtoarele componente [6]: a) O baz de fapte ce constituie informaia necesar pentru o sarcin particular; b) O mulime de reguli (operatori) de tipul condiii, aciune (c, a). Regulile de producie acioneaz asupra bazei de date, modificnd-o; c) O strategie de control - care specific n ce ordine se aplic regulile. Principalele diferene dintre sistemele de producie i programele informatice clasice (procedurale) sunt: $ toate regulile au acces la baza de fapte. Nici o dat nu este legat n mod special de o anumit regul; $ regulile nu se apeleaz una pe alta, comunicarea dintre ele fcndu-se prin intermediul bazei de fapte; $ n cazul programelor convenionale orice modificare n baza de cunotine poate antrena schimbri mari n structura programelor; $ n cazul sistemelor de producie, baza de fapte fiind separat de baza de reguli i de mecanismul de control, se pot face modificri n oricare dintre ele, fr a le afecta pe celelalte. 1.5.3. Strategii de control Prin strategia de control se nelege selectarea, filtrarea regulilor ce vor fi aplicate

13

i nregistrarea istoricului aciunilor deja desfurate. Strategiile de control pot fi: $ strategii irevocabile - la care aplicarea unei reguli conduce la excluderea ei n viitor; $ strategii cu revenire (prin ncercri succesive) n care se poate reveni la alegerea unei reguli. Strategiile de control pot fi reprezentate convenabil prin grafuri (grafe) sau arbori. Un arbore care pstreaz urmele diferitelor reguli aplicate i ale strilor rezultate se numete arbore de cutare. Starea sau strile iniiale reprezint nodul rdcin al arborelui. Aplicarea unei reguli asupra unui nod conduce la apariia unui succesor al acestui nod. Aplicarea regulii se reprezint printr-un arc ntre nodul printe i succesorul su. Construirea arborelui nceteaz cnd se atinge o stare final. Cutarea ntr-un arbore se poate face n lrgime (cnd pentru un nod se genereaz toi succesorii) sau n profunzime (cnd se avanseaz n adncime alegnd cte o singur ramur din fiecare nod). 1.5.4.Cutarea euristic Unele probleme conduc, n cutarea soluiei optime, la un numr foarte mare de pai (explozie combinatorial). n aceste cazuri se renun la cutarea soluiei optime n favoarea unei soluii bune sau foarte bune. O astfel de strategie se numete euristic. Termenul vine din grecete (heuristikein = a descoperi) i desemneaz studiul metodelor i regulilor descoperirii i inveniei. O metod euristic este o tehnic de mbuntire a eficienei cutrii, eventual sacrificnd cerine de completitudine. n general o euristic este o regul euristic, o strategie, o simplificare ce limiteaz semnificativ cutarea soluiei n spaii mari de probleme [6]. Folosirea euristicilor se bazeaz i pe faptul c n realitate de puine ori este necesar o soluie optim, de multe ori fiind suficient o soluie satisfctoare. Rezult c informatica simbolic manipuleaz baze de fapte (BF), baze de reguli (BR), baze de cunotine (BC) i motoare de inferene (MI). BF conine faptele privite ca structuri de date complexe ce reprezint un anumit sens. BR posed multitudinea regulilor aplicabile faptelor pe baza crora se construiete soluia problemei abordate. Dac acceptm ideea potrivit creia cunotinele sunt operatori elementari de transformare a faptelor, atunci BC regrupeaz cunotine relative la un domeniu specific utilizate pentru obinerea unei soluii (denumit scop sau int) prin activarea unui MI ce activeaz BC i constituie mecanismul de raionament n scopul cercetrii soluiei pentru problema abordat. 1.6. Sisteme informatice bazate pe cunotine Aa cum am ncercat s evideniem n seciunile precedente, inteligena artificial ncearc s realizeze sisteme care s emuleze capacitatea omului de a rezolva probleme complexe i a condus la apariia unor noi tipuri de sisteme informatice. Astfel de sisteme informatice care surprind capacitatea unui expert uman de a rezolva probleme ntr-un domeniu specific folosind baze de cunotine poart numele de sisteme informatice bazate pe cunotine (SIBC) iar de proiectarea i implementarea acestor sisteme se ocup ingineria cunoaterii [20]. Apariia acestor sisteme a fcut

14

necesar cooperarea specialitilor din domeniul abordat (experii) cu inginerii de cunotine sau cognoticienii (fig. 1.2).

Informaii

Experien ntrebri, probleme

nelegera nevoilor utilizatorilor

Expertul n domeniu Rspunsuri, soluii, explicaii, euristici

Inginerul de cunotine

Fig. 1.2. Rolul inginerului de cunotine. Sursa:[20] n vederea utilizrii prin program, cunoaterea este memorat sub forma unor piese de cunoatere, ce descriu fapte, fenomene, procese, evenimente, obiecte cu nsuiri dintr-o parte a lumii reale ce constituie domeniul de competen al programului. Un domeniu concret poate avea ntre 50000 i 100000 de piese de cunoatere specifice

15

ntrebri recapitulative la tema 1 1. Prezentai cteva deosebiri dintre inteligena natural i inteligena artificial. 2. Indicai cinci deosebiri ntre programele de IA i programele informatice convenionale. 3. Indicai cinci momente eseniale din istoria IA. 4. Care sunt etapele de rezolvare a unei probleme cu calculatorul, respectiv de ctre om? 5. Ce este graful de rezolvare a unei probleme? 6. Care sunt principalele componente ale IA? 7. Indicai domeniile aplicative ale inteligenei artificiale. 8. Care sunt etapele de rezolvare a unei probleme de IA? 9. Indicai cteva avantaje i cteva limite ale IA. 10. Ce se nelege prin euristic i n ce const aplicarea ei? 11. Dai exemple de probleme n cazul crora este util folosirea unei euristici. 12. Tehnicile de cutare exhaustiv se deosebesc de tehnicile de cutare euristic prin faptul c: a. sunt mult mai eficiente; b. parcurg arborele soluiei pe orizontal; c. conin informaii care confirm c o anumit cale este mai bun dect alta; d. parcurg ntregul arbore pentru a gsi toate soluiile posibile. 13. Prin cutarea soluiilor in IA se nelege: a. cutarea tuturor soluiilor care leag nodul rdcin de nodul int; b. cutarea unei clase de obiecte cu atribute date; c. cutarea unui obiect descris de utilizator; d. cutarea unei ci in graful orientat al nodurilor, cale care s duc la int. Activiti la tema 1 A1. ncercai s aflai, folosind resursele Internetului, cteva previziuni privind utilizarea Inteligenei Artificiale n viitor. A2. ncercai s punei pe hrtie cteva sugestii personale de utilizare a IA n domeniul Contabilitii. A3. Stabilii dac pn acum ai folosit ntr-o mprejurare oarecare instrumente sau tehnici de IA. Dup parcurgerea cestui modul ar trebui s fii capabili s:

Facei diferena ntre obiectivele, tehnicile i instrumentele IA i cele ale informaticii tradiionale, Identificai problemele ce pot fi abordate prin intermediul IA. Avei o privire de ansamblu asupra perspectivelor utilizrii IA n activitatea uman.

16

12. FUNDAMENTELE SISTEMELOR EXPERT 2.1. Definiii ale sistemelor expert Sistemele expert (SE) reprezint, alturi de reelele neuronale artificiale (RNA), o ramur a Inteligenei Artificiale (IA) care s-a impus prin aplicaii comerciale n ultimul deceniu. Aa cum s-a vzut n capitolul 1, exist mai multe viziuni diferite asupra IA. Este de aceea uor de neles c i pentru SE exist mai multe definiii diferite. Vom trece n revist cteva dintre acestea, ncercnd s extragem elementele comune. Unul din pionerii IA, Edward Feigenbaum definete SE ca un program inteligent pentru calculatorul electronic, care utilizeaz cunoaterea i proceduri de inferen pentru soluionarea problemelor, care sunt suficient de dificile pentru a necesita o expertiz uman semnificativ pentru soluionarea lor [1]. O alt definiie este dat de profesorii I. Giarratano i G. Riley (NASA): Un sistem expert este un sistem care emuleaz abilitatea de a lua decizii a expertului uman [1]. n sfrit dup Farrey H. sistemele expert sunt programe, dar pot fi tot att de bine maini cu software, destinate s nlocuiasc sau s asiste specialistul n domeniile unde este recunoscut necesitatea expertizei umane [1]. O sintez a definiiilor SE conduce la urmtoarele idei [1]: - sistemele expert urmresc reconstituirea raionamentului uman pe baza expertizei preluate de la experii umani; - sistemele expert posed cunotine i capacitate de a face raionamente; - sistemele expert sunt concepute pentru achiziia i exploatarea cunoaterii dintrun domeniu particular, numit domeniul problemei; - sistemele expert se bazeaz pe principiul separrii cunoaterii de programul care trateaz aceast cunoatere. Dup opinia majoritii specialitilor din IA sistemele expert sunt un subdomeniu al sistemelor bazate pe cunotine, care la rndul lor sunt un subdomeniu al IA (fig. 2.1):
Sisteme de inteligen artificial Sisteme bazate pe cunotine Sisteme expert Prezint un comportament inteligent prin aplicarea euristicilor Au cunoaterea din domeniu explicit i separat de restul sistemului Aplic cunoaterea la probleme dificile din lumea real

Fig. 2.1. Relaia Sisteme expert - Sisteme de inteligen artificial. Sursa [1], pag. 40 O caracteristic special a SE o constituie separarea cunotinelor despre domeniul problemei, de cunotinele despre rezolvarea problemei i de cele despre interaciunea cu utilizatorul. Se folosesc termenii [1]:

17

- baz de cunotine - pentru cunotinele despre domeniul problemei; - motor de inferene - pentru cunoaterea despre modul de rezolvare a problemei; - interfaa de dialog - pentru cunoaterea despre interaciunea cu utilizatorul. Aceste noiuni vor fi detaliate n seciunea 2.3. 2.2. Scurt istoric al SE Primul sistem expert este considerat sistemul DENDRAL realizat la mijlocul anilor 70 de cercettorii de la Stanford, la solicitarea NASA. Sistemul ngloba cunoaterea referitoare la structura chimic a substanelor, pornind de la spectrografia de mas i era destinat analizei solului de pe Marte. Un alt sistem expert vestit i comercializat a fost Mycin, realizat n 1980 la Stanford University i destinat diagnozei infeciilor sanguine. Acesta a fost urmat de Emycin (Empty Mycin - primul shell de sisteme expert), pentru diagnostic n medicin i n alte domenii. n continuare au aprut un mare numr de sisteme expert (CASSNET - specializat n diagnosticul glaucomului, Internist, destinat medicinii interne, Molgen, specializat n biologie molecular etc.) cu caracter mai mult experimental. Dup 1985 i-au fcut apariia SE puternice i comerciale. Paralel cu aceast evoluie au aprut sau au fost perfecionate limbaje speciale de programe destinate SE (i n general destinate IA) cum ar fi LISP sau PROLOG. Evoluia sistemelor expert s-a produs pe urmtoarele coordonate: - creterea cantitii de cunoatere nglobate (mai ales creterea numrului de reguli utilizate); - diversificarea domeniilor de aplicaie; - perfecionarea interfeei cu utilizatorul. Experiena cptat n aceast perioad a condus la apariia instrumentelor sau a mediilor de dezvoltare a SE, i treptat la eliminarea specialitilor special formai n domeniul limbajelor de inteligen artificial. Exist astzi un mare numr de generatoare de SE (shell) care pot fi folosite de cognoticieni (ingineri de cunotine) sau chiar de ctre experi. Dintre sistemele expert implementate, peste 60% sunt orientate spre gestiunea ntreprinderilor (business oriented), restul acoperind domeniile utilitar, medical, educativ etc. Cea mai spectaculoas realizare n domeniul afacerilor o constituie sistemele expert integrate n aplicaii multimedia. n prezent cel mai bine acoperit cu sisteme expert aflate n exploatare este domeniul financiar - contabil: plasamentul creditelor, gestiunea portofoliilor, planificarea taxelor i impozitelor etc. 2.3. Arhitectura sistemelor expert Scopurile principale avute n vedere la realizarea unui sistem expert sunt: achiziionarea uoar a cunoaterii, prin prelucrarea ct mai simpl a expertizei de la experii umani; exploatarea eficient a coleciei de cunotine; uurina de a efectua diverse operaii (adugare, modificare, eliminare) asupra

18

cunotinelor. Pentru realizarea acestor obiective, structura unui sistem expert cuprinde urmtoarele componente eseniale (fig. 2.2.): a) Baza de cunotine n care sunt stocate piesele de cunoatere specifice unui domeniu. Aceast baz de cunotine trebuie s satisfac scopul al treilea. b) Motorul de interferene - este un program care conine cunoaterea de control, procedural sau operatorie, care exploateaz baza de cunotine i este destinat combinrii i nlnuirii cunotinelor pentru a infera noi cunotine prin judeci, planuri, demonstraii, decizii i predicii. c) Interfaa de dialog cu utilizatorii care dispune i de un limbaj de exprimare a cunoaterii achiziionate de la experii umani.

BAZA DE CUNOTINE FAPTE REGULI

MOTOR DE INFERENE Inferene Control Achiziia cunotinelor Interfaa cu utilizatorul

Modul explicativ

Expert i cognotician

Utilizator

Fig. 2.2. Reprezentare simplificat a unui sistem expert n afara acestor componente de baz, un sistem expert trebuie s asigure: - achiziia i modificarea pieselor de cunoatere; - interaciunea cu utilizatorul n timpul lucrului; - explicarea raionamentelor fcute. Ca urmare apar nc dou componente ale sistemului expert: d) Modulul de achiziionare a cunoaterii - care ajut utilizatorul expert s introduc cunotine ntr-o form recunoscut de ctre sistem. e) Modulul explicativ furnizeaz, la solicitarea utilizatorului, explicaii asupra desfurrii proceselor infereniale. Trebuie subliniat c sistemele expert nu interacioneaz numai cu utilizatorul uman, n cadrul sistemului informaional general al organizaiei. El poate fi apelat sau poate apela programe externe, poate folosi senzori, baze de date etc. Ca urmare, arhitectura complet a unui sistem expert este prezentat n figura 2.3.

19

Expert Cognotician Senzori Program apelat

Baza de cunotine Baza de reguli Baza de fapte

Modul explicativ Motor de inferene Modul de achiziie a cunoaterii

Interfaa

Fig. 2.3. Arhitectura unui sistem expert i modul de interfaare. Sursa:[1], pag.44 n continuare vom detalia fiecare din modulele prezentate mai sus. Baza de cunotine conine informaii preluate de la experii umani n legtur cu domeniul problemei constnd n situaii evidente, fapte, euristici. n general o baz de cunotine poate conine informaii relevante de diverse tipuri: fapte, euristici, reguli, atribute sau relaii (fig. 2.4).
Ipoteze Euristici Reguli

Fapte

Baz de cunotine

Obiecte

Procese

Atribute

Evenimente

Definiii

Relaii

Fig. 2.4. Exemplificare a informaiilor dintr-o baz de cunotine. Sursa: [20]. n cazul, foarte rspndit, al SE bazate pe reguli de producie, baza de cunotine este format din dou componente: baza de fapte i baza de reguli. Motorul de inferene este un program sau un circuit integrat microprogramat, capabil de inferene asupra bazei de cunotine. Scopul urmrit este prelucrarea

20

cunoaterii pentru soluionarea problemei. Dac SE se bazeaz pe reguli de producie, motorul de inferene se mai numete i interpretor de reguli. Componentele motorului de inferene sunt: sistemul de administrare al bazei de cunotine, care efectueaz operaii de organizare automat, control i actualizare a cunotinelor; procesorul de inferene simbolic care ofer metoda de prelucrare ce furnizeaz liniile de raionament. Structura motorului de inferene este independent de baza de cunotine i este aceeai pentru structuri de probleme similare [1]. Interfaa de dialog cu utilizatorii - asigur accesul utilizatorilor la faptele i cunotinele din baz. Prin intermediul acestei interfee se face achiziia cunoaterii de la experi i dialogul cu utilizatorii n timpul sesiunilor de lucru. Este de dorit o interfa prietenoas, ct mai apropiat de limbajul natural, cu texte, imagini grafice, etc. n momentul de fa interfeele reale sunt departe de limbajul natural, fiind bazate pe meniuri, comenzi, pictograme, cutii de dialog. Modulul de achiziie al cunoaterii - permite utilizatorului expert i cognoticianului s introduc i s actualizeze cunotinele ntr-o form recunoscut de sistem. Modulul explicativ - ofer explicaii despre procesul inferenial, despre soluiile obinute, n sesiunile de consultare. Dei structura sistemelor expert, aa cum a fost prezentat mai sus, pare relativ simpl, realizarea unui sistem expert este o munc complex cu dou activiti dificile: extragerea cunoaterii i a metodelor experilor umani; reformularea cunoaterii i a metodelor ntr-o form organizat, n scopul utilizrii ulterioare. Aceste activiti poart numele de achiziia i reprezentarea cunoaterii n care sunt implicai experii umani i inginerii de cunotine (cognoticieni). Putem acum sintetiza cteva trsturi semnificative ale sistemelor expert: n SE exist o distincie ntre cunotine i mecanismele ce manipuleaz aceste cunotine; n SE se utilizeaz reguli, spre deosebire de programele clasice care folosesc instruciuni; SE rezolv problemele prin manipularea simbolurilor i nu prin calcule matematice. Cercettorul Watterman [1] arat c sistemele expert trebuie s aib cele patru caracteristici de baz ilustrate n figura 2.5. Folosirea unui sistem expert implic trei etape fundamentale (vezi i capitolul 6): Dezvoltarea sistemului - prin obinerea bazei de cunotine de la experi. Aceast cunoatere este separat n cunoatere declarativ (actual) i cunoatere procedural (reguli). n aceast etap se construiete i motorul de inferene, modulul explicativ, modulul de achiziie, interfeele, etc. n mod frecvent pentru dezvoltarea sistemului expert se folosete un generator de

21

sisteme expert (shell). Consultarea sistemului, care se face la iniiativa unui utilizator care adreseaz ntrebri sistemului i eventual rspunde unor ntrebri ale acestuia. Motorul de inferene este cel care realizeaz rezolvarea problemei puse de utilizator. n momentul de fa consultarea unui sistem expert impune prezena utilizatorului n faa unui terminal informatic ce permite dialogul cu sistemul expert. mbuntirea sistemelor expert, prin adugarea de noi cunotine, ameliorarea interfeelor etc.
- performan - nivel ridica t de calificare - robustee adecvat -reprezentarea simbolic a cunoaterii - reformularea cunoaterii simbolice - lucreaz cu probleme dificile -utilizeaz cunoatere complex i mecanisme infereniale pentru prelucrareea ei

EXPERTIZA RAI ONAMENT SIMBOLIC PROFUNZIME

SISTEME EXPERT

- examineaz propriile raionamente AUTOCUNOATERE - explic operaiile i aciunile - favorizeaz nvarea

Fig. 2.5. Caracteristicile sistemelor expert. Sursa: [1], pag. 46 2.4. Aplicaii ale sistemelor expert. Sisteme expert de gestiune Sistemele expert pot realiza o gam foarte variat de funcii, ilustrate n tabelul 2.1. Tabelul 2.1. Funcii informatizabile cu sisteme expert. Sursa: [1], pag. 58
Nr. Funcia crt. 1 CONTROL I MONITORIZARE 2 3 4 5 6 7 DEPANARE I REPARARE PROIECTARE DIAGNOSTIC I NTREINERE INSTRUIRE INTERPRETARE PLANIFICARE Specificaia Controlul automat inteligent al sistemelor Recomand corecii ale deficienelor funcionrii sistemelor Proiectarea produselor i sistemelor Localizeaz erorile de funcionare i recomand coreciile necesare mbuntete performanelor celor care nva folosind strategiile CAI (Computer Aided Instruction). Tutori inteligeni Clarificarea unor situaii, inferarea semnificaiilor situaiilor noi pe baza semnalelor de la senzori Dezvolt scheme de activitate orientate spre scop

22

Nr. crt. 8 9 PREDICIE SIMULARE

Funcia

Specificaia Inferarea unor situaii probabile pe baza informaiilor deja cunoscute Deducerea consecinelor aciunilor sau evenimentelor declanate de ctre sistemul nsui Organizarea entitilor (obiectelor) pe clase/categorii Identificarea celei mai bune alternative dintr-o list de posibiliti

10 CLASIFICARE (TAXONOMIE) 11 SELECIE

n domeniul financiar contabil, sistemele expert pot fi clasificate n patru categorii [3]: Sistemele expert previzionale - care asigur fundamentarea strategiilor privind traiectoria organizaiei; Sisteme expert operative - ce permit evaluarea inteligent a unor decizii cu caracter operaional; Sisteme expert de diagnostic: determin soluii pentru controlul n timp real a sistemelor tehnice sau economice; Sisteme expert de control: asigur elaborarea operativ a unor decizii fundamentale. n tabelul 2.2. este fcut o prezentare a unor sisteme expert utilizate. Tabelul 2.2. Sisteme expert n domeniul economic i financiar-contabil. Sursa: [1], pag. 62.
Domeniul Audit i control - analiz bilan - planificare audit - pregtire programe de testare n audit - contracte de audit - generare rapoarte - TVA Activitate bancar - gestiune conturi clieni - analiz sucursale i filiale (indicatori) - mprumuturi comerciale - creditare i analiz cri de credit Sistemul expert FINEXPRO FINEXPERT CREDITEXPERT GIPA CAPEX EXPERTEST AUDIT FINEX/GUVEX VOTAR/POSIS SMERTIOS ALVIN MATIAS CLASS FCA Application Expert Credit Expert CREDEX MOZART ELCAS Authorizer Advisor Mediul de dezvoltare Experteam Experteam Personal Consultant GURU GURU GOLDWORKS shell KEE shell Nexpert shell Hexe shell Savoia Shell Xi Plus shell i C++ GEN-X shell

SNARK shell PLATO shell i Smalltalk GURU shell ART shell

23

Domeniul Activitate bancar - supraveghere conturi - incaso documentar - marketing bancar - control i servicii bancare - transfer de bani

Sistemul expert CRES SYNTEL Lendring

Mediul de dezvoltare GURU shell Advisor SYNTEL OPS5 shell DEDALE shell SWIFT format LISP CLEOPATRA Nexus shell

Cybercredit FAME META-PSS - creditare ipotecar A-CLASS/ATRANS TEXPERT - stabilire preuri, servicii i analiz risc TIPI - selecie fonduri publice Mortgage Selector - trezorerie MARBLE E/G/I Gestiune macro i microeconomic - realocare resurse financiare EMEX - judecare prognoze ECO/KARL - evaluri monetare PANISSE - module de prognoz P/C Analysis - analiz risc nvare Finane - comercializarea hrtiilor de valoare FS-Dealer Edwin X-Options Finoblig Trademaster - analize financiare SAFIR SEFIA SECRETS - informare financiar FIQ SPEED Cyty Interface - schimburi cu strintatea FX FXAA TARA - marketing financiar MAX - achiziii i fuziuni MARS - planificare pensionri CLASP - administrare portofolii CLARIS FOLIO SAGE PLANPOWER - gestiune bunuri imobiliare PEPS - reglementri i audit financiar EVA,INVESTIMAT - analiza riscului CBREIS, Advisa Asigurri - prelucrare reclamaii Exclaim - credite de asigurare CLUE - asigurri de via, bunuri etc. SCARON PARADOCS - reasigurri FIRUS, CLUES

EMYCIN i Tigre shells

Argument shell Prolog, NN Nexpert shell Crystal shell Genera shell Nexpert shell KEE shell

Prolog, LISP Crystal shell ESE-shell

24

Domeniul Planificare impozite i taxe - impozite afaceri - analiz consisten impozite - validare TVA - planificare impozite pentru locuine proprietate personal

Sistemul expert ADVISA Business Tax Advisor EXPERT-TAX ACCI CLINTE TAX-ADVISOR

Mediul de dezvoltare Xi- Plus

Din punct de vedere al interaciunii cu experii umani, sistemele expert pot fi utilizate n urmtoarele moduri [1]: a) nlocuirea complet a expertului uman:
Problema SISTEM EXPERT Consultan (sfat)

b) nlocuirea parial a expertului uman:


Problema SISTEM EXPERT Consultan (sfat)

EXPERT UMAN

Consultan (sfat)

c) asistarea expertului uman:


Problema SISTEM EXPERT Consultan (sfat)

EXPERT UMAN

d) asistarea unei aplicaii informatice clasice:


SISTEM EXPERT Aplicaie informatic

Utilizator

Raport

e) integrarea ntr-o aplicaie informatic clasic:

25

SISTEM EXPERT Utilizator Aplicaie informatic Raport

f) interfa de intrare ntr-o aplicaie informatic:

Utilizator

SISTEM EXPERT

Aplicaie informatic

Raport

g) interfa de ieire dintr-o aplicaie informatic:


Aplicaie informatic Raport, consultaie, sfat

Utilizator

SISTEM EXPERT

h) utilizarea n scop de instruire i documentare:


Sfaturi,reete, consultaii, note

Utilizator

SISTEM EXPERT

n tabelul 2.3. sunt prezentate exemple de sisteme expert folosite n gestiune, finane i contabilitate. Tabelul 2.3. Sisteme expert folosite n gestiune, finane i contabilitate.
Sistemul expert Funcia/domeniul CONTABILITATE - pregtire documente de impozitare - proiectare situaii financiare din conturi - selectare finanare guverne pentru noi debuee de afaceri - determinare obiective de investiii pentru portofoliile clienilor - consiliere n investiii pentru minimizare impozit Mediul de dezvoltare Prolog NEXUS shell

AUTOMATED TAX AGGREGATE Assistant AYMM (Finance) FOLIO

Prolog EMYCIN

HELIX

26

Sistemul expert Needham (Business) TAXADVISOR TICOM AUDITOR ESTEAM HELIX SYNTELLIGENCE APEX COMEX CONCEPT MARKETER MIT (Business) DEM KADBASE

Funcia/domeniul - prelucrri tranzacii pentru contabilitate financiar i management servicii - consiliere i analiz n probleme de impozite pentru intreprinderi - evaluarea controlului intern n auditing - asistare la evaluarea debitorilor slabi - gestiune portofolii pentru investiii profitabile - consiliere n selectarea portofoliilor gestiune n asigurri GESTIUNE - management vnzri - gestiune afaceri n agricultur - gestiune, modele i planificare marketing pentru bunuri de consum - asisten n decizii de marketing - managementul ntreprinderii i controlul resurselor umane - gestiune costuri

Mediul de dezvoltare shell AIDMS shell AL/X

DESIGN TOPRODUCT IMS NUDGE OFFICE ADVISOR OP-PLANNER PTRANS XSEL, XSITE ISA IMET TAXMAN ISIS PICON TRANSCELL CALLISTO EDAAS Price Analysis Accounting Option IBM (Assembly) ICRF, PRECEPTOR TIMM-TUNER

GESTIUNE - managementul produciei - execuie proiecte de management i programare - gestiunea muncii de birou - consiliere pentru creterea performanei n munca de birou - planificare - planificarea produciei i distribuiei - asisten la vnzarea de calculatoare - asisten la programarea comenzilor clienilor - management industrial - gestiunea pieei portofoliilor - gestiunea produciei - gestiunea produciei - gestiunea produciei - management resurse i programare - gestiune afaceri publice - analiza preurilor n audit - formare opinii n analiza situaiei financiare - gestiunea i controlul calitii - prognoz - optimizare

POPLOG

27

ntrebri recapitulative la tema 2

1. Care sunt obiectivele sistemelor expert? 2. Care sunt etapele fundamentale de folosire a unui sistem expert? 3. Indicai cteva asemnri i deosebiri ntre SE i experii umani. 4. Cum se clasific sistemele expert? 5. Dai exemple de sisteme expert n domeniul contabil i indicai subdomeniile lor de competen.

Activiti la tema 2 A1. Schiai pe hrtie o comparaie sintetic ntre sistemele expert i experii umani, considernd cteva criterii cum ar fi: achiziia cunoaterii, capacitatea de nvare, nvarea din greeli etc. A2. Facei o schi care s ilustreze arhitectura sistemelor expert. A3. Cutai pe Internet sisteme expert cu aplicabilitate n domeniul contabilitii.

Dup parcurgerea cestui modul ar trebui s fii capabili s:

nelegei ce este un sistem expert, care sunt avantajele i limitrile sale, Cunoatei arhitectura sistemelor expert i rolurile principalelor blocuri constitutive Cunoatei cteva exemple de sisteme expert utilizate n contabilitate.

28

13. REPREZENTAREA CUNOATERII 3.1. Cunoaterea. Definiii. Clasificri Sistemele de inteligen artificial sunt concepute pentru rezolvarea unor probleme complexe. n acest scop sunt necesare mecanisme specializate pentru reprezentarea i manipularea cunoaterii. n general, reprezentarea cunotinelor ntr-un calculator const n gsirea unei corespondene ntre lumea exterioar i sistemul simbolic ce permite efectuarea raionamentelor [2]. Reprezentarea este o modalitate folosit pentru capturarea elementelor eseniale ale domeniului unei probleme, iar aceast reprezentare este manipulabil dac permite prelucrarea pe calculator [20]. Este important de aceea s definim ce se nelege n general prin cunoatere, cum se poate clasifica i cum se poate reprezenta aceast cunoatere n sistemele de inteligen artificial. Conform dicionarului Webster [1] cunoaterea reprezint o percepie clar (cu sens) i cert a unor fapte, o nelegere a ceva, o nvare, tot ceea ce se percepe mintal, o experien practic, o ndemnare, o competen n ceva, o cunotin despre, o familiarizare cu ceva, o recunoatere a ceva, o informaie organizat aplicat la soluionarea unei probleme. Exist i alte definiii ale cunoaterii, dar considerm c schema din figura 3.1. aparinnd profesorului E. Turban este foarte sugestiv n ce privete creterea gradului de abstractizare a elementelor constitutive ale cunoaterii:

Metacunoatere Cunoatere Informaii Date Semnale/zgomot

Fig. 3.1.Piramida cunoaterii. Sursa [1], pag. 103 Semnalele i zgomotele nu au semnificaie simbolic neputnd fi nelese de un subiect cunosctor. Datele se refer la iruri numerice sau alfanumerice despre fapte, obiecte, situaii, rezultate din numrare i msurare, care prin ele nsele nu au nici o semnificaie, dar pot constitui un rspuns la ntrebrile utilizatorului [1]. Informaiile constituie o rafinare (prelucrare) a datelor i o utilizare cu semnificaie a lor. Informaiile sunt date care au semnificaie pentru receptor. Diferena esenial dintre date i informaii const n faptul c datele au un caracter

29

pur sintactic, pe cnd informaiile au caracteristici semantice Metacunoaterea este o cunoatere despre cunoatere. Uneori acest nivel este numit nelepciune i reprezint cunoatere la care se adaug judeci, experien, valori. Ca o concluzie la cele de mai sus, cunoaterea poate fi considerat drept informaia, care s-a organizat i analizat astfel nct calculatoarele s se fac mai bine nelese i care este utilizat la rezolvarea problemelor. tiina care se ocup cu studiul cunoaterii se numete epistemologie. Epistemologia filosofic reliefeaz cele dou componente ale cunoaterii tiinifice, o component reflexiv care se bazeaz pe reflectarea exterioar i ulterioar a faptului tiinific i o component generativ, constructiv, bazat pe crearea de obiecte abstracte. Din punct de vedere psihologic, cunoaterea este raportat ntotdeauna la un subiect cunosctor, adic la un agent dotat cu capacitate de interpretare a unei informaii. Trecerea de la lumea real, a obiectelor la reprezentarea ei (lumea simbolurilor) este ilustrat n figura 3.2.

Fig. 3.2. Reprezentarea lumii reale prin simboluri. Sursa:[20] Cunoaterea este empiric dac informaia despre obiecte, fapte fenomene, procese sau evenimente necunoscute este sesizat de ctre subiectul cunosctor nemijlocit prin organele sale senzoriale sau prin mijlocirea unor aparate i instrumente. Cunoaterea este teoretic dac se desfoar pe baza unor raionamente i judeci, ptrunznd n esen, prin analiz i sintez, deducie i inducie, generalizare i particularizare [13]. Figura 3.3 ilustreaz, dup Giarratano [1], categorii de cunoatere. S trecem acum de la abordarea general a cunoaterii la cazul concret al inteligenei artificiale. Trecnd de la subiectul cunosctor de tip uman la cel de tip program pentru calculator, conceptul de cunoatere i conserv caracteristicile menionate. Pentru a fi utilizat de un program, cunoaterea trebuie memorat sub forma unor piese de cunoatere (fapte, procese, fenomene, evenimente, obiecte), care descriu domeniul de competen al programului respectiv, constituind pentru aceasta un model al lumii.

30

Cunoaterea

Cunoaterea filosofic Cunoaterea apriori, cea exprimat n tratatele de universal adevrat, care nu poate fi negat fr filosofie contradicie

Cunoaterea aposteriori, derivat din simuri, care poate fi verificat prin utilizarea experienei i poate fi negat

Fig. 3.3. Categorii de cunoatere. Sursa: [1], pag. 104 Dac ne reamintim c n calculator se manipuleaz reprezentri ale realitii trebuie s menionm c aceste reprezentri pot fi [20]: reprezentri descriptive prin care se face o caracterizare direct a componenei, structurii i proprietilor piesei de cunoatere; reprezentri comparative cnd o pies de cunoatere este definit n funcie de alta , numit prototip, punndu-se n eviden diferenele; reprezentri constructive (generative) care folosesc o relaie generatoare a pieselor de cunoatere; reprezentri enumerative care presupun referiri la elementele unei mulimi, care este definit ca pies de cunoatere. n cazul unui sistem expert, colecia de cunotine despre o problem ce trebuie soluionat se numete baz de cunotine. Aceast baz de cunotine, construit pornind de la un expert uman este specific unui domeniu al problemei. Cunoaterea constituie factorul major ntr-un sistem expert. Spre deosebire de informatica clasic unde funcioneaz ecuaia: Algoritm + Structuri de date = Program, n cazul sistemelor expert funcioneaz relaia: Cunoatere + Inferene = Sistem expert 3.2. Modaliti generale de reprezentare a cunoaterii Problema reprezentrii cunotinelor este fundamental pentru c una din cele mai importante caracteristici ale sistemelor expert este separarea ntre baza de cunotine i motorul de inferene. n legtur cu reprezentarea cunoaterii (cunotinelor) sunt de precizat trei elemente: Domeniul cunoaterii - reprezint partea din domeniul problemei care trebuie reprezentat: (Exemplu: ageni economici, regulamente, relaii etc.) Limbajul de reprezentare a cunoaterii - arat cum trebuie reprezentat cunoaterea i cu ce metode. Mecanismele de inferene - se refer la prelucrrile cunoaterii n scopul

31

soluionrii problemelor. Exist a mare varietate de metode de reprezentare a cunoaterii, clasificate de obicei n metode declarative (tim ce) i metode procedurale (tim cum), pe care le vom trece mai jos n revist, urmnd ca n seciunile urmtoare, cele mai importante s fie tratate detaliat. Metode bazate pe logic. Aceste metode formalizeaz cunotinele experilor folosind logica standard sau mai nou logici nestandard, i se mpart n dou categorii: - calculul propoziional; - calculul predicatelor. Metoda regulilor de producie. Se bazeaz pe construcii de forma: IF <condiie> THEN <aciune> Metoda reelelor semantice - se bazeaz pe modelarea conceptelor i a relaiilor dintre ele cu ajutorul grafurilor; Metoda tripletelor obiect - atribut - valoare; Metoda cadrelor i scenariilor; Metoda reelelor neuronale. 3.3. Elemente de logica propoziiilor Logica clasic a propoziiilor se ocup cu studiul unei mulimi de afirmaii simple i a afirmaiilor compuse care se pot constitui din ele. n general enunurile, frazele sunt de patru tipuri: imperative, interogative, exclamative i declarative. Logica propoziiilor (calculul propoziional) se ocup de enunurile declarative (aseriuni) care pot fi adevrate sau false. Se poate defini logica propoziiilor [10] ca un limbaj formal care conine un alfabet, reguli de sintax, axiome i o regul de deducie. Alfabetul conine urmtoarele simboluri: propoziii, notate A, B, C... simboluri (conectori): (conjuncie, SI), (disjuncie, SAU), (negare), (implicaie); paranteze. Propoziiile reprezint aseriuni care pot fi adevrate sau false. Ele pot fi: elementare compuse Propoziiile elementare sunt aseriuni simple ce descriu o parte a domeniului problemei. Propoziiile compuse se obin prin mbinarea propoziiilor simple cu ajutorul conectorilor logici (SI, SAU, NU,). Adevrul propoziiilor compuse nu depinde de coninutul concret al propoziiilor componente ci de valoarea de adevr a acestora. Sintaxa definete formule bine formate (fbf). Se spune c o formul este bine format (fbf) dac ea respect regulile: $ propoziiile componente sunt formule bine formate $ dac F i G sunt formule bine formate, atunci FG, FG, FG, F, sunt

32

formule bine formate. Exist cteva tipuri speciale de propoziii compuse: S Tautologia - este o propoziie compus care este adevrat indiferent dac propoziiile componente sunt adevrate sau false (exemplu: A(A)); S Contradicia - reprezint o propoziie compus care este ntotdeauna fals (exemplu A(A)). S Propoziia contingent care nu e nici tautologie nici contradicie. Axiomele fixeaz regulile de demonstrare a teoremelor n limbajul definit de logica propoziiilor. Aceste axiome sunt: 1. A(BA)

2. (AB) ((A(BC))(AC) 3. A(B(AB)) 4. ABA 5. AAB


4'. 5'. ABB BAB

6. (AC)((BC)((AB)C)) 7. (AB)((AB)A) 8. (A)A


O formul a limbajului formal al logicii propoziiilor este adevrat dac ea coincide cu o axiom sau dac ea poate fi demonstrat pornind de la axiome cu ajutorul unei reguli de deducie. Cea mai folosit regul de deducie este Modus ponens sau regul de separare: Modus ponens Fie A i B dou formule; Dac A este adevrat i dac A B este adevrat, atunci B este adevrat. Altfel formulat: Dac A = .T. (true) I AB Atunci B = .T. Se poate folosi ca regul de deducie i raionamentul prin absurd (modus tollens): Modus tollens Fie A i B dou formule; Dac A B este adevrat i dac B este fals, atunci A este fals. Altfel formulat: Dac B = .T. (true) I AB Atunci A = .T. O formul care s-a obinut plecnd de la axiome i de la o regul de deducie este o formul adevrat. Aceast metod este de a dovedi adevrul sau falsitatea unei formule poate fi de multe ori greoaie. Se poate folosi ns o metod alternativ,

33

construirea tabelei de adevr pentru formula respectiv. Tabelul 3.1. ilustreaz o astfel de tabel de adevr pentru conectorii logici, pentru implicaie i pentru relaia de echivalen (). n acest tabel a semnific adevrat iar f semnific fals. Tabelul 3.1. Tabela de adevr pentru cteva propoziii logice A a a f f B a f a f A f f a a B f a f a AB a f f f AB a a a f AB a f a a AB a f f a

echivalena: (A B) ( AB) (tabelul 3.2.). Tabelul 3.2. Demonstrarea unei relaii de echivalen A a a f f B a f a f

Folosind aceast metod a tabelei de adevr se poate arta uor c exist

AB a f a a

AB a f a a

Vom realiza acum o sintez a celor de mai sus [3]: S Expresia ce conine o propoziie elementar sau compus se numete formul de calcul proporional definit astfel: formula este o propoziie elementar; dac A i B sunt formule: A, B, A B, AB, A B sunt i ele formule; formulele din logica propoziiilor pot fi generate pe baza primelor dou reguli. S n logica formal, calea cea mai important de a deduce noi propoziii o constituie silogismul. Un silogism folosete implicaia pentru a deduce o concluzie. Silogismele se folosesc n sistemele expert sub forma regulilor de producie. S Exist urmtoarele reguli de echivalen folosite pentru transformarea propoziiilor n scopul simplificrii evalurii acestora: Tabelul 3.3. Reguli de echivalen Relaia de echivalen Simetria Reversibilitatea/dubla negaie Coninutul relaiei AB=BA AB=BA (A)=A

34

Relaia de echivalen Asociativitatea Legile lui Morgan Modus tollens Distributivitatea

Coninutul relaiei (AB)C=A(BC) (AB)C=A(BC) (AB)=(A)(B) (AB)=(A)(B) AB=AB A(BC)=(AB)(AC) A(BC)=(AB)(AC)

Exist o slbiciune a calculului propoziiilor: ele nu pot fi fragmentate n pri, trebuie tratate ca un ntreg. De aceea, de cele mai multe ori nu pot fi folosite nici variabile, astfel nct nu se poate da o descriere general a unei situaii. Aceste dezavantaje ale calculului propoziional au condus la o extensie, calculul predicatelor (logica predicatelor) ce va fi prezentat n seciunea urmtoare. 13.4. Logica predicatelor Logica predicatelor (calculul predicatelor, logica propoziiilor de ordinul nti) reprezint o extensie a logicii propoziiilor care rezolv unele dintre limitrile acesteia. n general includerea n baza de cunotine a unei piese de cunoatere implic trecerea ei de la exprimarea n limbajul natural la limbajul de reprezentare utilizat de sistemul respectiv. n cazul logicii propoziiilor, descrierea n limbajul natural este nti descompus n propoziii elementare, aseriuni, legate ntre ele prin conectori logici SI, SAU, . n cazul calculului predicatelor se merge mai departe i fiecare propoziie elementar este descompus n componentele sale: predicate i obiecte la care se refer acestea. Spre exemplu propoziia Ionescu este contabil se poate scrie ... este contabil. nlocuind spaiul liber cu numele unor indivizi se pot obine propoziii adevrate sau false. Dac n locul spaiului liber folosim o variabil, se poate scrie: contabil (x). Dnd valori variabilei x (instaiind variabila) se obin propoziii adevrate sau false. Fiind o extensie a calculului propoziiilor, logica predicatelor poate fi tratat ca un limbaj formal (alfabet, sintax, axiome etc.) [10]. Alfabetul conine, n afara elementelor prezentate n seciunea 3.3 urmtoarele: - constante: a,b,c,d ... - variabile: x, y, z, t ... - predicate: P, Q, R, S - simbolurile - (cuantificator universal, oricare) i - (cuantificator existenial, exist) - virgula (care se adaug parantezelor) Fiecrui simbol al predicatului i se asociaz o pondere n (n0). Aceasta se numete aritatea predicatului.

35

Sintaxa const n urmtoarele reguli: constantele i variabilele sunt argumente b. formulele bine formate (numite i formule nchise) se definesc inductiv astfel: dac P este un predicat de pondere n i t1, t2 ... tn sunt argumente,atunci P (t1, t2 ... tn) este o formul atomic sau atom. dac F i G sunt formule, atunci (F)(G), (F)(G), (F), (F) (G), ((x) F) i ((x) F) sunt formule

a.

Axiomele calculului propoziional sunt mbogite cu urmtoarele dou: 9. (x P(x))P(a) (specializarea universal) 10. P()( x P(x)) (generalizare existenial) Pentru interpretarea calculului predicatelor trebuie s considerm c variabilele i constantele sunt elementele unui domeniu de interpretare D. Se numete asignarea variabilei x, orice valoare pe care aceasta o poate lua n domeniul D. Rezult c un predicat de pondere n este o funcie definit pe D n cu valori n mulimea {adevrat, fals}. Cazuri particulare: - un predicat de pondere 0 este o propoziie (adevrat sau fals) - un predicat de pondere 1 specific o proprietate a argumentului. - un predicat de pondere 2 specific o proprietate binar. Putem trage acum cteva concluzii referitoare la logica predicatelor: - se pot utiliza variabile care permit formularea unor aseriuni cu caracter general; - atunci cnd toate argumentele predicatului sunt instaniate se obine o propoziie a calculului propoziional care poate fi adevrat sau fals; - dac utilizarea variabilelor n declararea faptelor i regulilor este admis doar pentru subiecte, logica predicatelor se mai numete logica propoziiilor de ordinul nti. S ilustrm acum, prin cteva exemple, formalizarea n limbajul logicii predicatelor, a ctorva piese de cunoatere [13], [10]: a) - Toi contabilii sunt economiti - Ionescu este contabil - Deci Ionescu este economist Formalizare: x (CONTABIL(x) ECONOMIST (x)) CONTABIL (Ionescu) Deci ECONOMIST (Ionescu) b) Cineva ateapt trenul Formalizare: x OM(x) ATEAPT (x, TREN) c) Petrom aparine ramurii petrol Folosim predicatul APARINE (x,y) unde x este o firm i y o ramur Rezult: APARINE (PETROM, petrol)

36

d) Orice lucru are un pre Formalizare: x p, LUCRU(x)PRE(p)VALOARE(x,p)

37

ntrebri recapitulative la tema 3

1. 2. 3.

Care sunt principalele tipuri de cunoatere? Ilustrai-le prin exemple. Enumerai principalele metode de reprezentare a cunoaterii. Care sunt tipurile speciale de propoziii compuse? Care este regula Modus Ponens? Care este regula Modus Tollens? Care sunt deosebirile i asemnrile dintre logica propoziiilor i logica predicatelor? S se formalizeze, folosind calculul propoziiilor sau calculul predicatelor: Nite calculatoare ca PC-urile. Transformai urmtoarele predicate n propoziiile corespondente n limba romn: ESTE (INFLAIA, MARE) DEBITEAZ (X, CONT (5131)) Indicai principalele metode umane de raionament i dai cte un exemplu din fiecare.

4.
5. 6. 7. 8.

9.

Activiti la tema 3
A1. Schiai pe hrtie o comparaie sintetic ntre sistemele expert i experii umani, considernd cteva criterii cum ar fi: achiziia cunoaterii, capacitatea de nvare, nvarea din greeli etc. A2. Facei o schi care s ilustreze arhitectura sistemelor expert. A3. Cutai pe Internet sisteme expert cu aplicabilitate n domeniul contabilitii.

Dup parcurgerea cestui modul ar trebui s fii capabili s:


nelegei ce este un sistem expert, care sunt avantajele i limitrile sale,

38

Cunoatei arhitectura sistemelor expert i rolurile principalelor blocuri constitutive Cunoatei cteva exemple de sisteme expert utilizate n contabilitate.

3.5. Reguli de producie 3.5.1. Reprezentarea cunotinelor prin reguli de producie Regulile de producie constituie una dintre primele modaliti de reprezentare a cunotinelor utilizate n realizarea de SE. n mod riguros, termenul reguli de producie desemneaz o modalitate de reprezentare bazat pe logica propoziiilor, n care att faptele ct i regulile pot conine numai entiti invariabile (constante). Datorit limitrilor inerente unei asemenea soluii, s-a trecut la o alt modalitate de reprezentare, bazat pe logica predicatelor, n care faptele i regulile pot include entiti generice, ceea ce le confer un grad mult mai ridicat de generalitate. Cum entitile generice sunt specificate prin intermediul variabilelor, aceast metod de reprezentare este denumit, prin extensie de limbaj, reguli de producie cu variabile. Reprezentarea cunotinelor prin reguli de producie se face prin dou tipuri de structuri: faptele i regulile. Faptele constituie aseriuni privitoare la un anumit aspect din realitate. Ele formeaz componentele elementare ale cunoaterii (aa cum este ea reprezentat n baza de cunotine). Spre exemplu: Ionescu este economist. Rata inflaiei este ridicat. Cifra de afaceri scade. Stocurile de materiale cresc. Ansamblul faptelor stocate n sistem formeaz baza de fapte. Spre deosebire de aplicaiile informatice tradiionale, un SE construiete soluia unei probleme printr-o nlnuire de procese deductive. Dar faptele singure nu permit deducerea de noi cunotine. Din aceast cauz, se utilizeaz o a doua structur - regulile - pentru a specifica acele legturi dintre fapte, pornind de la care se pot face deducii. Forma general a unei reguli este: DAC premise ATUNCI concluzie unde att premisele, ct i concluzia sunt fapte. O regul se poate interpreta n felul urmtor: dac premisele sale sunt adevrate, adic dac faptele care le compun sunt confirmate sau verificate de baza de fapte, atunci i faptul sau faptele cuprinse n concluzie sunt adevrate i pot fi adugate la baza de fapte. Acest mod de raionament are n logic urmtoarea formulare: dac propoziia A (simpl sau compus) implic B (A B) i A este adevrat, atunci i B este, la rndul ei, adevrat. S considerm, pentru exemplificare, regula: R1 Dac rata inflaiei este ridicat atunci preul locuinelor crete

unde "rata inflaiei este ridicat" constituie premisa, iar ''preul locuinelor crete", concluzia. Presupunnd c baza de fapte conine faptele exemplificate anterior,

39

premisa regulii este confirmat de cel de-al doilea fapt, ceea ce autorizeaz deducerea faptului nou "preul locuinelor crete".
Fapte cunoscute Reguli Dac rata inflaiei este ridicat atunci preul locuinelor crete Ionescu este economist Rata inflaiei este ridicat Cifra de afaceri scade Stocurile de materiale scad

Fapt nou (dedus) Preul locuinei crete

Fig. 3.4. Deducerea unui nou fapt folosind o regul de producie. Sursa:[13], pag. 50 Premisele unei reguli pot fi formate i din mai multe fapte diferite, legate prin conectorii logici i, sau, nu. Iat, spre exemplu, dou reguli care ar putea servi pentru a evalua calitatea activitii de gestionare a stocurilor: R2: R3: Dac stocurile de materiale cresc i cifra de afaceri crete atunci evoluia stocurilor este normal. Dac stocurile de materiale cresc i cifra de afaceri scade atunci evoluia stocurilor este necorespunztoare.

Raportndu-ne la baza de fapte prezentat anterior, se constat c premisele regulii R2 nu sunt confirmate dect parial i, n consecin, nici concluzia ei nu poate fi stabilit. n schimb, sunt confirmate premisele regulii R3, ceea ce permite s se deduc faptul nou "evoluia stocurilor este necorespunztoare". Faptele nou deduse prin aplicarea unei reguli se adaug la baza de fapte iniial i pot declana activarea unei reguli. S considerm, pentru exemplificare, dou reguli destinate s evalueze riscul unui proiect de investiii n strintate: R4: Dac climatul social este bun i cadrul juridic este stabil atunci cadrul general este acceptabil. Dac riscul de fezabilitate este important i cadrul general este acceptabil atunci riscul global al proiectului este ridicat.

R5:

40

n contextul reprezentat n figura urmtoare, pe baza acestor reguli sistemul va formula concluzia "riscul global al proiectului este ridicat".
Fapte cunoscute Climatul social este bun Concurena este puternic Riscul de fezabilitate este important Cadrul juridic este stabil

Reguli Dac climatul social este bun i cadrul juridic este stabil atunci cadrul general este acceptabil

Fapt nou (dedus) Dac riscul de fezabilitate este important i cadrul general este acceptabil atunci riscul global al proiectului este ridicat Cadrul general este acceptabil Fapt nou (dedus) Riscul global al proiectului este ridicat

Fig.3.5. Folosirea unor fapte deduse pentru declanarea de noi reguli. Sursa: [13], pag. 51 Regulile sunt nregistrate n baza de reguli. Ordinea n care acestea sunt introduse i stocate n sistem este nesemnificativ. Regulile nmagazineaz, ntr-un anume sens, cunotine cu aplicabilitate relativ general. Un SE este folosit ns pentru a sugera soluii la probleme concrete, particulare. Rolul de a descrie problema de rezolvat revine faptelor. Cum regulile sunt activate pe baza faptelor cunoscute, calitatea procesului de raionament este nemijlocit influenat de msura n care sunt disponibile toate faptele relevante. Rezult c una dintre cerinele eseniale la care trebuie s rspund baza de fapte este de a reflecta ct mai fidel realitatea i de a urma, cu promptitudine, modificrile intervenite n aceasta. n funcie de domeniul concret n care se utilizeaz i de condiiile de exploatare, faptele pot fi introduse ntr-un SE prin una din urmtoarele ci: a) prin introducerea de la tastatur, naintea procesului deductiv; b) n cursul procesului deductiv, prin chestionarea utilizatorului; n acest caz, ntrebrile puse de SE urmeaz fidel traseul urmat de suita de inferene; c) prin consultarea unei baze de date proprii sau aparinnd altor aplicaii informatice; d) prin preluarea direct de la diveri senzori. Este de observat c nu toate faptele sunt la fel de stabile. Unele dintre ele pot reflecta concepte mai generale, trsturi sau configuraii structurale definitorii i

41

rmn, din aceast cauz, neschimbate sau sufer foarte rar modificri. Aceste fapte, care descriu fondul general, comun de cunotine aferente domeniului de expertiz, sunt denumite permanente. Spre exemplu, ntr-un SE pentru contabilitate, aseriunile care descriu tipul fiecrui cont - de activ, de pasiv sau bifuncional - sunt fapte permanente, ce rmn neschimbate i particip practic la rezolvarea oricrei probleme. Prin contrast, faptele ce definesc problema de rezolvat i contextul specific al acesteia au caracter temporar, fiind pstrate n sistem numai pn la terminarea tratrii acesteia, fie c s-a ajuns la o soluie, fie la un eec. n aceeai situaie se afl i faptele noi, deduse n cursul proceselor de inferen prin activarea regulilor, care constituie cunotine aferente contextului specific al problemei de rezolvat. i ntr-un caz i n cellalt, acestea sunt fapte temporare. 3.5.2. Tipuri de reguli de producie [3] Regulile de producie pot fi clasificate dup ordinea n care se merge n inferen (premise concluzie, sau concluzie premise) sau dup tipul de entiti coninute (constante sau variabile). a) Reguli de producie deductive (RPD). Sunt de forma: DAC <premise> ATUNCI <concluzie> n acest caz se utilizeaz implicaia logic n sensul c dac premisele sunt adevrate, atunci i concluzia este adevrat i aceasta se adaug i ea bazei de fapte. Ca urmare se pot aplica alte reguli care conin ntre premise i fapta nou adugat. b) Reguli de producie inductive (RPI). Sunt de forma: <concluzie> DAC <premise> Aceste reguli declaneaz deducii succesive, plecnd de la concluzie i verificnd fiecare premis. Dac premisele se gsesc a fi adevrate se conchide c i concluzia este adevrat. Din punct de vedere logic regulile deductive i cele inductive sunt formulri echivalente, lucru ilustrat n tabelul 3.4. c) Reguli de producie cu variabile (RPV) Utilizarea unor reguli care conin doar constante este neeconomic datorit faptului c trebuie scris cte o regul pentru fiecare caz n parte, chiar dac sunt mai multe cazuri similare. Ca i n cazul predicatelor, folosirea variabilelor ofer o modalitate general de exprimare. Exemplu [1]: Presupunem c sunt necesare reguli pentru pensionarea unui angajat de forma: DAC Ionescu V. este salariat

42

I Ionescu V. a depit vrsta de 65 ani ATUNCI Ionescu V. se poate pensiona Astfel de reguli trebuie scrise pentru fiecare angajat, soluie greoaie i neeconomic. Se poate scrie ns o regul cu variabile care s fie valabil pentru toi angajaii: DAC x este SALARIAT I x are vrsta > 65 ATUNCI x se poate pensiona Acelai mecanism de generalizare a unor reguli prin folosirea variabilelor este ilustrat n figura 3.6. Tabelul 3.4. Echivalena formulrilor RPD i RPI. Sursa: [3], pag. 42 RPD DAC EBE este ridicat I VA este mare ATUNCI RMVA este acceptabil DAC VA este mare I AF sunt minime ATUNCI WAF este maxim DAC AF sunt maxime I CI este mic ATUNCI CIS este mare DAC RMVA este acceptabil I WAF este ridicat I CIS este n cretere ATUNCI RRE este acceptabil RPI RMVA este acceptabil DAC EBE este ridicat I VA este mare WAF este maxim DAC VA este mare I AF sunt minime CIS este mare DAC AF sunt maxime I CI este mic

RRE este acceptabil DAC RMVA este acceptabil I WAF este ridicat I CIS este n cretere

43

RPD DAC EBEA= constant I CI = cresctor ATUNCI RRE= descresctor DAC DF = constant I CAE = cresctor ATUNCI RCR = descresctor DAC CHF = constant I EBEL = cresctor ATUNCI RPCH = descresctor

RPV DAC i1 = constant I i2 = cresctor ATUNCI i3 = descresctor

Fig. 3.6. Folosirea variabilelor n reguli. Sursa: [3], pag. 43 3.5.3. Includerea i gestionarea incertitudinii Un sistem expert poate opera att cu fapte i reguli integral certe ct i cu informaii (concretizate n fapte sau reguli) incomplete sau certe. Exactitatea sau corectitudinea unei cunotine (fapt sau regul) poate fi cuantificat la nivelul unui SE prin intermediul unui coeficient de certitudine sau verosimilitate cuprins ntre 0 i 1 sau ntre 0 i 100. n prezentarea fcut pn acum s-a pornit de la presupunerea c att faptele ct i regulile exprim cunotine n totalitate certe. Aceasta condiie este greu de realizat n practic. Marea majoritate a analizelor i deciziilor implic, inevitabil, un anumit grad de incertitudine. Mai mult dect att, nsi specificul domeniului de activitate reflectat i pune amprenta, existnd domenii care opereaz, n mod implicit, cu un grad mai mare de incertitudine dect altele. Spre exemplu, faptele i regulile necesare pentru definirea configuraiei unei instalaii industriale se deosebesc considerabil, din acest punct de vedere, de cele care pot fi formulate pentru stabilirea unui diagnostic medical sau a gestiunii unui portofoliu. n afara nivelului specific de certitudine sau incertitudine cu care manipuleaz

44

fiecare domeniu de activitate practic, incertitudinea mai poate proveni ntr-un SE i din absena unor informaii (informaie incomplet). Dac acest din urm aspect nu face obiectul unor soluii particulare, considerndu-se c remedierea lui nu solicit dect un efort adecvat de completare a bazei de cunotine, pentru cel dinti s-au cutat i s-au definit mai multe modaliti specifice de reprezentare. Cea mai simpl soluie, care nu este obligatoriu i cea mai nesatisfctoare, const n a introduce incertitudinea sau aproximaia chiar n exprimarea cunotinelor. Spre exemplu, se poate apela la formulri de tipul: creterea preurilor este moderat sau creterea preurilor este probabil. O regul construit n aceast manier poate fi, spre exemplu: Dac ncasrile probabile sunt mediocre i nivelul investiiilor este ridicat atunci rentabilitatea fondurilor proprii este sczut. Soluiile de acest tip sunt ns inacceptabile sau insuficiente n multe cazuri, ceea ce a fcut s se caute i alte modaliti de reprezentare i tratare a incertitudinii. Una dintre tehnicile cele mai folosite n acest domeniu const n a atribui elementelor din baza de cunotine - fapte sau reguli - un coeficient destinat s exprime gradul de siguran al acestora, denumit coeficient de certitudine (QC). Acest coeficient poate lua valori cuprinse ntre 0 i 100. Zero corespunde valorii fals, iar 100 corespunde valorii adevrat din logica binar. Dac, spre exemplu, QC al unui fapt este 60, nseamn c faptul respectiv este cert n proporie de 60%. Coeficienii de certitudine nu sunt probabiliti nici din punct de vedere conceptual i nici matematic i, n consecin, gradul de certitudine al tuturor elementelor ntr-un context dat nu trebuie s dea o sum egal cu 100. Tratarea incertitudinii presupune, n aceste condiii, att evaluarea gradului de incertitudine al faptelor de baz ct i combinarea valorilor QC pentru evaluarea gradului de incertitudine al faptelor compuse i a celor deduse prin aplicarea regulilor. Coeficienii de certitudine al faptelor compuse se determin, n funcie de tipul conectorilor logici, pe baza relaiilor urmtoare: QC(A I B) = minim (QC(A), QC(B)) QC(A SAU B) = maxim (QC(A), QC(B)) QC(NU A)=100 - QC(A) unde QC(A) i QC(B) desemneaz QC al faptelor A i B. Spre exemplu, dac QC(Rata inflaiei este ridicat) = 80 i QC(Cererea de credite crete) = 60, atunci: QC(Rata inflaiei este ridicat I Cererea de credite crete) = 60 QC(Rata inflaiei este ridicat SAU Cererea de credite crete) = 80 QC(NU Rata inflaiei este ridicat) = 20 Regulile pot avea la rndul lor coeficieni de certitudine, care exprim ct de cert este concluzia dedus pe baza premiselor lor. Spre exemplu, n regula urmtoare: R31: QC=75 Dac rata inflaiei este ridicat i cererea de credite crete atunci rata dobnzii crete

45

gradul de certitudine al concluziei rata dobnzii crete deduse din cele dou premise este de 75%. Presupunnd cazut general: R: QC = c Dac atunci premise concluzie

i avnd n vedere c i premisele pot avea la rndul lor QC, coeficientul de certitudine al concluziei este stabilit cu relaia: QC(concluzie) = QC(premise) x c/100 Pentru exemplul anterior, valorile corespunztoare sunt: QC(Rata dobnzii crete) = QC(Rata inflaiei este ridicat I Cererea de credite crete) x 75/100 = 60 x 75/100 = 45. Exist situaii n care aceeai concluzie poate fi dedus n mai multe reguli diferite. Pentru a obine QC al unei asemenea concluzii, este necesar s se combine coeficienii returnai de fiecare regul care o cuprinde. Presupunnd c QC(R1) i QC(R2) reprezint coeficienii aceleiai concluzii deduse prin regulile R1 i R2, atunci coeficientul su combinat de certitudine se obine cu relaia: QC(R1,R2) = QC(R1) + QC(R2) - (QC(R1) x QC(R2) / 100) S considerm, pentru exemplificare, urmtoarele reguli, care au rolul de a ghida o societate n plasarea disponibilitilor sale de trezorerie: R41: QC=60 Dac X aparine ramurii Y i ramura Y tinde s creasc atunci cumpr aciuni emise de X R42: QC = 75 Dac cifra de afaceri a societii X este stabil i valoarea aciunilor emise de X tinde s creasc atunci cumpr aciuni emise de X n ipoteza c baza de fapte conine urmtoarele informaii: Ramura electronic tinde s creasc (QC = 60). Ramura metalurgiei nu tinde s creasc (QC = 80). ALFA aparine ramurii electronic (QC = 100). BETA aparine ramurii metalurgiei (QC = 100). Cifra de afaceri a societii ALFA este stabil (QC = 65). Valoarea aciunilor emise de ALFA tinde s creasc (QC = 70). Valoarea aciunilor emise de BETA tinde s creasc (QC = 60). Cifra de afaceri a societii BETA este stabil (QC = 80). aplicarea regulilor conduce la urmtoarele rezultate pentru coeficienii de certitudine: - instaniind variabilele X i Y cu valorile "ALFA" i "electronic"

46

QC(R41) = QC(premise) x 60/100 = minim(60,100) x 60/100 = 36 QC(R42) = QC(premise) x 75 / 100 = minim(65,70) x 75/100 = 48,75 Cum ambele reguli verific aceeai concluzie: "cumpr aciuni emise de ALFA", coeficientul de certitudine a1 acesteia se determin combinnd cei doi QC obinui (vezi figura urmtoare): QC(Cumpr aciuni emise de ALFA) = 36 + 48,75 - (36 x 48,75) = 67,2
QC = 36 + 48,75 - (36 x 48,75) Cumpr aciuni emise de ALFA

R41 QC = minim(60,100) x 60/100

Ramura electronic tinde s creasc

ALFA aparine ramurii electronic QC=100

R42 QC = minim(65,70) x 75/100

Cifra de afaceri a societii ALFA este stabil QC=65

Valoarea aciunilor emise de ALFA tinde s creasc QC=70

- instaniind variabilele X i Y cu valorile "BETA" i "metalurgie": QC(R41) = QC(premise) x 60/100 = minim(100 - 80, 100) x 65/100 = 12 QC(R42) = QC(premise) x 75/100 = minim(80, 60) x 75/100 = 45 QC(Cumpr aciuni emise de BETA) = 12 + 45 - (12 x 45/100) = 51,6 Rezult c investiia n aciuni ALFA este ceva mai sigur dect investiia n aciuni BETA. Coeficienii de certitudine atribuii regulilor i faptelor influeneaz considerabil rezultatele, aa cum s-a putut constata i din exemplul anterior. Din aceast cauz, este deosebit de important ca ei s fie corect evaluai n practic, ceea ce nu este ntotdeauna simplu sau evident. Chiar dac expertul uman recurge la aprecieri de tipul "mai bun" sau "mai sigur" n selecia i formularea concluziilor sale aceste aprecieri nu primesc, de regul, o expresie numeric. De asemenea, n unele domenii de activitate,nsi ideea de a exprima gradul de certitudine prin coeficieni poate prea total inadecvat. Pentru a

47

ajuta expertul s depeasc asemenea dificulti, au fost propuse mai multe tehnici de definire indirect a coeficienilor de certitudine. 13.6. Alte modaliti de reprezentare a cunotinelor 3.6.1. Metoda tripletelor obiect-atribut valoare Aceast metod a fost utilizat n sistemele expert MYCIN i EMYCIN i poate fi gsit sub trei forme: <obiect> <atribut> <valoare> <atribut> <obiect> <valoare> <obiect> <operator> <valoare> Exemple: a) s considerm faptele: automobilul are culoare roie i creditul bancar este n sum de 10.000.000" Folosind metoda tripletelor obiect, atribut, valoare, vom putea reprezenta aceste fapte ca mai jos [5]: Obiect automobil credit bancar Atribut culoare suma Valoare roie 10.000.000

b) Folosirea operatorilor poate fi ilustrat astfel: IMPORT = SCZUT RENTABILITATE > 9% Metoda obiect-atribut-valoare este util cnd trebuie reprezentate fapte i alte structuri pentru compararea faptelor dintr-o regul. 3.6.2. Reprezentri succesorale Reprezentrile succesorale se bazeaz pe urmtoarele considerente fundamentale [13], [3]: e) tot ce este adevrat pentru un concept, este adevrat i pentru conceptele derivate din el; f) cunotinele pot fi privite ca ierarhii organizate pe nivele, pornind de la general (TOP) i ajungnd la particular (DOWN); g) la nivelul de sus (TOP) se afl conceptele fundamentale, iar pe nivelele urmtoare, pn la nivelul DOWN, se reprezint concepte derivate, privite ca specializri ale conceptelor fundamentale; h) elementele aflate la un anumit nivel conin numai descrierea proprietilor specifice (derivate). Ele motenesc, alturi de acestea, toate proprietile nivelelor superioare; i) relaia de succesiune (motenire) este tranzitiv; j) exist posibilitatea apariiei unor excepii de la proprietile comune

48

motenite, numit redefinire;

k) exist posibilitatea partajrii unor proprieti de pe nivelele superioare, numit


motenire multipl. Figura 3.7. ilustreaz o astfel de reprezentare succesoral pornind de la conceptul general marf care este caracterizat de proprietile fundamentale: cod, denumire, pre, TVA. Cele dou concepte derivate sunt: electrocasnice i mbrcminte.

Marfa
Cod Denumire Pre TVA

Greutatea Durata_garanie Putere_consumat

Culoare Mrime

Electrocasnice

mbrcminte

Fig.3.7. Reprezentare succesoral. Sursa:[13], pag.66

49

MIJLOC TRANSPORT Concept Fundamental


Referin Denumire Lungime Lime nlime Greutate Putere dezvoltat Pre TVA Vitez Culoare Tarif Nr. locuri

Proprieti fundamentale

AUTOMOBIL Tip motor Tip combustibil Capacit. cil. Tip carserie Tip cutie vitez Vitez maxim

TRAMVAI Tip tramvai Tip propulsie Nr. ui Nr. locuri

TREN Tip tren Tip vagoane Coef. sig. Coef. aerodin. Nr. locomotive Nr. vagoane

VAPOR

AVION

Tip vapor Nr. Persoane Nr. Cabine Tip climatizare

Tip avion Nr. motoare Tip combustie Nr. aripi nlime maxim Vitez maxim

Proprieti specifice Fig. 3.8. Partajarea simpl a proprietilor. Sursa: [3], pag. 54

Figurile 3.8 i 3.9 ilustreaz procesele de partajare a proprietilor, respectiv de motenire multipl.

50

MARF Cod Denumire Pre TVA (Prex0,19)

TRANSPORT Tip_ambalaj Tarif TRANSPORT_OB_FRAGILE Tarif

ELECTROCASNICE Putere_consumat Greutate Durata_garanie ASPIRATOARE Debit Presiune MBRCMINTE Culoare Mrime TELEVIZOARE Diagonal_tub Tip

TVA (Pre x 0) TELEVIZOARE_EXPORT

Fig. 3.9. Ilustrarea procesului de motenire multipl. Sursa: [3], pag. 67 Aceast metod de reprezentare a cunotinelor se bazeaz pe teoria prototipurilor. Oamenii au tendina de a identifica o familie de obiecte sau entiti oarecare i de a face raionamente asupra lor prin intermediul unui singur obiect, care sintetizeaz proprietile fundamentale ale familiei, numit prototip. Un prototip grupeaz proprietile fundamentale, ntlnite cel mai frecvent la toate elementele familiei i conine astfel informaii generale implicite. Elementul va partaja proprietile generale ale prototipului prin copiere diferenial i prin specializare. Ca urmare elementul va conine n realitate, doar informaiile prin care se deosebete, de prototip, cele comune fiind motenite. Figura 3.10. ilustreaz copierea diferenial ntre prototip i elemente. Cele mai rspndite metode succesorale de reprezentare a cunotinelor sunt: reprezentarea orientat obiect, reelele semantice i cadrele. A. Reprezentarea orientat obiect Aceast metod pornete de la structurarea domeniului de reprezentat (domeniul problemei) n clase i a claselor n obiecte, privite ca entiti autonome de un singur tip. Fiecare obiect are un comportament specific determinat de structura sa de informaii i operaii admisibile asupra informaiilor. Obiectele au urmtoarele caracteristici generale [3]: a) fiecare obiect conine un ansamblu de informaii, metode specifice, i un set de operaii permise asupra informaiilor; b) obiectele au un comportament specific, sunt guvernate de metode i de un ansamblu de reguli invocate de ctre metode; c) comunicaia dintre metode se face prin mesaje i rspunsuri. Mesajul este

51

d)

compus din identificatorul obiectului destinaie, numele metodei invocate, parametrii de apel; obiectul apelat primete mesajul, execut metoda i retransmite un rspuns ctre obiectul ce a emis mesajul.
BANCA
Referin Specific activitate Tip proprietate Capital social

PROTOTIP

PROPRIETI FUNDAMENTALE

ELEMENT

Copiere diferenial FILIALA B

ELEMENT

FILIALA A
Operaiuni schmb valutar Masa total-valut Masa total-lei

Operaiuni decontare ageni economici Total credite acordate Total credite rambursate Dobnd medie

Specializri de prototipuri

Fig. 3.10. Copierea difereniat ntre prototip i elemente. Sursa: [3], pag. 57 Figura 3.11. ilustreaz caracteristicile obiectelor i comunicarea ntre obiecte. ntre obiecte pot exista dou tipuri de relaii:

a. relaii de specializare /generalizare care asigur transferul succesoral


(obiectul X este un obiect de tip Y;

b. relaii de structur - obiectul X face parte din obiectul Y.


Obiectul este reprezentantul unei clase, clasele coninnd obiecte cu comportament identic. Fiecare clas este caracterizat de cmpuri (stri) i metode (aciuni). Clasele pot fi organizate n supra-clase. Figura 3.12. ilustreaz organizarea n supra-clase i subclase i relaiile dintre acestea. n prezent exist un mare numr de limbaje de programare orientate obiect cum ar fi: LISP, C++ etc.

52

Comportament specific

Obiect X Ansamblu de informaii Metode Operaii permise asupra informaiilor

Metode

Relaii cu alte obiecte Comportament specific

Mesaj Rspuns Obiect Y Ansamblu de informaii Metode Operaii permise asupra informaiilor

Ansamblu de reguli Metode

Relaii cu alte obiecte

Ansamblu de reguli

Fig. 3.11. Caracteristicile obiectelor i comunicarea ntre obiecte. Sursa: [3], pag.61. B. Reele semantice Sub aspect cronologic, metoda reelelor semantice este prima din categoria metodelor de transfer succesoral a cunoaterii. Numele vine de la analiza limbajului n care astfel de reele se folosesc pentru reprezentarea nelesului frazelor. O reea semantic este un graf orientat avnd urmtoarele primitive:

nodurile - sunt asociate obiectelor (concepte, evenimente, stri etc.); arcele - sunt abstractizri ale relaiilor dintre obiecte.
Caracteristic reelelor semantice este faptul c ele permit reprezentarea cunoaterii i ofer i o structur de regsire a cunoaterii. Ele sunt o ncercare de reprezentare a modului cum gndim despre concepte i au fost utilizate att de informaticieni ct i de psihologi pentru a explica i simula comportamentul inteligent. n acest caz inferena se realizeaz prin urmrirea arcelor i nodurilor. Iniial reelele semantice au fost dezvoltate pentru a reprezenta semnificaia cuvintelor limbajului natural - nodurile erau asociate cuvintelor iar arcele descriau relaiile dintre cuvinte. Descrierea cunoaterii prin reele semantice se face prin obiecte formale intensionale numite concepte i prin obiecte extensionale, denumite instane. Relaia dintre concept i instan este ilustrat n figura 3.13.

53

OPERATOR ECONOMIC CMPURI/STRI Active fixe brute Disponibiliti bneti Nevoie fond rulment METODE/ACIUNI A plti impozite A acorda dividende A face investiii A plti dobnzi

SUPRA-CLAS

Sub-clas Motenire FIRMA A


CMPURI/STRI Forma de proprietate: particular Capital social CsA Cifra de afaceri CaA METODE/ACIUNI A vinde (la intern) A cumpra (la intern) A coopera A produce A transporta A depozita A exporta A importa

Sub-clas FIRMA B
CMPURI/STRI Forma de proprietate: stat Capital social CsB Cifra de afaceri CaB METODE/ACIUNI A vinde (la intern) A cumpra (la intern) A coopera A produce A transporta A depozita A exporta A importa

Fig. 3.12. Relaiile supra-clas, sub-clas. Sursa :[3], pag. 59.

CONCEPT X Instaniere (extensiune) Conceptualizare (intensiune)

INSTAN W

Fig. 3.13. Relaia dintre concept i instan. Sursa:[2], pag. 96.

54

Pentru ilustrarea utilizrii reelelor semantice, n figura 3.14 am reprezentat propoziia Mary l-a lovit pe John.

Alice Nume Persoan Printe Persoan Data naterii May 8,1995 Printe Aciune Agent Nume Mary A lovi

David Nume Persoan Printe Obiect Tip Nume John Printe Persoan Data naterii June 12, 1994

Fig. 3.14. Exemplu de reea semantic. Sursa.[8], pag. 424. Structural exist mai multe tipuri de reele semantice: I. Reele semantice simple, care folosesc etichete pentru a descrie relaiile dintre concepte i instane (fig. 3.15) Se utilizeaz urmtoarele unor cuvinte-cheie: ESTE-UN / ESTE-O (IS A), care denot apartenena unei instane obiectuale la o clas intensional; ESTE (IS), care reprezint un atribut propriu instanei; AKO (A-KIND-OF, UN-FEL-DE, ESTE-SUBMULIME), care sugereaz faptul c un concept este o instan a altui concept, mai general.

55

ANIMAL AKO MAMIFER AKO CINE ARE PICIOARE

ESTE AKO REPTIL ESTE-UN

VIU AKO PASRE

REX

NUMR

Fig. 3.15. Exemplu de reea semantic simpl. Sursa [20]. II. Reele semantice sortate, caracterizate prin specializarea nodurilor i arcelor pentru specificarea unor diferene de natur structural ntre acele entiti care nu pot fi relevate numai prin etichetare. Propoziia poate fi privit i ca un eveniment

produs de instanierea predicatului care reprezint aciunea. Celelalte componente ale propoziiei sunt legate de acest predicat i se identific prin eticheta relaiei cauzale asociate (relaia de predicaie, relaia de tip agent, relaia
de tip receptor, relaia de tip obiect, relaia de instrument, relaia loc, relaia timp, relaia durat etc.). Spre exemplu figura 3.16 reprezint propoziia: Dimineaa, la pia, Ion cumpr (cu bani) flori pentru Maria [20].
P
Predicaie Agent Receptor Ion Maria Obiect Flori Instrument Bani Loc Pia Timp Dimineaa

Cumpr

Fig. 3.16. Ilustrare a unei reele semantice sortate. Sursa: [20]. III. Reele semantice extinse la care specializarea nodurilor i arcelor se face pentru o programare logic. Nodurile sunt simboluri constante, variabile sau funcionale i arcele sunt relaii condiionale sau concluzive. Spre exemplu figura 3.17 reprezint propoziia: Omul care se scoal de diminea departe ajunge.

56

Om relaii condiionale Dimineaa

ESTE x

relaie concluziv Departe

AJUNGE

SE SCOAL

Fig. 3.17. Reea semantic extins. Sursa:[20]. O alt clasificare a reelelor semantice se poate face n funcie de dependenele descrise: I. reele de cauzalitate, n care legturile dintre obiecte se interpreteaz ca are o influen direct asupra; II. grafuri de dependen, n care arcele reprezint legturi de tipul: posesie (este un, este o), colecie (aparine de, instan de), atribuire (are valoarea, are atributul) etc. O astfel de reea semantic de dependen este ilustrat n figura 3.18, pentru un pltitor de impozite.
NUMR VENIT PERSOANA

SUMA Numr pozitiv


instan-de

PLTITOR VENIT IMPOZABIL


instan-de

SUMA >1200000
instan-de

IONESCU

instan-de

NIVEL-VENIT

SUMA

SALARIU

Fig. 3.18. Reea semantic de dependene. Sursa: [1], pag. 119. n scopul structurrii domeniului reprezentat se folosesc proprietile de motenire, printr-o reprezentare arborescent numit taxonomie. O taxonomie este o reprezentare arborescent n care exist proprieti de motenire i posed urmtoarele primitive: 11. relaia de apartenen a unui obiect la o clas: ESTE (<element>, <clas>)

57

12.

(elementclas) relaia de incluziune a unei submulimi la o mulime: ESTE_SUBMULTIME (<mulime1>, <mulime2>) (mulime1"mulime2"). Figura 3.19. ilustreaz cele dou primitive de apartenen i incluziune.
ESTE

POPESCU

OM ESTE SUBMULIME

ADRIAN

INFORMATICIAN

ION

CERCETTOR

Fig. 3.19. Primitive de apartenen i incluziune. Sursa: [3], pag. 100. C. Reprezentarea cunotinelor prin cadre Teoria cadrelor (frames) a fost propus de Marvin Minsky i ncearc s reuneasc ntr-o reprezentare unic att a cunotinele declarative ct i cele productive. Un cadru are structura ilustrat n figura 3.20.

58

Nume/identificator unic Antecedent: nume frame antecedent Identificator rubric


CADRE sau FRAMES

Rubrici sau slots

Valoare asociat exact nul nedefinit Predicate asociate de atribuire (if-added) de consultare (if-needied) de suprimare (if-remuved procedures)

Faciliti specifice -transfer succesoral -predicate asociate -cvasi-dispariia regulilor de producie Avantaje: -asigur realizarea unei reele de dependen ntre fapte -determin partiionarea ntre fapte -asigur schimbarea valorilor dintr-un frame simultan cu schimbarea valorilor dependente situate n alte frame-uri Dezavantaje. -nu contribuie la lizibilitatea bazei de cunotine -nu faciliteaz declararea expertizei

Fig. 3.20. Structura unui cadru. Sursa [3], pag. 66.

Semnificaia elementelor este urmtoarea: nume cadru - este identificatorul cadrului, unic n baza de cunotine 13. antecedent - identificatorul cadrului printe. Cadrele sunt reele succesorale organizate ierarhic i n afara cadrului din vrful ierarhiei, fiecare cadru are un antecedent. 14. rubricile (slots): sunt proprieti (atribute) particulare ale unui cadru. Rubricile au trei componente: numele rubricii (are caracter local, trebuie s fie unic ntr-un cadru, dar poate fi folosit n alte cadre); valoarea asociat (exact, nul nedefinit) predicatele asociate sunt proceduri asociate rubricilor. Pot fi predicate de atribuire (if-added), predicate de consultare (if-needed), predicate de

59

suprimare (if-removed-prodedures). Aceste predicate se vor aplica numai dac se verific n situaia concret dat. Figurile 3.21. i 3.22. ilustreaz dou utilizri ale reprezentrii cunotinelor prin cadre.

prototip Nume cadru: EXC URSIE Unde : Cnd : Durata : Modul : Scopul : Costul : instan-de Nume cadru: Unde : Cnd : Durata : Modul : Costul :
VACAN Predeal Iulie 2002 10 zile Tren 8.000.000

instan-de Nume cadru: Unde : Cnd : Durata : Modul : Costul :


AFACERI Praga Sept. 2002 4 zile Avion 7.000.000

Fig. 3.21. Reprezentarea cunotinelor prin cadre cu instaniere. Sursa [1].


Cadru : BILAN FINANCIAR_NET Cadru : BILAN FINANCIAR_NET antecedent: rubrica: firma rubrica: DATA rubrica: DATA rubrica: FIRMA Valoare: ALFA Valoare:02.04.2002 Valoare:02.04.2002 Proprieti: particular Cadru PASIV Cadru : : BILAN FINANCIAR_NET antecedent: antecedent: - BILAN FINANCIAR_NET rubrica: CP rubrica: firma Valoare: 350ALFA Valoare: rubrica: CI rubrica: DATA Valoare: 100 Valoare:02.04.2002 rubrica: FIRMA Proprieti: particular

Cadru : ACTIV antecedent: BILAN FINANCIAR_NET rubrica: AFB rubrica: NFR rubrica: DB Valoare: 200 Valoare: 100 Valoare: 150

Fig. 3.22. Ilustrarea descendenei n reprezentarea prin cadre. Sursa [3], pag. 69 De remarcat c n reprezentarea cunotinelor prin cadre noiunea propriu-zis de regul dispare [4]. n timpul unei sesiuni, reeaua de cadre se modific din aproape n

60

aproape cu ajutorul procedurilor ataate rubricilor.

61

ntrebri recapitulative la tema 4

1. Ce sunt regulile de producie? Dai 3 exemple de reguli de producie. 2. Care sunt tipurile de reguli de producie utilizate n SE? 3. Cum se gestioneaz incertitudinea n SE? 4. Care sunt trsturile eseniale ale reprezentrilor succesorale? 5. Care sunt trsturile eseniale ale reprezentrilor obiect? 6. Care sunt avantajele i dezavantajele reprezentrii cunoaterii prin reele semantice? 7. Care sunt trsturile eseniale ale reprezentrii cunoaterii prin cadre?

Activiti la tema 4
A1. ncercai s formalizai sub form de reguli de producie o situaie obinuit din viaa de student (spre exemplu prezentarea la un examen) . A2. Facei acelai lucru folosind reele semantice. A3. Cutai pe Internet sisteme expert care folosesc tipurile de reprezentri ale cunoaterii studiate la aceast tem.

Dup parcurgerea cestui modul ar trebui s fii capabili s: Identificai principalele modaliti de reprezentare a cunoaterii,
nelegei ce avantaje i ce dezavantaje au diferitele modaliti de reprezentare a cunoaterii n baza de cunotine a unui sistem expert,

62

4. PARADIGMA CONEXIONIST. INTRODUCERE N TEORIA REELELOR NEURONALE Calculatorul tradiional nu mai reuete ntotdeauna s fac fa problemelor ce necesit calcul intensiv cum ar fi recunoaterea formelor, controlul micrii roboilor, luarea deciziilor pe baza unor cantiti mari de date cu zgomot etc., astfel nct s-au abordat i alte metode de prelucrare a informaiilor, printre care prelucrarea distribuit. Una dintre aceste direcii neconvenionale de prelucrare a informaiilor o constituie reelele neuronale (calcul neuronal, conexionism). n contrast cu maina Von Neumann care execut un program scris pe baza unui algoritm, reelele neuronale nva prin exemple. Rezultatul nvrii nu este un cod ci o reprezentare distribuit a informaiei. Reprezentarea distribuit i calculul local caracteristic reelelor neuronale micoreaz complexitatea elementelor de calcul dar mrete volumul conexiunilor dintre ele. 4.1. Neuron natural i neuron artificial. Inspiraie din neurotiine Deoarece reelele neuronale artificiale i au izvorul de inspiraie n rezultatele obinute de neurotiine (biologie, neurobiofizic, neurofiziologie) care studiaz sistemul nervos i creierul uman, este util o scurt discuie asupra ctorva trsturi ale creierului uman i ale neuronilor naturali. Creierul uman prezint o serie de caracteristici care ar fi deosebit de utile unor sisteme artificiale de calcul: este robust i tolerant la defecte este flexibil (se poate adapta unui nou context prin nvare) poate prelucra informaii vagi, probabilistice, zgomotoase sau inconsistente este caracterizat de un nalt paralelism este mic, compact i disip foarte puin energie. Este evident c un sistem artificial care ar avea astfel de trsturi ar fi o soluie pentru problemele care n momentul de fa nu pot fi rezonabil rezolvate de calculatoarele tradiionale. Este i motivul pentru care rezultatele obinute de neurotiine au fost folosite pentru a crea modele, foarte simplificate de altfel, ale funcionrii creierului. Pe de alt parte aceste modele pot fi de folos pentru nelegerea funcionrii creierului, n msura n care modelele artificiale au reuit s surprind trsturile eseniale ale acestuia. Unitatea de organizare a creierului (i a sistemului nervos) este celula numit neuron. Creierul este format din circa 10 11 neuroni, de diferite tipuri. n figura 4.1 este reprezentat schematic un neuron natural . O reea de ramificaii numite dendrite sunt conectate la corpul celulei (soma) i joac rolul de intrri ale celulei. Din corpul celulei pornete o fibr lung numit axon care eventual se ramific la rndul ei (ieirea). La capetele acestor ramificaii se gsesc jonciunile sinaptice (sinapsele) cu ceilali neuroni. Un axon al unui neuron asigur conectarea cu circa 104 ali neuroni. Transmiterea semnalului nervos de la un neuron la altul este un proces chimic complex n care substanele transmitoare sunt eliberate n spaiul sinaptic avnd ca efect ridicarea sau coborrea potenialului electric n corpul celulei receptoare. Dac acest potenial atinge un anumit prag, un impuls sau potenial de aciune se trimite prin

63

axon. Se spune c neuronul s-a activat. Din axon, semnalul transmis se ramific prin legturile sinaptice la ali neuroni.

Sinaps Nucleu Corpul celulei

Axon

Dendrite

Fig. 4.1. Reprezentare schematic a unui neuron natural. Sursa: [11], pag.2. Pornind de la acest model al neuronului natural, McCullogh i Pitts au propus n 1943 un model simplu de neuron artificial, reprezentat schematic n figura 4.2.

n1 nj
:

wi1 wij

nn

: win

ni

Fig. 4.2. Reprezentare schematic a neuronului McCulloch-Pitts Acest neuron artificial calculeaz o sum ponderat a intrrilor iar dac aceast sum depete un prag, la ieire se obine starea 1 (n caz contrar ieirea este 0):
ni (t + 1) = H ( wij n j (t ) i )
j

(4.1)

unde H(x) este funcia Heaviside:

1 dac x 0 H ( x) = 0 dac x < 0


iar t este timpul considerat variabil discret

(4.2)

n acest model wij reprezint intensitatea (ponderea) conexiunii sinaptice de la neuronul j la neuronul i, iar i pragul neuronului i.

64

Dei este un model extrem de simplificat al neuronului natural, neuronul McCullogh i Pitts, ca i alte variante de neuroni artificiali, s-au dovedit elemente de calcul deosebit de puternice. Reelele puternic interconectate realizate cu aceti neuroni artificiali prezint o serie de trsturi interesante cum ar fi [14]: - Capacitatea de a nva. Ele nva din exemple, algoritmul de rezolvare al problemei fiind imprimat n conexiunile sinaptice. nvarea poate fi supervizat, cnd un profesor furnizeaz rspunsurile corecte i corecteaz rspunsurile actuale, sau nesupravegheat cnd nu se cunosc apriori ieirile reelei . nvarea se numete antrenare. - Capacitatea de generalizare. Reelele neuronale artificiale, antrenate corespunztor sunt capabile s rspund corect n situaii diferite de cele cu care au fost antrenate. Acest lucru se produce deoarece reelele neuronale i construiesc, pe baza datelor de antrenare, reprezentri interne ale spaiului de intrare . - Capacitatea de sintez: Reelele neuronale artificiale pot lua decizii corecte folosind informaii complexe , incomplete sau cu zgomot. De-a lungul timpului au fost dezvoltate o serie de alte modele de neuroni (Perceptron, Adaline etc.) i o mulime de tipuri de reele dedicate soluionrii unor probleme specifice. O parte din aceste elemente vor fi prezentate n seciunile urmtoare. 4.2. Modele de neuroni i de reele neuronale artificiale Din punct de vedere structural modelul neuronal artificial poate fi ierarhizat la urmtoarele nivele: micro-structur: la nivelul neuronului artificial mezo - structur: reele neuronale ca topologii de interconectare a neuronilor macro-structur: arhitecturi compuse din structuri de reele neuronale. a) Modele de neuroni (perceptroni) simpli Neuronul artificial, propus pentru prima oar de McCulloch i Pitts, a cunoscut i alte modelri, care pot fi mprite n dou mari categorii: modele de perceptron fr reacie i modele de perceptron cu reacie. innd seama de dezvoltarea ulterioar a lucrrii vom prezenta modelul general al perceptronului fr reacie, preciznd i semnificaia notaiilor utilizate n continuare. Modelul general de perceptron fr reacie este ilustrat n figura 4.3.

x1 x2

w1 w2 . . . wn

OA
Operaie aritmetic

y(t)

xn

Fig. 4.3. Modelul general de perceptron fr reacie

65

Prin particularizarea blocului operaie aritmetic se pot obine modele diferite de perceptroni simpli. Astfel, n continuarea acestui capitol vom folosi modelul din figura 4.4.

x1 x2

w1 w2 . . . wn

net

xn
unde:

Fig. 4.4. Model particularizat de neuron artificial x=[x1, x2, ..., xn]T este vectorul de intrare w=[w1, w2, ..., wn]T este vectorul ponderilor sinaptice f = funcia de activare, y = semnalul de ieire, T semnific transpunerea Dac se noteaz:
i

net = wi xi = wT x

(4.3)

Atunci ieirea neuronului poate fi scris: y = f (net) = f (wTx) Cteva exemple de funcii de activare sunt [5]: (4.4)

f (net ) =
f (net ) =

1 1 + e snet

(4.5)

1 e snet 1 + e snet

(4.6) (4.7)

f (net ) = tanh(s net )

unde s este un parametru care controleaz panta funciei de activare.

66

Funcia de activare
1,2 1 f(s.net) 0,8 0,6 0,4 0,2 0
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10

s=10 s=1 s=0,1

net

Fig. 4.5. Exemple de variaii ale funciei de activare 4.5 n general funciile de activare sunt monotone, dar se pot folosi i funcii nemonotone [16]. n cazul n care reeaua este format din mai muli neuroni interconectai, se va nota cu wij ponderea conexiunii sinaptice de la neuronul j la neuronul i. Ca urmare, n locul vectorului ponderilor se va folosi o matrice a ponderilor W: y=f(Wx) unde : x=[x1, x2, ..., xn]T y=[y1, y2, ..., yn]T (4.8) este vectorul intrrilor este vectorul ieirilor

b) Clasificarea mezo-structurilor neuronale Exist o varietate de clasificri ale reelelor neuronale artificiale dar n continuare vom prezenta clasificarea propus n referina [5]. Dup topologia reelei, numrul de straturi, gradul de conectivitate, tipul de conexiuni, structurile neuronale se pot clasifica n: structuri Feedforward (total interconectate sau parial interconectate) structuri Feedforward-feedback structuri Feedback (cu reacie local sau cu reacie global) 4.3. Implementri, aplicaii, tendine De-a lungul timpului cele mai numeroase implementri ale reelelor neuronale au fost realizate prin simularea pe calculatoare secveniale. Evident c implementarea unor structuri masiv paralele i cu granulaie fin pe astfel de calculatoare nu a permis exploatarea complet a potenialului pe care l are modelul conexionist. Au aprut i implementri hardware, unele n tehnologie microelectronic tradiional, [12], [15], iar altele, ncercnd s rezolve problemele legate de spaiul ocupat de interconexiuni, n tehnologie optic i optoelectronic. Figura 4.6. ilustreaz tipurile de implementri ale reelelor neuronale artificiale . n ncercarea de a exploata imensul potenial ipotetic al reelelor neuronale au fost realizate foarte multe aplicaii, ntr-o varietate de domenii: medicin, art, robotic, economie, telecomunicaii etc. n tabelul 4.2. sunt prezentate, dup [5] exemple ale

67

aplicaiilor reelelor neuronale artificiale. Dei n cursul istoriei lor, nceput n anii 40, reelele neuronale artificiale au avut o dezvoltare neuniform, cu fluxuri i refluxuri, n momentul de fa par a reprezenta un domeniu de mare interes pentru comunitatea tiinific. Astfel se prevd [5] urmtoarele evoluii : Modelele neuronale vor deveni un instrument esenial de prelucrare a informaiei Modelele neuronale vor evolua n direcia apariiei unor noi interfee ommain Modelele neuronale se vor perfeciona n direcia unor structuri plauzibile biologic pe de o parte, care vor face posibil, pe de alt parte, o cunoatere profund a domeniului biologic. nvmintele obinute privind limitele modelelor actuale vor constitui baze de studiu i cercetare n software i neurobiologie. O meniune aparte trebuie fcut asupra tendinei de implementare a reelelor neuronale n tehnologie optic sau optoelectronic, printre avantajele acestei abordri putnd fi menionate: - band de trecere mai mare - vitez de transmisie mai mare - fotonii nu interacioneaz unii cu alii aa uor ca electronii - pot fi prelucrate optic imagini n 2-D n paralel - materialele optice ofer accesibilitate superioar de stocare n raport cu cele magnetice.

Implementri

Software

Hardware

Electronice

Optice

Hibride (mai ales electrooptice)

La nivel de circuit Calculator convenional Circuite analogice Procesor orientat pe magistral Coprocesor/ procesor ataat

La nivel de calculator Super calculator Calculator paralel

Circuite digitale

68

Fig 4.6. Implementri ale reelelor neuronale artificiale. Sursa: [21], pag. 25 Tabelul 4.2 Exemple de aplicaii ale reelelor neuronale. Domeniul Medicin Exemple de aplicaii Prelucrarea semnalelor medicale (EEG, ECG, etc.) Clasificarea n domeniul psihiatric Sisteme de clasificare a durerilor de spate, a afeciunilor cardiace, etc. Clasificarea ipetelor sugarilor Detecia celulelor canceroase Predicia numrului de globule roii din snge Controlul de calitate al produselor (identificarea defectelor) Echipamente de control pentru navigaie autonom, planificarea rutei automobilistice cu evitarea obstacolelor Modelarea neliniaritilor n controlul pH al lichidelor, n industria chimic Predicia consumului de ap n oraul Paris Predicia consumului de energie electric n oraul Tokyo Analiza de calitate a apei potabile Predicia smogului Predicia necesarului de locuri n avion Predicia ratei dobnzilor Selecia angajailor Compozitor neural Pictor neural Nas neural Alegerea ctigtorilor la cursele hipice Predicia rezultatului n diferite jocuri Selecia intelor de investigaie n anchetele penale Identificarea i recunoaterea intelor militare Controlul semnturilor pe cecurile de banc Recunoaterea numerelor de la main (garaje, n Germania) Detecia materialelor explozibile n bagajele cltorilor (n funciune n aeroporturile Heathrow, Dallas, .a.) Modelarea creterii recoltelor agricole Controlul dimensiunii i culorii merelor pentru export n Japonia

Industrie n general

Economie i afaceri

Art Diverse

4.4. Reelele neuronale artificiale i sistemele expert Din seciunile precedente se poate observa c cele dou direcii majore ale IA,

69

Sistemele Expert (SE) i Reelele Neuronale Artificiale (RNA) prezint avantaje i dezavantaje ntr-un mod aproape complementar. SE realizeaz cu uurin raionamente de nivel nalt dar nu pot manevra eficient cunotine i date imprecise sau incerte. Pe de alt parte RNA nu sunt instrumente foarte potrivite pentru raionamente de nivel nalt (mai ales datorit opacitii lor), dar sunt extrem de eficiente n recunoateri i clasificri chiar cu informaii imprecise sau incomplete. Chiar punctul de pornire al celor dou paradigme este diferit. n timp ce inteligena artificial simbolic (i SE) consider c mintea este centrul inteligenei i comportamentul inteligent apare prin mecanisme complexe de prelucrare a simbolurilor, paradigma conexionist (RNA ) admite c inteligena se afl n creier i simularea acestuia va conduce la comportament inteligent. Se merge mai departe fcnd diferena ntre SE care prelucreaz simboluri i RNA care manipuleaz subsimboluri. O alt distincie esenial ntre SE i RNA (n afara obiectului prelucrrii) o constituie achiziia cunoaterii. Pentru SE achiziia cunoaterii poate pune mari probleme deoarece expertul uman trebuie s formalizeze cunotinele sale n reguli de producie. Acest lucru poate fi dificil mai ales n cazul cunoaterii dobndite prin experien. Se pune deci problema extragerii experienei dintr-un set de exemple, pentru a fi folosit de un sistem expert. Pe de alt parte, reelele neuronale nva cu uurin din exemple, putnd manevra date cu zgomot sau incomplete. Apare astfel natural o abordare de unificare a celor dou domenii, unificare ce va beneficia de avantajele fiecruia dintre ele. Scopul Integrrii Neuro-Simbolice este de a explora i exploata avantajele fiecreia din cele dou paradigme: paralelismul masiv, capacitatea de generalizare i nvarea din exemple a RNA, respectiv raionamentul de nivel nalt i capacitatea de explicare a SE. O modalitate de a efectua aceast integrare este ilustrat n figura 4.7 care ilustreaz un sistem de nvare neurosimbolic.
Sistem conexionist nv are

Motor de inferen e 2 1 3 Re ea neuronal 4 6 5 Cunoa tere simbolic Explica ii

Exemple

Cunoa tere simbolic

Fig. 4.6. Sistem de nvare neuro-simbolic: 1-inserarea cunoaterii simbolice, 2nvare inductiv din exemple, 3- procesare paralele masiv, 4-adaptare fin, 5extragerea cunoaterii simbolice, 6- reacie. Sursa: [23] Vom ncheia aceast seciune amintind cteva realizri concrete raportate n

70

literatur. Lucrarea [19] Prezint un SE n care achiziia cunoaterii este realizat de o reea neuronal cu autoorganizare (Kohonen), dup care clasele descoperite de reea sunt formalizate ca reguli de producie folosite de un SE. Lucrarea [17] descrie utilizarea unei reele neuronale ncorporate ntr-un SE, dar care nu e folosit pentru achiziia cunoaterii ci pentru evaluarea coeficienilor de certitudine n timpul inferenelor. n sfrit, n referina [18] se prezint o modalitate de a realiza sisteme multiexpert (vezi capitolul 6) cu ajutorul reelelor neuronale Ca o concluzie, integrarea avantajelor paradigmei simbolice (SE) cu cele ele paradigmei conexioniste (RNA) reprezint o provocare pentru cercettorii din domeniul IA i exist mai multe direcii de aciune: realizarea unor sisteme hibride n care SE i RNA ndeplinesc funcii diferite, uneori complementare, extragerea cunoaterii simbolice, a regulilor din RNA (nlturarea opacitii de cutie neagr) etc.

71

ntrebri recapitulative la tema 5

1. Indicai cinci caracteristici eseniale ale creierului uman. 2. Care sunt principalele caracteristici ale reelelor neuronale artificiale (RNA)? 3. Indicai (grafic) un model de neuron artificial. 4. Facei o comparaie sintetic ntre abordarea algoritmic i cea neuronal (conexionist) de rezolvare a unei probleme. 5. Ce condiii trebuie s ndeplineasc o clas de probleme pentru a putea fi abordat cu ajutorul reelelor neuronale? 6. Dai 3 exemple de aplicaii ale RNA.

Activiti la tema 5
A1. Scriei pe hrtie cinci tipuri de probleme din domeniul economic potrivite spre a fi rezolvate cu reele neuronale artificiale. A2. Cutai pe Internet trei aplicaii ale reelelor neuronale n contabilitate. A3. Schiai o comparaie concis ntre sistemele expert i reelele neuronale artificiale lund n considerare criterii precum: achiziia cunoaterii, posibilitatea de a nva, lizibilitatea raionamentului etc..

Dup parcurgerea cestui modul ar trebui s fii capabili s:


nelegei paradigma conexionist, ca abordare fertil n reprezentarea cunoaterii,


Sesizai avantajele i dezavantajele abordrii conexioniste, Cunoatei principalele domenii de aplicaie ale reelelor neuronale artificiale.

72

5. MOTORUL DE INFERENE AL SISTEMELOR EXPERT BAZATE PE REGULI DE PRODUCIE Regulile de producie au fost folosite de logicianul Emil L. Post n anii 40 n logica simbolic. Principalul su rezultat teoretic afirm c orice sistem n matematic sau logic poate fi scris ca un sistem de producie. Contribuii importante n acest domeniu au avut A. A: Markov care a introdus n 1950 prioritile ca o structur de control a sistemului de producie i Charles L. Forgy (1970, algoritmul Rete), care a mrit eficiena prin stocarea precedenelor ntr-o reea testat la fiecare ciclu dac a suferit modificri. n cazul sistemelor expert regulile pot reprezenta relaii, recomandri, directive, strategii sau euristici. 5.1. Ciclul de baz al motorului de inferene n seciunea 2.3 a fost prezentat arhitectura general a sistemelor expert bazate pe reguli de producie n care se remarc rolul motorului de inferene. Utiliznd baza de cunotine, acesta construiete dinamic raionamente alegnd regulile ce urmeaz s fie declanate i stabilind ordinea de nlnuire a acestora. Funcionarea motorului de inferene are loc n cicluri, ciclul de baz comportnd patru etape: selecia, filtrajul, rezolvarea conflictelor i execuia propriu-zis (declanarea regulilor alese). Figura 5.1 ilustreaz aceste faze ale ciclului de baz. Selecia extrage din baza de reguli i din baza de fapte elementele care caracterizeaz subdomeniul de rezolvare a problemei: altfel spus, se constituie o partiie a bazei de cunotine, care va scurta timpul de cutare pentru etapele urmtoare. Aceast faz este necesar atunci cnd baza de cunotine este destul de mare, ncercnd s acopere mai multe domenii ale cunoaterii [13]. Filtrajul (pattem matching) determin regulile potenial aplicabile pentru o stare dat a bazei de fapte. Aceasta se face prin compararea premiselor regulilor selecionate anterior cu faptele ce caracterizeaz problema de rezolvat; pentru a determina submulimea regulilor declanabile. n urma acestei etape pot rezulta una, mai multe, sau nici o regul declanabil. Dac exist nici o regul declanabil, rezult o situaie de eec, pe care SE trebuie s o explice sau n care utilizatorul trebuie s rspund la o serie de ntrebri pe care i le pune SE n scopul completrii formulrii problemei (fapte interogabile). Rezolvarea conflictelor este necesar atunci cnd din etapa de filtraj au rezultat mai multe reguli declanabile i trebuie aleas una pentru a fi executat. Exist mai multe criterii de alegere care pot fi utilizate n aceast etap: prima regul din list, cea mai complex regul (cel mai mare numr de fapte n premis) sau cea mai des utilizat. De calitatea acestei alegeri depind performanele motorului de inferene, care va gsi mai rapid sau mai lent soluia problemei. Aplicarea unuia sau altuia dintre criterii depinde de contextul n care se gsete baza de cunotine n momentul respectiv. Execuia regulii alese const n adugarea unuia sau mai multor fapte n baza de fapte. Este posibil, de asemenea, ca n aceast etap s se fac apel la proceduri externe (acces la baze de date sau la procesoare de tabele, vezi fig. 2.3) sau la ntrebri puse

73

utilizatorului. Pentru rezolvarea unei probleme, motorul de inferene execut mai multe cicluri de baz i se oprete n funcie de modul de raionament utilizat.

Baza de reguli SELECIE

Baza de fapte

Reguli posibilde aplicat FILTRAJ

Fapte selecionate

Reguli declanabile EXECUIA REGULILOR

REZOLVARE CONFLICTE Reguli reinute

Fig. 5.1. Etapele unui ciclu de baz al motorului de inferene. Sursa:[13], pag. 102 Funcionarea motorului de inferene este caracterizat de modul de raionament i strategia de control, care vor fi detaliate n continuare. 5.2. Moduri de raionament pentru motoarele de inferene Motorul de inferene poate folosi urmtoarele trei moduri de raionament: Raionament deductiv (nainte-forward chaining), n care se pleac de la fapte i se caut un anumit scop sau obiectiv. Se spune c raionamentul deductiv este dirijat de fapte. Raionament inductiv (napoi-backward chaining), n care se pornete de la un scop care este descompus succesiv n subscopuri pn se ajunge la dovedirea lui. Acest tip de raionament este dirijat de scop. Raionament mixt. n acest caz se fixeaz un scop, se determin toate faptele deductibile, se precizeaz faptele interogabile, apoi se aplic raionamentul inductiv. Fiecare din modurile de raionament enumerate mai sus are avantaje i dezavantaje, eficiena aplicrii lui depinznd mult de contextul problemei.

74

5.2.1. Raionamentul deductiv Motorul de inferene pornete de la faptele existente n baza de fapte i caut s dovedeasc un anumit scop. Algoritmul raionamentului deductiv este urmtorul [3]:
NCEPUT etapa de SELECIE determinarea faptelor selectate determinarea regulilor selectate etapa de FILTRAJ determinarea regulilor declanabile / aplicabile ATT-TIMP-CT mulimea regulilor declanabile / aplicabile nu este vid sau scopul nu a fost atins EXECUT Etapa de REZOLVARE CONFLICTE DAC criteriul este prima regul aplicabil n ordinea numerotrii ATUNCI aplic regula aleas modific regulile declanabile SF-DAC DAC criteriul este regula cu numrul cel mai mare de premise, iar n caz de egalitate, regula cu numrul de ordine cel mai mic ATUNCI aplica regula aleas modific regulile declanabile SF-DAC DAC baza de fapte conine scopul propus ATUNCI situaie rezolvat SF-DAC DAC baza de fapte nu conine scopul propus ATUNCI situaie de eec SF-DAC SF-EXECUT SF-ATT-TIMP CT SFRIT

Vom ilustra acest mod de raionament pentru urmtoarea problem [13]: Se consider setul de 9 reguli R1R9 de mai jos, se d baza de fapte format din faptele B i C i se cere s se demonstreze scopul H. R1: Dac B i D i E atunci F R2: Dac D i G atunci A R3: Dac C i F atunci A R4: Dac B atunci X R5: Dac D atunci E R6: Dac A i X atunci H R7: Dac C atunci D R8: Dac X i C atunci A R9: Dac X i B atunci D Figura 5.2 ilustreaz funcionarea motorului de inferene n cazul aplicrii primei reguli din list, iar figura 5.3 cazul n care se aplic regula cea mai complex.

75

Fig. 5.2. Raionament deductiv cu executarea primei reguli aplicabile. Sursa:[13], pag. 104
B, C R7 R4 B, C, X R7 R9 R8

B, C, X, A R6 B, C, X, A, H

Fig. 5.3. Raionament deductiv cu executarea cele mai complexe reguli aplicabile (3 inferene). Sursa:[13], pag. 104 Avantaje ale raionamentului deductiv: Se pot genera toate soluiile posibile; La fiecare ciclu al motorului de inferene, baza de fapte se mbogete. Dezavantaje: Iniial baza de fapte trebuie s conin suficiente fapte; Se declaneaz toate regulile aplicabile, chiar dac unele nu prezint interes; Dac numrul de fapte i de reguli este foarte mare i scopul nu poate fi atins, se poate ajunge la o explozie combinaional a numrului de cicluri;

76

n timpul inferenelor nu exist interactivitate, nct se poate ajunge la eec cu numai o fapt necunoscut care ar putea fi furnizat de utilizator.

n legtur cu ultimul dezavantaj, se poate face o clasificare a faptelor procesate de un sistem expert n fapte cunoscute i fapte necunoscute. La rndul lor faptele necunoscute pot fi deductibile prin aplicarea unor reguli sau pot fi interogabile (ntrun proces de comunicare interactiv ntre sistemul expert i utilizator). 5.2.2. Raionamentul inductiv n cazul raionamentului inductiv, motorul de inferene pleac de la un scop (problema de rezolvat, o soluie ipotetic etc.) care este descompus succesiv n subscopuri i sub-sub-scopuri, pn se ajunge la primitive dovedite sau interogabile. Se pleac de la o regul ce are n partea dreapt (concluzia) scopul urmrit i premisele acestei concluzii devin sub-scopuri ce urmeaz a fi dovedite n aceeai manier. Algoritmul acestui mod de raionament este urmtorul [3]:
NCEPUT Etapa de SELECIE Determin faptele selectate Determin regulile selectate Introduce SCOP Etapa de FILTRAJ Determin regulile declanabile/aplicabile DAC mulimea regulilor declanabile este vid ATUNCI pune ntrebri utilizatorului SF-DAC ATTA-TIMP-CT exist reguli declanabile i scopul nu a fost demonstrat EXECUT Etapa de REZOLVARE-CONFLICTE DAC criteriul este prima regul cu numrul de ordine cel mai mic n parcurgerea arborelui n profunzime i apoi de la stnga la dreapta ATUNCI Efectueaz faza de execuie e regulii alese care n partea de concluzie are scopul specificat Memoreaz sub-scopurile determinate SF-DAC SF-EXECUT SF-ATTA-TIMP-CT SFRIT

Vom ilustra acest mod de raionament pe aceeai problem enunat n cazul raionamentului deductiv. ntruct regula R6 are n partea de concluzii scopul urmrit H, se ncepe cu ea iar premisele ei devin sub-scopuri. Urmeaz deci s se arate c X i A sunt adevrate. Procesul continu prin descompunerea fiecrui sub-scop n sub-sub-scopuri, pn se dovedesc toate faptele necesare (fig. 5.4).

77

H R6

A R3 C verificat D F

inutil deoarece s-a verificat R 3 R8

R4 B

R2 G

verificat neverificat

R1

inutil deoarece G e neverificat E B verificat R5 D C verificat R7 C verificat R9 inutil deoarece C e verificat R7 R9 inutil deoarece C e verificat D

Nota ii:
I SAU

Fig. 5.4. Raionamentul inductiv. Sursa: [13], pag. 108 Observaii: n etapa de rezolvare a conflictelor se alege regula cu numrul de ordine cel mai mic; Arborele este parcurs n profunzime i de la stnga la dreapta; n caz de eec (G) se revine n arbore la urmtoarea regul posibil de declanat (R3). Avantaje: Spaiu de memorie mic, datorit dimensiunii reduse a arborilor de cutare; Timp de gsire a soluiilor mai scurt, datorit faptului c se face cutare doar pentru sub-scopurile necesare. Principalul dezavantaj l constituie pericolul de ciclare. 5.2.3. Raionamentul mixt Se ncearc un compromis ntre avantajele i dezavantajele celor dou moduri de baz, deductiv i inductiv. Principiul acestui tip de raionament este urmtorul:

78

C C C C

se fixeaz un scop, se determin faptele deductibile se aplic valori unor fapte interogabile se aplic raionamentul deductiv pentru a se deduce tot ce e posibil amd. Algoritmul acestui tip de raionament este urmtorul [3]:

NCEPUT etapa de SELECIE determin faptele selectate determin regulile selectate introduce SCQP etapa de FILTRAJ determin regulile declanabile ATTA-TIMP-CT scopul nu este stabilit, exist reguli declanabile i scopul este deductibil EXECUT raionamentul inductiv cu posibile ntrebri solicitate utilizatorului raionamentul deductiv determin faptele deductibile SF-EXECUT SF-ATTA-TIMP-CT DAC scopul a fost stabilit ATUNCI vizualizare scop ALTFEL vizualizare eec SF-DAC SFRIT

Vom ilustra acest tip de raionament pentru urmtoarea problem: Se d setul de reguli R1R8: R1: K Dac F i H R2: K Dac E i A R3: H Dac E i B R4: Dac A i G atunci B R5: Dac B i D atunci H R6: Dac G i D atunci E R7: Dac A i B atunci D R8: Dac A i C atunci G Se cunosc faptele A i C i se urmrete scopul K. nlnuirea celor dou moduri de raionament este ilustrat n figura 5.5. Prioritatea ntre cele dou moduri de raionament depinde de natura problemei i de modul de reprezentare a cunotinelor. Se recomand raionamentul mixt cnd probleme de rezolvat se preteaz la un raionament deductiv, dar spaiul de cutare este prea mare. Aplicnd mai nti raionamentul inductiv, se restrnge spaiul de cutare.

79

Fig. 5.5. Raionamentul mixt. Sursa:[13], pag. 112. 5.3. Strategii de control ntr-un sistem expert Caracteristicile care intervin n funcionarea motorului de inferene i determin strategia acestuia sunt: A. Monotonia funcionrii: Funcionare monoton - dac nici o cunotin (regul sau fapt) nu poate fi tears din baza de cunotine i nici o cunotin adugat nu introduce contradicii; Funcionare non-monoton - dac n timpul procesului de inferen se poate reanaliza veridicitatea unor fapte. Monotonia i non-monotonia sunt legate de cele dou principii de utilizare a bazei de cunotine: Principiul lumii nchise care presupune c toate faptele neprezente n baza de fapte sunt false; Principiul lumii deschise n care caz toate cunotinele din baza de cunotine sunt declarate explicit. B. Reacia la eec: Funcionare cu revenire. n caz de eec se revine la inferena din ciclul

80

anterior eecului, pentru a explora o alt cale (backtracking). Se folosete de regul la raionamentul inductiv; Funcionare irevocabil, cnd motorul se oprete la eec. Acest mod este caracteristic raionamentului deductiv. C. Parcurgerea arborilor I/SAU (fig.5.6): Explorare n profunzime; Explorare n lrgime.

Profunzime

L rgime

Fig. 5.6. Moduri de parcurgere a arborilor I/SAU. Sursa: [13], pag.114 5.4. Unificarea predicatelor S-a vzut n capitolul al doilea c logica propoziiilor i logica predicatelor constituie modaliti uzuale de reprezentare a cunotinelor. n cazul n care se folosete logica propoziiilor, motorul de inferene caut reguli declanabile ale cror premise coincid cu propoziii aflate n baza de fapte (de la nceput sau ca urmare a aplicrii altor reguli). Dac motorul de inferene funcioneaz pe baza logicii predicatelor selecia regulilor declanabile se face astfel: Se caut toate substituiile adecvate ale variabilelor cu fapte existente n baza de fapte, sau cu concluzii ale altor reguli. O substituie este un ansamblu de perechi {[v1, t1], [v2, t2], , [vn, tn]}, unde v reprezint variabile iar t termeni oarecare (constante, variabile, expresii). Se numete unificare procesul de cutare de forme reduse intermediare care permite s se identifice forma comun cea mai general. Algoritmul de stabilire a celui mai general unificator a dou expresii se bazeaz pe parcurgerea n paralel a acestora i compararea simbolurilor care apar [13]. Dac cele dou simboluri sunt identice se trece la compararea urmtoarelor simboluri. Dac ns ele sunt diferite, se poate face unificarea lor dac cel puin unul dintre ele este o variabil iar cel de-al doilea este o variabil sau un termen (sau nceputul unui termen). Dac la un anumit pas simbolurile comparate nu pot fi unificate sau nu se ajunge simultan la sfritul ambelor expresii, atunci cele dou expresii nu sunt unificate. Iat, dup [13] cteva exemple de unificri: a. X reflect Z 101 reflect capitalul_social Unificatorul este: {[X, 101], [Y, capitalul_social]} b. X reflect Y Z reflect W

81

Unificatorul este {[X, Z], [Y, W]}

82

ntrebri recapitulative la tema 6

1. Care sunt etapele unui ciclu al motorului de inferene? 2. Care sunt modurile de raionament folosite n motoarele de inferene? 3. Cum se realizeaz raionamentul deductiv? 4. Cum se realizeaz raionamentul inductiv? 5. Ce nseamn raionament mixt? 6. De ce strategia de control nainte este preferat n problemele cu o plaj mare de soluii? 7. Cum se poate face parcurgerea arborilor SI/SAU? 8. Ce se nelege prin unificarea predicatelor?

Activiti la tema 6
A1. Reprezentai schematic (grafic), fr a consulta cursul, un ciclu al motorului de inferene. A2. Schiai o comparaie concis ntre cele dou tipuri principale de raionament. A3. Schiai o comparaie concis ntre strategiile de control folosite n motoarele de inferen.

Dup parcurgerea cestui modul ar trebui s fii capabili s: nelegei modul n care un sistem expert poate raiona, pri cicluri consecutive de inferene,
Recunoatei strategiile de control folosite n sistemele expert.

83

16. CONSIDERAII PRIVIND CONSTRUIREA SISTEMELOR EXPERT 6.1. Limbaje folosite n realizarea sistemelor expert Indiferent de forma de reprezentare a cunotinelor, pentru scrierea programului reprezentnd sistemul expert, se pot folosi o multitudine de limbaje: BASIC, C, FORTRAN, LISP, PASCAL, PROLOG etc. Intre acestea, LISP i PROLOG sunt limbaje ale inteligenei artificiale i n consecin le vom acorda mai multa atenie. Limbajul LISP a aprut la sfritul anilor 50 la MIT [10] i manipuleaz atomi i liste. Fiecare list este organizat sub form de arborescen binar. Spre exemplu operaia 3x(2+4) se scrie n LISP: (x 3(+2 4)). Principalele probleme existente n folosirea LISP-ului in de timpul relativ mare de execuie a programelor. Limbajul PROLOG (vezi capitolul 9) a fost dezvoltat ntre 1970-1980 la Universitatea din Marsilia i apoi la Universitatea din Edinburg. Se bazeaz pe logica predicatelor i este prototipul limbajelor declarative. Spre deosebire de programarea imperativ sau procedural n care se descrie pas cu pas un algoritm, comandnd printr-un ir de instruciuni calea exact i invariabil a programului, programarea declarativ const n furnizarea dezordonat a datelor i regulilor, programul descurcndu-se singur printre ele. Prolog folosete implicaia, chiar faptele fiind implicaii cu premis vid. Ca urmare regulile i faptele sunt amestecate i urmeaz acelai formalism. S-au fcut i tentative de a mbina avantajele LISP-ului i ale PROLOG-ului: au aprut LOGLISP (1980), LISLOG (1983) etc. Reprezentarea cunotinelor ntr-un sistem expert trebuie s satisfac dou cerine contradictorii [10]: codul scris trebuie s fie ct mai accesibil calculatorului i din acest punct de vedere cel mai bun limbaj de programare ar fi limbajul de asamblare; baza de cunotine trebuie s fie ct mai lizibil pentru utilizator. Cel mai bun limbaj din acest punct de vedere este limbajul natural. n dorina de a satisface aceste cerine s-au cristalizat dou tendine diferite n construirea sistemelor expert. prima tendin const n scrierea sistemului expert ntr-un limbaj de programare, fiind preferate LISP, PROLOG, limbajele orientate obiect; a doua tendin const n folosirea, pentru realizarea sistemelor expert, a instrumentelor de dezvoltare i a generatoarelor de sisteme expert. Aceste doua tendine pot s se reuneasc dac limbajul folosit ofer un mediu de dezvoltare. Vom detalia, n capitolul 8, generatoarele de SE. 6.2. Consideraii practice privind realizarea sistemelor expert n funcie de scopul urmrit, sistemele expert pot fi mprite n trei mari categorii [2]:

84

Sisteme expert de clasificare-interpretare. Se folosesc pentru clasificarea cauzelor posibile ale unei disfuncionaliti (diagnostic, prospecii etc.). Sisteme expert de control (monitorizare). Au sarcina de a supraveghea evoluia unui proces.

Sisteme expert de anticipare - sunt folosite pentru a realiza prognoze n diverse domenii (meteorologie, producie etc.). Apelarea la un sistem expert pentru rezolvarea unei probleme se face dup o analiz care au n vedere urmtoarele: dac problema este bine rezolvat prin metodele informatice clasic este inutil dezvoltarea unui sistem expert; dac domeniul analizat dispune de un expert uman, se poate iniia conceperea unui sistem expert; dac domeniul analizat este caracterizat de o dinamic rapid, atunci este un candidat potenial pentru dezvoltarea unui sistem expert. Tabelul de mai jos ilustreaz situaiile n care este recomandat dezvoltarea unui sistem expert:

Tabelul 6.1. Analiza oportunitii folosirii unui SE. Sursa: [2], pag.234. Problema Precis i stabil Soluia Cunoscut Programare clasic Precis dar evolueaz Fluctuant ntr-un frecvent domeniu bine stabilit SE uor de actualizat ca urmare a evoluiei SE pentru c se poate adapta la fiecare problem SE pentru cutarea soluiei, uor de exploatat pentru c se adapteaz la problema precis

SE pentru gsirea SE pentru cutarea soluiei, apoi abandonat Necunoscut soluiei, apoi adaptat n favoarea programrii pentru exploatare clasice

Procesul de realizare a unui sistem expert poate fi descompus n trei perioade [2]: Un studiu de fezabilitate, realizat cu ajutorul unei machete de sistem expert; Realizarea prototipului. Pe acesta se experimenteaz diferite moduri de reprezentare a cunotinelor i mecanisme de inferene; Realizarea modelului comercial (industrial) Aceste etape, mpreun cu cele cinci faze aferente transferului de cunotine sunt ilustrate n fig. 6.1. Dezvoltarea unui sistem informaional n general este procesul de proiectare a sistemului, pornind de la cerinele utilizatorilor, de implementare, testare sa i n final lansare pe pia pentru a fi folosit efectiv [20]. Particularitatea sistemelor informatice bazate pe cunotine (SIBC) i n particular a sistemelor expert o constituie faptul c aici este foarte important i dezvoltarea bazei de cunotine. De asemenea, nu se pune accentul exclusiv pe dezvoltarea programului motorului de inferen, ci i a celorlalte componente, cum ar fi de exemplu interfeele. Fiecare subsistem poate necesita resurse diferite (alte limbaje de programare sau chiar resurse hardware) i tehnici de dezvoltare distincte. Etapele proiectrii i implementrii unui SIBC sunt sintetizate n figura 6.2.

85

Studiu de fezabilitate Prototip

Identificare Conceptualizare

Formalizare Implementare Validare

Industrializare

Fig. 6.1. Etapele dezvoltrii sistemului expert. Sursa: [2], pag. 236
Reformulare Identificarea caracteristicilor principale ale problemei Analiza cerinelor

Determinarea conceptelor de reprezentare adecvate

Reproiectare Proiectarea arhitecturii pentru organizarea cunoaterii

Rafinare

Organizarea conceptelor

Rafinare i concretizare

Formularea regulilor de utilizare a cunoaterii

Validarea setului de reguli implementat

Executarea structurii Identificare Conceptualizare Formalizare Implementare Testare

Fig. 6.2. Detaliere a etapelor proiectrii i implementrii SE. Sursa: [20]. 6.3. Sistem multi-expert Sistemele expert reprezint tentative de a realiza, cu sisteme artificiale, munca unui expert uman. Ca urmare ele rezolv problemele dintr-un anumit domeniu, uneori destul de ngust. n practica social i mai ales n domeniul economic i al deciziei manageriale sunt situaii n care trebuie evaluate informaii provenind din sectoare diferite (juridic,

86

social, financiar, tehnic etc.) Atunci cnd se rezolv astfel de probleme complexe, ntr-o ntreprindere, se mobilizeaz mai muli experi diferii. Se pune problema dac nu se poate realiza un sistem expert care s nlocuiasc acest ansamblu de experi umani. Un sistem multi-expert este un sistem care permite mai multor sisteme expert s coopereze ntre ele. Lucrurile se petrec ca ntr-o ntreprindere cnd se iau n considerare avizele mai multor experi. Un sistem multi-expert trebuie s asigure cooperarea inteligent a sistemelor componente. Principalele probleme (funcii) n gestiunea sistemelor multi-expert sunt: repartiia sarcinii ntre diferitele module-expert; execuia sarcinilor particulare de ctre diferitele module; recuperarea sarcinii de la diferite module i sinteza rezultatelor. Pentru a controla comunicarea dintre module exist dou abordri fundamentale: control centralizat; control descentralizat.

Control descentralizat Cnd sistemul primete o sarcin, fiecare modul este capabil s descompun sarcina principal n subsarcini i s rezolve ceea ce trebuie s fac. n situaia cnd un modul nu tie ce s fac, el trimite mesaje ctre alte module, n sperana c unul dintre ele va putea s ncarce sarcina pe care el nu a putut-o rezolva. Acest tip de control presupune o unitate de cunotine care permite schimbrile ntre noduri (subnodul de comunicai, subnodul de negociere etc.) Control centralizat n acest caz exist un modul supervizor nsrcinat cu armonizarea ansamblului. Supervizorul va distribui sarcini trimind informaia necesar i va recupera sarcinile modulelor expert. Supervizorul trebuie s aib cunotine n mulimea de expertiz, pentru a putea distribui sarcini. Modulele componente i vor pstra, asemenea experilor umani, independena. n sistemele bazate pe control centralizat exist dou opiuni principale: mprirea cunotinelor operatorii (proceduri, reguli) n module, dar cu condiia ca baza de fapte s rmn unitar; divizarea bazelor de reguli. Fiecare modul de reguli dispune atunci de propria sa baz de fapte (ASIMEX, DECIDEX). Un sistem interesant, bazat pe prima opiune se numete arhitectur blackboard, utilizat n sistemul expert HEARSAY. n aceast arhitectur, comunicarea dintre modulele expert se realizeaz prin intermediul blackboard (tabl de scris). Blackboard este o mare baz de fapte la care au acces toate modulele expert. Fiecare modul, trimite, dup fiecare execuie, faptele deduse. innd seama de faptele de care dispune, blackboard stabilete o ordine de activare a modulelor candidate, indicndu-l pe primul dintre acestea.

87

88

ntrebri recapitulative la tema 7

1. Care sunt principalele tipuri de sisteme expert? 2. Cnd se justific, n rezolvarea unei probleme, recurgerea la un sistem expert? 3. Ce este un sistem multiexpert? 4. Care sunt principalele metode de control ntr-un sistem multiexpert?

Activiti la tema 7
A1. ncercai s determinai, n domeniul contabilitii, probleme car necesit apelarea la un sistem expert. A2. ncercai s determinai, n domeniul contabilitii, probleme car necesit apelarea la un sistem multiexpert.

Dup parcurgerea cestui modul ar trebui s fii capabili s: Identificai probleme a cror rezolvare necesit utilizarea unui sistem expert,
Cunoatei noiunile elementare despre sistemele multiexpert.

89

17. EXEMPLU DE REALIZARE A UNUI SISTEM EXPERT n cele ce urmeaz vom prezenta paii necesari implementrii unui sistem expert, pentru a ilustra consideraiile teoretice din capitolele precedente. Exemplul este preluat din referina [1]. STUDIU DE CAZ: SEPECC SEPECC - sistem expert prototip pentru evaluarea i clasificare creditelor. Scop: urmrirea unor plasamente sigure a fondurilor unei bnci comerciale, asigurarea unei garanii certe, constituirea unor provizioane de risc optime i informarea managementului despre portofoliul de credite cel mai avantajos. Folosind SEPECC se poate selecta cea mai avantajoas variant de plasament capabil s satisfac un optim n politica bncii. Suma conveniilor de credite alctuiete portofoliul de credite al unei bnci comerciale. n prezent, evaluarea i clasificarea portofoliilor se realizeaz manual, cel puin o dat pe semestru, pe baza datelor reale din bilanul contabil, balanele de verificare, celelalte raportri trimestriale i alte documente bancare, dar nu favorizeaz decizii operative. Baza legal o constituie normele BNR, care prevd criteriile: evaluarea performanelor financiare ale clientului; capacitatea clientului de onorare a datoriei la scaden. Exist cinci clase de credite: standard, n observaie, substandard, ndoielnic, pierdere. Dup evaluarea performanelor financiare ale clientului, creditele se repartizeaz n urmtoarele categorii: categoria A, dac performanele financiare sunt foarte bune i permit plata la scaden a ratelor i dobnzilor aferente, iar n perspectiv performanele financiare se menin la un nivel ridicat; categoria B, dac performanele financiare sunt bune sau foarte bune dar nu se pot menine la acest nivel pe o perioad mai lung; categoria C, dac performanele financiare sunt satisfctoare dar au o tendin de nrutire; categoria D, dac performanele financiare sunt sczute i ciclice la intervale scurte; categoria E, dac performanele financiare indic pierderi, iar n perspectiv nu pot fi pltite ratele de rambursat i dobnda. ncadrarea n una din aceste categorii se face n funcie de urmtoarele criterii de evaluare a performanelor financiare: 1. Indicatori de performan financiar: - grad de ndatorare; - lichiditatea imediat; - solvabilitatea patrimonial; - rentabilitatea; - gradul de acoperire a cheltuielilor din venituri. 2. Factori calitativi: - managementul ntreprinderii;

90

- profil de activitate/ramur; - asigurarea cu materii prime; - asigurarea desfacerii; - perspectiva performanei financiare; - ali factori. 3. Tipul garaniilor materiale pentru operaiunea bancar: - garanii materiale din clasa de importan I; - garanii materiale din clasa de importan II; - alte garanii. 4. Serviciul datoriei: - BUN, dac ratele i dobnzile se pltesc la scaden sau cu o ntrziere de maximum 7 zile; - SLAB, dac ratele i dobnzile se pltesc cu ntrziere de pn la 30 de zile; - NECORESPUNZTOR, dac ratele i dobnzile se pltesc cu ntrziere mai mare de 30 de zile; Pentru fiecare clas de credite banca este obligat s-i continue provizioane specifice. Indicatorii de performan financiar se calculeaz cu relaiile: Grad de ndatorare (%) = Lichiditate imediat Total datorii x100 Total active

(% ) =
Unde:

Active lichide x 100 Datorii pe termen scurt

Active lichide = Casa + Disponibil n conturi + CEC-uri cu limit de sum + Facturi nencasate; Datorii pe termen scurt = Credite + Obligaii fa de teri
Capital propriu + Proviz. pt. risc i chelt. x 100 Capital propriu + Pr oviz . pt .risc i chelt .+ Totalcredi te

Solvabilit atea patrimonia l (%) =

Re ntabilitat ea capitaluui propriu (%) =

Profit net x 100 Capital propriu + Pr oviz . pt .risc i chelt V Gacv (%) = x 100 Cav

Unde: Gacv - gradul de acoperire a cheltuielilor din veniturile ncasate V - venituri ncasate Cav - cheltuieli aferente veniturilor ncasate Pentru fiecare indicator se acord un punctaj n funcie de clasa de ncadrare. Numrul maxim de puncte acordat clientului este de: - 50 pentru clienii la care toi indicatorii intr n clasa I de performan financiar; - 40 pentru clienii la care toi indicatorii intr n clasa II de performan;

91

- 25 pentru clienii la care toi indicatorii intr n clasa III; - 10 puncte pentru clienii la care toi indicatorii intr n clasa IV; - 0 puncte pentru clienii la care toi indicatorii intr n clasa V. Pentru factorii calitativi este posibil un punctaj maxim de 30 de puncte (cte 5 puncte pentru fiecare factor calitativ observat). Pentru tipul garaniei materiale se poate acorda maximum 20 de puncte, n cazul garaniilor constituite n favoarea bncii, astfel: - 20 puncte maximum pentru garanii din clasa I; - 10 puncte maximum pentru garanii din clasa II; - 20 puncte pentru alte garanii. Evaluarea performanei financiare globale a unui client se face dup punctajul total obinut, care ncadreaz creditul n una din categoriile urmtoare: Tabelul nr. 7.1. Tabel decizional pentru stabilirea performanei financiare PERFORMAN FINANCIAR PUNCTAJ A = Foarte bun 81-100 B = Bun 71-80 C = Satisfctoare 61-70 D = Sczut 50-60 E = Foarte sczut sub 50 Clasificarea creditului are loc n final n conformitate cu tabelul nr. 7.2. Tabelul nr. 7.2. Tabel decizional pentru stabilirea scopurilor Serviciul datoriei BUN SLAB NECORESPUNZTOR Performana financiar A Standard n observaie Sub standard B n observaie Sub standard ndoielnic C Sub standard ndoielnic Pierdere D ndoielnic Pierdere Pierdere E Pierdere Pierdere Pierdere SEPECC este organizat ca un sistem care ajut executivul bncii s evalueze i s clasifice convenia de credit cu clientul. n urma dialogului cu utilizatorul, purtat n timpul sesiunii de consultare, se va sugera o clasificare a creditului, n funcie de care executivul decide acordarea sau nu a creditului. n felul acesta se poate aprecia c SEPECC acord sfaturi utilizatorului ntr-o problem esenial - profitabilitatea creditului pentru banc i pentru clientel. n acest scop este esenial ntreinerea constant a bazei de cunotine. SEPECC, deocamdat de interes didactic, este un prototip i se inspir din realitate. Fa de precizrile fcute mai nainte observm factorii care influeneaz evaluarea unei convenii de credit pe baza criteriilor de profitabilitate: cele cinci clase de credite posibile; cele patru criterii de evaluare a performanei financiare; cele trei valori ale serviciului datoriei; cele cinci categorii de performan financiar, n funcie de punctajul acordat

92

pentru indicatori i tipul garaniilor materiale. Vom arta cum se reprezint cunoaterea specific lui SEPECC prin cteva metode. a) Metoda regulilor de producie n aceast metod este nevoie de urmtoarele variabile i reguli conform tabelei nr. 7.3. Tabelul nr. 7.3. Variabile i semnificaii Variabile Semnificaie Valori Performan financiar Performan A,B,C,D,E financiar Serviciul datoriei Serviciul datoriei BUN, SLAB, NECORESPUNZTOR Clasa de credite Clasa de credite STANDARD, N OBSERVAIE, SUBSTANDARD, NDOIELNIC, PIERDERE. Pentru redactarea regulilor trebuie s avem n vedere tabelul de mai jos: Tabelul nr. 7.4. Clase de credite Performan financiar Serviciul datoriei A BUN A SLAB A NECORESPUNZTOR B BUN B SLAB B NECORESPUNZTOR C BUN C SLAB C NECORESPUNZTOR D BUN D SLAB D NECORESPUNZTOR E BUN E SLAB E NECORESPUNZTOR Regula 1: IF Performan financiar este A AND serviciul datoriei este BUN THEN clasa de credite este STANDARD Regula 2: IF Performan financiar este A AND serviciul datoriei este SLAB THEN clasa de credite este N OBSERVAIE Regula 3: IF Performan financiar este A AND serviciul datoriei este NECORESPUNZTOR Clasa de credite STANDARD N OBSEVAIE SUBSTANDARD N OBSEVAIE SUBSTANDARD NDOIELNIC SUBSTANDARD NDOIELNIC PIERDERE NDOIELNIC PIERDERE NECORESPUNZTOR BUN SLAB NECORESPUNZTOR

93

THEN clasa de credite este SUBSTANDARD Regula 4: IF Performan financiar este B AND serviciul datoriei este BUN THEN clasa de credite este N OBSEVAIE Regula 5: IF Performan financiar este B AND serviciul datoriei este SLAB THEN clasa de credite este SUBSTANDARD Regula 6: IF Performan financiar este B AND serviciul datoriei este NECORESPUNTOR THEN clasa de credite este NDOIELNIC Regula 7: IF Performan financiar este C AND serviciul datoriei este BUN THEN clasa de credite este SUBSTANDARD Regula 8: IF Performan financiar este C AND serviciul datoriei este SLAB THEN clasa de credite este NDOIELNIC Regula 9: IF Performan financiar este C AND serviciul datoriei este NECORESPUNTOR THEN clasa de credite este PIERDERE Lsm la dispoziia cititorului de a redacta celelalte reguli. Not: Regulile i relaiile le exprimm i sub form de arbore astfel:
Performan financiar A

Serviciul datoriei

BUN

SLAB

NECORESPUNZTOR

Clasa de credite STANDARD

N OBSERVAIE

SUBSTANDARD

Fig.7.1. Arbore de reprezentare a regulilor Valorile performanei financiare i serviciul datoriei determin ncadrarea unui credit ntr-o clas sau alta. Pentru simplificare vom considera numai unele reguli i

94

variabile. b) Metoda reelelor semantice


CLASA

STD

NOBS

SUBSTD

IS-A SERVICIU IS-A PERFORM

BUN

SLAB

IS-A

Fig. 7.2. Reea semantic pentru situaia studiat c) Metoda cadrelor Nume schema : Performana : Serviciu l : STANDARD A CLASA DE CREDITE :

Nume cadru : Performana : Serviciu l

: BUN

Nume cadru SUBSTANDAR : D B Performana : Serviciu l : SLAB

: : Nume cadru N OBSERVAIE Performana : A Serviciu l : SLAB

95

Fig. 7.3. Reprezentare prin cadre Schema este cadrul generic pentru cunoaterea din celelalte cadre instane. d) Calculul predicatelor Stabilim urmtoarele structuri de cunoatere: P : performana financiar S : serviciul datoriei C : clasa de credite Variabile : P i S Gsete :C _________________________ SELECTEAZ (P, S) = C n care SELECTEAZ este o funcie pentru operaia de cutare a clasei de credite n funcie de variabilele P i S. Pentru regulile din paragraful de mai sus includem i factori de certitudine. Mai nti detaliem valorile variabile serviciul datoriei, conform studiului de caz din paragraful precedent i vom ine seama de ele n regulile urmtoare: Regula 1: IF Performan financiar este A AND serviciul datoriei este BUN(0,90) THEN clasa de credite este STANDARD Regula 2: IF Performan financiar este A AND serviciul datoriei este SLAB(0,50) THEN clasa de credite este N OBSERVAIE Regula 3: IF Performan financiar este A AND serviciul datoriei este NECORESPUNZTOR(0,40) THEN clasa de credite este SUBSTANDARD Regula 4: IF ratele i dobnzile se pltesc la scaden OR ntrzierea este maximum de 7 zile THEN serviciul datoriei este BUN(0,90) Regula 5: IF ratele i dobnzile se pltesc cu ntrziere AND ntrzierea este maximum 30 zile THEN serviciul datoriei este SLAB(0,50) Regula 6: IF ratele i dobnzile se pltesc cu ntrziere AND ntrzierea este mai mare de 30 zile THEN serviciul datoriei este NECORESPUNZTOR(0,40) Ne oprim la aceste reguli pe care le exprimm sub forma arborilor de cutare

96

(arbori SI-SAU) din figura 7.4.


STANDARD
1 N OB SER VA IE 2 B UN 4

SLAB 5

Plat la scaden

ntrz. max. 7 zile

Plat cu ntrziere

ntrz. max. 30 zile

Fig. 7.4. Reprezentare prin arbori I-SAU Strile scop (STANDARD, N OBSERVAIE ...) sunt la rdcina arborelui, iar strile iniiale (A, plata la scaden ...) sunt frunzele arborelui, n timp ce BUN, SLAB, NECORESPUNZTOR sunt stri intermediare. Dac dou noduri copil, din acelai printe, au un arc de legtur, diagrama se va interpreta ca o regul AND. De exemplu, n regulile 1, 2, 3, 5 i 6 avem: IF copil-1 AND copil-2 THEN nod printe Dac nici un arc de legtur nu exist ntre nodurile copil (succesor) atunci diagrama se va interpreta ca o regul OR i se scrie astfel (regula 5): IF copil-1 OR copil-2 THEN nod printe Pe figura 7.4. se pot vizualiza strategiile de control al raionamentului astfel: dac ncepem cu strile iniiale din partea de jos a fiecrui arbore i mergem spre rdcin efectum un control nainte; adic, dac tim c plata este la scaden sau c ntrzierea este mai mic de 7 zile, atunci regula 4 este adevrat; n continuare, Or i regula 1 ne d adevrat, deoarece ambele premise sunt adevrate, iar scopul (STANDARD) a fost atins; pentru ca starea scop (STANDARD) s fie atins, adevrat, att A, ct i BUN trebuie s fie adevrate. Dar BUN este adevrat dac plata la scaden este adevrat sau ntrzierea este de maximum 7 zile. n aceast diagram, cu scopul la rdcin, control napoi nseamn cutarea de sus n jos-ul arborelui. Aceste dou concepte, control nainte i control napoi se pot ilustra printr-o diagram stnga-dreapta ca n figura 7.5. n aceast diagram, AND este reprezentat ca un triunghi, iar OR cu un semicerc. Intrrile sunt la stnga, iar ieirile la dreapta. Strile iniiale sunt la stnga, iar scopurile sunt n partea cea mai din dreapta. Cutarea de la stnga (de la strile iniiale) ctre dreapta (scop) este un control nainte, iar cutarea de la dreapta (scop) ctre stnga (strile iniiale) este un control napoi. Pot exista situaii cnd n cutare nu se poate traversa ntreaga diagram, scopul

97

rmnnd neatins. Indiferent de orientarea grafic a regulilor, ntotdeauna starea scop (THEN) se determin din starea iniial (IF).

Fig. 7.5. Ilustrare a tipurilor de control SEPECC permite introducerea unor date care s fie utilizate de baza de cunotine dintr-o baz de date sau dintr-o tabel de calcul. Exist cteva avantaje ale utilizrii bazei de date n conjuncie cu un sistem expert. Baza de date ofer sistemului un mare volum de date ntr-o perioad de timp redus. Aceasta nseamn c sistemul cu multe reguli i va putea executa funcia proprie ntr-un timp redus. Mai mult, utilizatorul este eliberat de sarcinile dificile i lente ale introducerii datelor, iar acurateea i sigurana introducerii datelor este asigurat de ctre baza de date. Folosirea bazei de date nu elimin definitiv problema incertitudinii (date lips sau cunoatere incomplet) din sistemele expert. Chiar i baza de date poate fi incomplet cnd lipsesc anumite nregistrri din cauza unor probleme la actualizare sau din schimburile de date cu sistemul expert. SEPECC poate utiliza bazele de date n mai multe moduri: datele despre performana financiar i factorii calitativi se pot memora ntr-o baz de date. Acest fapt permite utilizarea unui mare numr de reguli pentru stabilirea cu exactitate a punctajelor pentru performana financiar i categoriile de credite. Tabelele de calcul pot fi i ele utilizate efectiv n sistemele expert. De exemplu, informaiile contabile dintr-o tabel de calcul se pot utiliza pentru luarea deciziilor financiare n care sunt necesare multe calcule asupra unor noi date care devin disponibile. Ca i n cazul bazei de date, tabelele de calcul pot memora n mod eficient mari cantiti de date, elibernd utilizatorul de introducerea lor. Ele ofer ns o posibilitate suplimentar i anume What-if?, care este deja implementat n sistemele expert. Aceast posibilitate permite utilizatorului s constate ce se ntmpl dac anumite date din tabel sunt schimbate. i tabelele de calcul pot avea date lips sau date incomplete i din acest motiv sistemele expert trebuie s fie capabile s soluioneze aceste neajunsuri. SEPECC poate utiliza o tabel de calcul al indicatorilor

98

de performan financiar. Este important de observat cum putem ncorpora n regulile sistemului SEPECC factorii de certitudine. Pentru aceasta vom lua n seam factorii de certitudine despre performana financiar n conformitate cu punctajul din tabelul de la paragraful 2.16. Dac suntem foarte siguri c performana financiar este FOARTE BUN, atunci acordm un factor de certitudine de cel puin 81%, dac suntem foarte siguri c performana financiar este BUN acordm un factor de certitudine de cel puin 71% etc. Subiectivitatea expertului sau cognoticianului, n acest caz, este susinut totui de un anumit punctaj, obinut n condiiile relatate la paragrafele precedente. Stabilim apoi pragul pentru declanarea regulii, de exemplu 40%. n acest caz, pentru primele dou reguli vom avea: Regula 1: IF performana financiar este A(0,90) AND serviciul datoriei este BUN(0,90) THEN clasa de credite este STANDARD Regula 2: IF performana financiar este A(0,85) AND serviciul datoriei este SLAB(0,50) THEN clasa de credite este N OBSERVAIE Este de preferat ca acest prototip de sistem expert s primeasc ntrebri i rspunsuri de la tastatur i/mouse, iar n viitor s poat comunica prin voce. Comunicaia trebuie ncorporat prin intermediul celor patru stiluri de interfee, discutate anterior (meniuri, ntrebare-rspuns, icoane i ferestre multiple) dup cum urmeaz: ntrebrile i rspunsurile n limba romn; meniurile i icoanele pentru selectarea categoriilor de credite, atributelor garaniilor materiale i serviciului datoriei sau performanei financiare; trei ferestre afiate simultan pe ecran pentru ntrebare-rspuns, sumar de comenzi i help; s fie prevzut i crearea unei baze de date i/tabele de calcul, ataat sistemului expert pentru indicatorii de performan, clieni etc. Toate acestea de mai sus sunt preferine ale proiectantului i urmeaz a fi consolidate n urma discuiei cu experii i utilizatorii.

99

18. GENERATOARE DE SISTEME EXPERT 8.1. Arhitectura generatoarelor de sisteme expert (GSE) Aa cum s-a vzut n capitolele anterioare, un sistem expert este o entitate (aplicaie) informatic, dotat cu o baz de cunotine i cu un motor de inferene, capabil s rezolve probleme complicate i nestructurate dintr-un domeniu dat. n afara celor dou componente eseniale, BC i MI, sistemele expert mai au uneori i alte module auxiliare, numite utilitare, care s permit achiziionarea cunotinelor i interpretarea rezultatelor. n realitate de cele mai multe ori nu se comercializeaz sisteme expert complete (prevzute cu baz de cunotine) i gata de funcionare, ci produse informatice numite generatoare de sisteme expert sau instrumente de elaborare, fr baz de cunotine, dar capabile s primeasc aceast baz de cunotine i s o exploateze.
Baza de cun otine

Editor

Motor in ferenial

Tra sor

nvare

A lte m odule

Interfaa utiliza tor

Interfaa pro cedeu

Fig. 8.1. Arhitectura simplificat a unui generator de sisteme expert. Sursa: [10], pag. 120 Figura 8.1. ilustreaz arhitectura general a unui astfel de instrument de elaborare sau GSE, iar tabelul 8.1. prezint succint principalele componente. S mai observm c, n realizarea unui SE cu ajutorul GSE, exist dou moduri de lucru: modul dezvoltare - care permite mbogirea sistemului i validarea funcionrii sale. Ansamblul instrumentelor utilizate pentru aceasta poart numele de motor de elaborare; modul exploatare - n care utilizatorul folosete sistemul expert pentru rezolvarea unor probleme concrete. n cele ce urmeaz vom detalia cele mai importante componente din arhitectura generatorului de sisteme expert.

100

Tabelul 8.1. Principalele componente ale unui GSE. Sursa: [3], pag. 112
Nr. crt. 1. Denumirea componentei MOTORUL INFERENIAL Tip component Funciile eseniale ale componentei MI este conectat la BC din care i preia cunotinele pe care le prelucreaz i le restocheaz tot la nivelul BC. Anumite GSE pot fi dotate cu mai multe MI: MI diferite pentru reguli MI dedicate pentru metareguli SE pot fi destinate expertizrii mai multor domenii de cunoatere diferite, ceea ce d natere la sisteme multi-expert (SME). BC conin regulile i faptele necesare dezvoltrii unui SE prin facilitile GSE. EDITORUL asigur schimbul de cunotine ntr-o manier i structur apropiat limbajului natural EDITORUL permite nelegerea regulilor i faptelor manipulate prin GSE. EDITORUL are o serie de funcii auxiliare: facilitarea nelegerii; verificarea cuvintelor cheie utilizate de GSE; verificarea valorilor posibile admise de variabile (domeniul variabilelor); afiarea regulilor cu premise i concluzii similare. TRASORUL asigur: urmrirea secvenelor raionamentelor desfurate de MI; afiarea regulilor care au dedus o anumit concluzie; activarea ntrebrilor de genul: DE CE i CUM, pentru a furniza fie faptul fie regula utilizat. NVAREA permite dou funcii eseniale: modalitatea concret a achiziiei de noi reguli; reperarea euristicilor performante. IU asigur comunicaia i dialogul eficient cu utilizatorul SE, cu meniunea c pot exista mai multe module de interfa. De asemenea, IU permite interaciunea fie cu BD fie chiar cu un spreadsheet. CR asigur verificarea sintactic a regulilor introduse prin intermediul EDITORULUI n BC.

baz

2. 3.

BAZA DE CUNOTINE EDITORUL

baz

auxiliar

4.

TRASORUL

auxiliar

5.

NVARE auxiliar

6.

INTERFAA UTILIZATOR (UI) auxiliar

7.

COMPILATOR REGULI (CR)

auxiliar

101

Nr. crt. 8.

Denumirea componentei DICIONARUL (DICT)

Tip component

Funciile eseniale ale componentei DICT conine toate informaiile particulare i specifice cu privire la: fapte reguli frame-uri obiecte CA asigur activarea BC prin intermediul unor parole de acces sau invalideaz activarea BC dac utilizatorul nu furnizeaz o parol valid. MS asigur o serie de funcii strict particulare, dintre care cel eseniale sunt: calcule; comentarii; explicaii. ME coordoneaz aciunea trasorului i a editorului. De asemenea, ME ofer facilitile impuse de verificarea sintaxei, efectuarea de corecii i concordana dup corectare cu utilizatorul.

auxiliar

9.

Confidenialitatea accesului la BC (CA) MODULE SPECIALIZATE (MS)

auxiliar

10.

auxiliar

11.

MOTORUL DE ELABORARE (ME) auxiliar

8.1.1. Editorul Editorul, mpreun cu modulul su de dialog sunt elemente intermediare ntre baza de cunotine i persoana care o ncarc sau o ntreine. Editorul realizeaz urmtoarele aciuni [10]: faciliteaz nelegerea prin afiarea unor cmpuri ce trebuie completate, prin propunerea valorilor posibile sau a unei valori implicite; afieaz lista obiectelor selectate; verific dac o regul se nscrie corect ntr-o reea de inferen; afieaz rezultatele care au aceleai premise sau aceleai concluzii, permindu-se reperarea incoerenelor; verific din punct de vedere ortografic corectitudinea cuvintelor-cheie, obiectelor sau frame-urilor utilizate; verific utilizarea corect a conectoarelor SI, SAU (forma normal conjunctiv sau disjunctiv de exemplu); solicit, pentru variabile, valori posibile (domeniul variabilei). Ca o concluzie se poate afirma c editorul verific compatibilitatea cunotinelor introduse cu structura predefinit a cunotinelor. De asemenea editorul gestioneaz dicionarul faptelor, obiectelor, frame-urilor i regulilor i de asemenea gestioneaz confidenialitatea acceselor la baza de cunotine. Exist generatoare la care editorul realizeaz n final compilarea regulilor n scopul detectrii erorilor de sintax i al accelerrii activitii motorului inferenial. 8.1.2. Trasorul

102

Principala sarcin a trasorului const n urmrirea irului raionamentelor efectuate de motorul inferenial. Att n modul dezvoltare ct i n modul exploatare, utilizatorul poate fi interesat de modul n care s-a ajuns la o anumit concluzie. Astfel, utilizatorul poate pune ntrebarea DE CE (referitoare la un fapt) sau ntrebarea CUM (referitoare la o concluzie) i trasorul rspunde cu regula sau regulile avute n vedere sau aplicate. Trasorul are de asemenea rolul de a actualiza baza de fapte, pe msur ce sunt deduse noi fapte. la ncheierea unei sesiuni, nlnuirea de reguli folosite pentru demonstrarea unui scop, numit traseu este disponibil pentru utilizator. 8.1.3. Motorul de elaborare Motorul de elaborare cuprinde proceduri asociate trasorului care pot fi sau nu izolate ntr-un modul particular. Este folosit n modul dezvoltare pentru a mbogi i valida baza de reguli. n general o baz de reguli este caracterizat prin urmtoarele trsturi: completitudinea (sistemul nu risc s se opreasc datorit inexistenei unei reguli n baza de reguli) coerena (proprietatea unei baze de reguli de a nu produce fapte contradictorii) neredundana. 8.1.4. nvarea n cazul sistemelor expert se poate vorbi de dou tipuri de nvare: achiziia de noi reguli, prin adugarea lor unei baze deja existente sau prin achiziia regulilor plecnd de la exemple; reperarea euristicilor performante. Euristici performante pot fi asociate anumitor stri din baza de fapte dac sistemul a constatat c astfel se poate ajunge rapid la rezultat. Trebuie remarcat c achiziia de cunotine se face de obicei prin introducerea regulilor cu mna i nu prin nvare automat. 8.2. Prezentare sintetic a generatorului de SE EXSYS Professional EXSYS a fost lansat pe pia n 1989 de compania american EXSYS Inc, iar versiunea EXSYS Professional funcioneaz n medii grafice de tipul Windows 95 i mai recente. Produsul are n compunere dou module eseniale [1]: generatorul propriu-zis (editorul de reguli de producie), pentru crearea i modificarea unei baze de cunotine; componenta RUNTIME care permite utilizarea unei baze de cunotine create anterior; Principalele caracteristici ale generatorului de SE sunt: mod de lucru interactiv; opereaz cu reguli de tipul IF - THEN - ELSE; motorul de inferen poate lucra dup toate cele trei strategii de control (nainte, napoi, mixt);

103

are posibiliti multiple de achiziie a cunoaterii; n reguli pot fi ncorporate i formule matematice i logice complexe; pe msura introducerii regulilor, acestea sunt verificate i validate. Schema general de principiu a generatorului EXSYS este ilustrat n figura 8.2.

Interaciunea cu utilizatorul se realizeaz printr-o interfa grafic ce conine meniuri i ferestre, aa cum este ilustrat n figura 8.3., n care sunt prezentate toate meniurile.

Fig. 8.2. Schema de principiu a generatorului EXSYS. Sursa: [1], pag. 271 Dup lansarea motorului de inferene, controlul su se realizeaz cu interfaa utilizator, deosebit de prietenoas i cu multiple posibiliti de execuie sau de editare. Motorul de inferene este dotat cu mai multe module, care se pot conecta la diferite echipamente de verificare automat a mediului nconjurtor: senzori, cadre, tablouri de date, sisteme de programare liniar, software de calcul tabelar (EXCEL, LOTUS 1-23), software pentru grafic, SGBD relaionale, tabla neagr, sintetizator vocal i orice programe externe (vezi figura 8.2). Toate aceste module intr n aciune la momentul oportun, conform dorinei proiectantului i/sau utilizatorului. La rndul su, generatorul EXSYS poate intra n aciune dac este apelat de ctre un program extern sau o aplicaie informatic de tip clasic. n funcie de posibilitile sale, EXSYS permite un proces de achiziie a cunoaterii n 5 pai: determinarea de ctre cognotician a subiectului bazei de cunotine i identificarea unui expert n domeniu; descoperirea cunoaterii de care dispune expertul, pe parcursul mai multor interviuri;

104

cunoaterea captat este formalizat n reguli de producie, care fac obiectul bazei de cunotine; se construiete baza de cunotine, prin una sau mai multe sesiuni de editare a regulilor; se testeaz baza de cunotine astfel obinut pentru a constata corectitudinea cunoaterii achiziionate.

Fig. 8.3. Ecranul i meniurile aplicaiei EXSYS Regula de producie n EXSYS Professional are 6 componente: IF premis THEN <concluzie-1> ELSE <concluzie-2> NOTE <comentariu> REFERENCE <comentariu> NAME <nume> Ultimele 4 componente sunt opionale. Partea IF se creeaz prin combinaii de calificatori i valori asociate. Partea de THEN se creeaz prin combinarea unor opiuni i a unor probabiliti, considerate factori de certitudine. EXSYS ofer cinci metode pentru valorile factorilor de certitudine: YES/NO, [0, 10], [-100, +100], Incr. / Decr., Costum Formula i Fuzzy. Limitele din stnga fiecrui interval nseamn incertitudine

105

absolut, iar cele din dreapta nseamn certitudine absolut. Valorile intermediare indic factori de certitudine care recomand aciunea. n cadrul unei reguli, dac toate condiiile unei premise sunt adevrate, atunci i concluzia este adevrat, fapt care determin luarea regulii n atenia motorului de inferene pentru execuie. Enunurile din partea IF ca i din celelalte pri sunt fraze n englez, n romn sau chiar expresii matematice. Prile THEN i ELSE conin soluii posibile, pe care EXSYS le poate selecta. Soluiile sunt prezentate printr-un enun urmat de probabilitatea redactat de sintaxa Confidence = <n>, unde <n> este o valoare din intervalele scalelor prezentate mai sus. De exemplu: 8/10, 5/10 etc., n cazul scalei 0-10. EXSYS prefer mai nti s infereze cunoaterea din alte reguli dect s o solicite de la utilizator. Acest tip de inferen este specific strategiei de control napoi. Dac utilizatorul adreseaz ntrebarea WHY? (de ce?), n timpul sesiunii de consultare, se vor afia, ca explicaie, reguli utilizate n lanul inferenial. Cnd se doresc mai multe detalii explicative se poate introduce semnul ?. Dac o regul s-a afiat, exist posibilitatea ntrebrii de unde cunoate sistemul c enunurile IF sunt adevrate, prin tastarea numrului liniei corespunztoare unei condiii. Se poate cere o explicaie referitoare la una dintre expresiile matematice utilizate i se obine valoarea fiecrei variabile implicate. n momentul n care sistemul expert ajunge la concluzia/soluia problemei, el afieaz o list (n ordinea descresctoare a probabilitilor ataate) a soluiilor posibile. Se pot afia chiar notie sau valori ale unor variabile evaluate de ctre sistem. Dup afiarea soluiilor, exist posibilitatea schimbrii unuia sau tuturor rspunsurilor utilizatorului pentru a se vedea efectul asupra soluiilor. Cognoticianul, n procesul de creare a unui sistem expert n EXSYS, dup introducerea numelui viitoarei baze de cunotine trebuie s parcurg urmtorii pai: stabilirea parametrilor de lucru ai sistemului, ce cuprind informaii cu privire la: subiectul bazei de cunotine (precizare obligatorie); numele autorului (precizare obligatorie), metoda de lucru cu factorii de certitudine, modalitatea de combinare a acestor factori de certitudine n cazul [-100, 100]; textul de nceput, textul de sfrit; numele programului extern; activarea afirii regulilor pe timpul execuiei sistemului, modul de parcurgere a bazei de cunotine, activarea/dezactivarea testrii consistenei unei noi reguli introduse; limita minim de afiare a rezultatelor; introducerea scopurilor specifice bazei de cunotine; introducerea calificatorilor, cu valorile asociate, cunoscui din analiza problemei; introducerea variabilelor sau formulelor cunoscute din analiza problemei; introducerea regulilor specifice reprezentrii cunoaterii; execuia, testarea i validarea prototipului de sistem expert. Toate aceste rspunsuri sunt preluate din meniuri de tip butoane radio, n rubrici corespunztoare sau n ferestre special concepute pentru fiecare n parte. Dup completare se revine la macheta principal de lucru cu parametrii menionai mai sus. Parametrii de lucru se pot actualiza prin apelarea opiunii Options Parameters, cu precizarea c modul de lucru cu factori de certitudine nu mai poate fi modificat dup prima sa utilizare ntr-o regul. Pentru dezvoltarea unui sistem expert (comercial/prototip) proiectantul trebuie s

106

cunoasc foarte bine o serie de proceduri de operare cum sunt: S Procedura de creare a bazei de cunotine, care presupune n ordine operaiile: introducerea calificatorului; introducerea valorilor calificatorului; crearea prii de IF; crearea prii de THEN; crearea prii de ELSE (opional); crearea prii de NOTE (opional); crearea prii de REFERENCE (opional); crearea prii de NAME (opional) i vizualizarea corectitudinii regulii astfel creat; S Procedura de adugare a variabilelor, care presupune operaiile: introducerea numelui variabilei; introducerea textului pentru funcia variabilei; cum se decide numele variabilei; introducerea textului pentru funcia variabilei; cum se decide asupra afirii valorii variabilei; S Procedura de editare/modificarea unei reguli, care are paii: se selecteaz regula de editat; se selecteaz partea corespunztoare din regul; se tasteaz o comand de editare; se determin condiia de schimbat; selectm opiunea de schimbat; selectm valoarea de ataat opiunii; verificm modificarea fcut; S Procedura de mutare a unei reguli, care se realizeaz prin operaiile: selecie nceput de regul; selecie sfrit de regul i introducerea numrului regulii naintea creia are loc mutarea; S Procedura de tergere a unei reguli se realizeaz prin operaiile: se introduce numrul regulii dup apelarea opiunii Delete Rule; se selecteaz butonul Yes pentru confirmarea tergerii; S Procedura de imprimare a sistemului expert presupune operaiile: identificarea fiierului corespunztor de imprimat; se decide dac se dorete i lista referinelor ncruciate; se stabilete modelul imprimrii (list continu sau pagin A4); se determin destinaia (imprimanta sau un fiier pe disc); S Procedura de execuie (consultare) a sistemului expert creat presupune operaiile: lansarea n execuie a generatorului EXSYS Professional; apelarea opiunii File/Open; selectarea bazei de cunotine de executat; selectarea opiunii Options/Run; apariia pe ecran a textului de nceput i apsarea butonului Continue; ntreinerea dialogului cu sistemul; afiarea textului de sfrit i apsarea butonului Continue urmat de citirea rezultatelor; S Procedura de salvare i ieire din generatorul de sisteme expert se prezint astfel; (dup execuie) se apeleaz opiunea File/Save sau File/Close i se rspunde afirmativ/negativ la ntrebrile puse de generator cu privire la salvarea bazei de cunotine sau atribuirea unei parole; S Procedura de regsire a unei baze de cunotine presupune aceleai comenzi utilizate la creare, cu precizarea c se utilizeaz File/Open n loc de File/New. S Alte proceduri: procedura de creare ecrane de lucru, procedura de realizare rapoarte, procedura de testare-validare; procedura de examinare a arborelui de cutare (Tree Diagram) etc.

107

ntrebri recapitulative la tema 9

1. 2.
3.

Ce sunt generatoarele de sisteme expert Cnd se justific, n rezolvarea unei probleme, folosirea unui generator de sisteme expert? Ce faciliti ofer generatoarele de sisteme expert?

Activiti la tema 9
A1. ncercai s schiai arhitectura unui generator de sisteme expert. A2. ncercai s facei o comparaie sintetic ntre realizarea unui sistem expert prin programare direct (eventual n PROLOG) i prin utilizarea unui generator de sisteme expert..

Dup parcurgerea cestui modul ar trebui s fii capabili s:

Cutai i s comparai generatoare de sisteme expert, Utilizai un generator de sisteme expert pentru a crea un sistem expert simplu.

108

TESTE DE AUTOEVALUARE I 1. Realizai o comparaie sintetic ntre domeniul RNA i domeniul SE. 2. Prezentai concis arhitectura generatoarelor de SE. 3. Prezentai concis strategiile de control i modurile de raionament folosite n motoarele de inferene. 4. Prezentai concis entitile limbajului Prolog. 5. Se consider urmtoarele enunuri: P(x) = x este un economist S(x) = x este inteligent L(x,y)= x iubete pe y S se scrie n logica predicatelor urmtoarele aseriuni: Toi economitii sunt inteligeni. Unii economiti sunt inteligeni. Nici un economist nu este inteligent. Exist economiti. Unii iubesc pe alii.

II 1. Prezentai concis componentele Inteligenei Artificiale. 2. Prezentai concis arhitectura sistemelor expert. 3. Prezentai concis regulile de producie. 4. Realizai o comparaie sintetic ntre logica propoziiilor i logica predicatelor de ordinul I. 5. S se construiasc tabelul de adevr asociat urmtoarei formule:

(P ~ Q) (~ P Q)

6. Se consider urmtoarele afirmaii: Dac o main e mai rapid dect un Porsche, atunci e o main sport. Este de asemenea o main sport dac este mai rapid dect o alt main sport. Dac X este mai rapid dect Y i Y este mai rapid dect Z, atunci X este mai rapid dect Z. Mai mult, dac o main este mai rapid dect un Porsche i un Ferrari atunci este o main de formula 1. A) Formulai predicatele necesare pentru a codifica aceste fapte (spre exemplu Mai_rapid (X,Y)); B) Codificai faptele de mai sus ca un sistem de reguli de producie.

109

BIBLIOGRAFIE

1. Andone loan, ugui Alexandru: Sisteme inteligente n management, 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
contabilitate, finane, bnci i marketing, Ed. Economic, 1999. Crstoiu Dorin loni: Sisteme expert, Ed. AII, 1994. Davidescu Niculae Dumitru: Arhitectura sistemelor expert, Ed. Didactic i Pedagogic, Bucureti, 1997. Davidescu Niculae Dumitru: Utilizarea sistemelor expert n domeniul financiar-contabil, Ed. Didactic i Pedagogic, 1997. Dumitra Adriana: Proiectarea reelelor neuronale artificiale, Casa editorial Odeon, Bucureti, 1997. Dumitrescu D: Principiile inteligenei artificiale, Editura Albastr, 1999. Florea A. M., Dorohonceanu B., Frncu C.: Programare n Prolog pentru Inteligen Artificial, Universitatea Politehnica Bucureti, 1997 Glenn J. Brookshear: Introducere n informatic, Editura Teora, 1998. Goron Sabin, Jolde Remus, Ilean loan: Iniiere n IA, Ed. Risoprint, ClujNapoca, 2000. Guy Benchinol, Levine Pierre, Pomerol Jean-Charles: Sisteme expert n ntreprindere, Editura Tehnic, 1993. Hertz John, Krogh Anders, Palmer G. Richard: Introduction to the theory of neural computation, Addison-Wesley Publishing Company, 1991. Jolde Remus : Reele neuronale, Seria Didactica. Universitatea 1 Decembrie Alba Iulia. Ptru Bogdan: Sisteme expert de gestiune, Universitatea din Bacu, 2000. Toderean Gavril, Coteiu Mircea, Giurgiu Mircea : Reele neuronale, Editura Micro-informatica, Cluj Napoca, 1994. Trifa Viorel, Gaur Elena Ioana : Reele neuronale artificiale. Arhitecturi fundamentale. Editura Mediamira, Cluj Napoca, 1996. Yanai Hiro-Fumi, Amani Shun-ichi : Auto-Associative memory with Two-Stage Dynamics of Nonmonotonic Neurons, I. E. E. E., Transactions And Neural Networks, vol. 7, No 4, July 1996, pag. 803-829. BIBLIOGRAFIE DE PE INTERNET

17. Franek F., Bruha I: A Way to Incorporate Neural Networks into Expert Systems,
http://www.cas.mcmaster.ca/~franek/proceedings/zurich90.pdf. (2004). 18. Toussaint Mark: A neural model for multi-expert architectures, http://homepages.inf.ed.ac.uk/mtoussai/publications/toussaint-02ijcnnMulti.pdf. (2004). 19. Ultsch A.: Knowledge Extraction from Self-Organizing Neural Networks, http://www.informatik.uni-marburg.de/~databionics/papers/93KD.pdf. (2004). 20. http://eureka.cs.tuiasi.ro/~fleon/curs_ia.htm (2004). 21. http://www.compapp.dcu.ie/~alex/LOGIC/basics.html#small (2004). 22. http://www.arch.usyd.edu.au/~mike/Prolog/Tutorial/Tute1.htm (2004).

110

23. http://www.springeronline.com/sgw/cda/pageitems/document/cda_downloaddocu
ment/0,10900,0-0-45-76545-0,00.pdf (2004).

111