Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Sisteme Expert
Obiective
1. Inteligenta artificiala si sistemele expert
Utilizarea in ultimii ani a sistemelor expert a fost asociata cu cercetarile de inteligenta artificiala deoarece structura si proprietatile sunt apropiate de produsele IA. Sistemele expert (SE) beneficiaza de cercetarile ce au fost realizate in diferite zone ale IA. In fig. 1. se evidentiaza relatiile intre sistemele expert si celelalte domenii ale IA.
Stiinta calculatoarelor
Fig. 1. Domenii ale inteligentei artificiale
In prezent, sistemele expert sunt tot mai mult asociate direct cu modurile de rationare si cunostintele reprezentate. SE sunt de fapt dezvoltari in noile campuri ale achizitiei de cunostinte ca forme specializate de invatare, in care cunostintele sunt achizitionate direct de la expert. Alte SE ca tehnici de IA include explicatii, invatare inteligenta, planificare, rezolvarea problemelor distribuite, cercetari ce sunt adresate direct IA.
1.1. Sisteme Expert. Definitii
O ramura a Inteligentei Artificiale (IA) este reprezentata si de catre sistemele expert. Un sistem expert este un program care urmareste cunostintele, rationeaza pentru obtinerea rezultatelor intr‑o activitate dificila intreprinsa uzual doar de expertii umani. Daca un expert uman are cunostinte intr‑un domeniu specific, un sistem expert utilizeaza cunostintele ce sunt stocate intr‑o baza de cunostinte, baza formata din cunostintele asociate domeniului respectiv. Expertii umani rationeaza si ajung la concluzii pe baza cunostintelor ce le poseda, sistemele expert rationeaza utilizand cunostintele stocate in baza de cunostinte.
Din punct de vedere functional, un sistem expert poate fi definit astfel:
Un sistem expert (SE) este un program care urmareste un grup de cunostinte pentru obtinerea in acelasi mod ca si expertii umani a rezultatelor despre activitati dificil de examinat. Principala caracteristica a sistemelor expert este derivata din baza de cunostinte impreuna cu un algoritm de cautare specific metodei de rationare. Un sistem expert trateaza cu succes probleme pentru care nu exista o solutie algoritmica clara.
Sistemele expert sunt programe aplicative de inteligenta artificiala bazate pe cunoastere specializata de nivel inalt, nivel atins in societate de cei mai competenti experti umani ai domeniilor aplicative ce se implementeaza in aceste sisteme. Denumirea de 'sisteme expert' deriva din capacitatea acestor programe de a egala unele din performantele de gandire si de intuitie pe care expertii umani le obtin atunci cand aplica o astfel de cunoastere pentru rezolvarea unor probleme complexe din domeniul de expertiza.
Din punct de vedere functional un sistem expert este definit ca un program ce ofera cunostinte pentru obtinerea rezultatelor taskurilor dificile rezolvate uzual de expertii umani.
Din punct de vedere structural si arhitectural SE au urmatoarele caracteristici:
sunt construite in general pentru focalizarea taskurilor cu gama limitata de aplicabilitate;
exista o separare explicita intre cunostinte si metodele de rationare utilizate in vederea obtineri unor concluzii pe baza cunostintelor;
sunt capabile sa explice propriile actiunii si linii de judecata.
Avantajele sistemelor expert fata de aplicatiile avand complexitate comparabila, dar rezolvate cu ajutorul metodelor conventionale de programare a calculatoarelor, constau in puterea lor de a solutiona problemele in baza cunoasterii asupra intregului domeniu specific, in capacitatea lor de a reprezenta si de a invata, in usurinta cu care folosesc si combina diferite strategii de rezolvare. O caracteristica principala a sistemelor expert, care deriva din conceptele aplicate la elaborarea acestora, este flexibilitatea. Cand unele proceduri existente sunt actualizate, sau sunt adaugate noi proceduri, nu este necesara rescrierea sau actualizarea celorlalte programe care alcatuiesc sistemul.
Sistemele expert au fost acceptate cu entuziasm intr‑o multime de domenii: afaceri, industrie si alte sfere profesionale, ca o cale de fructificare a experientei, disponibila oricand este necesara. SE sunt binevenite in domenii particulare in care expertii umani existenti au suficienta experienta pe care o pot furniza.
Tehnologiile de programare utilizate in dezvoltarea sistemelor expert pot fi privite ca o evolutie timpurie a limbajelor calculatoarelor in noul nivel al exprimarii, ce permite utilizarea reprezentarii a foarte multor cunostinte. Limbajele timpurii sunt dificil de utilizat, exceptand specialistii in calculatoare. Recentele limbaje de programare sunt binevenite pentru utilizarea si includerea diverselor forme de expresie umana.
Tehnologiile de programare specifice SE marcheaza alti pasi in aceasta directie. Pentru a fi utilizata efectiv, fiecare tehnologie noua este insotita de un set de ghiduri si metodologii pentru utilizare. Aceasta ajuta noii utilizatori la cresterea eficientei utilizarii si a maximizarii productivitatii. Din acest motiv utilizarea tehnicilor specifice in SE cu foarte multe cunostinte va necesita un nou set de metodologii, bazate pe experienta crescuta, in dezvoltarea aplicatiilor.
Expertul care intelege necesitatea utilizarii unui SE in domeniul sau de cunoastere poate de asemenea obtine un ajutor de la inginerul de cunostinte (adica, a specialistului in calculatoare priceput in SE) deoarece, in urma discutiilor cu acesta, anumite cunostinte vor fi reformulate. In concluzie, prin interactiunea intre expertul uman si inginerul de cunostinte poate fi facut un schimb intre domeniile de experienta ale fiecaruia. Deci, inginerul de cunostinte, in general un ignorant al domeniului cunoasterii specifice expertului, iar expertul cu foarte putine cunostinte despre sisteme expert au puncte de vedere ce vor fi puse de acord in urma acestei colaborari.
Prin urmare, nu este usor pentru un expert sa gaseasca un inginer de cunostinte in vederea colaborarii deoarece cunostintele sunt expansive si greu de formulat intr‑o maniera concisa. Aceasta motiveaza necesitatea ca expertii umani sa aiba mai multe cunostinte despre sistemele expert. Sunt necesare cat mai multe utilitare specifice dezvoltarii sistemelor expert, trebuie sa fie posibil ca eventual mai multi experti sa fie adeptii utilizarii SE fara a fi utilizate cunostintele lor in acelasi timp de catre inginerii de cunostinte. In orice eventualitate, punctele de vedere ale inginerului de cunostinte sunt utilizate in proiectare si este limpede ca procesul construirii sistemelor expert este mai eficient daca expertul este cunoscator asupra tehnologiilor si metodologiilor sistemelor expert.
1.2. Originea Sistemelor Expert. Experimentari si realizari
Dupa ce s‑a trecut de limitarile de spatiu si timp, apreciate la cateva ordine de marime, au fost marcate succese in comercializarea mai multor programe ce furnizeaza taskuri specifice cu cele ale expertilor umani, numite si sisteme expert. In 1960 NASA a hotarat trimiterea unui vehicul pe Marte, unul dintre scopuri fiind cercetarea structurii chimice a solului acestei planete. Pentru aceasta cercetatorii de la Stanford au construit un program ce a trebuit sa inglobeze experienta chimistilor in identificarea structurii chimice a unor substante pornind de la spectrograma de masa. In dezvoltarea programului numit DENDRAL sunt investigate cunostintele expertilor umani in domeniul spectrografiei de masa, analizei structurilor chimice, descoperindu‑se cu acest prilej si o serie de erori in literatura. Datorita inglobarii experientei chimistilor, utilizand atat deductiile empirice cat si rationamente stiintifice, DENDRAL a fost considerat primul sistem expert. El a fost scris in FORTRAN si cunostintele proprii ale domeniului erau integrate cu mecanismul de inferenta, motiv pentru care ameliorarea sa este greu fezabila. DENDRAL a fost urmat de un mare numar de alte SE utilizate in rezolvarea de probleme similare cu cele realizate de expertii umani.
Se considera ca istoria sistemelor expert a inceput in anul 1964 cu elaborarea programului DENDRAL-64, conceput in vederea construirii, enumerarii si notarii moleculelor organice, ca structuri arborescente si grafuri ciclice. Acest sistem genereaza reprezentari structurale plauzibile pentru moleculele organice, pornind de la spectogramele de masa ale substantelor analizate.
Dezvoltat si perfectionat in decursul mai multor ani de catre autorii sai, in cadrul laboratoarelor de inteligenta artificiala de la Universitatea Standford, sistemul DENDRAL a servit ca exemplu de pionierat pentru a arata puterea pe care metodele inteligentei artificiale o pot dovedi in aplicatii deosebit de sofisticate. In domeniul chimiei se mai pot aminti alte realizari semnificative, sistemul CRYSALIS, realizat de Engelmore si Terry, care interpreteaza diagramele de densitate ale electronilor pentru proteine, sau sistemul SECS (Wipke, 1974) care acorda utilizatorilor asistenta la conceperea schemelor pentru sinteza chimica organica.
In domeniul geneticii moleculare, sistemul MOLGEN asista pe cercetatori la elaborarea planurilor pentru experimentele cu ADN. Acest sistem a introdus in inteligenta artificiala unele dezvoltari privind planificarea in sistemele expert.
Domeniul medicinii este reprezentat in numeroase si variate sisteme expert, dintre care cel mai reprezentativ fiind sistemul expert MYCIN, bazat pe reprezentarea relatiilor cauzale cu ajutorul regulilor de productie. Sistemul functioneaza interactiv pentru elaborarea diagnosticului in cazul infectiilor bacteriene ale sangelui, folosind cunoasterea despre simptome si datele rezultate din analiza sangelui, producand in acelasi timp si recomandari privind tratamentul medicamentos adecvat. Pornind de la experienta acumulata la elaborarea sistemului MYCIN, s-a dezvoltat un alt sistem EMYCIN. Acesta din urma este un sistem expert instrumental, capabil de a fi incarcat cu cunoastere specifica diferitelor domenii ale practicii clinice, generand astfel sisteme expert specializate. In acest fel a fost obtinut sistemul expert PUFF pentru diagnosticarea bolilor pulmonare sau sistemul HEADMED pentru diagnosticarea si medicatia unor afectiuni neuro-psihiatrice. Un alt sistem bine cunoscut in practica medicala, sistemul INTERNIST, este bazat pe cunoasterea privind diagnosticul in medicina interna si supravegherea clinica a pacientilor (Pople, Myers,Miller 1977).
Sistemul CASNET (Weiss,1978), destinat diagnosticarii bolilor de ochi, organizeaza cunoasterea despre boli pe urmatoarele trei niveluri:
simptome si teste de laborator care alcatuiesc probe directe ale existentei bolii;
stari fiziopatologige ale pacientului, presupuse a putea fi prezente fara a fi considerate mutual exclusive;
categoriile de boli, descrise pe baza de pattern-uri de stari.
Prin organizarea bazei de cunostinte si prin prevederea mai multor strategii de control, sistemul expert CASNET se detaseaza ca un sistem mai elaborat, in ceea ce priveste tratarea conceptelor fundamentale, de adancime si de complexitate, ale cunoasterii despre domeniul de expertiza.
Un ultim exemplu din domeniul medicinii, sistemul expert MDX, are o structura mai complexa, alcatuita dintr-o colectie de mici subsisteme expert, care comunica intre ele prin intermediul unei zone de comunicatii cu ajutorul unei tehnici speciale (de broacasting).
In domeniul explorarilor geologice pentru descoperirea zacamintelor de minerale, sistemul expert PROSPECTOR acorda asistenta geologilor la evaluarea interesului pe care o anumita zona dedicata prospectiunilor si forajelor geologice, o prezinta in privinta existentei depozitelor minerale de un anumit tip cautat.
Un sistem expert cu performante deosebite in ceea ce priveste nivelul si calitatea rezultatelor obtinute este sistemul AM destinat descoperirii conceptelor in matematici. Prin combinarea si adaptarea diferitelor metode ale inteligentei artificiale, folosirea cunoasterii declarative, normative si euristice, sistemul conduce la producerea unor rationamente rafinate comparabile cu cele obtinute de expertii de mare clasa.
Sistemul expert HEARSAY-II, destinat intelegerii vorbiri, se caracterizeaza prin utilizarea unor tehnici deosebite de organizare a cunoasterii, de control si de comunicatie intre componente. Cunoasterea este organizata in unitati procedurale denumite surse de cunoastere, care sunt alcatuite dintr-o componenta care evalueaza aplicabilitatea sursei de cunoastere (componenta conditionala) si o componenta care reprezinta insusi programul de actiune pe care trebuie sa il indeplineasca o sursa de cunoastere aplicabila, sau invocata spre aplicare. Aceste concepte au fost dezvoltate ulterior in sistemul HEARSAY-III, care este un sistem cadru independent de domeniu, destinat implementarii, pe baza exclusiva de cunoastere experta, a unor tipuri diverse de sisteme expert dedicate.
Cu toate ca elaborarea sistemelor expert independente de domeniu este inca la primele incercari si realizari, se poate afirma ca viitorul ii apartine. Aceasta se datoreaza necesitatii de asigurare a unor componente cognitive si rezolutive performante pentru orice fel de domeniu aplicativ. Un astfel de sistem expert independent de domeniu este sistemul INTEXP.
In informatica, sunt cunoscute sisteme expert pentru asistarea elaborarii de programe, ca de exemplu sistemul PECOS care genereaza programe in limbajul LISP pornind de la descrierea algoritmilor. Sistemul expert APE genereaza programe in limbajul INTERLISP, pornind de la specificatiile unor algoritmi abstracti si tipuri abstracte de date prelucrate.
In domeniul ingineriei cunoasterii si inteligentei artificiale, instrumentele elaborate reprezinta doar unele cautari si experimentari. De exemplu, sistemul TEIRESIAS ofera utilizatorilor de sisteme de tip MYCIN posibilitati de achizitie a cunoasterii experte. Un instrument mai general de implementare a unor noi sisteme expert, a fost dezvoltat la Universitatea Standford, sub denumirea de AGE. Acest sistem este rodul experientei colectivului de inteligenta artificiala a acestei universitati, experienta ilustrata de numeroase sisteme expert de mare succes, dintre care sa mentionam numai sistemele DENDRAL, META-DENDRAL, MYCIN, AM, MOLGEN, CRYSALIS, SACON.
Dezvoltarea SE cere noi specialisti pentru captarea cunostintelor si exprimarea acestora sub forma de reguli. Devine necesara o noua specializare numita 'inginer de cunostinte', un intermediar intre specialistul in calculatoare si expertul uman.
Metodologia de captare a cunostintelor este cunoscuta sub numele de ingineria cunoasterii. Ca urmare se poate concluziona:
un SE poate fi expert intr‑o singura chestiune. Daca se construieste un SE ce rezolva doua probleme sunt posibile critici pentru fiecare dintre acestea;
un SE poate sa rezolve numai acele probleme pe care expertul uman le‑a transmis Daca se construieste un SE fara a fi consultat expertul uman acesta are cunostinte limitate si deci este mai slab decat expertul uman;
un SE nu va putea niciodata sa inlocuiasca omul.
O caracteristica specifica SE este marcata de faptul ca acestea pot fi adaptive, caracteristica marcata prin faptul ca schimbarile efectuate la diferite intervale de timp nu determina modificari ale programelor. Pentru aceasta cunostintele sunt tinute sub forma de reguli care pot fi usor citite si modificate de utilizator cu mici interventii din partea acestuia. In multe SE uzuale exista o distinctie neta intre cunostinte si mecanismele ce manipuleaza aceste cunostinte. Prin modificarea naturii cunostintelor utilizate, un SE devine capabil a fi utilizat in alte zone ale aceluiasi domeniu. De exemplu, un SE destinat diagnosticului medical, prin schimbarea cunostintelor medicale si substituirea acestora de cunostinte ingineresti poate deveni expert in domeniul autodiagnozei.
O caracteristica specifica a sistemelor expert este organizarea pe reguli in loc de instructiuni. Pe cand calculatoarele conventionale folosesc programe ce intra linie cu linie in executie, SE constau dintr‑o colectie de reguli ce nu sunt executate secvential decat atunci cand conditia de aplicabilitate este indeplinita. Conceptual, punctul de vedere este rezonabil pentru ca in SE fiecare linie incepe prin cuvantul IF, care in acceptiunea clasica inseamna ca grupul de instructiuni din corpul sau sunt executate numai daca valoarea conditiei este adevarata.
2. Structura generala a unui sistem expert
Asa cum s‑a aratat si in capitolul anterior, sistemele expert acopera o clasa foarte mare de programe ce au o serie de caracteristici comune, dar difera in multe privinte fata de programele clasice. In cazul SE, baza de cunostinte are o serie de caracteristici care ofera o independenta a cunostintelor, cum sunt:
granularitatea cunostintelor (independenta acestora);
ordinea in care sunt stocate cunostintele in baza de cunostinte nu influenteaza rezultatele;
modificarea elementelor bazei de cunostinte nu are implicatii deosebite asupra programului;
sistemul expert poate fi caracterizat ca o noua modalitate de programare declarativa.
Pentru a se putea intelege mai bine modul in care functioneaza un sistem expert, se va prezenta in figura 2 conceptul de baza al functionarii unui SE. Utilizatorul furnizeaza sistemului expert fapte sau alte informatii si primeste, ca raspuns, 'sfaturi' sau 'expertize'.
Fig. 2. Conceptul de baza al functionarii unui SE
O caracteristica a sistemelor expert este cea privind competenta acestora de a furniza explicatii asupra rationamentelor intreprinse pentru ajungerea la rezultat, explicatii care trebuie sa fie exprimate intr‑un limbaj cat mai apropiat de limbajul natural.
2.1 Componentele sistemelor expert
Toate aceste caracteristici determina o structura specifica pentru sistemele expert, structura ce poate fi grupata in jurul a trei module principale, module ce determina si ceea ce se numeste sistem esential:
Baza de cunostinte este reprezentata ca o structura de date ce contine ansamblul cunostintelor specializate introduse de catre expertul uman. Cunostintele stocate in baza de cunostinte sunt in principal descriptii de obiecte in conjunctie cu relatiile dintre acestea. Baza de cunostinte face parte din sistemul cognitiv, cunoasterea fiind memorata intr‑un spatiu special organizat. Forma de stocare a informatiei experte trebuie sa asigure cautarea pieselor de cunoastere specificate direct prin simboluri identificatoare, cautarea pieselor de cunoastere referite indirect prin proprietati asociate sau valori atribuite acestora, cautarea pieselor de cunoastere prin inferente sau lanturi inferentiale ce pornesc de la alte piese de cunoastere sau de la proprietati asociate acestora, mentinerea bazei de cunostinte in concordanta cu evolutia domeniului de expertiza.
Mecanismul de inferenta reprezinta noutatea sistemelor expert. El preia cunostintele din baza de cunostinte ce sunt utilizate pentru construirea rationamentului. Mecanismul de inferenta urmareste o serie de obiective majore cum sunt: alege strategia de control functie de problema curenta ce o are de rezolvat, elaboreaza planul de rezolvare a problemei dupa necesitate, executa comutarea de la o strategie de control la alta, executa actiunile prevazute in planul de rezolvare, constituie informatiile de control pentru mecanismele fundamentale ale mecanismului de inferenta. Cu toate ca in esenta mecanismul de inferenta este constituit dintr‑un ansamblu de proceduri in sensul obisnuit al termenului, modul in care utilizeaza cunostintele nu este prevazut prin nici un program, acesta fiind conditionat de datele si cunostintele pe care le poseda.
Baza de fapte este reprezentata de o memorie auxiliara ce contine toate datele utilizatorului (faptele initiale ce descriu enuntul problemei de rezolvat), si rezultatele intermediare produse in cursul procedurii de deductie. Continutul bazei este pastrat intr‑o memorie RAM si poate fi conservata doar la cererea utilizatorului.
Pe langa aceste module un sistem expert mai contine o serie de module ce asigura comunicarea cu operatorul si expertul uman.
Modulul de comunicatie este destinat furnizarii interfetelor specifice pentru utilizatorii sistemului expert cat si pentru achizitia de cunostinte. In compunerea acestui modul intra procesoare specifice pentru limbajele de comunicare ingloband limbaje de comunicare cu utilizatorul, limbaje pentru achizitia cunostintelor, procesoare pentru comunicarea interna intre sistemul expert si echipamente auxiliare pentru stocarea cunoasterii, procesoare speciale pentru intrari/iesiri grafice, achizitia senzoriala si instrumentala a cunoasterii, comanda elementelor de executie.
Interfata utilizator este cea care asigura dialogul intre utilizator si sistem in limbaj cvasinatural prin translatarea limbajului intern. Tot ea este cea care comunica mecanismului de inferenta cererile utilizatorului, rezultatul acestora fiind furnizat utilizatorului. In egala masura faciliteaza achizitia enuntului problemei initiale si comunicarea rezultatului. Sunt situatii in care interfata utilizator este mai sofisticata, integrand dictionare, fiind capabila de analize lexico‑sintactice, verificari semantice, corectii ortografice, gestiunea prescurtarilor etc.
Modulul de achizitie a cunostintelor preia cunostintele specializate furnizate de expertul uman sau inginerul de cunostinte intr‑o forma ce nu este specifica reprezentarii interne. O serie de cunostinte pot fi furnizate prin fisiere specifice bazelor de date sau alte programe externe. El receptioneaza cunostintele, verifica validitatea acestora si in final genereaza o baza de cunostinte coerenta.
Modulul de explicatii permite trasarea drumului urmat in rationare de catre sistemul rezolutiv si emiterea justificarilor pentru solutiile obtinute, evidentiindu‑se in acest mod cauza greselilor sau motivul esecului. El ajuta expertul sa verifice consistenta bazei de cunostinte.
In fig. 4,a se prezinta o
structura generala a unui sistem expert ce inglobeaza toate
modulele descrise mai sus. Asa cum se observa, in figura se
disting mai multe activitati incepand cu achizitia
cunostintelor, reprezentarea acestora, tratarea
cunostintelor si utilizarea lor. Inglobarea modului de
achizitie a cunostintelor face oricand posibile modificari
ale bazei de cunostinte odata cu rafinarea acestora.
Puterea rezolutiva a sistemelor expert se bazeaza pe abilitatea acestora de a memora, a intretine si a manevra cantitati mari de piese de cunoastere specifice domeniului de expertiza, de a oferi o inalta flexibilitate de reprezentare a cunoasterii, indiferent de complexitatea acesteia, de a elabora strategii si planuri de rezolvare rafinate, si de a-si imbunatati aceste performante prin invatare si experienta.
Deoarece sistemele expert sunt de fapt sisteme inteligente bazate pe cunoastere (KBS-Knowledge Based expert System) pentru rezolvarea problemelor, structura acestora este presupusa a satisface cerintele care definesc orice sistem formal. De aceea, sistemele expert sunt dotate cu mecanisme fundamentale, axiomatice, care se aplica pe un suport alcatuit din piese de cunoastere despre obiecte, actiuni si relatii, cu ajutorul carora sunt generate noi entitati bine formate de tip obiectual, procesual sau relational.
Indiferent de cerintele particulare ale domeniului de expertiza dat, orice sistem expert poate fi conceput in concordanta cu urmatoarea schema generala de structura (fig. 4,b):
n Sistemul cognitiv, care este dedicat realizarii urmatoarelor functii si obiective legate de cunoastere:
- memorarea cunoasterii experte intr-un spatiu de memorare special organizat in acest sens, denumit baza de cunostinte;
- cautarea pieselor de cunoastere specificate direct, prin simboluri identificatoare;
- cautarea pieselor de cunoastere referite indirect, prin proprietati asociate si/sau valori atribuite acestora;
- cautarea pieselor de cunoastere prin inferente sau lanturi inferentiale care pornesc din alte piese de cunoastere;
- mentinerea bazei de cunostinte in actualitate cu evolutia domeniului de expertiza;
n Sistemul rezolutiv, care este dedicat urmatoarelor functiuni si obiective legate de rezolvarea problemelor:
- alegerea strategiei de control adecvate pentru tipul problemei curente;
- comutarea controlata de la o strategie la alta;
- elaborarea planului de rezolvare a problemei curente;
- desfasurarea actiunilor prevazute in planul de rezolvare;
- verificarea consistentei pasilor de rezolvat;
- trasarea drumurilor de rationament prin arbori deductivi.
n Sistemul explicativ, care este dedicat urmatoarelor functiuni si obiective legate de justificarea solutiilor obtinute de sistemul expert la problemele utilizatorilor:
- interpretarea drumurilor de rationament trasate de catre sistemul rezolutiv si emiterea justificarilor pentru solutiile obtinute;
- evidentierea cauzelor greselilor sau esecului;
- evidentierea pieselor de cunoastere care lipsesc in lantul de inferente, sau a celor care sunt suspecte de a furniza cunoastere eronata.
n Sistemul de comunicare, care este dedicat comunicarii dintre sistemul expert si utilizatorul acestuia. Acest dialog se poate realiza pe mai multe cai:
- in mod interactiv, intrebare-raspuns;
- sistem de meniuri;
- limbaj natural;
- interfata grafica;
In functie de complexitate sistemului expert si de modul de realizare a acestui dialog, sistemul de comunicare poate incorpora:
- procesoare pentru limbajele de comunicare cu utilizatorul;
- procesoare pentru limbajele de reprezentare a cunoasterii;
- procesoare pentru comunicarea interna intre sistemul expert si echipamentele auxiliare de stocare a cunoasterii;
- procesoare speciale: intrare/iesire grafica, achizitia senzoriala si instrumentala a cunoasterii, comanda dispozitivelor cu caracter efectorial.
n Sistemul meta-rezolutiv este dedicat unor functiuni si obiective legate de adecvarea mecanismelor fundamentale ale sistemului expert la caracteristicile domeniului de expertiza:
- adecvarea mecanismelor fundamentale ale sistemului cognitiv: metoda de reprezentare a cunoasterii, mecanismele inferentiale aplicate peste baza de cunostinte, metode da cautare si revenire prin grafuri si arbori, criteriile de clasificare si organizare a bazelor de cunostinte.
- adecvarea mecanismelor fundamentale ale sistemului rezolutiv: structura informatiei de control, metodele de rezolvare, strategiile de control, mecanismele de comutatie pentru strategii, planuri si metode, mecanisme de trasare si revenire;
- adecvarea mecanismelor fundamentale ale sistemului explicativ: tipuri de intrebari, adanvimea justificarilor;
- adecvarea mecanismelor fundamentale ale sistemului de comunicare: gramatica limbajului de comunicare, lexicul, sistemul de prioritati si restrictii legate de numarul posturilor de lucru cu sistemul si de clasificarea utilizatorilor.
2.2. Categorii de aplicatii
Ne propunem sa analizam care sunt diferentele dintre sisteme expert realizate pentru diferite aplicatii, daca acestea se pot grupa in clase, modul in care are loc transferul cunostintelor. La multe din aceste intrebari nu se poate da un raspuns net si precis, insa pot aparea elemente ce fac obiectul cercetarilor viitoare. In acest context este necesara o analiza asupra limitarilor sistemelor expert, cat si a posibilitatilor viitoare de evolutie. Odata stabilite aceste chestiuni se va incerca sa se defineasca principiile de baza ale metodologiei de constructie a unui sistem expert.
Fara a propune o grupare a sistemelor expert foarte diferite in clase, putem face o diferentiere, in functie de natura scopului urmarit, deci de utilizare. Astfel, aceste sisteme se pot imparti in trei mari categorii:
1) SE de clasificare ‑ interpretare, pot realiza spre exemplu clasificarea cauzelor posibile ale unei disfunctionari (cantitative, calitative, vizuale) in scopul de a determina semnificatiile acestor tipuri de date. Acest tip de SE este cel mai vechi (diagnostic, prospectii) si cel mai des utilizat. Dezvoltate cu precadere pentru aplicatiile in medicina, cercetarile au influentat aplicatiile ulterioare rezultand ceea ce numim diagnostic tehnic. Dintre sistemele utilizate in domeniul medical, MYCIN este un exemplu perfect. Sistemul utilizat pentru diagnosticarea infectiilor bacteriene utilizeaza o reprezentare a cunostintelor sub forma de reguli, descriind legaturile intre simptome si bolile posibile. Cunostintele folosite aici sunt cu precadere empirice si de aceea mai sunt numite si 'cunostinte de suprafata'. Este util sa remarcam faptul ca sistemele ce utilizeaza cunostinte de suprafata nu pot sa justifice rationamentul ce explica deductiile realizate. La nivelul rationamentelor utilizate in MYCIN se disting doua caracteristici principale:
rationare inainte (singurul mod);
cercetare exhaustiva - se refera la aplicarea tuturor regulilor posibile pentru a creste sau a diminua factorul de certitudine al concluziei.
2) Sisteme expert de control (monitorizare) ‑ sunt caracterizate prin introducerea notiunii 'timp', care este primordiala, si au sarcina de a supraveghea buna evolutie a unui proces. Aceste sisteme supravegheaza evolutia datelor sau semnalelor provenind de la procesul controlat. Ele trateaza, deci date continue intr‑o logica nemonotona ca in exemplul:
(daca A este adevarat la un moment T,
atunci A este lansat in executie la momentul T+Q).
Pentru aceste sisteme masura intervalelor regulate de timp trebuie sa fie interpretata, generand declansarea unei actiuni imediate, atata timp cat anumite conditii sunt indeplinite. Este necesara deci o structura de control ce permite evolutia datelor altfel decat in cazul clasic al diagnosticarii.
Cunostintele pot fi reprezentate sub forma de tabele cu date care, in functie de valoarea marimii controlate selecteaza strategiile ce vor fi aplicate la momentele urmatoare.
3) SE de anticipare ‑ acestea sunt caracterizate printr‑o alocare a resurselor tinand cont de restrictii. Ex. CAO (anticiparea unui rezultat) pentru meteorologie, pentru anticiparea evolutiei in viitor pe baza datelor prezente si a evolutiilor trecute, pentru ordonarea si planificarea productiei. Aceasta compartimentare a fost facuta pentru a permite studiul si cautarea dupa caz a sistemului cadru pentru dezvoltarea unei aplicatii. Spre exemplu, sistemele expert utilizate in diagnoza nu pot fi utilizate la dezvoltarea aplicatiilor de conducere a proceselor.
In concluzie, este deci indispensabila determinarea clasei aplicatiei si cautarea sistemului de dezvoltare adecvat.
2.3. Alternative in constructia unui sistem expert
Pentru construirea unui sistem expert sunt posibile doua alternative:
existenta unei aplicatii care in urma analizei justifica abordarea cu un sistem expert in detrimentul programarii clasice;
existenta unui sistem expert cadru pentru o anumita categorie de aplicatii la care se ataseaza o baza de cunostinte specializata in problema ce se cere rezolvata.
Hotararea de a utiliza un sistem expert pentru rezolvarea problemei este luata dupa examinarea urmatoarelor situatii:
daca o problema este bine rezolvata prin modele numerice clasice (programarea liniara sau altele) este inutila dezvoltarea unui sistem expert. Din contra, daca problema nu este bine rezolvata in maniera clasica decat in conditii ideale rar atinse, sau numarul parametrilor de natura simbolica pusi in joc este dificil de luat in consideratie intr‑un model numeric, atunci se poate apela la o rezolvarea utilizand sisteme expert.
existenta expertului uman, recunoscut ca fiind persoana ce cunoaste bine lucrul studiat. Aceasta explica de ce constructia unui sistem expert depinde de un expert uman pentru baza sa de cunostinte si de ce daca problema nu este rezolvata de persoane nu poate fi rezolvata nici de un sistem expert;
daca evolutia cunostintelor in domeniu este caracterizata de o dinamica rapida, necesita frecvente schimbari, atunci un sistem expert se poate aplica. In aceasta situatie se poate folosi si un program clasic, insa amendamentele aparent minore, aduse la acest program ii pot modifica profund comportamentul.
Realizarea programelor clasice este un proces rigid, greu, ce creeaza dificultati in elaborarea specificatiilor, proces ce conduce la programe lipsite de suplete si fara posibilitati de imbunatatire. Din contra, sistemele expert prin insasi constructia lor se preteaza la modificari locale numeroase, in conditiile in care modificarile nu afecteaza coerenta bazei de cunostinte:
q principalele calitati ale expertului uman sunt exprimate in cunostintele transferate sistemului, cunostinte ce sunt in general de bun simt si nu formalizate. Nu trebuie inteles insa, ca sistemul expert nu poate rationa utilizand cunostinte puternic formalizate, insa marele castig se regaseste in utilizarea cunostintelor slab formalizate;
q problemele pentru a caror rezolvarea sunt necesare cateva ore de munca umana si nu sunt repetitive, nu se preteaza la rezolvarea cu sisteme expert pentru a caror rezolvare activitatea este mult mai complexa. Daca, de exemplu, stabilirea unei configuratii pentru un sistem de calcul necesita o zi de munca umana, tinand cont de faptul ca o problema similara este rezolvata practic in fiecare zi, un sistem expert este adecvat;
q o cota a rotatiei de personal ridicata (ceruta des in tehnica) este in aceeasi masura un semn ca utilizarea sistemelor expert permite memorarea experientei acumulate de persoanele ce lucreaza in domeniu (perenitatea informarii);
q cand intr‑o clasa bine definita de probleme, nu se stie care va fi rezolvarea precisa, variabilele de intrare, numarul de terminale, tipul lor, tipuri de comunicatie numeroase nu permit scrierea programelor pentru toate variantele in forma clasica.
Tabelul 1 sumarizeaza posibilele utilizari ale sistemului expert.
Tabelul 1
Problema Solutia |
Precisa si stabila |
Precisa, dar evolueaza frecvent |
Fluctuanta intr‑un domeniu bine stabilit |
Cunoscuta |
Programare clasica |
SE usor de actualizat ca urmare a evolutiei |
SE pentru ca se poate adapta la fiecare problema |
Necunoscuta |
SE pentru gasirea solutiei, apoi abandonat in favoarea programarii clasice |
SE pentru cautarea solutiei, apoi adaptat pentru exploatare |
SE pentru cautarea solutiei, usor de exploatat pentru ca se adapteaza la problema precisa |
2.4. Etape ale realizarii unui sistem expert
Paralel cu derularea procesului de transfer al experientei, procesul de realizare a unui sistem expert poate fi descompus in trei perioade:
A. Un studiu de fezabilitate realizat mai intai cu ajutorul unei machete de sistem expert;
B. Realizarea prototipului ‑ vizeaza construirea unui prototip pe care se experimenteaza diferitele moduri de reprezentare a cunostintelor, mecanismele de inferenta realizate;
C. In final, sistemul expert este realizat pornind de la prototip. Daca
rezultatele sunt satisfacatoare si structura sistemului realizat
ca prototip, permite obtinerea eficacitatii maxime, urmeaza
etapa de industrializare.
Fig. 5. Etapele dezvoltarii sistemului expert
In fig. 5 se reprezinta cele cinci faze aferente transferului de cunostinte in conjunctie cu cele trei etape de dezvoltare. Aceasta arata ca studiul de fezabilitate este foarte restrans, insa dezvoltarea prototipului si experimentarea reprezinta parti importante ale procesului de constructie. Diferenta intre macheta si prototip nu poate fi foarte clara, insa, precis prin prototip se inteleg subansambluri ale sistemului expert final pe cand macheta este total independenta.
Etapa de prototip permite verificarea rapida (doua sau patru luni) daca pentru problema data se justifica utilizarea sistemului expert. Ea presupune realizarea unei machete care nu rezolva decat cateva cazuri tipice. Macheta este realizata fara a urmari aspecte legate de optimizarea timpului de raspuns si a memoriei ocupate, sau de validarea formalismului utilizat. Inginerul de cunostinte utilizeaza pentru aceste reprezentari simple si flexibile, nuclee existente fara sa urmareasca validarea formalismului utilizat.
La finalul acestui studiu, problema trebuie sa fie clar definita, permitand sa se ia o decizie asupra desfasurarii ulterioare a lucrarii. Solutii distincte ale problemei trebuiesc testate si comparate pe parcursul dezvoltarii prototipului (care poate fi o extensie a machetei). Pentru aceasta, cel mai comod de utilizat sunt sistemele expert cadru. Acest prototip trebuie, in majoritatea cazurilor sa ramana modest in principiu, el va fi abandonat atunci cand inginerul de cunostinte are o idee precisa asupra dezvoltarilor viitoare ale sistemului expert pe baza experientelor realizate. In final, este preferabila abandonarea prototipului, modificarile nu pot garanta eficacitatea sistemului, chiar daca prototipul este la un moment dat mult mai bine cunoscut.
Pentru ilustrare sa consideram o comparatie imaginara: extensia unui prototip (sau a unei machete) este similara cu aceea de a mari un cart pentru a obtine o masina de formula I. Aceasta nu va atinge niciodata performantele unei masini construite in acest scop, deficientele provenind din insasi arhitectura cartului. Diferenta esentiala intre aceasta etapa si etapele precedente rezida in faptul ca la acest nivel se stie foarte exact ce facem si cum facem. Se procedeaza acum la o rescriere a prototipului testat in etapa anterioara urmarind satisfacerea conditiilor de eficacitate. Baza de cunostinte continua sa evolueze pe parcursul acestei faze incorporand cazuri reale si din ce in ce mai complexe. Sistemul expert incepe sa devina utilizabil inainte ca baza de cunostinte si obiectivul fixat initial sa fie realizat complet.
Dezvoltarea in varianta clasica descompune problema in subprobleme realizate independent unele de altele. Din contra, abordarea de viitor este abordarea experimentala si incrementala a machetei, prototipului sau a tuturor elementelor. Se observa in varianta clasica descompunerea in subprobleme cu rezolvarea acestora in paralel. Astfel rezolvarea este limitata, subproblemele fiind parcurse independent. Constructia printr‑un proces experimental si incremental este bazata pe luarea in consideratie la anumite etape a tuturor subproblemelor intr‑o maniera detaliata.
Multe companii se gasesc astazi la sfarsitul etapei A, o macheta a fost realizata, insa problemele nu au fost clar delimitate. Daca decizia de trecere la etapa B era luata (si multe sunt deja luate) partea cea mai importanta incepe aici. Ca efect, un studiu asupra domeniului va fi necesar si indispensabil. El permite determinarea cunostintelor utilizate de expertul uman si maniera de a le reprezenta, sprijinindu‑se pe experienta deja acumulata in acest domeniu (faza de conceptualizare, formalizare). Aceasta etapa este importanta caci ea conditioneaza urmarea studiului. Lucrurile care sunt efectuate (reprezentarea cunostintelor, utilitare, mecanism de inferenta) determina caracteristicile sistemelor expert viitoare si performantele lor. Primele rezultate ale studiului pe teren, permit enuntarea criteriilor de cautare a utilitarelor utilizate in dezvoltarea sistemului expert.
Prototipul obtinut, deci baza de cunostinte nu trebuie sa fie voluminoasa, ea serveste doar ca suport de decizie pentru autorizarea trecerii la faza urmatoare. Etapa C incepe prin determinarea utilitarelor corespunzatoare realizarii finale (ce pot fi aceleasi cu cele ale fazei B). Realizarea acestei etape se sprijina pe prototipul construit in etapa precedenta insistand pe eficacitatea performantelor. Baza de cunostinte a SE final se mareste lent pe masura avansarii proiectului, prin noi cunostinte si prin rezultatele testelor ce demonstreaza validitatea coerentei cunostintelor. Trebuie amintit ca faza de extractie a cunostintelor este lunga si delicata, ea consuma o mare parte din timpul total de realizare a sistemului expert.
3. De la sistemele de productii la sistemele expert.
Un mic exemplu
Exista o asemanare intre structura sistemelor expert si cea a sistemelor de productii prezentate in capitolul precedent. Aceasta asemanare nu este o simpla intamplare, sistemul de productii fiind precursorul sistemului expert. De fapt, Newell si Simon au elaborat modelul sistemului de productii in ideea modelarii rationamentului uman.
Daca privim structura sistemelor expert prin prisma sistemelor de productii, baza de cunostinte este o multime de reguli. In sistemul expert, productiile (conditie, actiune) sunt organizate ca reguli, de forma
Regula x: if preconditii
then concluzie,
conditia regulii de productie constand in preconditiile regulii (partea if), iar actiunea in concluzia regulii (partea then). Sistemul rezolutiv al sistemelor expert, acel 'inference engine', este corespondentul ciclului de corespondenta si control al sistemelor de productii.
Ca si in cazul sistemelor de productii se pot implementa algoritmi de cautare inainte sau inapoi. Multe probleme par a fi mai natural implementate utilizand o strategie de cautare inainte. In situatii cand datele initiale ale problemei sunt date si este dificil de a formula un ipotetic goal, datele initiale sunt plasate in memoria de lucru si sistemul va utiliza o strategie de cautare inainte.
Sistemele expert utilizeaza de regula strategia de cautare inversa (goal-driven expert system). Initial, obiectivul (starea goal) este plasat in memoria de lucru. Sistemul unifica aceasta stare cu concluziile regulilor din baza de cunostinte, selectand o regula si plasand premizele acesteia in baza de cunostinte. Acest pas are drept efect descompunerea problemei in subgoal-uri mai simple. Procesul continua, premizele adaugate in baza de date devenind noi subgoal-uri ce vor fi unificate cu concluziile regulilor sistemului. Astfel, pornind de la starea goal si incercand apoi verificarea premizelor, sistemul are o comportare asemanatoare cu rationamentul uman (verificarea anumitor ipoteze in vederea tragerii unei anumite concluzii).
In sistemele expert, unele subgoal-uri sunt deseori rezolvate prin chestionarea utilizatorului asupra faptului respectiv. Cazurile in care sistemul solicita 'ajutorul' utilizatorului depind de la o implementare la alta. Astfel, la generarea sistemului expert se pot preciza acele intrebari la care sistemul va cere raspunsul utilizatorului. Alte sisteme expert cer ajutorul utilizatorului in cazul in care un subgoal nu poate fi unificat cu nici una din concluziile regulilor din baza sa de cunostinte.
Pentru claritatea celor discutate, in continuare sa ne imaginam un mic sistem expert pentru diagnosticul unei pene de automobil:
Regula 1: if
motorul se alimenteaza and
demarorul invarteste arborele cotit,
then problema este bujiile.
Regula 2: if
demarorul nu invarteste arborele cotit and
luminile nu se aprind
then problema este bateria sau cablurile.
Regula 3: if
demarorul nu invarteste arborele cotit and
luminile se aprind
then problema este demarorul.
Regula 4: if
este carburant in rezervor and
este carburant in carburator
then motorul se alimenteaza.
Sa presupunem ca sistemul expert este solicitat pentru diagnosticarea unei pene de automobil, utilizatorul plasand in baza de cunostinte intrebarea:
'problema este X' problem(X).
Trei din regulile sistemului expert sunt aplicabile: regula 1, regula 2 si regula 3. Daca rezolvarea conflictului se face in favoarea regulii cu numarul cel mai mic (prima regula aplicabila), atunci regula 1 va fi declansata. Aplicarea acestei reguli va avea drept consecinta instantierea variabilei X cu valoarea 'bujiile' si premizele regulii 1 vor fi copiate in memoria de lucru (fig. 6). Sistemul va incerca deci sa analizeze ipotetica cauza ca bujiile ar fi defecte.
De remarcat, ca regula 1 are doua premize si amandoua dintre acestea trebuie sa fie indeplinite pentru a se trage concluzia respectiva. Premizele sunt ramurile unui nod AND al arborelui de deductie, reprezentand descompunerea problemei (stabilirea faptului ca bujiile sunt defecte) in subprobleme (stabilirea faptelor ca 'motorul se alimenteaza' si 'demarorul invarteste arborele cotit'). Se poate aplica apoi regula 4, a carei concluzie este echivalenta cu faptul ca motorul se alimenteaza cu combustibil. Aplicarea acestei reguli va avea drept efect adaugarea premizelor corespunzatoare in memoria de lucru (fig. 7). In acest moment in memoria de lucru sunt trei piese de cunoastere (carburant in rezervor, carburant in carburator, demarorul invarteste arborele cotit) care nu pot fi unificate cu concluzia nici uneia din regulile sistemului (fig. 8). Astfel, sistemul expert va intreba utilizatorul despre veridicitatea acestora. Daca utilizatorul confirma ca toate cele trei premize sunt adevarate, sistemul expert va stabili faptul ca bujiile sunt defecte ('problema este bujiile'), diagnosticand cu succes pana de automobil si indicand eventual modul de solutionare.
Acesta este desigur un exemplu foarte simplu. Nu numai ca baza de cunostinte este foarte redusa, dar sunt ignorate o serie de aspecte privind implementarea reala a unui astfel de sistem.
Regulile sunt formulate in limbaj natural ci nu intr-un limbaj formal de reprezentare.
De asemenea, implementarea reala trebuie sa incorporeze un mecanism de backtracking. In exemplul considerat, daca prin alegerea regulii 1 nu se poate dovedi ca bujiile sunt defecte, mecanismul de backtracking va determina revenirea in punctul in care ultima regula a fost selectionata in vederea alegerii alteia dintre regulile aplicabile (ex. regula 2).
In urma procesului de cautare este generat graful AND/OR ilustrat in fig. 12. Sistemul explicativ are la baza tocmai acest graf. Memorand evolutia sistemului expert, sistemul explicativ utilizeaza un algoritm de trasare pentru a raspunde la intrebari.
In general, unui sistem expert i se pun doua tipuri de intrebari: De ce? si De unde? (sau Cum?). Utilizatorul pune intrebarea 'de ce?' sistemului expert atunci cand acesta din urma cere anumite informatii utilizatorului. Intrebarea 'de ce?' avand semnificatia 'de ce intrebi acest fapt ?', sau 'de ce trebuie sa cunosti acest lucru ?'. Raspunsul la intrebarea 'de ce?' este de fapt regula curenta ce a fost declansata. Prin intrebarea 'Cum ?', utilizatorul poate cere sistemului expert sa justifice cum a dedus anumite informatii 'De unde ai aceasta informatie ?', sau 'Cum ai ajuns la aceasta concluzie ?'. Raspunsul consta, de aceasta data, in secventa de reguli care au generat subgoal-ul respectiv.
Pentru exemplificare, sa consideram ca sistemul expert pentru diagnosticul penelor de automobil este prevazut cu un subsistem explicativ si, sa presupunem, ca in urma investigatiilor preliminare s-a ajuns in situatia ilustrata in fig. 8. Sistemul expert incepe dialogul cu utilizatorul intrebandu-l asupra noilor subgoal-uri aparute in memoria sa de lucru:
Este carburant in rezervor ?
Da
Este carburant in carburator ?
Da
Demarorul invarte arborele cotit ?
De ce
Aici, raspunsul 'De ce?' al utilizatorului inseamna 'de ce vrei sa stii acest lucru ?'. Sistemul expert va raspunde:
S-a stabilit ca:
1. Motorul se alimenteaza,
deci, daca
2. demarorul invarteste arborele cotit,
atunci problema este bujiile.
Deoarece utilizatorul a raspuns afirmativ la primele doua intrebari, regula 4 a fost aplicata, indeplinindu-se astfel prima premiza a regulii 1. Cand utilizatorul a pus intrebarea 'De ce?', sistemul incerca sa stabileasca cea de a doua premiza a regulii 1. Desi, explicatia sistemului este, dupa cum se poate constata, doar o exprimare mai naturala a regulii curente, aceasta da totusi o explicatie foarte clara asupra scopului urmarit prin chestionarea utilizatorului. Sa presupunem ca dialogul continua in modul urmator:
De ce se alimenteaza ?
De data aceasta utilizatorul a intrebat sistemul de unde stie ca motorul se alimenteaza cu combustibil. Raspunsul consta in trasarea rationamentului care a condus la aceasta concluzie. Trasarea se face incepand cu subgoal-ul curent si mergand in ordine inversa spre ipoteze. Raspunsul sistemului este de felul urmator:
Aceasta este o consecinta a regulii 4:
if carburant in rezervor, and
carburant in carburator
then motorul se alimenteaza
carburant in rezervor: confirmata de utilizator,
carburant in carburator: confirmata de utilizator.
REZUMAT
Sistemele expert sunt programe aplicative de inteligenta artificiala bazate pe cunoastere specializata de nivel inalt, nivel atins in societate de cei mai competenti experti umani ai domeniilor aplicative ce se implementeaza in aceste sisteme.
Denumirea de 'sisteme expert' deriva din capacitatea acestor programe de a egala unele din performantele de gandire si de intuitie pe care expertii umani le obtin atunci cand aplica o astfel de cunoastere pentru rezolvarea unor probleme complexe din domeniul de expertiza.
Din punct de vedere functional un sistem expert este definit ca un program ce ofera cunostinte pentru obtinerea rezultatelor taskurilor dificile rezolvate uzual de expertii umani. Din punct de vedere structural si arhitectural SE au urmatoarele caracteristici: a) sunt construite in general pentru focalizarea taskurilor cu gama limitata de aplicabilitate; b) exista o separare explicita intre cunostinte si metodele de rationare utilizate in vederea obtineri unor concluzii pe baza cunostintelor; c) sunt capabile sa explice propriile actiunii si linii de judecata.
Subsistemele definitorii ale unui Sistem Expert sunt: a) Baza de cunostinte; b) Baza de fapte; c) Mecanismul de inferenta; d) Modulul de explicatii; e) Modulul de comunicatie; f) Modulul de achizitie a cunostintelor.
Sistemele expert se pot imparti in trei mari categorii: a) sisteme expert de clasificare - interpretare; b) Sisteme expert de control (monitorizare); c) sisteme expert de anticipare.
TEST DE AUTOEVALUARE
Un sistem expert reprezinta:
a. Un program algoritmic elaborat de colectiv de experti umani.
b. Un program care asista expertul uman in rezolvarea problemelor de inalta dificultate.
c. Un program care este capabil sa rationeze similar unui expert uman.
Baza de cunostinte a unui sistem expert reprezinta o structura de date care contine:
a. Ansamblul datelor specializate furnizate de catre expertul uman.
b. Ansamblul datelor obtinute la un moment dat prin rularea programului.
c. Ansamblul general al datelor si cunostintelor.
Rolul principal al mecanismului de inferenta intr-un sistem expert este:
a. Supravegheaza rezolvarea problemei si intervine in caz de blocare.
b. Alege strategia de control si elaboreaza planul de rezolvare a problemei.
c. Achizitioneaza date de la utilizator si de la expertul uman.
Prin metacunoastere se intelege:
a. Cunoasterea in domeniul de specialitate al sistemului expert.
b. Un ansamblu de metode de memorare a datelor furnizate de expertul uman.
c. Cunoasterea despre cunoasterea insasi.
Ingineria cunoasterii are ca obiectiv principal:
a. Programarea cunoasterii.
b. Captarea si reprezentarea cunoasterii.
c. Testarea sistemelor expert.
Reprezentarea prin conditii de tipul (daca A este adevarat la un moment T, atunci A este lansat in executie la momentul T+Q) se utilizeaza in sisteme expert:
a. de clasificare-interpretare.
b. de control (monitorizare).
c. de anticipare.
Rolul principal al prototipului unui sistem expert consta in:
a. Testarea diverselor moduri de reprezentare a cunostintelor si mecanisme de inferenta.
b. Identificarea calitatilor sistemului expert dupa implementarea industriala a acestuia.
c. Identificarea fezabilitatii proiectului de sistemului expert.
Justificarea solutiilor obtinute de sistemul expert la problemele utilizatorilor se obtine prin:
a. Sistemul explicativ.
b. Sistemul de comunicare.
c. Sistemul rezolutiv.
Datele utilizatorului si rezultatele intermediare produse in cursul procedurii de deductie sunt inregistrate in:
a. Baza de date.
b. Baza de cunostinte.
c. Baza de fapte.
Un sistem expert este recomandat a fi creat si utilizat in cazul in care:
a. Problema este cunoscuta, iar solutia este cunoscuta.
b. Problema prezinta incertitudini si nu exista experti in domeniu.
c. Domeniul problemei evolueaza frecvent, iar solutia este necunoscuta.
Raspuns
1. c 3. b 5. b a 9. a
2. a 4. c 6. b 8. a 10. c
Copyright © 2024 - Toate drepturile rezervate