Documente Academic
Documente Profesional
Documente Cultură
Cap. 08 - Sisteme Expert PDF
Cap. 08 - Sisteme Expert PDF
Sisteme Expert
8. Sisteme Expert
8.1. Inteligena artificial i sistemele expert
Sisteme
Prelucrare n
expert
limbaj natural
Robotic
Vedere artificial Planificare
n prezent sistemele expert sunt tot mai mult asociate direct cu modurile de raionare i
cunotinele reprezentate. SE sunt de fapt dezvoltri n noile cmpuri ale achiziiei de
cunotine ca forme specializate de nvare, n care cunotinele sunt achiziionate direct de la
expert. Alte SE ca tehnici de IA include explicaii, nvare inteligent, planificare, rezolvarea
problemelor distribuite, cercetri ce sunt adresate direct IA.
Sisteme
expert
Metodologii pentru
manipularea cunotinelor
Succesul dezvoltrii S.E. este legat de modul n care sunt combinate aceste dou
obiective. Tendinele tehnice de baz pledeaz ca raionarea i cunotinele s nu fie vzute
disjunct, separate, ntruct un S.E. presupune o armonizare ntre cunoatere i raionare.
Expertul care nelege necesitatea utilizrii unui SE n domeniul su de cunoatere
poate de asemenea obine un ajutor de la inginerul de cunotine (adic, a specialistului n
calculatoare priceput n SE) deoarece, n urma discuiilor cu acesta, anumite cunotine vor fi
reformulate. n concluzie, prin interaciunea ntre expertul uman i inginerul de cunotine
poate fi fcut un schimb ntre domeniile de experien ale fiecruia. Deci, inginerul de
IASE 4/49 Cap. 8. Sisteme Expert
cunotine, n general un ignorant al domeniului cunoaterii specifice expertului, iar expertul
cu foarte puine cunotine despre sisteme expert au puncte de vedere ce vor fi puse de acord
n urma acestei colaborri.
Prin urmare, nu este uor pentru un expert s gseasc un inginer de cunotine n
vederea colaborrii deoarece cunotinele sunt expansive i greu de formulat ntr-o manier
concis. Aceasta motiveaz necesitatea ca experii umani s aib mai multe cunotine despre
sistemele expert. Sunt necesare ct mai multe utilitare specifice dezvoltrii sistemelor expert,
trebuie s fie posibil ca eventual mai muli experi s fie adepii utilizrii SE fr a fi utilizate
cunotinele lor n acelai timp de ctre inginerii de cunotine. n orice eventualitate, punctele
de vedere ale inginerului de cunotine sunt utilizate n proiectare i este limpede c procesul
construirii sistemelor expert este mai eficient dac expertul este cunosctor asupra
tehnologiilor i metodologiilor sistemelor expert.
Aa cum s-a artat i n capitolul anterior, sistemele expert acoper o clas foarte mare
de programe ce au o serie de caracteristici comune, dar difer n multe privine fa de
programele clasice. n cazul SE, baza de cunotine are o serie de caracteristici care ofer o
independen a cunotinelor, cum sunt:
- granularitatea cunotinelor (independena acestora);
- ordinea n care sunt stocate cunotinele n baza de cunotine nu influeneaz rezultatele;
- modificarea elementelor bazei de cunotine nu are implicaii deosebite asupra
programului;
- sistemul expert poate fi caracterizat ca o nou modalitate de programare declarativ.
Pentru a se putea nelege mai bine modul n care funcioneaz un sistem expert, se va
prezenta n figura 8.3 conceptul de baz al funcionrii unui SE. Utilizatorul furnizeaz
sistemului expert fapte sau alte informaii i primete, ca rspuns, "sfaturi" sau "expertize".
Baza de cunotine
Fapte
Utilizator
Expertize
Motor de inferen
Sistem Expert
Fig. 8.3. Conceptul de baz al funcionrii unui SE
O caracteristic a sistemelor expert este cea privind competena acestora de a furniza
explicaii asupra raionamentelor ntreprinse pentru ajungerea la rezultat, explicaii care
trebuie s fie exprimate ntr-un limbaj ct mai apropiat de limbajul natural.
Interfaa utilizator
uman
Utilizator
Inginer de
cunotine
Baza Modul
de de
fapte explicare
Indiferent de cerinele particulare ale domeniului de expertiz dat, orice sistem expert
poate fi conceput n concordan cu urmtoarea schem general de structur (fig. 8.4,b):
Sistemul cognitiv, care este dedicat realizrii urmtoarelor funcii i obiective legate
de cunoatere:
- memorarea cunoaterii experte ntr-un spaiu de memorare special organizat n acest
sens, denumit baz de cunotine;
- cutarea pieselor de cunoatere specificate direct, prin simboluri identificatoare;
- cutarea pieselor de cunoatere referite indirect, prin proprieti asociate i/sau valori
atribuite acestora;
- cutarea pieselor de cunoatere prin inferene sau lanuri infereniale care pornesc din
alte piese de cunoatere;
- meninerea bazei de cunotine n actualitate cu evoluia domeniului de expertiz;
Prelucrarea cunoaterii
despre sistem
amf Sistem
metarezolutiv
amf
ipc Sistem
cognitiv amf
Index:
pbd - problem bine definit
cpc pc ipc
cpc - cerere pies de cunoatere
ipc - introducere pies de cunoatere
pc - pies de cunoatere Baza de cunotine
dr - drumuri de raionament Nivelul metacunoaterii
j - justificri
Nivelul cunoaterii conceptuale
amf - adecvare mecanisme fundamentale
pmc - pies de metacunoatere Nivelul cunoaterii factuale
Pentru aceste sisteme msura intervalelor regulate de timp trebuie s fie interpretat,
genernd declanarea unei aciuni imediate, atta timp ct anumite condiii sunt ndeplinite.
IASE 13/49 Cap. 8. Sisteme Expert
Este necesar deci o structur de control ce permite evoluia datelor altfel dect n cazul clasic
al diagnosticrii.
Cunotinele pot fi reprezentate sub form de tabele cu date care, n funcie de
valoarea mrimii controlate selecteaz strategiile ce vor fi aplicate la momentele urmtoare.
3) SE de anticipare - acestea sunt caracterizate printr-o alocare a resurselor innd
cont de restricii. Ex. CAO (anticiparea unui rezultat) pentru meteorologie, pentru anticiparea
evoluiei n viitor pe baza datelor prezente i a evoluiilor trecute, pentru ordonarea i
planificarea produciei. Aceast compartimentare a fost fcut pentru a permite studiul i
cutarea dup caz a sistemului cadru pentru dezvoltarea unei aplicaii. Spre exemplu,
sistemele expert utilizate n diagnoz nu pot fi utilizate la dezvoltarea aplicaiilor de
conducere a proceselor.
n concluzie, este deci indispensabil determinarea clasei aplicaiei i cutarea
sistemului de dezvoltare adecvat.
Prototip Formalizare
Implementare
Industrializare Validare
n fig. 8.5 se reprezint cele cinci faze aferente transferului de cunotine n conjuncie
cu cele trei etape de dezvoltare. Aceasta arat c studiul de fezabilitate este foarte restrns,
ns dezvoltarea prototipului i experimentarea reprezint pri importante ale procesului de
construcie. Diferena ntre machet i prototip nu poate fi foarte clar, ns, precis prin
prototip se neleg subansambluri ale sistemului expert final pe cnd macheta este total
independent.
Etapa de prototip permite verificarea rapid (dou - patru luni) dac pentru problema
dat se justific utilizarea sistemului expert. Ea presupune realizarea unei machete care nu
rezolv dect cteva cazuri tipice. Macheta este realizat fr a urmri aspecte legate de
optimizarea timpului de rspuns i a memoriei ocupate sau de validare a formalismului
utilizat. Inginerul de cunotine utilizeaz, pentru aceste reprezentri simple i flexibile,
nuclee existente fr s urmreasc validarea formalismului utilizat.
La finalul acestui studiu, problema trebuie s fie clar definit, permind s se ia o
decizie asupra desfurrii ulterioare a lucrrii. Soluii distincte ale problemei trebuiesc testate
i comparate pe parcursul dezvoltrii prototipului (care poate fi o extensie a machetei). Pentru
aceasta, cel mai comod de utilizat sunt sistemele expert cadru. Acest prototip trebuie n
IASE 16/49 Cap. 8. Sisteme Expert
majoritatea cazurilor s rmn modest n principiu, el va fi abandonat atunci cnd inginerul
de cunotine are o idee precis asupra dezvoltrilor viitoare ale sistemului expert pe baza
experienelor realizate. n final, este preferabil abandonarea prototipului atunci cnd
modificrile nu pot garanta eficacitatea sistemului, chiar dac prototipul este la un moment
dat mult mai bine cunoscut.
Pentru ilustrare, s considerm o comparaie imaginar: extensia unui prototip (sau a
unei machete) este similar cu aceea de a mri un cart pentru a obine o main de formula I.
Aceasta nu va atinge niciodat performanele unei maini construite n acest scop, deficienele
provenind din nsi arhitectura cartului. Diferena esenial ntre aceast etap i etapele
precedente rezid n faptul c la acest nivel se tie foarte exact ce facem i cum facem. Se
procedeaz acum la o rescriere a prototipului testat n etapa anterioar urmrind satisfacerea
condiiilor de eficacitate. Baza de cunotine continu s evolueze pe parcursul acestei faze
ncorpornd cazuri reale i din ce n ce mai complexe. Sistemul expert ncepe s devin
utilizabil nainte ca baza de cunotine i obiectivul fixat iniial s fie realizat complet.
Dezvoltarea n varianta clasic descompune problema n subprobleme realizate
independent unele de altele. Din contr, abordarea de viitor este abordarea experimental i
incremental a machetei, prototipului sau a tuturor elementelor. Se observ n varianta clasic
descompunerea n subprobleme cu rezolvarea acestora n paralel. Astfel rezolvarea este
limitat, subproblemele fiind parcurse independent. Construcia printr-un proces experimental
i incremental este bazat pe luarea n consideraie la anumite etape a tuturor subproblemelor
ntr-o manier detaliat.
Multe companii se gsesc astzi la sfritul etapei A, o machet a fost realizat, ns
problemele nu au fost clar delimitate. Dac decizia de trecere la etapa B era luat (i multe
sunt deja luate) partea cea mai important ncepe aici. Ca efect, un studiu asupra domeniului
va fi necesar i indispensabil. El permite determinarea cunotinelor utilizate de expertul uman
i maniera de a le reprezenta, sprijinindu-se pe experiena deja acumulat n acest domeniu
(faza de conceptualizare, formalizare). Aceast etap este important cci ea condiioneaz
urmarea studiului. Lucrurile care sunt efectuate (reprezentarea cunotinelor, utilitare,
mecanism de inferen) determin caracteristicile sistemelor expert viitoare i performanele
lor. Primele rezultate ale studiului pe teren permit enunarea criteriilor de cutare a utilitarelor
utilizate n dezvoltarea sistemului expert.
Prototipul obinut, deci baza de cunotine nu trebuie s fie voluminoas, ea servete
doar ca suport de decizie pentru autorizarea trecerii la faza urmtoare. Etapa C ncepe prin
determinarea utilitarelor corespunztoare realizrii finale (ce pot fi aceleai cu cele ale fazei
B). Realizarea acestei etape se sprijin pe prototipul construit n etapa precedent insistnd pe
eficacitatea performanelor. Baza de cunotine a SE final se mrete lent pe msura avansrii
proiectului, prin noi cunotine i prin rezultatele testelor ce demonstreaz validitatea
coerenei cunotinelor. Trebuie amintit c faza de extracie a cunotinelor este lung i
delicat, ea consum o mare parte din timpul total de realizare a sistemului expert.
Organizarea bazelor de cunotine pentru sistemele expert are cel puin dou
niveluri:
- nivelul conceptual, constituit din piese de cunoatere prototip, care descriu obiecte
standard pentru clasele de obiecte, adic ceea ce denumim concepte;
- nivelul factual, constituit din instane ale obiectelor.
n cazul domeniilor de expertiz cu structur conceptual complex se pot constitui ierarhii de
concepte, unele fiind instane de natur conceptual a conceptelor de nivel superior. Nivelul
factual este constituit din obiecte individuale, identificabile prin nume, reprezentnd instane
propriu-zise ale conceptelor situate imediat deasupra nivelului de baz. Pentru pstrarea
conceptelor este organizat baza de cunotine. Instanele din nivelul factual pot fi pstrate n
aceeai baz de cunotine n care coexist conceptele din care deriv, sau pot fi introduse ntr-o
baz de date, de preferin relaional, atunci cnd exist posibilitatea interfarii sistemului
expert cu sistemul de gestiune al bazei de date.
Nivel
Schema conceptual
conceptual
Stocare
Referitor la aseriunea A2 :
Grupul predicativ este alctuit din verbul FUNCIONEAZ iar grupul nominativ
determin pentru predicatul corespunztor un singur loc, forma acestuia fiind:
FUNCIONEAZ( ROBOT(XY) )
Referitor la aseriunea A3 :
Predicatul definit de grupul predicativ este GENEREAZ i va avea dou locuri
corespunztoare celor dou variabile formale ale relaiei:
GENEREAZA (SURS_DE_TENSIUNE, 40 )
Referitor la aseriunea A4 :
Predicatul este FUNCIONEAZ iar obiectul care genereaz o propoziie
echivalenta cu aseriunea A4 este surs de tensiune :
FUNCIONEAZ ( SURSA DE_TENSIUNE )
Referitor la aseriunile A5 i A6 definim predicatele ESTE_ALIMENTAT i
ESTE_NCHIS. Obiectele care genereaz propoziii echivalente cu aseriunile A5 i A6 sunt
respectiv "sursa de tensiune, 220 " i " contactul de pornire " .
Revenind la expresiile (1) - (3) se obin formulele corespunztoare reprezentrii piesei
de cunoatere ROBOT(XY) n limbajul calculului cu predicate de ordinul I.
1)
ESTE_COMPONENT (ROBOT(XY) , ACIONARE );
ESTE_COMPONENT (ROBOT(XY) , TRANSMISIE );
ESTE_COMPONENT (ROBOT(XY) , STRUCTUR );
ESTE_COMPONENT (ROBOT(XY) , SENZORI );
ESTE_COMPONENT (ROBOT(XY) , CALCULATOR );
ESTE_COMPONENT (ROBOT(XY) , SURS_DE_TENSIUNE ).
2)
GENEREAZA (SURS_DE_TENSIUNE, 40 ) FUNCIONEAZ (ROBOT).
3)
ESTE_ALIMENTAT (SURS_DE_TENSIUNE, 220) AND
ESTE_NCHIS (CONTACT DE PORNIRE)
FUNCIONEAZ (SURS_DE_TENSIUNE).
Obiectul ROBOT(XY) este un termen generic, care se poate instania n obiecte
individuale ca:
ROBOTUL (IR52c) sau
ROBOTUL (KUKA) etc.
Numrul tipurilor de roboi este ins foarte mare i a scrie pentru fiecare c este
compus din urmtoarele subsisteme: acionare, transmisie, structur, senzori, calculator, surs
IASE 26/49 Cap. 8. Sisteme Expert
de tensiune, controllere etc. nu reprezint o soluie convenabil. Acest lucru se va evita prin
cuantificarea universal. Utilizarea cuantificatorilor este legat de transcrierea n calculul cu
predicate de ordinul I a unor propoziii n care aceti cuantificatori acioneaz ca operatori
unari asupra variabilelor pe care le prefixeaz.
Aadar, cunoaterea noastr despre robot, poate fi exprimat printr-o singur formul
adevrat pentru orice element din mulimea roboilor:
(1) orice x, ROBOT(x) ARE ( x, ACIONARE )
Putem considera c toate obiectele fizice menionate nu sunt individuale ci concepte
generice. Aceasta revine la a nlocui obiectele ACIONARE, TRANSMISIE, STRUCTUR
etc. cu variabile simbolice, iar caracteristica de a fi ACIONARE etc. s o specificm prin
predicate, aa cum am procedat cu conceptul de ROBOT.
(2) orice x, STRUCTUR(x) ESTE_ELEMENT ( x, S )
n care S este o mulime de descrieri de structuri diferite ca form i caracteristici.
Predicatul "ESTE_ELEMENT" semnific apartenena obiectului ataat variabilei
formale " x " la mulimea de descrieri de structuri S.
O astfel de folosire a predicatelor pentru a rezolva asemenea probleme de apartenen
la o mulime de entiti, care la rndul lor sunt termeni ai altor predicate, are dezavantajul de a
conduce la predicate de ordin superior. Pentru a evita astfel de situaii vom recurge la
facilitile limbajului de calcul cu predicate de ordinul I n ceea ce privete utilizarea, ca
termeni ai predicatelor, a simbolurilor funcionale. Astfel n locul formulei (2) vom scrie
definiia simbolului funcional unar:
STRUCTUR : x S
ca o aplicaie de la mulimea x a roboilor la mulimea S a structurilor, astfel nct termenul
STRUCTUR (x) va avea ca valoare un simbol identificator "structur" din mulimea S a
acestora. Drept urmare, substituirea termenului n formula (1) va conduce la formula:
(3) orice x, ROBOT(x) ARE (x, STRUCTUR(x)),
care este bine formulat n limbajul calculului cu predicate de ordinul I.
Aceast modalitate de reprezentare este folosit de ctre limbajul de programare
PROLOG, limbaj ce a fost selectat ca limbaj-main pentru procesoarele infereniale ale
calculatoarelor din generaia a V-a.
Acest mod de reprezentare a cunoaterii este una dintre cele mai utilizate n sistemele
expert. Metoda se bazeaz pe separarea componentelor obinuite ale calculului n scopul
manipulrii uoare n procesele la care sunt utilizate.
Cunoaterea n reele de producie este de natur procedural i pot fi definite
urmtoarele componente:
cunoaterea declarativ sau factual ce reprezint piese de cunoatere
stocate sub forma unor structuri de date ntr-o colecie numit i context;
cunoaterea procedural reprezentat sub forma unei colecii de tip
condiie-aciune, numite i reguli de producie, colecie ce formeaz baza de reguli;
cunoaterea strategic sau de control format din reguli ce privesc
secvenele de aciuni n procesul de rezolvare.
Sistemul construit n jurul regulilor de producie se bazeaz pe structura specific
compus din cele dou pri < partea de premis > < partea de aciune >.
n descrierea general, se poate meniona faptul c sistemele de producie sunt similare
gramaticilor i apar chiar n definirea gramaticilor Chomsky .
Se pornete de la ideea c un sistem de producii este compus dintr-o baz de date i
un set de reguli. Condiiile unei reguli pot fi vzute nc similare cu o baz de date ce ntoarce
un indicator de succes sau eroare. Concluzia unei reguli este o aciune ce manipuleaz baza de
date i n plus, un control va determina secvena regulilor utilizate. n concluzie, un sistem de
producie R poate fi considerat un dublet R = ( D, P ) n care:
D este o baz de date;
IASE 27/49 Cap. 8. Sisteme Expert
P este un set finit de reguli.
Baza de date este constituit dintr-un set de termeni, iar o regul are forma general
IF c THEN t, n care condiia c este constituit din termeni, paranteze, conective "i ", "sau",
"not", iar concluzia t este format dintr-un singur termen.
Se poate afirma c structura general a unei reguli de producie este urmtoarea:
< partea condiie > < partea aciune >
avnd interpretarea,
IF < partea condiie > este ndeplinit,
THEN se execut < partea aciune >
sau n forma mai general:
IF < partea condiie > este ndeplinit,
THEN se execut < partea aciune_1>
ELSE se execut < partea_aciune_2 >.
Dac ntr-o regul este satisfcut condiia, se spune c regula este selectat pentru
declanare sau regula este aplicabil. Regulile aplicabile intr ntr-o mulime a regulilor
aplicabile, mulime din care este selectat regula cu cea mai mare prioritate, dup criterii ce se
vor prezenta. Mecanismul regulilor de producie este mprumutat din teoria limbajelor
formale, este de natur procedural i cel mai apropiat de modul de realizare al programelor
clasice. nsi structura IF - THEN - ELSE este una din structurile de control ntlnite n toate
limbajele de nivel nalt.
Mecanismul interpretativ al regulilor de producie conine urmtorii pai:
selectarea tuturor regulilor ce conin piese de cunoatere ce satisfac partea de
condiie numit "coresponden". Mulimea acestor reguli formeaz "mulimea
candidat" sau "mulimea conflictual", denumire ce are originea n faptul c
elementele acestei mulimi intr ntr-o competiie n urma creia se decide care
regul este efectiv aplicat;
rezolvarea conflictelor prin care, din mulimea regulilor aplicabile se elimin mai
nti regulile ce duc la aceleai rezultate, dup care n conjuncie cu mecanismul de
asertare a prioritii pentru problema respectiv se selecteaz regula ce va fi efectiv
aplicat;
execuia prii "aciune" a regulii cu cea mai mare prioritate, n situaia n
care sunt reguli aplicabile;
pornind de la contextul modificat n urma aplicrii regulilor anterioare se reia
ciclul ncepnd cu faza de coresponden, atta timp ct ciclul produce aseriuni
materializate prin modificarea contextului.
Oprirea mecanismului interpretativ poate avea loc dac aciunea unei producii
specific concret oprirea sau se selecteaz o producie vid.
Analiza condiiei
Funcie de forma condiiei se va explora contextul pentru a gsi piese de cunoatere ce
corespund clauzelor constituente ale condiiei. O regul are o exprimare narativ cum este de
exemplu urmtoarea:
IF : domeniul de utilizare al robotului este cercetarea tiinific
(and) dispunem de specialiti cu o nalt calificare
(and) volumul programelor dezvoltate este foarte mare
(and) costul nu reprezint o problem foarte important
THEN: calculator PENTIUM IV este necesar
(and) frecvena ceasului intern este mare
Forma n care o regul este introdus n baza de reguli depinde de modul de realizare a
interpretorului de reguli. Dac se folosesc liste nlnuite cum sunt de exemplu listele LISP
condiia ce determin contextul se exprim astfel:
(Context (domeniul de utilizare al robotului este cercetarea tiinific) (volumul
programelor dezvoltate este foarte mare) (dispunem de specialiti cu o nalt pregtire)
(costul nu reprezint o problem foarte important) )
IASE 28/49 Cap. 8. Sisteme Expert
(Aciune (calculator PENTIUM IV este necesar ) (frecvena ceasului intern este mare) )
ntr-o reprezentare de acest tip se pot folosi chiar i funciile LISP pentru
corespondena cu partea de condiie ct i pentru realizarea operaiilor specifice aciunii, acest
mod de reprezentare este ns ineficient deoarece ocup mult memorie. O astfel de
reprezentare a cunoaterii a fost folosit n sistemul expert MYCIN.
Sistemele expert actuale nglobeaz mecanisme de evaluare a condiiei mult mai
evoluate fr s se restrng la operaia simpl de coresponden ntre condiie i context.
Expertul, care este sursa cunoaterii, poate prevedea orice evaluare de funcie care s
reprezinte cel mai bine criteriul de acceptare a regulii de producie, ns reprezentarea nu mai
este unic i modular.
Mecanismele de coresponden prezentate pn n prezent au o dificultate major
legat de tratarea cunotinelor incomplete prin care se modeleaz enunurile problemelor,
fapt pentru care apare ca necesar introducerea variabilelor. Utilizarea variabilelor face
posibil ca n sistemele de producii s se foloseasc reguli ce opereaz nu numai cu piese
individuale, ci i cu concepte. Legarea variabilelor faciliteaz construcia de instane diferite
pentru aceleai reguli. n principal prin legarea variabilelor se rezolv motenirea
proprietilor paternurilor din condiie.
proces fenomen
obiect
( <identificator_faet> <descriere_dat> ) ).
<descriere_dat> = ( <valoare> ) ( <descriere_date> <valoare> )
<valoare> = ( <date> <date> <etichet> <mesaj> <comentariu> ).
Implementrile cunoaterii utiliznd conceptul de cadru difer prin detaliile specifice
acestora, aa c anumite implementri orientate spre limbajul LISP dau pentru neterminalele
<identificator_cadru>, <identificator_form>, <identificator_faet> reguli de definire
difereniate prin nivelul de plasare a simbolului n structura de list. Se folosete ca prim
simbol identificatorul cadrului, al doilea identificatorul formei, al treilea cel al faetei,
descrierile nestructurate avnd asociate cuvinte cheie pentru cadre, forme, faete. Simbolurile
pot reprezenta proprieti ale obiectelor sau relaiilor, nume de alte cadre, identificatori de
proceduri ataate.
Operaia de populare n locurile structurii a simbolurilor i valorilor, poart denumirea
de umplere. n reprezentarea prin cadre se disting o serie de primitive semantice care plaseaz
cunoaterea n conceptul mai larg oferit de structura cadrului cum sunt:
Aciunea se refer la descrierea aciunii propriu-zise format din cadre ale cror forme
reprezint pai ai aciunii n care faetele sunt caracteristicile pailor, descrierea de aciuni
implicite prin proceduri la care obiectul va fi plasat in modelul unei situaii problematice. O
procedur ataat simbolului dintr-un cadru se numete procedur de comutare dac simbolul
IASE 35/49 Cap. 8. Sisteme Expert
reprezint un nume de clas i procedura este invocat pentru orice element aparinnd clasei,
atunci cnd el substituie n procesul de interpretare simbolul clasei n cadrul considerat.
Dac procedura este ataat la un simbol unic atunci se ncorporeaz n corpul cadrului
imediat urmtor simbolului de invocare. Alte proceduri folosesc ataarea implicit i sunt
invocate nu ca urmare a specificrii n cadrele unde figureaz simboluri la care se ataeaz
proceduri ci ca urmare a apariiei unei situaii specifice. n acest caz, procedura se cupleaz la
apariia situaiei, motiv pentru care este denumit i "demon". Supravegherea situaiei
specifice de ctre demon se realizeaz prin:
apariia unui fapt n baza de cunotine ce corespunde unui patern;
apariia n procesul de interpretare a unei condiii de invocare pentru un patern dat.
ipc Sistem
cognitiv
cpc pc ipc
Baza de cunotine
Nivelul cunoaterii conceptuale
Nivelul cunoaterii factuale
Regula 2: if
demarorul nu nvrtete arborele cotit and
luminile nu se aprind
then
problema este bateria sau cablurile.
Regula 3: if
demarorul nu nvrtete arborele cotit and
luminile se aprind
then
problema este demarorul.
Regula 4: if
IASE 41/49 Cap. 8. Sisteme Expert
este carburant n rezervor and
este carburant n carburator
then
motorul se alimenteaz.
De remarcat, c regula 1 are dou premize i amndou dintre acestea trebuie s fie
ndeplinite pentru a se trage concluzia respectiv. Premizele sunt ramurile unui nod AND al
arborelui de deducie, reprezentnd descompunerea problemei (stabilirea faptului c bujiile sunt
defecte) n subprobleme (stabilirea faptelor c "motorul se alimenteaz" i "demarorul nvrtete
arborele cotit"). Se poate aplica apoi regula 4, a crei concluzie este echivalent cu faptul c
motorul se alimenteaz cu combustibil. Aplicarea acestei reguli va avea drept efect adugarea
premizelor corespunztoare n memoria de lucru (fig. 8.10). n acest moment n memoria de
lucru sunt trei piese de cunoatere (carburant n rezervor, carburant n carburator, demarorul
nvrtete arborele cotit) care nu pot fi unificate cu concluzia nici uneia din regulile sistemului
(fig. 8.11). Astfel, sistemul expert va ntreba utilizatorul despre veridicitatea acestora. Dac
utilizatorul confirm c toate cele trei premize sunt adevrate, sistemul expert va stabili faptul
c bujiile sunt defecte ("problema este bujiile"), diagnosticnd cu succes pana de automobil i
indicnd eventual modul de soluionare.
IASE 42/49 Cap. 8. Sisteme Expert
Acesta este desigur un exemplu foarte simplu. Nu numai c baza de cunotine este foarte
redus, dar sunt ignorate o serie de aspecte privind implementarea real a unui astfel de sistem.
1) Regulile sunt formulate n limbaj natural, ci nu ntr-un limbaj formal de reprezentare.
2) De asemenea, implementarea real trebuie s incorporeze un mecanism de backtracking. n
exemplul considerat, dac prin alegerea regulii 1 nu se poate dovedi c bujiile sunt defecte,
mecanismul de backtracking va determina revenirea n punctul n care ultima regul a fost
selecionat n vederea alegerii alteia dintre regulile aplicabile (ex. regula 2).
n urma procesului de cutare este generat graful AND/OR ilustrat n fig. 8.12. Sistemul
explicativ are la baz tocmai acest graf. Memornd evoluia sistemului expert, sistemul
explicativ utilizeaz un algoritm de trasare pentru a rspunde la ntrebri.
n general, unui sistem expert i se pun dou tipuri de ntrebri: De ce? i De unde? (sau
Cum?). Utilizatorul pune ntrebarea "de ce?" sistemului expert atunci cnd acesta din urm cere
anumite informaii utilizatorului. ntrebarea "de ce?" avnd semnificaia "de ce ntrebi acest fapt
?", sau "de ce trebuie s cunoti acest lucru ?". Rspunsul la ntrebarea "de ce?" este de fapt
regula curent ce a fost declanat. Prin ntrebarea "Cum ?", utilizatorul poate cere sistemului
expert s justifice cum a dedus anumite informaii "De unde ai aceast informaie ?", sau "Cum
ai ajuns la aceast concluzie ?". Rspunsul const, de aceast dat, n secvena de reguli care au
generat subgoal-ul respectiv.
Pentru exemplificare, s considerm c sistemul expert pentru diagnosticul penelor de
automobil este prevzut cu un subsistem explicativ i, s presupunem, c n urma investigaiilor
preliminare s-a ajuns n situaia ilustrat n fig. 8.11. Sistemul expert ncepe dialogul cu
utilizatorul ntrebndu-l asupra noilor subgoal-uri aprute n memoria sa de lucru:
Problema este X
Regula 4:
motorul se alimenteaz
carburant n carburant n
rezervor carburator
De ce se alimenteaz ?
De data aceasta utilizatorul a ntrebat sistemul de unde tie c motorul se alimenteaz
cu combustibil. Rspunsul const n trasarea raionamentului care a condus la aceast
concluzie. Trasarea se face ncepnd cu subgoal-ul curent i mergnd n ordine invers spre
ipoteze. Rspunsul sistemului este de felul urmtor:
Aceasta este o consecin a regulii 4:
if carburant n rezervor, and
carburant n carburator
then motorul se alimenteaz
carburant n rezervor: confirmat de utilizator,
carburant n carburator: confirmat de utilizator.
Regulile sunt reprezentate prin perechi condiie-aciune, a cror premiz const ntr-o
conjuncie de fapte (triplete atribut-obiect-valoare), iar a cror concluzie adaug noi fapte n
baza de cunotine asociat pacientului respectiv. De exemplu, urmtoarea regul exprimat n
limbaj natural n modul urmtor:
if (a) infecia este de natur bacterian, and
(b) zona de cultur este o zon steril, and
(c) calea suspect de inoculare este tractul
gastro-laringian
then cu certitudine de 0.7 infecia este bacterian.
este rescris n contextul sistemului MYCIN prin intermediul regulii
IF: (AND(same_context infection primary_bacteremia)
(membf_context site sterilesite)
(same_context portal GL))
THEN: (conclude context_ident bacteroid tally .7).
IASE 45/49 Cap. 8. Sisteme Expert
8.8.2. Tratarea incertitudinii n sistemul MYCIN
Pornind de la binecunoscuta teorema a lui Bayes din calculul probabilitilor, specialitii
de la Standford University i-au dezvoltat un sistem propriu de tratare a certitudinii n sistemele
expert.
Fie MB(H|E) o msur a ncrederii ("belief") ipotezei H i MD(H|E) o msur a
nencrederii ("disbelief") ipotezei H, n ipoteza c evenimentul E s-a produs. Au loc relaiile:
1 > MB(H|E) > 0, dac MD(H|E)=0, sau
1 > MD(H|E) > 0, dac MB(H|E)=0.
Utiliznd cele dou msuri de mai sus, se poate defini factorul de ncredere al ipotezei H
CF(H|E) = MB(H|E) - MD(H|E).
Se poate observa cu uurin c -1 CF(H|E) 1, o valoare apropiat de 1 semnific
faptul c ipoteza H este foarte plauzibil, n timp ce, o valoare apropiat de -1 semnific o
respingere a ipotezei H. Valoarea zero reprezint o incertitudine maxim, caz n care nu se
poate afirma nimic referitor la veridicitatea sau non veridicitatea ipotezei H.
Premizele fiecrei reguli sunt formate dintr-un numr de fapte mixate ntre ele prin
utilizarea conectorilor logici. Pornind de la coeficienii de ncredere asociai premizelor se poate
calcula coeficientul de ncredere asociat regulii respective. Fie de exemplu P1 i P2 premizele
unei reguli oarecare R. Se consider:
CF(P1 and P2) = min(CF(P1),CF(P2)), i
CF(P1 or P2) = max(CF(P1),CF(P2)).
Combinnd cele dou reguli de mai sus se poate calcula factorul de ncredere asociat concluziei
regulii respective, prin nmulirea dintre factorul de ncredere asociat premizelor cu factorul de
ncredere al regulii respective.
De exemplu, s presupunem c n baza de cunotine se gsete regula urmtoare
R: (P1 and P2) or P3 C1 (0.7) and C2 (0.3)
unde P1, P2 i P3 sunt premize iar C1 i C2 sunt concluziile regulii R, avnt factorii de ncredere
0.7, respectiv 0.. Aceti din urm factori au fost stabilii la proiectarea sistemului expert. Dac,
n timpul execuiei programul a produs faptele P1, P2 i P3 cu factorii de ncredere 0.6, 0.4 i 0.2,
atunci concluziile C1 i C2 vor fi adugate n memoria de lucru cu factorii de ncredere 0.28,
respectiv 0.12. Calculele s-au efectuat n modul urmtor:
CF(P1 and P2) = min(0.6,0.4) = 0.4
CF((0.4) or P3 = max(0.4,0.2) = 0.4
Coeficientul de ncredere al rezultatului C1 este 0.7 n regul, care nmulit cu factorul de
ncredere al premizelor produce factorul de ncredere 0.28 asociat concluziei C1. Analog,
factorul de ncredere al concluziei C2 a aceleai reguli R este 0.30.4=0.12.
Se poate constata c aplicarea a dou sau mai multe reguli pot produce acelai rezultat
R. Se pune urmtoarea problem: care va fi factorul de ncredere al acestui rezultat? S
presupunem c CF(C1) este factorul de ncredere curent al unui anumit rezultat R i c acelai
rezultat R este produs de o nou regul C2 cu factorul de ncredere CF(C2). Noul factor de
ncredere al rezultatului R va fi:
CF( C 1 ) + CF( C 2 ) - CF( C 1 )* CF( C 2 ), cnd CF( C 1 ),CF( C 2 ) > 0
CF( C 1 ) + CF( C 2 ) + CF( C 1 )* CF( C 2 ), cnd CF( C 1 ),CF( C 2 ) < 0
CF( C 1 ) + CF( C 2 )
1 min ( CF( ) , CF( ) ) , n rest
C1 C2
@ mycin
MYCIN 26-March ...
Instruciuni ? (D sau N)
N
26 Martie 10:42
PACIENT-1
(6) Exist culturi (examene bacteriologice) n curs de efectuare pentru Alan APT ?
Da
--- Examenul bacteriologic 1 ---
(Un nou obiect (CULTURA-1) este creat i legat de obiectul
PACIENT-1)
(7) Din ce zon a fost recoltat specimenul (proba) pentru examenul 1
(CULTURA-1) ?
LCR (lichidul cefalorahidian)
(8) Furnizai data i ora efecturii examenului bacteriologic LCR
26 Martie, ora 7
(9) S-a efectuat un frotiu (lam) n momentul recoltrii probei?
Da
(10) A fost prezent flor microbian (de orice fel) pe frotiul din prob ?
Nu
...
(16) A avut Alan APT n ultima vreme dureri de cap persistente sau alte semne
neurologice anormale (ameeal, letargie etc.) ?
Da
(17) A avut Alan APT de curnd vreo examinare care s evidenieze semne neurologice
anormale (rigiditatea cefei, com, convulsii etc.), constatate de vreun medic ?
Da
...
Dac medicului nu-i convine tratamentul recomandat, acesta poate solicita altul
eliminnd unul dintre medicamente (ampicilina de exemplu). Rspunznd
afirmativ la ntrebarea precedent, MYCIN ar fi ncercat s gseasc un alt
tratament.