Sunteți pe pagina 1din 149

1

Capitolul 1
Ce este inteligena artificial?

Dezvoltarea spectaculoas a calculatoarelor n ultimii treizeci de ani a permis cercetrilor n
domeniu s incerce utilizarea calculatoarelor pentru rezolvarea unor probleme din ce n ce mai dificile,
din ce n ce mai apropiate de complexitatea problemelor soluionate de om. Pe msur ce problemele de
vitez i capacitate de memorare au fost rezolvate la nivelul tehnologiei construciei calculatoarelor,
limitarea utilizrii tehnicii de calcul n locul expertului uman se datoreaz mai ales incapacitii oamenilor
de a instrui i programa adecvat calculatoarele. ncercarea extinderii utilizrii calculatoarelor la tot ceea
ce poate fi soluionat de om a dus la apariia unui nou domeniu al tiintei calculatoarelor: inteligena
artificial.
Termenul de Inteligen artificial a fost introdus pentru prima dat n 1956 de ctre cercettorul John
McCarthy.
Inteligena artificial acoper un numr foarte mare de subdomenii. Dei ea este considerat un
subdomeniu al tiinei calculatoarelor, se intersecteaz cu discipline foarte diverse cum sunt: filozofia,
lingvistica, ingineria matematica, etc.
Inteligena artificial este un domeniu relativ nou. Ea este preocupat de utilizarea calculatoarelor
pentru rezolvarea unor probleme care necesit inteligen uman i care sunt dificil de rezolvat cu
tehnologia de calcul convenional. Exemple de astfel de probleme sunt: interpretarea unor scene vizuale,
diagnosticarea, recunoaterea limbajului natural.
Inteligena artificial (AI Artificial Inteligence) poate fi considerat ca acel domeniu al
informaticii care are ca obiectiv proiectarea sistemelor nzestrate cu anumite proprieti pe care n mod
obinuit le asociem inteligenei umane: nelegerea limbajului, nvarea, raionamentul, rezolvarea
problemelor, demonstrarea teoremelor, etc.


1.1 Inteligena artificial: o ncercare de definire

Primul pas n ncercarea de definire a unui domeniu l reprezint localizarea acestuia. Referitor la
inteligena artificial, exist cel puin dou puncte de vedere, i anume:
- inteligena artificial este domeniu interdisciplinar, avnd multiple conexiuni cu alte
domenii, dintre care menionm: filosofia, psihologia, lingvistica, matematica, tiina
calculatoarelor, biologia, etc.
- inteligena artificial este un subdomeniu al tiinei calculatoarelor.
Este att o ramur a tiinei, ct i o ramur a ingineriei. Ca ramur a tiinei, inteligena artificial
este preocupat de dezvoltarea principiilor i instrumentelor necesare pentru nelegerea
comportamentului entitilor inteligente naturale. Ca ramur a ingineriei, inteligena artificial este
preocupat de punerea la punct a unor metode i tehnici de construire a unor entiti inteligente artificiale.
Exist dou idei importante n definirea Inteligenei artificiale:

1. Inteligena

2. Maina artificial

Ce este inteligena? Noiunea de inteligen, la ora actual nu este suficient de bine neleas i n
consecin nu are o definiie unanim acceptat. Astfel s-au pus diverse ntrebri de-a lungul timpului:
Este inteligena o caracteristic pur uman sau nu? Din acest punct de vedere sunt dou posibiliti:
Un system intelligent ar trebui s se comporte exact ca un om
Un system intelligent ar trebui s se comporte ct mai bine posibil (ct mai apropiat de
comportamentul uman)
Despre ce tip de comportament este vorba?
2
Intereseaz abilitatea unui system de a gndi sau de a raiona?
Intereseaz doar comportamentul final al sistemului din punctual de vedere al aciunilor sale?

ntr-o prim aproximare se poate considera c inteligena este capacitatea de a cunoate, a nelege,
a raiona i a nva. Astfel un sistem este considerat c are proprietatea de inteligen dac n
comportamentul su se pot evidenia urmtoarele aspecte:
- are capacitatea de a cunoate i a nelege legturile dintre fapte;
- are capacitatea de a raiona;
- are capacitatea de a nva.
Cu alte cuvinte, pentru acordarea calificativului de inteligent unui sistem ne intereseaz ceea ce
face, i nu cum face acest sistem.
Inteligena artificial se ocup cu studiul principiilor, modelelor i metodelor de realizare a unor
sisteme de calcul inteligente n sensul reproducerii comportamentului entitilor inteligente naturale.
Diferitele definiii ale Inteligenei artificiale pun accentul n mod diferit, fie asupra proceselor
cognitive, fie asupra comportamentului. Astfel Inteligena Artificial poate fi privit ca studiul sistemelor
care:
Gndesc asemenea oamenilor
Gndesc raional
Acioneaz asemenea oamenilor
Acioneaz raional
Definiiile urmtoare se ncadreaz n aceste direcii:
1. I. A. este legat de automatizarea activitilor pe care noi le asociem cu gndirea uman,
activiti cum ar fi rezolvarea problemelor, luarea deciziilor, nvare (Bellman, 1978)
2. I. A. este legat de efortul de a face calculatoarele s gndeasc, de a nzestra
calculatoarele cu minte n sensul cel mai literal (Haugeland, 1965)
3. I. A. este studiul facultilor mentale cu ajutorul modelelor computaionale (Charniak,
McDermott, 1985).
4. Studiul proceselor de calcul ce fac posibile percepia, raionamentul i aciunea (Winston,
1992).
5. I. A. este arta de a crea maini ce ndeplinesc funcii care necesit inteligen cnd sunt
ndeplinite de oameni (Kurzweil, 1990).
6. Studiul ideilor care permit calculatoarelor s realizeze sarcini care, dac sunt ndeplinite de
oameni, presupun inteligen (Winston, 1984).
7. Cum facem calculatoarele s fac lucruri pe care, pentru moment, oamenii le fac mai bine
(Rich, Knigh, 1991).
8. I. A. este domeniul studiilor ce caut s explice i s imite comportamentul inteligent n
termeni de procese computaionale (Schalkoff, 1990).
9. I. A. este domeniul informaticii preocupat de automatizarea comportrii inteligente (Luger,
Stubblefield,1993)
10. Inteligena artificial este domeniul stiintei calculatoarelor care se ocupa de studiul i crearea
sistemelor de calcul i a programelor care prezinta o forma de inteligena: sisteme care
invata noi concepte, care pot rationa i deduce concepte utile intr-un domeniu al lumii
inconjuratoare, sisteme care pot intelege limbajul natural sau percepe i intelege un peisaj,
intr-un cuvint sisteme care necesita capacitati inteligente specifice omului.
11. Un program inteligent este un program care manifesta o comportare similar cu aceea a
omului cnd este confruntat cu o problem similar. Nu este necesar ca programul s rezolve
sau s ncerce s rezolve problema n acelai mod n care ar rezolva-o oamenii.
Multitudinea acestor definiii provine tocmai din faptul c domeniul, fiind legat de nsi esena
naturii umane, este deosebit de provocator. O ncercare de definire a inteligenei artificiale ar trebui s
porneasc de la definiia inteligenei, definiie departe de a fi banal de formulat. Multe din abordrile
caracterizrii domeniului au atins doar partial acest aspect, altele l-au considerat implicit.
3
Se poate observa din aceste definiii c anumite curente de opinii privesc inteligena
artificial ca o modalitate de cercetare, descoperire i simulare (copiere) a modului de funcionare a
inteligenei umane. Aceast perspectiv a condus la numeroase cercetri n inteligena artificial i la
dezvoltarea unor noi domenii cum ar fi tiina cunoasterii, domeniu studiat de psihologi, lingvisti,
informaticieni, filozofi, i domeniul reelelor neuronale, numit i inteligena artificial la nivel
subsimbolic.
O a doua perspectiv asupra inteligentei artificiale consider domeniul dintr-un punct de vedere
pragmatic. Nu conteaz dac inteligena artificial utilizeaz modelele i mecanismele comportamentului
inteligent uman, important este capacitatea sistemelor de calcul de a rezolva aceleai probleme cu
performane similare cu cele ale oamenilor.
Ca orice tiin, inteligena artificial se ocup de o serie de probleme cu caracteristici generale
comune i dezvolt tehnici specifice de rezolvare a acestor probleme.

1.2 Natura problemelor de inteligena artificial

Majoritatea cercetrilor n domeniul inteligenei artificiale efectuate la nceputul apariiei
disciplinei s-au orientat spre rezolvarea unor probleme uor formalizabile dar considerate ca necesitnd
un comportament inteligent: demonstrarea teoremelor i jocurile. Programul "The Logic Theorist" al lui
A. Newell, J. Shaw i H. Simon [1963] putea s demonstreze mai multe teoreme din primul capitol al
lucrrii "Principia Matematica" a lui Whitehead i Russell. Programul care juca ah al lui A. Samuel
[1967] i mbuntea performanele de joc dup fiecare partid jucat. Problemele rezolvate de aceste
programe au o caracteristic comun: ele sunt probleme grele.
n orice problem putem observa c exist un anumit numr, n de date de intrare de care depinde,
de obicei, timpul de execuie al algoritmului care rezolv acea problem. De exemplu, dac se pune
problema determinrii tuturor permutrilor unei mulimi, atunci n este numrul de elemente ale acelei
mulimi; dac se pune problema sortrii unui vector, n reprezint numrul de elemente ale vectorului.
Deoarece nu putem ti ntotdeauna cu exactitate de cte ori se execut o instruciune este destul
de greu de determinat timpul de execuie.
Totui, se poate considera c exist o proporionalitate ntre valoarea n i numrul de execuii.
n plus, timpul de execuie a unei instruciuni este dependent de calculatorul utilizat.
Majoritatea instruciunilor se execut de un numr mic de ori, astfel c timpul afectat lor este
neglijabil. De aceea, se alege o operaie (instruciune) esenial, numit, operaie de baz i se determin
de cte ori se execut ea. Cerina pentru operaia de baz este ca numrul de execuii ale acesteia s se
poat calcula n funcie de n, de la nceput.
Timpul de calcul estimat pentru un algoritm oarecare se numete ordinul su de complexitate. El
se poate nota astfel:
O (numr estimat de execuie ale operaiei de baz)
Dac, de exemplu, un algoritm efectueaz 2n
2
+ 4n + 3 operaii de baz, vom spune c acesta
este un algoritm al crui ordin de complexitate este o(n
2
) sau, altfel spus, algoritmul are un timp de
execuie ptratic. (Pentru un n foarte mare 4n + 3 este o valoare neglijabil comparativ cu 2n
2
, iar 2n
2
este
de acelai ordin de mrime cu n
2
)
Orict de performant ar fi un calculator, acesta nu poate rezolva o problem cu un algoritm de
complexitate timp O(e
N
), pentru o valoare semnificativ a dimensiunii N a intrrii, ntr-un interval de
timp rezonabil.
S presupunem c lucrm cu un calculator care este capabil s efectueze un milion de operaii
elementare pe secund. n tabelul urmtor sunt indicai timpii necesari efecturii a n
2
, n
3
, 2
n
, 3
n
operaii
elementare cu ajutorul unui astfel de calculator, pentru diferite valori ale lui n.


4
o n = 20 n = 30 n = 40 n = 50 n = 60
n
2
0,0004 sec 0,0009 sec 0,0016 sec 0,0025sec 0,0036 sec
n
3
0,008 sec 0,027 sec 0,064 sec 0,125 sec 0,216 sec
2
n
1 sec. 17,9 min. 12,7 zile 35,7 ani 366 secole
3
n
58 min. 65 ani 3855 secole 2x10
8
secole 1,3-10
13
secole

Cercetrile n inteligena artificial s-au orientat tocmai spre ncercarea de a reduce explozia
combinaional implicat de cutarea soluiei acestui tip de probleme. Una din contribuiile mari aduse de
inteligena artificial tiinei calculatoarelor este utilizarea euristicilor n rezolvarea problemelor grele,
transformnd astfel probleme inabordabile din punct de vedere al timpului de rezolvare n probleme
posibil de rezolvat n numeroase cazuri.
ncercarea de a simula comportamentul inteligent uman a dus la investigarea unor alte tipuri de
probleme, probleme care implic un grad nalt de expertiz uman, cum ar fi diagnosticul medical,
managementul, proiectarea i rezolvarea problemelor inginereti generale. Aceste probleme necesit
modelarea unor cantiti mari de informaii, informaii greu de formalizat, cum ar fi experiena i
intuiia. Sistemele expert, rezultat direct al acestor cercetri, sunt acum mult utilizate n domeniile
amintite.
O alt direcie a cercetrilor de inteligen artificial a fost aceea a rezolvrii problemelor banale,
cotidiene, care necesit cunotine de bun sim. Aceste probleme includ raionamentul despre obiecte
fizice i relaiile ntre ele, i raionamentul despre aciuni i consecinele acestora. Oricine tie, de
exemplu, c un obiect nu poate s fie simultan n dou locuri diferite sau c nu trebuie s dea drumul unui
pahar din mn deoarece poate s cad i s se sparg. Aceste comportamente pot fi greu caracterizate ca
necesitnd inteligen i, totui, ele sunt cele mai greu de modelat ntr-un program. Cunotinele de bun
sim sunt la ndemna oricrui om dar ele trebuie reprezentate explicit ntr-un program, iar volumul lor
este impresionant. Surprinztor, cercetrile de inteligen artificial au avut rezultate cu mult mai bune n
domenii ca rezolvarea problemelor formale dificile cum ar fi jocurile, demonstrarea teoremelor, sau a
problemelor care necesit expertiza uman ntr-un anumit domeniu, dect n domeniile care necesit
cunotine de bun sim. S-a reuit construirea unui program care s demonstreze teoreme matematice
complicate i care s descopere chiar concepte matematice noi, dar nu s-a reuit construirea unui program
care s stie tot ceea ce stie un copil de doi ani!
n final, multe cercetri n domeniul inteligenei artificiale s-au orientat spre imitarea altor capaciti
umane cum ar limbajul, vzul, auzul. Percepia i recunoasterea imaginilor, nelegerea limbajului vorbit
sau scris, sinteza limbajului natural i a vocii sunt probleme deosebit de provocatoare care implic att
algoritmi sofisticai de prelucrare ct i dispozitive tehnice complicate.
Inteligena artificial s-a organizat astfel intr-un numar de subdomenii care, dei au n comun
aceleai principii de reprezentare a informaiei i aceleai tehnici de rezolvare a problemelor, s-au
concentrat pe diverse aplicaii.
O discuie precis despre natura, specificul i modalitile de rezolvare a problemelor de inteligen
artificial trebuie s considere urmtoarele patru ntrebri importante:
(1) Este posibil simularea comportamentului inteligent pe calculator?
(2) La ce nivel se ncearc modelarea comportamentului inteligent?
(3) Care este criteriul pe baza cruia se apreciaz inteligena unui program?
(4) Care sunt reprezentrile i tehnicile utilizate n rezolvarea problemelor de inteligen
artificial?
n limitele definiiilor anterioare ale domeniului, rspunsul la prima ntrebare poate fi conjectura lui
McCarthy sau ipoteza lui Newell i Simon. John McCarthy, una dintre personalitile celebre ale
inteligenei artificiale, a fcut urmtoarea conjectur:
"Orice aspect al nvrii sau orice alt caracteristic a inteligenei umane poate fi descris
suficient de precis astfel nct o main s o poata simula."
Pe de alt parte, Allen Newell i Herbert Simon, alte dou nume semnificative n inteligena
artificial, au ncercat s rspund aceleiai ntrebri pornind de la definiia unui sistem fizic de simboluri
[Newell, Simon,1976]:
5
"Un sistem fizic de simboluri este format dintr-o mulime de entiti, numite simboluri,
care sunt abloane fizice ce pot apare drept componente ale altor tipuri de entiti numite
structuri (sau structuri simbolice). Astfel, o structur simbolic este compus dintr-un numr
de instane (particularizri) ale simbolurilor legate ntr-un mod fizic. n orice moment de timp
sistemul va conine o colecie de astfel de structuri simbolice. Pe lng aceste structuri,
sistemul conine de asemenea o colecie de procese care opereaz asupra expresiilor pentru a
produce alte expresii: procese de creare, modificare, reproducere i distrugere. Un sistem fizic
de simboluri este o main care produce n timp o colecie de structuri simbolice care
evolueaz. Un astfel de sistem exist ntr-o lume de obiecte mai cuprinztoare dect aceea a
expresiilor simbolice."
Pornind de la aceast definiie, Newell i Simon au fcut urmtoarea ipotez, numit ipoteza
sistemului fizic de simboluri:
"Un sistem fizic de simboluri are capacitile necesare i suficiente pentru a produce aciuni
general inteligente."
Evident, att conjectura lui McCarthy ct i ipoteza sistemului fizic de simboluri nu au fost
demonstrate i validarea lor ramne un subiect deschis. Ele au reprezentat ns un punct de plecare al
inteligenei artificiale i, n acelasi timp, provocarea esenial adus disciplinei. Discuia acestor ipoteze
se leag inevitabil att de rspunsul la cea de a doua ntrebare, ct i de rspunsul la cea de a treia
ntrebare.
Cel mai celebru criteriu de apreciere a inteligenei unui program, deci criteriul care ar putea
rspunde la ntrebarea (3), este testul Turing. n 1950, Alan Turing (1912-1954), celebru matematician
britanic i unul dintre ntemeietorii tiinei calculatoarelor, a propus un test pentru a determina dac o
main poate avea sau nu un comportament inteligent. n articolul su "Computing Machinery and
Intelligence", Turing a pus pentru prima oar problema posibilitii simulrii gndirii umane cu ajutorul
calculatorului. n acelai articol, Turing descrie i testul care, afirma el, poate discerne ntre o comportare
inteligent i una neinteligent.
Testul Turing const n principiu din urmtorul experiment. Un om comunic prin intermediul unui
terminal al calculatorului cu alte dou terminale, situate n camere nvecinate, punnd ntrebri i
obinnd rspunsuri. Rspunsurile sunt date de o persoan la unul din cele dou terminale ascunse celui
de la care se ntreab i de un program la cellalt terminal. Dac persoana care ntreab nu poate stabili n
urma dialogului care este terminalul de unde i-a rspuns omul i care este cel de la care i-a rspuns
programul atunci programul are o comportare inteligent. Programul poate fi astfel fcut nct s ncerce
s pcleasc pe cel care ntreab. De exemplu, dac programul este ntrebat ct fac 12.120*32.425, se
ateapt cteva minute pn se primete rspunsul. Problema cea mai important ridicat de realizarea
unui program care s treac un astfel de test este cantitatea de informaie necesar programului innd
cont de spectrul larg al ntrebrilor posibil de pus, ct i de faptul ca acestea sunt puse n limbaj natural.
Pna la ora actual nici un program nu a reuit s treac testul Turing. Cu toate acestea, testul
Turing sugereaz o msura a performanelor unui program dac se consider domenii restrnse. De
exemplu, un program de jucat ah poate ajunge s aib performane similare cu cele ale unui maestru iar
oponentul s nu stie dac joac ah cu o persoan sau cu un program. n alte domenii este posibil s se
compare performanele rezolvrii unei probleme de ctre un program cu cele ale unui expert n domeniu,
att din punct de vedere al calitii soluiei ct i din punct de vedere al vitezei de rezolvare.
Testul Turing este ns vulnerabil, n ciuda armului lui intelectual, din mai multe motive. n primul
rnd testul verific numai capacitile pur simbolice de rezolvare a problemelor, nelund n considerare
aspecte cum ar fi percepia sau dexteritatea manual. Pe de alt parte exist posibila obiecie c acest test
impune ca inteligena mainilor s modeleze inteligena uman. Unii cercettori susin c inteligena
mainilor este o form diferit de inteligen i c este o greeal s ncercm a o evalua n termenii
inteligenei umane. Se dorete oare construirea unei maini capabile s simuleze activitatea social a unui
om i care s fie la fel de lent ca acesta n efectuarea calculelor matematice? Toate aceste ntrebri ramn
pentru moment fr un rspuns definitiv, unele depind cu mult sfera inteligenei artificiale.

6
1.3. Dezvoltarea domeniului

Ideea construirii unei maini inteligente precede cu multe sute de ani apariia domeniului
inteligenei artificiale. O superb prezentare a evolutiei acestei idei de-a lungul timpului poate fi gsit n
cartea autoarei Pamela McCorduck [1979] "Machines who Think". Inceputurile inteligenei artificiale ca
domeniu al tiinei calculatoarelor pot fi situate n jurul anului 1950. Cercetrile i rezultatele lui Alonzo
Church, Kurt Goedel, Emil Post i Alan Turing din perioada anilor '20-'40 au pus n eviden posibilitatea
utilizrii metodelor formale de raionament i a reprezentrilor simbolice, crend astfel cadrul naterii
inteligenei artificiale. Cercetrile din aceeai perioad n domeniul ciberneticii, legate de numele lui
Norbert Wiener, prin modelarea comunicrii att la nivel uman ct i la nivelul mainii, au fost un alt
factor care a favorizat apariia inteligenei artificiale.
n timpul anilor '50-'60 mai multe evenimente au marcat momentul crerii acestui nou domeniu.
Aa cum s-a spus, n 1950 Alan Turing publica articolul care, pentru prima oar, pune problema
posibilitii simulrii gndirii umane cu ajutorul calculatorului. Momentul naterii oficiale a inteligenei
artificiale este considerat a fi Conferina de la Dartmouth College din 1956, organizat de John McCarthy
de la Dartmouth College i Marvin Minsky de la Massachusetts Institute for Technology. La aceast
conferin se ntlnesc primii patru mari iniiatori ai domeniului: John McCarthy, Marvin Minsky, Alen
Newell i Herbert Simon, ultimii doi de la Carnegie Mellon University.
Se pare c termenul de inteligen artificial a fost inventat n timpul acestei conferinte de ctre
McCarthy. Tot el este acela care a enunat i conjectura posibilitii simulrii cu ajutorul calculatorului a
oricrui comportament inteligent uman. Intre 1956 i 1957 A. Newell, J. Shaw i H. Simon dezvolt
primul program de demonstrare automat a teoremelor, "The Logic Theorist". Incepnd din 1960 apar
primele programe de inteligen artificial. A. L. Samuel dezvolta n 1961 un program de jucat ah care
i mbuntea performantele dup fiecare partid jucat. n 1962 i 1963 A. Newell i H. Simon
construiesc programul "General Problem Solver" (GPS) pe care ncearc s-l aplice n rezolvarea mai
multor probleme, cum ar fi planificarea aciunilor sau manipularea simbolic a expresiilor logice. n 1965
J. A. Robinson introduce rezoluia ca metod simpl i eficient de demonstrare automat a teoremelor.
Tot n 1965 ncepe la Stanford University construirea primului sistem expert, DENDRAL, de ctre J.
Lederberg i E. Feigenbaum. DENDRAL [Lindsay, s.a.,1980] era un sistem expert capabil s sintetizeze
structura moleculelor organice pe baza formulelor chimice i a spectogramelor de mas. n 1968 C.
Engleman, de la Massachusetts Institute for Technology, ncepe dezvoltarea limbajului MACSYMA
destinat rezolvrii simbolice a ecuaiilor.
n acelai timp apare necesitatea existenei unor limbaje de programare mai puternice, capabile s
exprime la nivel simbolic informaiile necesare programelor de inteligen artificial. Se dezvolt astfel o
nou filozofie a programrii, programarea descriptiv sau declarativ n care rezolvarea unei probleme se
face pe baza descrierii universului problemei n termenii obiectelor, atributelor i a relaiilor existente
ntre acestea. n scopul creterii eficienei activitii de programare simbolic se dezvolt astfel o nou
clas de limbaje: limbajele declarative. Limbajele funcionale, limbajele logice i limbajele orientate pe
obiecte sunt exemple de astfel de limbaje.
Limbajul Lisp (LISt Processing) a fost creat de John McCarthy n 1959. Limbajul Lisp
[Siklossy,1977;Norvig,1992] este un limbaj funcional destinat prelucrrii simbolice a informatiei, cu o
sintax simpl, cu tipuri de date simple i gestiunea dinamic a memoriei. Limbajul Lisp a fost i este
considerat limbajul preferenial al inteligenei artificiale. Limbajul Prolog (PROgrammation et LOGique)
a fost inventat de Alain Colmerauer la universitatea Marseille-Aix n 1972. Limbajul Prolog [Clocksin,
Mellish, 1981; Sterling, Shapiro, 1986] este cel mai rspndit limbaj de programare logic.
O alt categorie de limbaje care au contribuit la dezvoltarea rezolvrii problemelor de inteligen
artificial este aceea a limbajelor orientate pe obiecte. Smalltalk [Goldberg, Robson, 1983] este limbajul
reprezentativ pentru acest tip de programare i caracteristici ale limbajelor orientate pe obiecte au fost
incluse i n limbajele procedurale de nivel nalt.
Studiile i cercetrile de nceput n inteligena artificial s-au orientat mai ales spre ncercarea de a
construi sisteme generale, bazate pe metode de inferen puternice, care ncercau s funcioneze i n
cazul unor cunotine limitate despre domeniul problemei. Exemple de astfel de sisteme sunt programele
7
de jucat ah, "The Logic Theorist", GPS i altele din perioada anilor '60. n scurt timp s-a dovedit c
ipoteza conform creia un program care conine metode de rezolvare puternice dar generale, i care se
bazeaz n rezolvarea problemelor numai pe viteza de calcul a mainii, nu era capabil s rezolve dect
probleme foarte simple. De ndat ce un astfel de sistem trebuia s rezolve probleme reale, complexe,
explozia combinaional implicat de soluionarea problemelor fcea ca programul s devin inefectiv.
In urma acestor rezultate, la nceputul anilor '70 s-a produs o modificare fundamental n modul de
abordare i dezvoltare a sistemelor de inteligen artificial. Cercettorii au ajuns la concluzia c
realizarea unui sistem inteligent capabil s rezolve probleme reale, complexe, necesit un volum
substanial de cunotinte specifice domeniului. Perspectiva importanei cunotintelor n programele de
inteligen artificial este susinut i de observaia ca un specialist ntr-un anumit domeniu nu poate lucra
performant n alte domenii, orict de puternic ar fi capacitatea lui de raionament. Descoperirea rolului
cunotinelor specifice domeniului n rezolvarea unei probleme dificile a generat o nou concepie a
sistemelor de inteligena artificial: sistemele bazate pe cunotine. Eduard Feigenbaum [1977] a rezumat
aceast nou concepie ntr-o lucrare prezentat la "The International Joint Conference on Artificial
Intelligence" n 1977. El a pus n eviden faptul ca adevrata putere de rezolvare a unui program este
determinat n primul rnd de cantitatea de cunotine pe care o posed i numai n al doilea rnd de
modalitaile de raionament general utilizate.
Sistemul expert DENDRAL este unul din primele exemple de sisteme bazate pe cunotine. El a
fost caracterizat de Feigenbaum ca "o main de aplicare a cunotinelor." Sistemul MYCIN [Buchanan,
Shortliffe, 1984], sistem expert pentru diagnosticarea infeciilor bacteriene ale sngelui, a crui dezvoltare
a nceput la Stanford University n jurul anilor '74-'75, este un alt exemplu de sistem care a pus n
eviden rolul important al cunotinelor specifice domeniului. ncepnd din aceast perioad i pn n
prezent, toat comunitatea cercettorilor n domeniul inteligenei artificiale a recunoscut rolul esenial al
cunotinelor n rezolvarea inteligent a problemelor.
Din acest motiv o parte important a cercetrilor de inteligena artificial din ultimele dou decade
s-au orientat spre dezvoltarea metodelor i instrumentelor de modelare a cunotinelor (Figura 1.1).
Prima etap a fost marcat de evoluia limbajelor generale de inteligena artificial, cum ar fi Lisp i
Prolog. A doua etap a marcat dezvoltarea de sisteme expert dedicate, specializate ntr-un anumit
domeniu, care aveau propiul lor limbaj de reprezentare a cunotinelor. Din aceste limbaje specializate au
evoluat limbaje de reprezentare a cunotinelor independente de domeniu, numite i limbaje de nivel
foarte nalt. Aceste limbaje, n general tot limbaje declarative, permit exprimarea modular a
cunotinelor n forme mult apropiate de limbajul natural. Dei aceste limbaje sunt independente de
domeniu, reprezentarea cunotinelor i metodele de raionament ncorporate favorizeaz utilizarea
fiecrui limbaj pentru o anumit clas de probleme, fcnd dificil sau aproape imposibil utilizarea
limbajului pentru probleme cu alte caracteristici. n jurul acestor limbaje de nivel foarte nalt s-au
dezvoltat medii de programare care au condus la apariia sistemelor cadru de dezvoltare a sistemelor
bazate pe cunotine. Limbajele de programare ale inteligenei artificiale au jucat un rol important n
dezvoltarea cercetrilor din domeniu. De multe ori, idei i tehnici noi au fost nsoite de un nou limbaj
care susinea n mod natural aceste idei i tehnici. Exist la ora actual un peisaj complex i baroc al
limbajelor de inteligena artificial i a mediilor de dezvoltare a sistemelor bazate pe cunotine. Dintre
acestea cele care s-au impus n ultimul timp sunt mai ales KEE [Kikes, Kehler, 1985; Filman, s.a.,1992;
Filman, 1992] i OPS5 [Cooper, Wogrin, 1988].

8
Limbaje
de nivel
foarte inalt:
KRL, EMYCIN, SRL, AGE
Medii de dezvoltare
a sistemelor bazate pe cunostinte:
KEE, OPS5, ART, M1, EXSYS
Limbaje de nivel inalt: C, ADA, PASCAL, MODULA
LISP, PROLOG, SMALLTALK
Limbaje functionale, logice, orientate pe obiecte:
1990
1980
1970
1960
Aplicatii bazate pe tehnici
de inteligenta artificiala

Figura 1.1 Evolutia limbajelor i sistemelor de inteligen artificial

Odat cu impunerea importanei cunotinelor n sistemele inteligente a aprut o nou ramur a
inteligenei artificiale, ingineria cunotinelor. Ingineria cunotinelor se ocup de studiul metodelor i
tehnicilor de achiziie, reprezentare i organizare a cunotinelor n sistemele bazate pe cunotine.
Ingineria cunotinelor ncearc s rezolve una dintre problemele considerate cheie din punct de vedere al
limitrii timpului de dezvoltare a unui sistem bazat pe cunotine: transferul cunotinelor specializate ale
expertului uman n sistemul bazat pe cunotine. Feigenbaum [1977] definete ingineria cunotinelor
dup cum urmeaz.
9
"Ingineria cunotinelor practic arta de a utiliza principiile i instrumentele cercetrilor
de inteligen artificial n rezolvarea problemelor aplicative care necesit cunotine experte.
Aspectele tehnice ale achiziiei acestor cunotine, ale reprezentrii acestora i ale utilizrii lor
adecvate pentru construirea i explicarea liniilor de raionament, sunt probleme importante n
proiectarea sistemelor bazate pe cunotine. Arta de a construi ageni inteligeni este n acelai
timp o parte din i o expresie a artei programrii. Este arta de a construi programe de calcul
complexe care reprezint i raioneaz cu cunotinele lumii nconjurtoare."
La ora actual inteligena artificial a ncetat s mai fie apanajul unui numr restrns de iniiai i s
fie practicat numai n universiti sau institute de cercetare. Exist numeroase sisteme comerciale de
inteligen artificial i aplicaii funcionale construite pe baza tehnicilor de inteligen artificial. Aceste
aplicaii devin din ce n ce mai frecvent pri ale unor sisteme complexe care includ multe componente de
programare clasic. Din acest motiv, mediile de dezvoltare ale sistemelor bazate pe cunotine existente la
ora actual au componente de interfa cu limbaje de programare de nivel nalt, sisteme de gestiune a
bazelor de date, etc. n plus, anumite aplicaii de inteligen artificial sunt dezvoltate n limbaje cum ar fi
C sau Ada. Metodele de reprezentare a informaiei i tehnicile de rezolvare a problemelor descoperite de
inteligena artificial au depit sfera strict a domeniului i au fost incluse n numeroase alte aplicatii
complexe.




1.4 Structura sistemelor de inteligena artificial

Un sistem de inteligen artificial, sau sistem bazat pe cunotinte, este format din dou componente
fundamentale:
(1) baza de cunotine care conine cunotinele specifice domeniului problemei i, eventual,
cunotine generale, i
(2) motorul de inferen care utilizeaz cunotinele pentru rezolvarea problemei.
Din punct de vedere al inteligenei artificiale cunotinele pot fi vzute ca mulimea de fapte i
principii acumulate de oameni sau, mai general, nivelul cunoaterii umane la un anumit moment dat.
Cunotinele includ idei, concepte, teorii, abstractizri, limbaje, reguli, locuri, obiceiuri. Cunotinele
dintr-un sistem inteligent, care se refer de obicei la un anumit domeniu, descriu universul problemei sau
al clasei de probleme de rezolvat la nivel simbolic i formeaz coninutul bazei de cunotine.
Modul de reprezentare i organizare a cunotinelor este un element esenial al oricrui sistem
inteligent. Cunotinele dintr-un sistem bazat pe cunotine trebuie s posede urmtoarele caracteristici:
- Cunotinele trebuie s fie generale. Situaiile care prezint proprieti comune trebuie s poat fi
reprezentate prin structuri simbolice comune i nu punctual, fiecare n parte. Dac cunotinele
nu au aceast proprietate cantitatea de memorie necesar descrierii acestora poate deveni imens.
- Cunotinele unui sistem inteligent sunt n continu schimbare deoarece ele reflect schimbrile
din lumea nconjurtoare. Reprezentarea cunotinelor n sistem trebuie s poat modela uor
aceste schimbri i s permit dezvoltarea incremental a bazei de cunotinte.
- Reprezentarea cunotinelor trebuie s faciliteze achiziia lor. Multe din cunotinele necesare
unui sistem inteligent sunt cunotine greu sau imposibil de formalizat i ele trebuie obinute de
la oamenii care le posed. O reprezentare poate facilita sau ngreuna acest proces.
- Cunotinele trebuie s poat fi utilizate n orice instan a problemei de rezolvat, chiar dac sunt
incomplete sau parial incorecte.
- Cunotinele ntr-un sistem inteligent trebuie s fie organizate ntr-o structur care s corespund
modului n care acestea vor fi utilizate.
- Cunotinele trebuie s fie astfel reprezentate, organizate i utilizate nct s permit transparena
sistemului. Expertul sau utilizatorul trebuie s poat inspecta cunotinele utilizate n rezolvarea
unei probleme i inferenele pe baza crora problema a fost rezolvat.
10
Aceste caracteristici pun n eviden diferena existent ntre cunotine i date. Feigenbaum i
McCorduck [1983] ilustreaz aceast diferen prin urmtorul exemplu. Un medic care trateaz un pacient
folosete cunotine i date. Datele sunt reprezentate de fia pacientului: simptome, boli anterioare,
tratament prescris, reacie la tratament, etc. Cunotinele utilizate n tratarea pacientului reprezint tot ceea
ce medicul a nvat n facultate i n decursul intregii lui cariere prin practic, studiu, experien, n
legtur cu modul de vindecare a bolii. Aceste cunotine se refer la fapte, teorii, tratament si, cel mai
important, la cunotine euristice. Astfel, cunotinele necesit i includ utilizarea datelor dar sunt mai
mult dect acestea.
Una dintre cele mai dificile probleme ale reprezentrii cunotinelor ntr-un sistem inteligent este
reprezentarea cunotinelor euristice. Cunotinele euristice reprezint o form particular de cunotine
utilizat de oameni pentru a rezolva probleme complexe. Ele reprezint cunotinele utilizate pentru a
judeca corect, pentru a lua o decizie, pentru a avea un comportament dup o anumit strategie sau a utiliza
trucuri sau reguli de bun sim. Acest tip de cunotine nu este nici formalizat, nici demonstrat a fi efectiv
i cteodat nici corect, dar este frecvent utilizat de oameni n numeroase situaii. Judea Pearl [1984], n
lucrarea s "Heuristics. Intelligent Search Strategies for Computer Problem Solving", definete
cunotinele euristice astfel:
"Euristicile sunt criterii, metode sau principii pentru a alege ntre diverse alternative de
aciune pe aceea care promite a fi cea mai eficient n realizarea unui scop. Ele reprezint
compromisuri ntre dou cerine: necesitatea de a lucra cu criterii simple i, n acelai timp,
dorina de a vedea c aceste criterii fac o selecie corect ntre alternativele bune i rele."
Utilizarea cunotinelor n sistemele bazate pe cunotine necesit o form de raionament, decizii i
aciuni n scopul obinerii de noi cunotine care n final vor reprezenta soluia problemei de rezolvat.
Aceste aciuni se fac cu ajutorul metodei de inferen.
Definiie. Se numeste metod de inferen, sau pe scurt inferen, procedura de obinere la un moment
dat, a noi elemente (fapte) implicate n mod direct de elementele particulare reprezentrii.
Fiecare model de reprezentare a cunotinelor are metode de inferen specifice. Pentru a putea
ajunge la soluia unei probleme este necesar, de cele mai multe ori, o aplicare repetat a metodei de
inferen.
Definiie. Se numeste strategie de control procesul de aplicare repetat a metodei de inferen pentru a
ajunge la soluie, de preferin ct mai repede.
Metoda de inferen mpreun cu strategia de control formeaz nucleul motorului de inferen al
unui sistem bazat pe cunotine. Datorit descoperirii i utilizrii unor strategii de control adecvate,
programele de inteligen artificial au reuit s rezolve probleme grele, ntr-un timp acceptabil pentru
dimensiuni semnificative ale intrrii.
n continuare se dau definiiile unor noiuni ce vor fi frecvent utilizate n continuare.
Definiie. Inferena este o forma de raionament prin care se trece de la un enun la altul n mod deductiv
sau inductiv direct, caz n care se numete inferen imediat, sau indirect, caz n care se numete
inferen indirect.
Definiie. Deducia este o forma fundamental de raionament n planul conceptelor n care concluzia
decurge cu necesitate din premise. Exemplul tipic de deducie este silogismul.
Definiie. Se numete silogism un tip de raionament deductiv alctuit din trei judeci:
(1) premisa major sau termen major care conine predicatul concluziei,
(2) premisa minor sau termen minor care conine subiectul concluziei, i
(3) concluzia, derivat cu necesitate din primele dou.
Legatura ntre (1) i (2) este mijlocit de termenul mediu care figureaz n ambele premise dar nu i n
concluzie.
Termenul de silogism mpreun cu definiia de mai sus au fost date de Aristotel, acesta fiind
considerat fondatorul teoriei deduciei. Ulterior deducia a fost dezvoltat de Descartes, Leibniz i de
logica simbolic, n care silogismul ia forma regulii de inferena Modus Ponens.
Definiie. Inducia este o form de raionament care trece de la particular la general, de la fapte la
concepte. Exist dou tipuri de inducie: inducia complet, dac se enumer toate cazurile existente, i
inducia incomplet, dac se enumer numai o parte din cazurile existente.
Inferena inductiv st la baza majoritii proceselor de nvare.
11

Subdomeniile inteligenei artificiale

Prelucrarea limbajului natural i modelarea conceptual

Unul dintre primele obiective ale inteligenei artificiale a fost crearea de programe capabile s
neleag limbajul natural. De la nceput facem observaia c procesul de nelegere a limbajului natural
este cu mult mai complicat dect simpla analiz sintactic i semantic a unor secvene de simboluri.
Datorit cantitilor uriae de cunoatere necesare nelegerii limbajului natural, majoritatea realizrilor au
fost obinute n domenii problem restrnse i bine fundamentate.
Dintre principalele aplicaii ale prelucrrii limbajului natural menionm:
- traducerea automat ntre diverse limbaje;
- construirea unor editoare inteligente de text;
- interogarea bazelor de date n limbaj natural;
- generarea automat de documente;
- extragerea automat de informaii din texte rezumare automat;
- generarea de explicaii n limbaj natural.

Sisteme expert

Cercetrile de inteligen artificial din ultimii ani demonstreaz un interes crescnd pentru
domeniul sistemelor bazate pe cunotine. n general, prin sistem bazat pe cunotine se nelege un
sistem de calcul care folosete reprezentri simbolice ale cunotinelor umane, ntr-o manier i la un
nivel asemntoare raionamentului uman. Domeniul inteligenei artificiale care se ocup cu construirea
sistemelor bazate pe cunotine se numete ingineria cunotinelor.
Sistemele expert sunt sisteme capabile de a rezolva probleme dintr-un domeniu restrns
de expertiz sau pentru a da sfaturi ntr-o manier i la un nivel comparabile cu ale experilor
umani din domeniul respectiv. Ele sunt sisteme bazate pe cunotine deoarece, dei domeniul
poate fi foarte restrns, pentru a atinge performane comparabile cu ale experilor umani, necesit
stocarea unui volum foarte mare de cunoatere.
Sistemele expert bazate pe reprezentarea cunoaterii au debutat ca o curiozitate de laborator a
inteligenei artificiale aplicate. n prezent eforturi tehnologice nsemnate au ca int dezvoltarea unor
sisteme expert n domenii dintre cele mai variate. Aceste sisteme folosesc calculatorul ntr-o manier ce
difer semnificativ de aplicaiile convenionale de prelucrare a datelor, i ele deschid multe noi
posibiliti.
Un sistem expert, la fel ca expertul uman, este capabil s pun ntrebri relevante i s explice
raionamentul su.
Caracteristicile comune ale sistemelor expert sunt:
Pot s rezolve probleme dificile tot aa de bine sau chiar mai bine dect experii umani.
Raioneaz euristic, folosind ceea ce specialitii consider a fi metode empirice eficiente.
Interacioneaz cu omul n diferite moduri, inclusiv prin folosirea limbajului natural.
Manipuleaz descrieri simbolice ale cunotinelor i raioneaz asupra acestor descrieri simbolice.
Funcioneaz cu date eronate i cu reguli de raionament imprecise.
Iau n considerare n mod simultan ipoteze conflictuale.
Explic de ce pun o anumit ntrebare.
i argumenteaz concluziile.
Un sistem expert se deosebete de un specialist n mai multe privine :
(i) Un sistem expert nu poate ajunge la concluzii n mod intuitiv.
(ii) Un sistem expert nu poate examina o situaie din diverse perspective.
(iii) Sistemele expert nu pot, de regul stabili analogii.
(iv) Nu se pot baza pe simul comun.
(v) Sistemele expert nu pot, n mod obinuit, nva din experien.
12
n contrast cu ceea ce se ntampl n sistemele algoritmice de prelucrare a datelor, sistemele expert
examineaz un mare numr de posibilitti sau construiesc n mod dinamic o soluie.
Proiectarea sistemelor expert implic respectarea urmtoarelor principii :
(i) Se atac probleme abordabile prin tehnicile Inteligenei Artificiale aplicate.
(ii) Se consider numai probleme dificile de mare importan.
Un sumar ghid de proiectare a sistemelor expert presupune:
(i) Se abordeaz probleme pe care experii le pot rezolva prin telefon
(ii) Se consider acele probleme pe care specialitii le pot rezolva ntr-un interval de timp
rezonabil (trei minute pn la trei ore de exemplu).
(iii) Se aleg probleme a cror rezolvare necesit n principal un rationament simbolic.
(iv) Se evit problemele n care experii nu sunt de acord asupra corectitudinii soluiei.
(v) Se alege o clasa iniial de probleme pentru rezolvarea crora este necesar numai o
submulime a domeniului de cunotine.
(vi) Se identific probleme de instruire i se inventariaz protocoalele specialitilor pentru
rezolvarea acestor probleme.
(vii) Se construiete o baz de cunotinte ce conine reprezentri explicite i declarative ale
conceptelor specialitilor i diferitele reguli de raionament euristic.
(viii) Se dezvolt un sistem expert iniial ce rezolv problemele de instruire n aceeai manier
ca i specialitii.
(ix) Se cere sistemului s rezume soluiile adoptate i direciile sale de raionament.
(x) Se mrete sistemul inndu-se cont de criticile specialitilor.
(xi) Se propun sistemului noi probleme de instruire i se mrete baza sa de cunotinte.
(xii) Se evalueaz performanele sistemului pe probleme de test.

Planificarea automat

Problema planificrii automate presupune existena unui robot capabil s efectueze o serie de
aciuni primitive i const n gsirea unei secvene de astfel de aciuni prin care robotul poate ndeplini un
anumit obiectiv de nivel nalt, precizat anterior.
Una dintre sursele de dificultate este existena unui numr foarte mare de secvene de micri
posibile. Scrierea unui program care s descopere ntr-un timp rezonabil o secven ct mai bun de
micri din numrul uria de posibiliti necesit printre altele reprezentarea cunoaterii despre spaiul de
manevr al robotului i controlul adecvat al procesului de cutare.

Demonstrarea automat a teoremelor

Principalul punct de atracie al demonstrrii automate a teoremelor st n rigoarea i generalitatea
logicii matematice i este rezultatul urmtoarelor dou elemente:
- procesele de deducie din logica matematic pot fi formalizate prin tratarea diverselor sisteme
logice ca sisteme formale;
- numeroase probleme pot fi reprezentate ntr-un sistem logic bine ales, iar instana problemei
ce trebuie rezolvat poate fi formulat ca teorem n sistemul logic respectiv.
Astfel c logica, prin mecanismele sale de reprezentare i deducie, reprezint o unealt deosebit
de util n rezolvarea problemelor din inteligena artificial.

Probleme de percepie

Obiectivul unui proces de percepie este transformarea unei cantiti mari i neorganizate de date
de intrare numerice numit scen, ntr-o reprezentare condensat, structurat cu un pronunat caracter
simbolic. Aceast transformare se numete nelegere, iar rezultatul su poate fi folosit n procese de
analiz, interpretare, sintez de aciuni, etc. Rezult c un proces de percepie poate fi imaginat drept o
implementare a simurilor mainii - vz, auz, pipit, prin intermediul crora maina nelege contextul n
care se afl i acioneaz n consecin.
13

Achiziie de cunotine i nvare automat

Procesul de colectare, structurare, transfer i transformare a expertizei n rezolvarea de probleme,
sau n general al cunoaterii dintr-un anumit domeniu, de la una sau mai multe surse de cunotine la un
program se numete achiziie de cunotine. Persoana ce realizeaz aceast activitate se numete inginer
de cunotine. n particular, dac cunotinele sunt obinute prin intervievarea unor experi umani,
procesul se numete extragerea cunotinelor. Nu ntotdeauna sursele de cunotine sunt experi umani.
Ele pot fi spre exemplu articole tiinifice, tratate de specialitate sau baze de date. Iniial achiziia de
cunotine se realiza manual, proces destul de ineficient. A aprut astfel o nou direcie de cercetare n
inteligena artificial, cunoscut sub numele de extragere automat a cunotinelor, care se preocup de
elaborarea unor metode prin care cunoaterea experilor umani este transferat automat ctre un program.



Rezolvarea problemelor dificile

Numeroase probleme se refer la determinarea unei soluii optime n raport cu un anumit criteriu
dintr-o multitudine de soluii posibile. n astfel de cazuri soluia mbrac deseori forma unei planificri
optimale sau a unei mulimi optimale de elemente. Un exemplu tipic l reprezint problema
comisvoiajorului care presupune determinarea unui drum de lungime minim ce pleac dintr-un ora
iniial, viziteaz fiecare ora o singur dat i revine apoi n oraul iniial.
n majoritatea problemelor de acest tip domeniul soluiilor posibile este foarte mare astfel nct
ncercarea de rezolvare prin generarea tuturor soluiilor posibile ar produce o explozie combinatorial ce
epuizeaz resursele de calcul (timp i memorie) ale celor mai performante calculatoare.

Inteligena artificial la nivel subsimbolic

n inteligena artificial exist dou abordri fundamental diferite. Prima dintre ele are la baz
ipoteza sistemelor fizice de simboluri i este cunoscut n literatura drept inteligena artificial la nivel
simbolic. Ea este dominant din punct de vedere istoric i se caracterizeaz printr-un grad nalt de
abstractizare, o imagine macroscopic a lumii, ct i prin folosirea unor tehnici de reprezentare i
prelucrare cu un pronunat caracter simbolic.
Cea de a doua abordare utilizeaz metodele biologice microscopice similare cu cele ntlnite n
fiziologie i genetic.
Reelele neuronale se bazeaz pe un model al creierului biologic care const dintr-un numr
foarte mare de neuroni interconectai ntre ei. Dei un neuron este o entitate biologic simpl care
consider separat nu este capabil s realizeze mare lucru, se apreciaz c puterea unui creier este
rezultatul numrului uria, de ordinul bilioanelor sau trilioanelor de interconexiuni, ntre neuronii
componeni. O reea neuronal este un model de calcul ce const dintr-un numr foarte mare de uniti
simple de prelucrare, numite neuroni artificiali, interconectate ntre ele potrivit unui ablon de conexiuni.
O reea neuronal trebuie nti s nvee ntr-o mulime de exemple, pentru ca apoi s foloseasc
cunoaterea dobndit la rezolvarea unor probleme de predicie, clasificare, control, etc.

Limbaje i medii de programare

Unul dintre produsele cele mai importante ale cercetrilor de inteligen artificial l reprezint
evoluia ascendent a limbajelor de programare i a mediilor de dezvoltare a produselor software. Acestea
includ:
- limbaje evoluate de programare, cum sunt spre exemplu limbajele Lisp i Prolog;
- nuclee de sisteme expert, care furnizeaz programatorului un formalism de reprezentare a
cunotinelor i un motor de inferen;
14
- sisteme cadru pentru construirea sistemelor bazate pe cunotine, ce
reprezint medii speciale orientate spre dezvoltarea sistemelor bazate pe cunotine, furniznd
n acest sens unul sau mai multe limbaje evoluate de programare i/sau formalisme de
reprezentare a cunotinelor.

Arhitectura sistemelor bazate pe cunotine

Din punct de vedere informaional, prin cunoatere vom nelege mulimea ideilor, faptelor,
principiilor i modelelor referitoare la un anumit domeniu, la un anumit moment de timp. Exist dou
modaliti principial diferite n care ne putem imagina c un sistem de calcul posed cunoatere despre
lumea nconjurtoare.
Astfel ne putem imagina o cunoatere coninut implicit n procedurile i algoritmii de lucru ai
sistemului. O astfel de cunoatere se numete implicit sau procedural.
Pe de alt parte ne putem imagina o cunoatere stocat explicit sub forma unor enunuri
reprezentate prin structuri simbolice. O astfel de cunoatere se numete explicit sau declarativ, i are
urmtoarele avantaje fa de cunoaterea procedural:
- este mai uor de schimbat i actualizat;
- poate servi mai multor scopuri, unele dintre ele neprevzute iniial;
- poate fi extins prin procese de raionament.
1.5 Tehnici de inteligen artificial
Problemele de inteligen artificial fac parte din diverse domenii i par s nu aib n comun alt
caracteristic dect aceea c sunt dificil de rezolvat. Exista ns tehnici specifice rezolvrii problemelor n
inteligen artificial. Cum se pot caracteriza aceste tehnici i cum se poate decide dac aceste tehnici pot
fi utilizate i n rezolvarea unor probleme care nu sunt considerate a fi probleme de inteligen artificial?
Rezultatul cel mai important al cercetrilor de inteligen artificial din ultimele decenii este
punerea n eviden a rolului fundamental al cunotinelor ntr-un sistem inteligent. Caracteristicile
cunotinelor impun necesitatea gsirii unor modaliti adecvate de reprezentare i prelucrare a
cunotinelor n sistem. n continuare, se discut trei rezolvri ale unei probleme, rezolvrile fiind
prezentate n ordine cresctoare a urmtoarelor caracteristici:
- generalitate
- claritatea exprimrii cunotinelor
- extensibilitatea abordrii.
n acest mod, cea de a treia rezolvare ajunge s devin ceea ce se nelege de obicei printr-o tehnic
de rezolvare a problemelor n inteligena artificial.
Se consider urmtorul joc, cunoscut sub numele de "Tic-Tac-Toe": pe o tabl de trei linii i trei
coloane, care conine deci nou patrate, doi juctori pot plasa X sau O. Ctig juctorul care reuete s
formeze o secven de trei simboluri (X, respectiv O) pe orizontal, vertical sau diagonal. Se cere s se
construiasc schema unui program care s simuleze acest joc, program care s poata juca pe postul
juctorului X sau pe postul juctorului O i, evident, care s ncerce s ctige jocul. Cele trei rezolvri
ale problemei sunt descrise n termenii reprezentrii universului problemei i ai algoritmului utilizat.
15
Rezolvarea 1
Se folosesc urmtoarele structuri de date:
- Tabla este un vector de 9 elemente care reprezint tabla de joc, tabla fiind liniarizat pe linii.
Valorile elementelor acestui vector sunt 0 pentru spaiu liber (blanc), 1 pentru X i 2 pentru O.
- Tabela_de_mutari este un vector de 19.683 elemente (3
9
), fiecare element al acestui vector fiind
la rndul lui un vector de 9 elemente. Fiecrei poziii posibile de pe tabla de joc i corespunde o
intrare n acesta tabel de mutri care conine noua poziie obinut prin executarea mutrii
respective.
Pentru urmtoarea configuraie: Tabla :



Tabela de mutri:



Algoritmul de rezolvare este prezentat n continuare.
Algoritm: Problema "Tic-Tac-Toe". Rezolvarea 1
1. Iniializeaz Tabla cu blanc i Tabela_de_mutari cu toate poziiile posibile
2. ct timp nici un juctor nu a ctigat execut
2.1 Consider Tabla ca un numr ternar (n baza 3) i convertete-l n baza 10 obinnd M
2.2 Utilizeaz M ca index n Tabela_de_mutri i obine
mutari[M] Tabela_de_ PozNoua
2.3 PozNoua Tabla
2.4 dac PozNou este poziie ctigtoare
atunci ntrerupe ciclul
2.5 Citete mutare adversar i modific Tabla n consecin
3. Anun juctorul ctigtor
sfrit.
Acest algoritm este foarte eficient din punct de vedere al timpului i, teoretic, ar putea s joace un
joc optim de "Tic-Tac-Toe." Algoritmul prezint ns mai multe dezavantaje. n primul rnd aceast
abordare necesit un spaiu foarte mare pentru memorarea tabelei de mutri care specific micrile
X 0 X
0

1 2 1 0 2 0 0 0 0
0 0 0 0 0 0 0 0 0
. .. .
1 2 1 0 2 0 0 0 0
16
corecte asociate fiecrei configuraii a tablei. n al doilea rnd este greu s se stabileasc i s se
introduc valorile corecte n tabela de mutri. n final, dac se dorete extinderea jocului pentru un caz
mai general, de exemplu cazul n trei dimensiuni, trebuie refcut toat tabela de mutri de la nceput. n
particular, pentru cazul jocului n trei dimensiuni aceast abordare nu mai funcioneaz de loc deoarece ar
trebui memorate 3
27
poziii n tabela de mutri. Tehnica folosit n aceast rezolvare nu respect nici una
din cerinele unei tehnici de inteligen artificial.
Rezolvarea 2
Se folosesc urmtoarele structuri de date:
- Tabla este un vector similar cu cel prezentat n Rezolvarea 1 dar foloseste urmtoarea
codificare a simbolurilor de pe tabla: 2 pentru blanc, 3 pentru X i 5 pentru O.
- Mutare este o variabil cu valori ntregi care indic numrul mutrii ce urmeaz a se face.
Valoarea 1 indic prima mutare iar valoarea 9 indic ultima mutare.
Algoritmul de rezolvare are o strategie predefinit pentru micrile pe care trebuie s le execute.
Algoritmul execut numai micrile impare dac joac pe postul jucatorului X sau micrile pare dac
joac pe postul juctorului O. Se folosesc trei subprograme: Muta(N) efectueaz o mutare n ptratul N,
PosCastig(P) evalueaz posibilitatea de ctig a juctorului P cu urmtoarea micare n funcie de
configuraia curent a tablei i Scop implementeaz o euristic de alegere a unui ptrat n cazul n care
exist mai multe micri posibile care nu pericliteaz ctigul juctorului curent.
Subprogramul PosCastig(P) trebuie s verifice pe rnd fiecare linie, coloan i diagonal a tablei
pentru a investiga posibilitatea de ctig a lui P n urmtoarea micare. Datorit modului n care sunt
codificate simbolurile de pe tabl se poate testa posibilitatea de ctig a unei linii, coloane, respectiv
diagonale prin nmulirea celor trei valori din secven. dac produsul este 18 2) 3 (3 atunci juctorul
X poate s ctige. Dac produsul este 50 (5 5 2) atunci juctorul O poate s ctige. n momentul n
care se gsete o linie, coloan sau diagonal din care se poate ctiga, se caut poziia liber din aceasta
i se ntoarce ca valoare a subprogramului PosCastig(P) aceast poziie.
Algoritm: Problema "Tic-Tac-Toe". Rezolvarea 2
1. Iniializeaza Tabla cu blanc
2. 1 Mutare
3. ct timp nici un juctor nu a ctigat execut
3.1 alege Mutare dintre
Mutare = 1: Muta(1)
Mutare = 2: dac Tabla[5] =2
atunci Muta(5)
altfel Muta(1)
Mutare = 3: dac Tabla[9] =2
atunci Muta(9)
17
altfel Muta(3)
Mutare = 4: dac PosCistg(X) 0 =
atunci Muta(PosCistig(X)) /* blocheaza cistig adversar */
altfel Muta(Scop)
Mutare = 5: dac PosCistg(X) 0 =
atunci
(i) Muta(PosCistig(X)) /* deci cistiga X */
(ii) intrerupe ciclul
altfel dac PosCistig(O) 0 =
atunci Muta(PosCistig(O))/* blocheaza cistig adversar */
altfel dac Tabla[7] =2
atunci Muta(7)
altfel Muta(3)
Mutare = 6: dac PosCistig(O) 0 =
atunci
(i) Muta(PosCistig(O)) /* deci cistiga O */
(ii) intrerupe ciclul
altfel dac PosCistg(X) 0 =
atunci Muta(PosCistig(X))/* blocheaza cistig adversar */
altfel Muta(Scop)
Mutare = 7: dac PosCistg(X) 0 =
atunci
(i) Muta(PosCistig(X)) /* deci cistiga X */
(ii) intrerupe ciclul
altfel dac PosCistig(O) 0 =
atunci Muta(PosCistig(O))
altfel muta n orice patrat liber
Mutare = 8: dac PosCistig(O) 0 =
atunci
(i) Muta(PosCistig(O)) /* deci cistiga O */
(ii) intrerupe ciclul
altfel dac PosCistg(X) 0 =
atunci Muta(PosCistig(X))
altfel muta n orice patrat liber
Mutare = 9: dac PosCistig(O) 0 = /* identic cu Mutare 7 */
18
atunci
(i) Muta(PosCistig(X)) /* deci cistiga X */
(ii) intrerupe ciclul
altfel dac PosCistig(O) 0 =
atunci Muta(PosCistig(O))
altfel muta n orice patrat liber
3.2 1 + Mutare Mutare
sfrit.
Muta(N)
1. dac Mutare are valoare impara
atunci Tabla[N] 3
2. dac Mutare are valoare para
atunci Tabla[N] 5
sfrit.
PosCistig(P)
1. dac jucatorul P nu poate cistiga n mutarea urmtoare
atunci intoarce 0
2. intoarce poziia patratului cu miscare cistigatoare
sfrit.
Scop
1. dac patratul din mijloc este gol /* patratul cu indicele 5 */
atunci intoarce 5
2. ntoarce poziia unui ptrat care nu se afla n colturi, ( 2,4,6,8 pozitia = ), care este liber
sfrit.
Din punct de vedere al timpului acest algoritm nu este la fel de eficient ca primul deoarece trebuie
s verifice mai multe condiii nainte de a executa o micare, dar este mai eficient din punct de vedere al
spaiului. Algoritmul prezint avantajul utilizrii unei strategii relativ explicite care poate fi neleas i
modificat mult mai uor dect n cazul primei rezolvri. Cu toate acestea strategia general este stabilit
de programator apriori, este codificat direct n program i nu prezint generalitatea necesar. Dac se
dorete extinderea jocului, de exemplu la "Tic-Tac-Toe" n trei dimensiuni, ntregul algoritm trebuie
schimbat. Urmtoarea rezolvare va elimina aceste inconveniente.
Rezolvarea 3
Se folosesc urmtoarele structuri de date:
- Tabla este un vector similar cu cel prezentat n Rezolvarea 2.
- Urm este o list cu toate configuraiile urmtoare posibile care se obin din configuraia
curent a tablei prin execuia mutrilor permise din configuraia curent.
19
- Merit este un numr ntreg care reprezint o estimare a posibilitii de ctig din
configuraia curent a tablei prin una sau mai multe mutri. Deci meritul unei configuraii
reprezint ct de promitoare este configuraia curent pentru ctig.
Algoritmul de rezolvare este prezentat n continuare.
Algoritm: Problema "Tic-Tac-Toe". Rezolvarea 3
1. Iniializeaz Tabla cu blanc
2. ct timp nici un juctor nu a ctigat execut
2.1 } { Urm
2.2 pentru fiecare mutare posibil din configuraia curenta C execut
2.2.1 Determin configuraia urmtoare C
1
a tablei
2.2.2
1
C Urm Urm
2.3 pentru fiecare configuraie C
1
din lista Urm execut
2.3.1 ) DetMerit(C Merit
1

2.3.2 Reine n MeritMaxim valoarea maxim a variabilei Merit
2.4 Execut mutarea asociat configuraiei cu meritul MeritMaxim i obine PozNou
2.5 dac PozNou este poziie ctigtoare
atunci ntrerupe ciclul
2.6 Citete mutare adversar i modifica Tabla n consecin
sfrit.
DetMerit(C
1
)
1. dac configuraia C
1
este ctigtoare
atunci returneaz valoarea maxim predefinit a meritului
2. Consider toate mutrile posibile ale adversarului din configuraia C
1

3. Calculeaz meritul M
i
al fiecrei configuraii rezultate prin aceste mutri
4. Alege configuraia cu meritul cel mai mic, M
min
, considernd c adversarul va face
cea mai defavorabil micare pentru opozant
5. intoarce M
min

sfrit.
Algoritmul poate inspecta n avans mai multe secvene de micri pentru a determina secvena care
va duce la ctig i, deci, a obine o estimare mai bun a configuraiilor urmtoare. Algoritmul ncearc s
maximizeze ansele de a ctiga presupunnd c adversarul va ncerca s minimizeze acete sanse pentru
oponent. Din acest motiv algoritmul este cunoscut sub numele de strategia "MinMax" i este utilizat
frecvent n implementarea problemelor de jocuri n inteligena artificial.
20
In cazul unor jocuri mai complicate dect "Tic-Tac-Toe", formularea subprogramului
DetMerit(C
1
) din algoritmul de mai sus poate implica un apel recursiv infinit n pasul 3. n realitate se
introduce o limit a micrilor urmtoare investigate, pltind ns preul scderii acurateei estimrii
meritului.
Rezolvarea 3 necesit un timp de calcul mai mare dect primele dou rezolvri deoarece trebuie s
inspecteze naintea fiecrei mutri o parte din arborele de configuraii urmtoare posibile. Pentru
probleme simple, cum ar fi cea discutat, primele dou abordri sunt evident mai eficiente. Ultima
rezolvare este superioar nsa celorlalte dou din urmtoarele motive:
(1)poate fi extins la jocuri mai complicate dect "Tic-Tac-Toe", jocuri pentru care enumerarea a
tuturor posibilitilor de mutare este imposibil,
(2)strategia de joc poate fi mbuntit sau schimbat prin modul de calcul al meritului.
Aceast ultima abordare este un exemplu tipic de tehnica de inteligen artificial. Ea ilustreaza trei
aspecte caracteristice ale rezolvrii problemelor n inteligen artificial: obinerea soluiei prin cutare,
utilizarea cunotinelor specifice domeniului i abstractizarea, separarea caracteristicilor importante ale
problemei de aspectele de detaliu.

2. Strategii de rezolvare a problemelor

Acest capitol trateaz metode de rezolvare a problemelor n inteligena artificial i strategiile de control
posibil de utilizat. Se face referire n special la modul de reprezentare a soluiei problemei i a procesului
de rezolvare pe baza unor algoritmi de cutare a soluiei. Metodele prezentate reprezint modaliti
general valabile de rezolvare a problemelor. Aceste metode se aplic pentru orice model particular de
reprezentare a cunotinelor, deci pentru orice fel de codificare simbolic a bazei de cunotinte [Barr, s.a.,
1982; Nilsson, 1980; Pearl, 1984].
2.1. Reprezentarea soluiei problemei
Orice activitate de rezolvare a problemelor poate fi vzut ca un proces de identificare sau de construire a
unui obiect cu anumite caracteristici, obiect ce reprezint soluia problemei. Exist trei cerine minimale
ale oricrei activiti de rezolvare a problemelor cu ajutorul calculatorului:
(1)O structur simbolic care s poat reprezenta descrierea iniial a problemei i fiecare obiect
candidat la soluie.
(2)O mulime de instrumente computaionale capabile s transforme descrierea unui obiect
(structura simbolic) ntr-o nou descriere n scopul de a investiga sistematic toi candidaii
la soluie.
(3)O metod de planificare efectiv care s indice ordinea de aplicare a transformrilor astfel
nct soluia problemei s fie gsit ct mai repede.
n terminologia inteligenei artificiale, aceste trei componente ale unui sistem de rezolvare a
problemelor se numesc:
21
- Baza de date sau baza de cunotine
- Operatorii de transformare sau regulile de producie
- Strategia de control

2.1.1 Spaii de cutare
Descrierea iniial a problemei i a obiectelor candidate la soluie obinute pe parcursul rezolvrii, deci
structurile simbolice care specific universul problemei, pot fi asimilate cu o mulime de stri. Mulimea
de operatori (reguli) de transformare indic modul de transformare a universului problemei dintr-o stare
iniial intr-o stare final. Starea iniial descrie condiiile iniiale ale problemei iar starea final
reprezint soluia problemei. Starea final poate fi definit explicit, prin descrierea soluiei, sau implicit,
printr-o mulime de condiii pe care o stare trebuie s le satisfac pentru a fi stare final, adic soluie a
problemei. Rezolvarea problemei poate cere fie determinarea strii finale, fie stabilirea ntregului drum de
la starea iniial la starea final. Mulimea strilor investigate pn n momentul ajungerii n starea final
formeaz spaiul de cutare a soluiei problemei.
De exemplu, problema celor 8 regine cere s se gseasc o amplasare a opt regine pe o tabl de ah
astfel nct nici o regin s nu poat ataca alt regin. Acest lucru este echivalent cu cerina ca nici o linie,
coloan sau diagonal de pe tabla de ah s nu conin mai mult de o regin. Starea iniial a problemei
este descris de configuraia iniial a tablei de ah n care nici o regin nu este plasat pe tabl, obiectele
candidate la soluie sunt reprezentate prin tabla de ah pe care s-au plasat o parte sau toate reginele, iar
starea final este plasarea tuturor reginelor pe tabl, cu respectarea restriciilor impuse. n acest caz starea
final este descris (implicit) printr-un set de condiii iar soluia problemei const n determinarea acestei
stri finale. Mulimea de reguli de transformare este reprezentat de aciunile de plasare a unei regine ntr-
un ptrat al tablei de ah.
Problemele de inteligen artificial sunt probleme grele, deci complex computaionale. De cele mai
multe ori obinerea soluiei se face printr-un proces de cutare i nu prin aplicarea unei secvene de
transformri anterior specificat. Ideea de baz a rezolvrii unor astfel de probleme poate fi descris,
nedeterminist, prin urmtorul algoritm.
Algoritm: Rezolvarea unei probleme prin cutare
1. Stabilete starea iniial S
i

2.
i
S S
3. repet
3.1 Selecteaz o regul de transformare T posibil de aplicat strii curente S
3.2 Aplic T asupra strii S i obine starea S'
3.3 S S
pn S este stare final
sfrit.
22
Algoritmul de mai sus este nedeterminist deoarece pasul 3.1 nu specific cum se selecteaz
transformarea T de aplicat. Selectarea transformrilor i memorarea transformrilor efectuate constituie
strategia de control. O strategie de control nu este doar o secven de aciuni, ci o modalitate de descriere
a seleciei unei aciuni ca rspuns la un eveniment extern, cum ar fi rezultatul unui test, rezultatul aplicrii
unei proceduri complicate de calcul sau aciunea unui adversar. n plus, o strategie de control trebuie s
fie sistematic. Cele dou cerine necesare unei strategii pentru a fi sistematic se pot caracteriza plastic:
- Nu lsa nici o piatra nentoars.
- Nu ntoarce nici o piatr de mai multe ori.
Prima cerin, numit completitudine, garanteaz faptul c strategia produce soluia, dac aceasta
exist. Cea de a doua cerin protejeaz contra ineficienei prelucrrilor repetate. Cele mai multe
probleme de inteligen artificial necesita evaluarea unui numr mare de stri intermediare, deci obiecte
candidate la soluie, pentru a determina soluia. Informaia disponibil nu permite selecia transformrii
corecte n scopul rezolvrii problemei. Tocmai din acest motiv comportarea programelor de inteligen
artificial poate fi caracterizat ca un proces de cutare n care diverse transformri aplicate universului
problemei sunt ncercate pn se determin soluia problemei.
Informaia euristic joac un rol foarte important n acest proces de cutare prin reducerea
numrului de stri investigate pentru obinerea soluiei. Se consider, de exemplu, jocul de ah pentru
care este imposibil evaluarea tuturor strilor posibile ale spaiului de cutare al unei partide ctigtoare.
Un maestru al ahului poate hotr c o anumit micare este mai potrivit deoarece aceast micare
determin o configuraie a tablei de ah care "pare" mai promitoare pentru ctig. Aceasta hotrre se
bazeaz pe cunotinele lui despre jocul de ah i pe experien, i este informaie euristic.
n cazul programelor de inteligen artificial informaiile euristice trebuie nglobate n strategia de
control pentru a crete eficiena procesului de rezolvare a problemei. De obicei, acest tip de informaie
este reprezentat printr-o funcie euristic asociat fiecrei stri, funcie care estimeaz ct de promitoare
este acea stare din punct de vedere al avansului spre soluie. Funciile euristice depind i se stabilesc pe
baza cunotinelor specifice problemei sau clasei de probleme de rezolvat i au ca scop:
- ghidarea procesului de cutare a soluiei i
- evaluarea calitii soluiei problemei.
De exemplu, n cazul problemei celor 8 regine, o euristic care poate fi utilizat este aceea de a
plasa o regin astfel nct s lase cel mai mare numr de ptrate neatacate pe tabla de ah.
Specificarea unei strategii de cutare i a informaiei euristice utilizate trebuie s stabileasc criterii
pentru demonstrarea validitii soluiei problemei i pentru evaluarea soluiei din punct de vedere al
efortului depus n gsirea soluiei sau din punct de vedere al calitii soluiei gsite.
2.1.2 Soluia problemei reprezentat prin spaiul strilor
Definiie. O reprezentare a soluiei problemei prin spaiul strilor este format dintr-un triplet
23

(S ,O,S )
i f

cu urmtoarea semnificaie:
- S
i
reprezint mulimea strilor iniiale,
- O reprezint mulimea de operatori posibil de aplicat asupra strilor universului problemei pentru
a ajunge n noi stri; n fiecare stare dat, numai o parte din operatori sunt legal aplicabili,
- S
f
reprezint mulimea strilor finale sau stri scop. Mulimea strilor finale poate conine i o
singur stare.
n reprezentarea soluiei problemei prin spaiul strilor, spaiul de cutare are forma unui graf
orientat n care nodurile sunt identificate prin stri, iar arcele reprezint aplicarea unor operatori pentru a
transforma o stare n starea urmtoare. O soluie a problemei este o secvena de operatori care transform
starea iniial n stare final i reprezint o cale ntre aceste dou stri n graf. Graful spaiului de cutare
este specificat implicit de reprezentare prin tripletul (S ,O,S )
i f
. Pe parcursul avansului n cutare o
poriune din acest graf devine explicit, poriunea din graful spaiului de cutare astfel construit
reprezentnd partea explorat a spaiului de cutare.
Fie jocul mozaicului de 8 numere, numit "8-puzzle", n care se cere ca, pornind de la o configuraie
iniial specificat de poziiile a opt numere i a unui ptrat liber, s se ajung la o configuraie final
dat, prin micarea ptratului liber n diverse direcii, aa cum se arata n Figura 2.1. n acest caz, starea
iniial este configuraia iniial (Figura 2.1(a)), starea final, specificat explicit, este configuraia final
(Figura 2.1(b)), iar mulimea de operatori este format din urmtoarele reguli: mut ptratul liber n sus
cu o poziie, mut ptratul liber n jos cu o poziie, mut ptratul la dreapta cu o poziie i mut ptratul la
stnga cu o poziie (Figura 2.1(c)). Dintr-o anumit stare numai o submulime de operatori sunt legal
aplicabili. De exemplu, din starea iniial S
i
numai trei operatori pot fi aplicati: STNGA, JOS i
DREAPTA, aa cum se arat n Figura 2.1(d); operatorul SUS nu poate fi aplicat n starea S
i
deoarece
ptratul liber este la marginea de sus a mozaicului. Prin aplicarea celor trei operatori strii iniiale se pot
obine trei stri intermediare posibile: S
1
, S
2
, S
3
.
24

2 3
1
7 6
8 4
5
S
i
2 3 1
7 6
8 4
5
S
f
(a) Stare initiala (b) Stare finala
SUS - Mutare patrat liber in sus
STINGA - Mutare patrat liber la stinga
JOS - Mutare patrat liber in jos
DREAPTA - Mutare patrat liber la dreapta
(c) Operatori
2 3
1
7 6
8 4
5
S
i
2 3
1
7 6
8 4
5
2 3
1
7 6
8
4
5
2 3
1
7 6
8 4
5
STINGA JOS DREAPTA
(d) Tranzitii posibile din starea S
i
S
1
S
2
S
3

Figura 2.1 Reprezentare prin spaiul strilor a problemei mozaicului de 8 numere
Pentru mozaicul de 8 numere se pot specifica diverse funcii euristice care ghideaz procesul de
cutare a soluiei i reduc numrul de stri generate. La un moment dat, se va alege starea care are
asociat cea mai mic valoare a funciei euristice definite. Dac funcia euristic este corespunztoare se
poate reduce n acest fel poriunea explicitat a grafului spaiului de cutare specificat implicit. Un
exemplu de astfel de funcie euristica este:
25

8
1 = i
i
(S) t = f(S) unde

contrar caz in 0
S) starea (in finala pozitie in este nu t nevid patratul daca 1
= (S) t
i
i

O problem cunoscut i dificil, este problema comis-voiajorului. Fiind date un numr de orae i
distanele de-a lungul unor drumuri care leag aceste orae, se cere s se gseasc drumul de lungime
minim pe care l face un comis-voiajor care trebuie s treac prin toate oraele pornind dintr-un ora dat
i revenind n oraul de plecare. Un posibil exemplu este cel descris n Figura 2.2(a). Starea iniial a
problemei este oraul de plecare al comis-voiajorului. Strile intermediare sunt oraele prin care a trecut
comis-voiajorul, iar soluia problemei este secvena de stri parcurse din starea iniial pn n starea
final, secvena care trebuie s ndeplineasc condiia de cost optim, de exemplu drum de lungime
minim. O parte din graful spaiului de cutare este prezentat n Figura 2.2(b).

A
B
E
D
C
7
10
6
10
10
13
6
7
5
9
(a) Harta oraselor de parcurs
{A}
{A,B} {A,C} {A,D} {A,E}
7
6 10
13
... ... ... 5
{A,C,D}
{A,C,D,E}
6
(b) O portiune din spatiul de cautare a solutiei

Figura 2.2 Reprezentarea prin spaiul strilor a problemei comis-voiajorului
Enumerarea tuturor traseelor posibile i compararea costurilor asociate pentru a gasi traseul optim
este un proces neeficient computaional, mai ales n cazul unui numr mare de orae. Pentru a reduce
timpul de calcul se poate utiliza o funcie euristic de estimare a traseului complet optim. Dac aceast
funcie este optimist, adic subestimeaz ntotdeauna lungimea real a unui traseu complet, atunci primul
traseu complet gsit n cutare este n acelai timp traseul optim. O astfel de funcie poate fi, de exemplu,
costul distanei dintre ultimul ora selectat i oraul de plecare. O funcie euristic care estimeaz mai
bine traseul de cost minim este costul arborelui de acoperire minim al nodurilor neparcurse la un moment
dat.
2.1.3 Soluia problemei reprezentat prin grafuri I/SAU
Exist probleme a cror rezolvare poate fi convenabil reprezentat printr-o tehnic numit reducerea
problemei la subprobleme. Caracteristica comun a acestei clase de probleme este aceea c orice
problem pus de un obiect candidat la soluie poate fi vzut ca o conjuncie de subprobleme ce pot fi
rezolvate independent unele de altele. Rezolvarea problemelor din aceast clas poate fi abordat n
urmtorul mod: se descompune problema n subproblemele care trebuie rezolvate, subproblemele se
26
descompun la rndul lor n alte subprobleme i asa mai departe, pn cnd se obine o descompunere a
problemei iniiale n subprobleme elementare, adic banal de rezolvat.
Spaiul de cutare a unei astfel de rezolvri a problemei are forma unui graf I/SAU. Un graf
I/SAU este un caz particular al unui hipergraf. Un hipergraf este format dintr-o mulime de noduri i o
mulime de hiperarce definite prin perechi ordonate n care primul element este un nod din mulimea de
noduri a hipergrafului i cel de al doilea element este o submulime de noduri. Un graf obinuit este un
caz particular al unui hipergraf n care cel de al doilea element al hiperarcelor este o mulime format
dintr-un singur element.
Definiie. O reprezentare a soluiei problemei prin grafuri I/SAU este format dintr-un triplet

(S ,O, P )
i e

cu urmtoarea semnificaie:
- S
i
reprezint descrierea problemei iniiale,
- O reprezint mulimea de operatori de transformare (descompunere) a problemei n subprobleme,
- P
e
reprezint descrierea unei mulimi de probleme elementare.
Definiie. Conform unui formalism stabilit, un graf I/SAU este construit pe baza urmtoarelor reguli:
(1)Fiecare nod reprezint fie o singur problem fie o mulime de probleme ce trebuie rezolvate.
(2)Un nod ce reprezint o singur problem nu are descendeni. Problema este fie o problem
elementar, fie o problem neelementar care nu se mai poate descompune n
subprobleme.
(3)Nodurile ce reprezint mulimea de subprobleme n care s-a descompus o problem prin
aplicarea unui operator de descompunere se numesc noduri I.
(4)Nodurile ce reprezint descompuneri alternative ale unei probleme n subprobleme (prin
aplicarea diverilor operatori de descompunere) se numesc noduri SAU. Aceste noduri au
ca descendeni noduri I.
Reprezentarea grafic a unui graf I/SAU este dat n Figura 2.3
Nod SAU
Noduri SI
Noduri SAU

Figura 2.3 Graf SI/SAU pentru reprezentarea spaiului de cutare
O problem rezolvat astfel are soluie dac nodul iniial, corespunztor descrierii iniiale a
problemei, este rezolvat.
Definiie. ntr-un graf I/SAU un nod este rezolvat dac:
(1)este un nod terminal etichetat cu o problem elementar
(2)este un nod I i toi succesorii lui sunt noduri rezolvate
(3)este un nod SAU i cel putin un succesor al acestuia este rezolvat
Definiie. ntr-un graf I/SAU un nod este nerezolvabil dac:
27
(1)este un nod terminal etichetat cu o problema neelementar, deci care nu se mai poate
descompune n subprobleme
(2)este un nod I cu cel putin un succesor nerezolvabil
(3)este un nod SAU cu toi succesorii nerezolvabili.
O soluie a problemei este reprezentat prin secvena de operatori de descompunere care determin
ca nodul problem iniial s devin rezolvat. Altfel spus, soluia problemei este subgraful I/SAU care
face ca nodul problem iniial s devin rezolvat.
Se consider problema turnurilor din Hanoi care cere s se mute n discuri ( 3 = n n Figura 2.4) de
pe tija A pe tija C, utiliznd tija intermediara B i meninnd restricia ca un disc s fie aezat fie pe o tija
vid, fie peste un disc de o dimensiune mai mare dect el. Starea iniial este specificat n Figura 2.4(a),
starea final n Figura 2.4(b), iar mulimea de operatori de descompunere este format dintr-un singur
operator, cu trei componente:
(1) Mut n-1 discuri de pe tija i pe tija j, utiliznd tija k.
(2) Mut un disc de pe tija i pe tija k.
(3) Mut n-1 discuri de pe tija j pe tija k, utiliznd tija i.
Singura problem elementar n acest caz este aceea de a muta un singur disc de pe o tij pe o tij
vid. Descompunerea problemei n subprobleme poate fi reprezentat ca un arbore I/SAU, prezentat n
Figura 2.4(c).
Problema turnurilor din Hanoi are un singur operator de descompunere a problemelor n
subprobleme. Din acest motiv spaiul de cutare reprezentat prin graf I/SAU nu are noduri SAU
(descompuneri alternative), ci numai noduri I i noduri probleme elementare.
PROBLEMA: Muta n=3 discuri de pe tija A pe tija C, utiliznd tija B
A B C A B C
(a) Stare initiala (b) Stare finala

n = 3
A la C
n = 2 n = 2
n = 1
A la B
A la C
B la C
n = 1
A la C
n = 1
A la B
n = 1
C la B
n = 1
B la A
n = 1
B la C
n = 1
A la C
(c) Arborele SI/SAU de descompunere in subprobleme
O - operator de descompunere

Figura 2.4 Reprezentarea soluiei problemei turnurilor din Hanoi prin arbore I/SAU
28
Un alt exemplu de soluie a problemei prin descompunerea n subprobleme este problema
cntririi monezilor. Fiind date N monezi dintre care una este mai uoar sau mai grea dect celelalte, se
cere s se determine moneda de greutate diferit, utiliznd o balan cu dou talere, printr-un numr
minim de cntriri. Problema iniial este cntrirea a N monezi. Operatorii de descompunere a problemei
n subprobleme sunt de forma: "Cntrete p monezi i rezolv toate problemele pe care aceast cntrire
le poate crea: balana inclinat la stnga, balana inclinat la dreapta, balana echilibrat". Soluia
problemei este arborele care include toate ieirile posibile pentru oricare din testele alese. n plus, fiecare
cale n arbore trebuie s reprezinte o secven de teste i rezultate ale acestor teste care s identifice
neambiguu moneda diferit. Se poate ncerca manual gsirea numrului minim de cntriri pentru
12 = N .
Modelul de rezolvare a problemelor prin descompunerea problemei n subprobleme poate fi folosit
eficient numai n cazul n care rezolvrile subproblemelor sunt independente ntre ele. Aceasta nseamn
ca procesul de cutare a soluiilor subproblemelor poate fi executat n orice ordine, soluia unei
subprobleme neinfluennd soluia unei alte subprobleme. n problema cntririi monezilor, fiecare
subproblem se poate rezolva independent, i n orice ordine. Pentru alte probleme, cum ar fi de exemplu
problema turnurilor din Hanoi, subproblemele de rezolvat nu sunt independente i trebuie s existe o
ordine (liniar) de executie a soluiilor subproblemelor. Cu toate acestea se poate cuta soluia celei de-a
treia subprobleme naintea soluiei primei subprobleme. Aceasta proprietate nu este prezent n problema
mozaicului de 8 numere i din aceast cauz o astfel de abordare a rezolvrii problemei nu aduce nici un
beneficiu.
Rezolvarea problemelor prin descompunerea n subprobleme a stat la baza unuia dintre primele
programe de inteligena artificial, General Problem Solver [Newell, Simon, 1963] i a unor programe de
planificare automat liniar cum ar fi STRIPS [Fikes, Nilsson, 1971] i ABSTRIPS [Sacerdoti, 1974].
Programul General Problem Solver (GPS) construiete un plan abstract pentru satisfacerea unui scop prin
reducerea scopului la subscopuri i utilizeaz o metod de rezolvare numita analiza bazat pe modaliti.
Se poate arta ca cele dou reprezentri ale soluiei problemei sunt echivalente. De exemplu, se
poate face transformarea din reprezentarea soluiei prin spaiul strilor n reprezentarea prin grafuri
I/SAU prezentat n Figura 2.5.
29
(a) Spatiul starilor
S
k
S
j
Tranzitie din in S
j
S
f
S , - stari intermediare
j
S
k
S - stare finala
f
(b) Descompunerea problemei in subprobleme
Tranzitie din in S
j
S
k
Tranzitie din in S
k
S
f

Figura 2.5 Echivalena reprezentrilor prin spaiul strilor i grafuri I/SAU
Se consider un labirint i problema gsirii ieirii din labirint, fiind dat o poziie iniial n labirint.
Descrierea problemei iniiale este "Gsete ieire din poziia iniial P
i
" iar operatorii de descompunere a
problemei n subprobleme sunt:
O1 Deplasare un pas la Est i gsete ieire din noua poziie.
O2 Deplasare un pas la Sud i gsete ieire din noua poziie.
O3 Deplasare un pas la Vest i gsete ieire din noua poziie.
O4 Deplasare un pas la Nord i gsete ieire din noua poziie.
Problemele elementare sunt: deplasare un pas la Est, Vest, Nord i respectiv Sud, dac labirintul permite,
i ieire din labirint dac poziia este la ieire. O poriune a grafului I/SAU care reprezint spaiul de
cutare este prezentat n Figura 2.6.
Pentru aceasta problem se poate defini i o reprezentare prin spaiul strilor. Starea iniial este
poziia iniial n labirint iar starea final este poziia la ieirea din labirint. Operatorii de tranziie dintr-o
stare n alta sunt micrile la Est, Vest, Nord i respectiv Sud prin labirint.
30

P
i
O
1
O
2
O
3
O
4
Deplasare
Est+poz P1
Iesire
din P1
Deplasare
Sud+poz P2
Iesire
din P2
Deplasare
Vest+poz P3
Iesire
din P3
Deplasare
Nord+poz P4
Iesire
din P4

Figura 2.6 Parte a grafului de cutare SI/SAU pentru problema labirintului
Observaii:
- Orice problem poate fi soluionata prin ambele metode de reprezentare prezentate, dar pentru o
anumit problem este mai uor de utilizat o reprezentare sau alta.
- Anumite probleme conduc n mod natural la o reprezentare a soluiei prin spaiul strilor, aa
cum au fost, de exemplu, problema mozaicului de 8 numere, problema celor 8 regine i jocul
"Tic-Tac-Toe". O astfel de rezolvare corespunde unui raionament direct pentru a soluiona
problema sau unui control condus de date.
- Alte probleme, cum ar fi problema turnurilor din Hanoi i problema cntririi monezilor, conduc
n mod natural la o rezolvare prin descompunerea problemei n subprobleme. O astfel de
rezolvare corespunde unui raionament invers pentru rezolvarea problemei sau unui control
condus de scopuri.

2.2. Strategii de cutare de baz
Strategiile de cutare de baz, numite i strategii neinformate reprezint un mod sistematic de
investigare a spaiului de cutare a soluiei problemei. Aceste strategii stau la baza tuturor
metodelor de rezolvare a problemelor n inteligen artificial. Ele constituie, de asemenea,
suportul pentru dezvoltarea strategiilor de cutare euristic.
31
2.2.1 Caracterizarea strategiilor de cutare
n momentul alegerii unei strategii de cutare trebuie s se in cont de urmtoarele trei elemente:
- Completitudinea strategiei care stabilete dac strategia asigur sau nu gsirea soluiei n
cazul n care problema are soluie.
- Optimalitatea soluiei gsite care este dat de capacitatea strategiei de a obine o soluie
optimal, suboptimal sau pur i simplu o soluie.
- Complexitatea strategiei care se refer la complexitatea timp i spaiu a algoritmului
utilizat.
Caracterizarea unei strategii de cutare se poate face dup urmtoarele dou criterii:
(1)Capacitatea mecanismului de rezolvare de a reveni ntr-o stare intermediar
anterioar.
In funcie de acest criteriu, strategiile de cutare se mpart n:
- Strategii de cutare irevocabile. Un operator aplicabil este selectat, acest operator se
aplic unei stri pentru a obine o nou stare, iar starea anterioar este uitat (nu este
memorat).
- Strategii de cutare tentative. La aplicarea unui operator ntr-o stare curent se
memoreaz aceast stare astfel nct procesul de cutare s poat ulterior reveni n strile
anterioare aplicrii operatorilor.
O strategie irevocabil este strategia de cutare a alpinistului, bazat pe criterii de optim
local. Aceasta strategie se numete a alpinistului deoarece, la fel ca un alpinist care dorete s
ajung repede pe vrful unui munte, alege starea urmtoare de nivel maxim pe baza unei funcii
de evaluare a strilor. Strategia este irevocabil deoarece pentru o stare curent, se genereaz
strile urmtoare, se alege starea de nivel maxim ca stare urmtoare i att starea curent ct i
celelalte stri de pe nivelul strii urmtoare sunt uitate. Selecia se face irevocabil, deci nu se mai
poate reveni ntr-una din strile anterioare strii curente sau ntr-una din alternativele strii
curente. Strategia alpinistului, dei simpl i puin consumatoare de memorie, prezint o serie de
limitri. De exemplu, dac problema cere determinarea strii cu o valoare maxim a funciei de
evaluare, maximul global poate s nu fie niciodat atins, cutarea blocndu-se ntr-un maxim
local.
Dac starea anterioar la care se poate reveni n timpul cutrii se afl numai pe calea
curent ntre starea iniial i starea final, strategia de cutare este o strategie tentativ de tip
"backtracking". Aceasta este, de exemplu, strategia utilizat de limbajul Prolog. Dac starea
32
anterioar n care se poate reveni se afl pe orice cale deja parcurs n expandarea spaiului
de cutare, strategia este de cutare tentativ general pe grafuri.
(2) Cantitatea de informaie folosit la gsirea soluiei
In funcie de acest criteriu, strategiile de cutare se mpart n:
- Strategii de cutare neinformate. Considerarea strilor urmtoare de inspectat se face
dup o ordine arbitrar, anterior stabilit.
- Strategii de cutare informate. Considerarea strilor urmtoare de inspectat se face dup
criterii euristice. Strategia folosete o funcie de evaluare a situaiei globale sau locale
care indic starea urmtoare cea mai promitoare din punct de vedere al avansului spre
soluie.
Strategiile de cutare neinformat (de baz) inspecteaz sistematic toate strile spaiului de
cutare pn n momentul gsirii strii finale. Cele mai importante strategii de acest fel sunt
cutarea pe nivel i cutarea n adncime. Strategiile de cutare euristice ncearc reducerea
numrului de stri din spaiul de cutare inspectate pn la atingerea strii finale, pe baza
diverselor criterii, cum ar fi funciile euristice. Strategia alpinistului descris anterior este un
exemplu de cutare informat. Alte exemple sunt strategia de cutare "best-first", algoritmul A
*
i
algoritmul AO
*
. Algoritmii A
*
i AO
*
urmresc n principal, pe lng reducerea numrului de
stri inspectate, gsirea soluiei optime.
Costul computaional total al unui program de rezolvare a problemelor de inteligen
artificial depinde de locul unde se situeaz strategia de control n spectrul neinformat/informat.
Costul computaional poate fi mprit n dou costuri: costul aplicrii operatorilor, sau costul
parcurgerii spaiului de cutare ntre starea iniial i starea final, i costul controlului, sau costul
evalurii i seleciei celei mai promitoare stri urmtoare. O strategie de cutare complet
neinformat implic un cost redus al controlului datorit seleciei arbitrare a strilor urmtoare. O
astfel de strategie determin ns un cost ridicat al parcurgerii spaiului de cutare deoarece, n
general, necesit aplicarea unui numr mare de operatori naintea gsirii unei soluii. O strategie
de control complet informat despre domeniul problemei implic un cost al controlului ridicat
att din punct de vedere al timpului ct i al spaiului deoarece poate necesita calcule complicate
pentru evaluarea meritului strilor i memorarea tuturor strilor parcurse. n schimb, o astfel de
strategie determin un cost minim de parcurgere a spaiului de cutare datorit numrului redus
de operatori aplicai pn la gsirea soluiei.
Costul computaional total rezult din combinarea celor dou costuri, aa cum se vede n
Figura 2.7. n funcie de aplicaie, proiectantul programului trebuie s ncerce determinarea celei
mai bune variante de pondere a costurilor. Obinerea unui cost computaional optim este un
aspect esenial deoarece problemele de cutare sunt probleme de complexitate timp exponenial.
33
Grad de
informare
Cost
Computational
Cost total
Cost control
(cost evaluare stari) Cost parcurgere
(cost aplicare
operatori)
Neinformat Informat

Figura 2.7 Costul total al rezolvrii unei probleme prin cutare
n continuare se va utiliza urmtoarea terminologie. n parcurgerea spaiului de cutare un
nod poate fi:
- necunoscut - nodul aparine prii neexplorate a spaiului de cutare,
- evaluat - nodul este cunoscut dar fie nu se cunoate nici un succesor al lui, fie se cunosc
numai o parte din succesorii lui,
- expandat - nodul este cunoscut i, n plus, se cunosc toi succesorii lui.
Prin expandarea unui nod se nelege generarea tuturor succesorilor acelui nod. Aceasta
nseamn obinerea tuturor strilor urmtoare strii curente S, prin aplicarea tuturor operatorilor
legali n starea S.
n procesul de cutare se vor folosi dou liste:
- FRONTIERA - lista nodurilor evaluate
- TERITORIU - lista nodurilor expandate
34
Lista FRONTIERA reprezint frontiera spaiului de cutare parcurs (explicitat) spre
partea necunoscut a spaiului de cutare. Lista TERITORIU reprezint partea cunoscut a
spaiului de cutare.
2.2.2 Cutri neinformate n spaiul strilor
n continuare se prezint dou strategii de cutare neinformate: cutarea pe nivel i cutarea n
adncime, strategii care difer prin ordinea de considerare, arbitrar fixat, a strilor urmtoare.
Algoritmii prezentai presupun existena a dou condiii. n primul rnd, spaiul de cutare este
arbore, deci exist o cale unic ntre starea iniial i starea final. Rezult c toate strile generate
pe parcursul cutarii sunt unice, deci nu au mai fost anterior generate. n al doilea rnd, la fiecare
expandare a unui nod, prin crearea tuturor nodurilor corespunztoare strilor urmtoare, se
stabilete o legtur de la fiecare nod succesor la nodul expandat. n momentul descoperirii
nodului stare final aceste legturi permit reconstruirea cii spre soluie.
Definiie. ntr-o reprezentare a soluiei problemei prin spaiul strilor adncimea unui nod se
definete astfel:
(1) 0 = ) Adncime(S
i
, unde S
i
este nodul stare iniial,
(2) 1 + ) Adincime(S = ) Adncime(S
p
, unde S
p
este nodul predecesor nodului S.
Cutarea pe nivel
Cutarea pe nivel, numit i cutare n laime, este o strategie care expandeaz strile urmtoare
n ordinea apropierii fa de nodul stare iniial. Cu alte cuvinte, aceast strategie consider nti
toate secvenele posibile de n operatori naintea secvenelor de n+1 operatori.
Algoritm: Strategia cutarii pe nivel n spaiul strilor
1. Creeaz listele FRONTIERA {S }
i
i } { TERITORIU
2. dac } { = FRONTIERA
atunci ntoarce INSUCCES /* nu exista soluie */
3. Elimin primul nod S din FRONTIERA i insereaz-l n TERITORIU
4. Expandeaz nodul S
4.1. Genereaza toi succesorii direci S
j
ai nodului S
4.2. pentru fiecare succesor S (1 j m)
j
s s al lui S execut
4.2.1. Stabilete legatura S S
j

4.2.2. dac S
j
este stare final
atunci
i. Soluia este (S S,...,S )
j i
,
35
ii. ntoarce SUCCES /* s-a gsit soluie */
4.2.3. Insereaza S
j
n FRONTIERA, la sfrit
5. repet de la 2
sfrit.
Cutarea poate fi uneori lung i complex computaional din punct de vedere al spaiului
utilizat deoarece pentru fiecare nivel sunt generate toate strile succesoare posibile. Cu toate
acestea, strategia de cutare pe nivel garanteaz gsirea soluiei, n cazul n care aceasta exist i,
n plus, gsete cel mai scurt drum spre soluie n termenii numrului de tranziii de stri
executate.
Cutarea n adncime
Cutarea n adncime este o strategie care expandeaz strile cel mai recent generate, cu alte
cuvinte nodurile cu adncimea cea mai mare din lista FRONTIERA. n consecin, aceast
strategie parcurge o cale de la starea iniial pn la o stare ce poate fi stare final sau care nu mai
are nici un succesor. n acest ultim caz strategia revine pe nivelele anterioare i ncearc
explorarea altor ci posibile.
Strategia cutarii n adncime nu garanteaz obinerea unei soluii a problemei, chiar n
cazul n care soluia exist. O astfel de situaie poate apare, de exemplu, n cazul unui spaiu de
cutare infinit n care ramura pe care s-a plecat n cutare nu conine soluia. Din acest motiv se
introduce de obicei o limit a adncimii maxime de cutare, AdMax. Dac s-a atins aceast limit
fr a se gsi soluia, strategia revine i inspecteaz stri de pe nivele inferioare lui AdMax dar
aflate pe ci diferite. Soluia care s-ar gsi la o adncime de AdMax+p, de exemplu, ar fi pierdut.
Dac strategia de cutare gsete soluia, aceasta nu este neaprat calea cea mai scurt ntre starea
iniial i starea final.
Algoritm: Strategia cutrii n adncime n spaiul strilor
1. Creeaz listele FRONTIERA {S }
i
i } { TERITORIU
2. dac } { = FRONTIERA
atunci ntoarce INSUCCES /* nu exista soluie sau soluia nu
poate fi gsit pn la nivelul AdMax */
3. Elimin primul nod S din FRONTIERA i insereaz-l n TERITORIU
3'. dac AdMax = ) Adincime(S
atunci repet de la 2
4. Expandeaz nodul S
4.1. Genereaz toi succesorii direci S
j
ai nodului S
4.2. pentru fiecare succesor S (1 j m)
j
s s al lui S execut
36
4.2.1. Stabilete legatura S S
j

4.2.2. daca S
j
este stare final
atunci
i. Soluia este (S S,...,S )
j i
,
ii. intoarce SUCCES /* s-a gsit soluie */
4.2.3. Insereaza S
j
n FRONTIERA, la nceput
5. repet de la 2
sfrit.
Algoritmul cutrii n adncime prezint avantajul generrii unui numr de stri mult mai
mic dect n cazul algoritmului de cutare pe nivel, deci consumul de spaiu este mult redus.
Evident, algoritmul pltete preul limitrilor indicate anterior.
Aceste observaii au dus la crearea algoritmului de cutare n adncime cu nivel iterativ.
Algoritmul elimin multe din dezavantajele cutrii pe nivel i a cutrii n adncime. Algoritmul
de cutare n adncime cu nivel iterativ realizeaz la nceput o cutare n adncime n spaiul
strilor cu o adncime maxim de cutare 1 = AdMax . Dac starea final nu a fost gsit, se reia
cutarea n adncime cu 2 = AdMax i se continu n acest fel, crescnd adncimea de cutare la
fiecare iteraie. La fiecare iteraie algoritmul realizeaz o cutare n adncime complet cu
adncimea de cutare egal cu valoarea curent AdMax. ntre dou iteraii succesive nu se reine
nici o informaie despre spaiul de cutare. Deoarece algoritmul de cutare n adncime cu nivel
iterativ realizeaz de fapt o cutare pe nivel, el este garantat s gseasc soluia, dac aceasta
exist, i, n plus, determin drumul cel mai scurt la soluie. Deoarece strategia este de adncime,
numrul de stri generate la fiecare iteraie este mai mic dect cel n cazul cutarii pe nivel.
Extinderea celor doi algoritmi de cutare, pe nivel i n adncime, la cazul n care spaiul de
cutare este graf se poate face innd cont de faptul c, n acest caz, un nod care se expandeaz
poate avea ca succesor o stare ce a mai fost deja evaluat sau expandat. Pentru a evita
reconsiderarea unei stri ntlnite anterior, pasul de inserare a strii S
j
n lista FRONTIERA
(pasul 4.2.3) se modific astfel:
4.2.3' dac S
j
nu aparine FRONTIERA TERITORIU
atunci insereaz S
j
n FRONTIERA, la sfirit /* nivel */
4.2.3' daca S
j
nu aparine FRONTIERA TERITORIU
atunci insereaz S
j
n FRONTIERA, la nceput /* adncime */
n cazul algoritmului strategiei de cutare n adncime, existena limitei de cutare AdMax
protejeaz contra buclelor care s-ar putea crea prin generarea repetat a aceleiai stri. n aceste
condiii pasul 4.2.3' nu mai este absolut necesar, dar neintroducerea lui ntr-un astfel de algoritm
37
poate duce la evaluarea repetat a unor stri pn la atingerea adncimii AdMax, n cazul
spaiului de cutare graf.
n cazul introducerii pasului 4.2.3', poriunea expandat a spaiului de cutare va fi
ntotdeauna un arbore i nu un graf, deoarece acest pas evita regenerarea unor stri anterior
expandate.
Observaii:
- Cutarea pe nivel corespunde unei politici de tip FIFO de exploatare a listei
FRONTIERA, n timp ce cutarea n adncime corespunde unei politici de tip LIFO.
- Ambele tipuri de cutri realizeaz un raionament direct, pornind n rezolvarea
problemei de la starea iniial i genernd arborele de cutare a strii finale. n anumite
cazuri se poate aplica un raionament invers, executnd strategiile ncepnd din starea
final i cutnd starea iniial, cu condiia existenei unor operatori "inveri" de trecere
dintr-o stare curent n starea anterioar. Un astfel de exemplu poate fi jocul mozaicului
de 8 numere, n care starea final poate fi descris iar operatorii "inveri" sunt uor de
definit.
- In anumite probleme se poate utiliza o combinaie ntre raionamentul direct i invers,
adic un raionament bidirecional n care se caut soluia att din starea iniial ct i din
starea final prin construirea n paralel a doi arbori de cutare. Dac o astfel de abordare
pleac de la cutarea n adncime, exist pericolul ca s se genereze doi arbori paraleli,
unul pe calea direct i altul pe calea invers, arbori care nu vor avea noduri intermediare
comune. n acest caz avantajele cutarii bidirecionale sunt pierdute.
2.2.3 Cutari neinformate n grafuri I/SAU
Strategiile de cutare pe nivel i n adncime pot fi uor adaptate la cutarea soluiei problemei n
reprezentarea cu grafuri I/SAU. Principala diferen const n criteriul de determinare a condiiei
de oprire. n reprezentarea prin spaiul strilor, condiia de oprire a algoritmilor este dat de
testarea proprietii unui singur nod, nodul stare final, n timp ce pentru reprezentarea prin
descompunerea problemei n subprobleme trebuie s se testeze dac o mulime de noduri
formeaz un arbore soluie. n consecin, impactul fiecrui nod nou generat trebuie propagat n
arborele parial construit pentru a determina dac nodul problem iniial a devenit rezolvat.
Algoritmii de cutare n grafuri I/SAU trebuie s gestioneze, pe lng listele FRONTIERA i
TERITORIU, i o structur de date care reprezint arborele I/SAU construit prin explicitarea
spaiului de cutare definit implicit de reprezentare.
O alt diferen a algoritmilor de cutare n grafuri I/SAU fa de cei n spaiul strilor
const n nodurile introduse n listele FRONTIERA i TERITORIU. Nodurile I nu se introduc n
aceste liste deoarece ele nu corespund efectiv unor subprobleme, ci indic numai o mulime de
38
subprobleme care trebuie rezolvate. Aceste noduri sunt ns construite i fac parte din
poriunea explicitat a spaiului de cutare. Pe baza strii de rezolvat sau nerezolvabil a acestor
noduri se poate decide cnd s-a obinut arborele soluie.
De exemplu, fie o problema P
1
care poate fi redus, alternativ, la o singur subproblem
(echivalent) P
2
prin aplicarea operatorului de descompunere O
1
i la subproblemele P
5
, P
6
, P
7

prin aplicarea operatorului O
2
, aa cum se arat n Figura 2.8. n acest caz expandarea nodului N
1

va genera nodurile N
2
, N
3
, N
5
, N
6
i N
7
, fiecrui nod nou generat i se va ataa o legtur spre
predecesor, dar numai nodurile N
2
, N
5
, N
6
i N
7
vor fi introduse n lista nodurilor explorate
FRONTIERA.
N
1
N
2
N
3
N
4
N
5
N
6
N
7
N
8
N
9
(P )
1
(P )
2
(P )
5
(P )
6
(P )
7
Noduri introduse in frontiera: N , N , N , N
7 6 5 2

Figura 2.8 Expandarea nodurilor n grafuri I/SAU
n aceste condiii, la calculul adncimii unui nod ntr-un arbore I/SAU nu se consider
nodurile I. Dac se consider ca nodul problem iniial are adncimea 0, adncimea oricrui
nod subproblem va fi lungimea secvenei de operatori care trebuie aplicai pentru a ajunge din
nodul iniial n acel nod.
Definitie. ntr-o reprezentare a soluiei problemei prin grafuri I/SAU adncimea unui nod se
definete astfel:
(1) Adincime (S ) = 0
i
, unde S
i
este nodul problem iniial,
(2) Adincime (S) = Adincime (S ) +1
p
, dac S
p
este nod SAU predecesor al nodului S,
(3) Adincime (S) = Adincime (S )
p
, dac S
p
este nod I predecesor al nodului S.
Cutarea pe nivel
n reprezentarea prin descompunerea problemei n subprobleme strategia cutrii pe nivel
folosete aceeai ordine de expandare a nodurilor ca n cazul reprezentrii prin spaiul strilor.
39
Algoritmul care urmeaz presupune c spaiul de cutare este un arbore I/SAU i nu un graf
general, deci o aceeai stare nu poate fi generat de mai multe ori. De asemenea, se presupune c
problemele generate prin reducerea unei probleme n subprobleme pot fi rezolvate n orice ordine,
deci sunt independente. Nodul I este nodul corespunztor descrierii iniiale a problemei.
Algoritm: Strategia cutrii pe nivel n arbori I/SAU.
1. Creaz listele FRONTIERA {S }
i
i } { TERITORIU
2. Elimin primul nod S din FRONTIERA i insereaz-l n TERITORIU
3. Expandeaza nodul S
3.1. Genereaz toi succesorii direci S
j
ai nodului S
3.2. pentru fiecare succesor S (1 j m)
j
s s al lui S execut
3.2.1. Stabilete legtura S S
j

3.2.2. dac S
j
reprezint o mulime de cel putin 2 subprobleme
atunci /* S
j
este nod I */
i. Genereaz toi succesorii subprobleme S (1 k n)
j
k
s s ai lui S
j

ii. Stabilete legturile ntre nodurile S S (1 k n)
j
k
j
s s ,
iii. Insereaz nodurile S (1 k n)
j
k
s s n FRONTIERA, la sfrit
3.2.3. altfel insereaz S
j
n FRONTIERA, la sfrit
4. dac nu s-a generat nici un succesor al lui S n pasul precedent
atunci
4.1. dac S este nod terminal etichetat cu o problem neelementar
atunci
4.1.1. Eticheteaz S nerezolvabil
4.1.2. Eticheteaza cu nerezolvabil toate nodurile predecesoare lui S care devin
nerezolvabile datorita lui S /* toate nodurile care il au pe S
descendent in arborele SI/SAU construit */
4.1.3. dac nodul S
i
este nerezolvabil
atunci ntoarce INSUCCES /* problema nu are soluie */
4.1.4. Elimin din FRONTIERA toate nodurile care au predecesori nerezolvabili
4.2. altfel /* S este nod terminal etichetat cu o
problema elementar */
4.2.1. Eticheteaz S rezolvat
4.2.2. Eticheteaz cu rezolvat toate nodurile predecesoare lui S care devin
rezolvate datorit lui S
40
4.2.3. dac nodul S
i
este rezolvat
atunci
i. Construiete arborele soluie urmrind legturile
ii. ntoarce SUCCES /* s-a gsit soluia */
4.2.4. Elimin din FRONTIERA toate nodurile rezolvate i toate nodurile
care au predecesori rezolvai
5. repet de la 2
sfrit.
Observatii:
- Condiia din pasul 4 al algoritmului specific faptul c problema asociat nodului S nu
mai poate fi descompus n subprobleme. Acest lucru se ntmpl fie n cazul n care
problema este neelementar i ireductibil (pasul 4.1), caz n care S devine nerezolvabil,
fie n cazul n care S este problema elementar, deci banal de rezolvat (pasul 4.2), caz n
care S devine rezolvat.
- Legturile care se stabilesc de la fiecare nod nou generat la predecesorul lui definesc
arborele I/SAU construit pe parcursul cutrii. Spre deosebire de reprezentarea prin
spaiul strilor n care soluia problemei este calea parcurs ntre nodul stare iniial i
nodul stare final, cale format numai din noduri ce exist n lista TERITORIU, n cazul
descompunerii problemei n subprobleme soluia problemei este tot arborele I/SAU,
care conine i noduri ce nu apar n TERITORIU sau FRONTIERA.
Cutarea pe nivel garanteaz gsirea soluiei, dac problema are soluie. n plus, arborele
soluie construit este arborele de nlime minim, deci cel care conine numrul minim de
operatori necesari pentru a rezolva problema.
Cutarea n adncime
La fel ca n cazul cutrii n adncime n spaiul strilor, cutarea n adncime n grafuri I/SAU
consider mai nti nodurile cu cea mai mare adncime din lista FRONTIERA. Algoritmul
cutrii n adncime se poate obine din cel al cutrii pe nivel n arbori I/SAU prin adugarea
unui pas suplimentar 2' dup pasul 2 care limiteaz adncimea de cutare la un nivel maxim
AdMax i prin nlocuirea pailor iii i 3.2.3 cu paii iii' i 3.2.3'.
2'. daca AdMax = ) Adincime(S
atunci repeta de la 2
iii'. Insereaza nodurile S (1 k n)
j
k
s s n FRONTIERA, la inceput
3.2.3'. altfel insereaza S
j
n FRONTIERA, la inceput
41
Algoritmul cutarii n adncime nu garanteaz gsirea soluiei i nici construirea
arborelui soluie minim, dar genereaz un numr de noduri mult mai mic dect cel din algoritmul
cutrii pe nivel.
Ambii algoritmi se pot extinde pentru cazul n care spaiul de cutare este graf, printr-o
tehnic similar cu cea prezentat n seciunea anterioar, deci cu verificarea prezenei unei
subprobleme nou generate n listele FRONTIERA i TERITORIU.
2.3 Strategii de cutare euristic
n rezolvarea problemelor utiliznd strategii de cutare neinformat numrul de stri investigate
nainte de a gsi o soluie poate ajunge prohibitiv de mare, chiar i pentru probleme relativ
simple, aparnd deci explozia combinaional. Spaiul de cutare explorat poate fi redus prin
aplicarea cunotinelor euristice despre problem. Informaia euristic poate fi utilizat n cutare
pornind de la strategiile de baz i obinnd strategii de cutare euristic.
Cunotintele euristice pot fi folosite pentru a crete eficiena cutarii n trei moduri:
(1) Selectarea nodului urmtor de expandat n cursul cutrii
(2) In cursul expandrii unui nod al spaiului de cutare se poate decide pe baza
informaiilor euristice care dintre succesorii lui vor fi generai i care nu.
(3) Eliminarea din spaiul de cutare a anumitor noduri generate.
Se va prezenta iniial prima modalitate de utilizare a cunotintelor euristice pentru a alege
nodul "cel mai promitor" pentru obinerea soluiei. Al doilea mod de utilizare a euristicilor
revine de fapt la expandarea parial a unui nod prin aplicarea numai a unui subset de operatori
dintre cei posibil de aplicat. O variant a acestei tehnici este analiza bazat pe modaliti utilizat
n programul General Problem Solver care alege operatorul cel mai potrivit pentru a avansa spre
soluie, chiar dac nu este imediat aplicabil. Ulterior, se ncearc atingerea unei stri n care
operatorul poate fi aplicat, deci se ncearc satisfacerea unui subscop. Al treilea mod de utilizare a
euristicilor ncearc eliminarea anumitor noduri pe baza deciziei dac aceste noduri pot face parte
din soluie sau nu. Aceast tehnic se numete tierea arborelui de cutare.
2.3.1 Cutare informata de tip "best-first"
Ideea strategiei de cutare "best-first" este aceea de a selecta spre expandare cel mai bun nod din
spaiul de cutare generat pe baza cunostinelor euristice, deci pe baza unei estimri. Calitatea
unui nod, din punct de vedere al gsirii soluiei, poate fi estimat n diverse moduri. Se poate
atribui nodului gradul de dificultate n soluionarea problemei reprezentat de acel nod. Se poate
estima calitatea unei mulimi de soluii candidate care conin acel nod, deci soluii pariale care
conin o cale ce duce la acel nod. O a treia alternativ este aceea de a evalua cantitatea de
42
informaie care poate fi obinut prin expandarea acelui nod i importana acestei
informaii n ghidarea procesului de cutare. n toate aceste cazuri calitatea unui nod este estimat
de funcia de evaluare euristic, notat w(n) pentru nodul n, care poate depinde de descrierea lui
n, de descrierea scopului i de cunotine suplimentare despre problem.
Una dintre cele mai simple strategii informate pentru modelul reprezentrii prin spaiul
strilor, bazat pe un criteriu de optim local, este strategia de cutare a alpinistului. Ideea acestei
strategii este expandarea unui nod, inspectarea succesorilor acestuia i calculul valorilor funciei
euristice pentru aceti succesori, apoi alegerea celui mai bun nod n funcie de aceste valori. Toate
celelalte noduri sunt uitate, inclusiv nodul stare curent, deci strategia este irevocabil.
Simplitatea acestei strategii este pltit de dezavantajele strategiei: posibilitatea de a pierde
soluia, blocarea n maxime locale i inspectarea repetat a aceleiai stri. Strategia este evident
incomplet.
n cazul strategiilor tentative informate generale, selecia nodului cel mai promitor se face
evalund toate nodurile generate pn la un moment dat, indiferent de calea n arborele de cutare
pe care se afla un nod. n continuare se prezint un algoritm de cutare de tip "best-first" pentru
reprezentarea soluiei problemei prin spaiul strilor. Se presupune ca spaiul de cutare este un
graf i ca nodul selectat pentru expandare este cel care are cea mai mic valoare a funciei
euristice w(n); S
i
este starea iniial.
Algoritm: Strategia de cutare "best-first" n spaiul strilor
1. Creaz listele FRONTIERA {S }
i
i } { TERITORIU
2. Calculeaz w(S )
i
i asociaz aceasta valoare nodului S
i

3. dac } { = FRONTIERA
atunci ntoarce INSUCCES /* nu exist soluie */
4. Alege din FRONTIERA un nod S pentru care w(S) este minim
5. Elimin nodul S din FRONTIERA i insereaz-l n TERITORIU
6. dac S este starea final
atunci
6.1. Construiete soluia (S,...,S )
i
prin urmrirea legturilor
6.2. ntoarce SUCCES /* s-a gsit soluia */
7. Expandeaz nodul S
7.1. Genereaz toi succesorii direci S
j
ai nodului S
7.2. pentru fiecare succesor S (1 j m)
j
s s al lui S execut
7.2.1. Calculeaz w(S )
j
i asociaz valoarea lui S
j

7.2.2. Stabilete legtura S S
j

43
7.2.3. dac S FRONTIERA TERITORIU
j
e
atunci introduce S
j
n FRONTIERA
7.2.4. altfel
i. Fie S'
j
copia lui S
j
din FRONTIERA sau TERITORIU
ii. dac w(S ) w(S' )
j j
<
atunci
- Modific legtura S' predecesor (S' )
j j
n legtura S' S
j

- Inlocuiete w(S' )
j
asociat lui S'
j
cu w(S )
j

- daca S' TERITORIU
j
e
atunci elimin S'
j
din TERITORIU i insereaz-l n FRONTIERA
iii. Ignora nodul S
j

8. repet de la 3
sfrit.
Observaii:
- Paii 7.2.3 i 7.2.4 sunt necesari pentru a trata cazul n care spaiul de cutare este graf. n
timpul cutrii se genereaz graful spaiului de cutare i, n acelai timp, arborele de
cutare definit de legturile ntre noduri stabilite la pasul 7.2.2.
- Dac pe parcursul cutrii o stare a fost redescoperit iar drumul pn la noua apariie a
strii este mai scurt, algoritmul trebuie s considere noul drum gsit. Nodul pn la care
s-a descoperit un drum mai scurt devine din nod expandat nod explorat prin
reintroducerea lui n FRONTIERA, cu noua valoare mai mic a funciei w gsit (pasul
ii). Acest proces este prezentat intuitiv n Figura 2.9.
S'
p
S'
j
S
S
j
TERITORIU
FRONTIERA
w(S ) < w(S' )
j j
S' = S
j j
w(S' )
j
w(S )
j
w(S )
j

Figura 2.9 Reexplorarea unui nod la gsirea unei valori euristice inferioare.
44
Strategia de cutare "best-first" este o generalizare a strategiilor de cutare
neinformate prezentate anterior. Prin particularizarea funciei w se pot obine ambele strategii de
baz astfel:
- S nodului adincimea = w(S) , conduce la strategia de cutare pe nivel
- S nodului adincimea = w(S) , conduce la strategia de cutare n adncime
Criteriul nodului celui mai promitor i stabilirea funciei de evaluare euristic depinde de
problem i de proprietile soluiei cutate.
Dac spaiul de cutare conine mai multe ci spre soluie i se asociaz un cost fiecrui arc
ntre dou noduri S
k
i S
k+1
, cost determinat de costul aplicrii operatorului pentru a trece din
starea S
k
n starea S
k+1
, atunci fiecare cale spre starea final are asociat un cost. Dac se dorete
gsirea cii de cost minim se stabilete urmtoarea formul pentru calculul funciei de evaluare:
w(S ) = cost_arc(S ,S )
j k k 1
k i
j 1
+
=

, unde i este indicele strii iniiale.


n acest caz se obine o strategie de cutare de cost uniform, numit i strategie de tip "branch
and bound". Aceast strategie garanteaz gsirea soluiei optime, dac exist soluie. Dac nu
intereseaz optimalitatea soluiei i se urmrete numai minimizarea efortului de cutare, atunci
se alege o funcie euristic w care estimeaz, pentru fiecare nod, ct de aproape sau ct de departe
este acel nod fa de nodul stare final. Dac intereseaz ambele aspecte, deci att calitatea
soluiei ct i minimizarea efortului de cutare, se utilizeaz strategia de cutare A
*
care va fi
prezentat n seciunea urmtoare.
Principiul strategiei de cutare "best-first" poate fi aplicat i pentru cazul reprezentrii
soluiei problemei prin descompunerea n subprobleme. De aceast dat ns funcia de evaluare
trebuie s se refere la un arbore soluie partial i nu la un singur nod, aa cum se face pentru
reprezentarea prin spaiul strilor. Varianta AO
*
a strategiei "best-first" pentru grafuri I/SAU
care clarific aceste aspecte va fi prezentat ulterior.
Observaie. Algoritmul de cutare "best-first" este o strategie complet dac reuete s elimine
ntotdeauna cile ciclice. Acest lucru este evident realizat dac costul unei ci fr cicluri este
ntotdeauna egal sau mai mic dect costul unei ci care conine cicluri.
2.3.2 Cutarea soluiei optime n spaiul strilor. Algoritmul A
*

Algoritmul A
*
urmrete determinarea cii de cost minim ntre nodul asociat strii iniiale i
nodul asociat unei stri finale. Acest obiectiv include i problema gsirii cii spre soluie care
conine un numr minim de arce, adic calea care implic aplicarea unui numr minim de
operatori. Problema gsirii celei mai scurte ci este o particularizare a cazului general,
particularizare n care costul arcelor este considerat unitar.
45
Algoritmul A
*
este o strategie de cutare informat de tip "best-first" pentru
reprezentarea soluiei folosind spaiul strilor. Caracteristica distinctiv a algoritmului const n
modul de definire a funciei de evaluare w(S) care este notat n acest caz cu f(S). Nodul ales
pentru expandare este nodul cu valoarea minim a funciei f. Deoarece f evalueaz nodurile din
punct de vedere al gsirii soluiei de cost minim, f(S) include dou componente:
- g(S), o funcie care estimeaza costul real g
*
(S) al cii de cutare ntre starea iniiala S
i
i
starea S,
- h(S), o funcie care estimeaza costul real h
*
(S) al cii de cutare ntre starea curent S i
starea final S
f
.
n aceste condiii funcia de evaluare se definete astfel:
h(S) + g(S) = f(S)
i reprezint o estimare a costului real f (S) = g (S) h (S)
* * *
+ al unei soluii a problemei care trece
prin starea S (Figura 2.10).
S
i
S
S
f
g(S)
h(S)
f(S)

Figura 2.10 Componentele funciei euristice a algoritmului A
*

Funcia g(S) este calculat ca fiind costul actual al drumului parcurs n cutare ntre starea
iniiala S
i
i starea S, deci
g(S) = cost_arc(S ,S )
k k 1
k i
n
+
=

, cu S S
n
= i S
i
starea iniial
Dac spaiul strilor este un arbore, g(S) este o estimare perfect a costului real g
*
(S). Dac
spaiul de cutare este graf, g(S) poate numai s supraestimeze costul real g
*
(S). n consecin
g(S) g (S)
*
> pentru orice stare S. Algoritmul A
*
se obine din algoritmul "best-first" prin
utilizarea funciei f(S) n locul lui w(S) i nlocuirea condiiei din pasul 7.2.4. ii cu condiia
g(S ) g(S' )
j j
< .
Funcia h(S) este funcia purttoare de informaie euristic i trebuie definita n raport cu
caracteristicile problemei particulare de rezolvat. Pentru ca algoritmul A
*
s gseasc soluia
46
subestimeze intotdeauna costul real h
*
(S) al optim, funcia h trebuie s fie nenegativ i s
cii care a mai rmas de parcurs pn n starea final.
Definiie. O funcie euristic h se numete admisibil dac 0 h(S) h (S)
*
s s pentru orice stare S.
Definiia stabilete condiia de admisibilitate a funciei h i este folosit pentru a defini
proprietatea de admisibilitate a unui algoritm A
*
.
Teorema. Fie un algoritm A
*
care utilizeaz cele dou componente g i h ale funciei de evaluare
f. Dac
(1) funcia h satisface condiia de admisibilitate
(2) c ) S' , cost_arc(S > , pentru orice dou stri S, S', unde 0 > c este o constant i
costul c este finit
atunci algoritmul A
*
este admisibil, adic este garantat s gseasc calea de cost minim spre
soluie.
2.3.3 Caracteristicile euristicii algoritmului A
*

Condiia de admisibilitate a funciei euristice indic faptul ca h (S) trebuie s fie o subestimare a
costului real h
*
(S), adic s fie optimist, pentru ca algoritmul A
*
s gseasc ntotdeauna soluia
optim. Dac h(S) este cu mult mai mic decit h
*
(S) atunci algoritmul A
*
ii pierde din
performanele timpului de cutare. Pentru ca numrul de stri inspectate n cutare s fie ct mai
mic, este de dorit ca h(S) s fie ct mai apropiat de h
*
(S). Ideal, dac h(S) ar fi egal cu h
*
(S)
pentru orice stare S parcurs n cutare, atunci algoritmul A
*
gsete drumul optim spre starea
final fr a expanda niciodat vreun nod care nu se afl pe calea optim spre soluie. Dac
0 = h(S) atunci algoritmul A
*
se reduce la o strategie de cutare de cost uniform. Deci algoritmul
A
*
este cu att mai informat cu ct h(S) este mai apropiat de h
*
(S).
Gradul de informare al unui algoritm A
*

Definiie. Fie doi algoritmi A
*
, A
1
i A
2
, cu funciile de evaluare
f (S) g (S) h (S)
1 1 1
= +
f (S) g (S) h (S)
2 2 2
= +
Se spune ca algoritmul A
2
este mai informat dect algoritmul A
1
dac h (S) > h (S)
2 1
pentru orice
stare S, S S
f
= , starea final.
Se poate demonstra c dac A
2
este mai informat dect A
1
atunci A
2
nu expandeaz
niciodat mai multe stri dect A
1
. Se poate demonstra de asemenea c dac componenta h a
funciei f a unui algoritm A
*
are propietatea de a fi monoton cresctoare, adic
) S' , cost_arc(S + ) h(S' h(S) s pentru orice dou stri S, S' cu succ(S) = S' atunci un nod, odat
47
introdus n lista TERITORIU, nu va mai fi niciodat eliminat din TERITORIU i reinserat
n FRONTIERA.
Determinarea funciei de evaluare f
Pentru stabilirea funciei f trebuie definite funciile g i h. De obicei, componenta g(S) poate fi
calculat ca suma costurilor arcelor parcurse din starea iniial i pn n starea S sau, dac
costurile arcelor sunt unitare sau problema nu are definite costuri pentru operatori, ca numrul de
arce parcurse din S
i
pn n S.
Determinarea funciei h(S), purttoarea informaiei euristice, este mai dificil deoarece
funcia h depinde de problema specific de rezolvat. Este sarcina celui care construiete
algoritmul A
*
s descopere o funcie euristic adecvat.
Fie problema mozaicului de 8 numere. Un algoritm A
*
de rezolvare a acestei probleme ar
putea utiliza o definiie a funciei h(S) cum este cea care a fost indicat la specificarea problemei:

h (S) = t (S)
1 i
i=1
8

unde

contrar caz in 0
S) starea (in finala pozitie in este nu t nevid patratul daca 1
= (S) t
i
i
Funcia de evaluare este f (S) g(S) h (S)
1 1
= + , unde g(S) este numrul de micri parcurse din
starea iniial i pn n starea S. Se poate defini ns o funcie euristic mai buna dect h
1
, adic
mai informat,
h (S) = Distanta(t
2 i
i=1
8
)


unde Distanta(t )
i
este distana (pe orizontal i vertical) a ptratului nevid t
i
n starea S fa de
poziia lui n starea final S
f
. Aceasta distana se mai numeste i "distanta Manhattan". Pentru
exemplul din Figura 2.1 se obin urmtoarele valori ale funciilor euristice h
1
i h
2
:
h (S ) = 2
1 1
h (S ) = 3
1 2
h (S ) = 4
1 3

h (S ) = 2
2 1
h (S ) = 4
2 2
h (S ) = 4
2 3

Se poate arta ca un algoritm A
*
care utilizeaz funcia f (S) g(S) h (S)
2 2
= + are un grad de
informare mai mare dect un algoritm A
*
care utilizeaz funcia f
1
(S) definit mai sus. Acest
lucru se poate justifica informal prin faptul ca h
1
(S) nu ofer o estimare foarte bun a dificultii
unei configuraii. Funcia h
2
(S) ofer o mai bun estimare din punct de vedere al numrului de
pai necesari pn la atingerea strii finale. Att h
1
ct i h
2
sunt funcii admisibile.
Tot n Seciunea 2.1.2 s-a prezentat problema comis-voiajorului. Un algoritm A
*
care
rezolv aceast problem poate utiliza o funcie de evaluare f (S) g(S) h (S)
1 1
= + , unde g(S)
reprezint lungimea drumului (suma distanelor) parcurs de comis-voiajor din oraul de plecare
48
definit astfel h (S) = cost_arc(S ,S)
1 i
, unde S
i
pn n oraul asociat strii S, iar h
1
este
este starea iniial asociat oraului de plecare iar S este starea oraului n care se afl comis-
voiajorul. Se reamintete ca n problema comis-voiajorului oricare dou orae sunt legate ntre ele
printr-un drum. Se poate folosi i funcia euristic h
2
(S) egal cu costul arborelui de acoperire
minim al oraelor neparcurse pn n starea S. Att h
1
ct i h
2
sunt funcii admisibile. Se poate
demonstra c un algoritm A
*
care folosete funcia f (S) g(S) h (S)
2 2
= + este mai informat dect
un algoritm care foloseste f
1
(S).
O problem asemntoare ca natur cu problema comis-voiajorului este problema gsirii
drumului minim ntre doua orae pe o hart. Harta este definit printr-un numr de orae i prin
legturile dintre aceste orae, cu distanele asociate. Un algoritm A
*
pentru aflarea drumului
minim ntre dou orae poate utiliza o funcie euristic h(S) + g(S) = f(S) , cu g(S) definit ca
lungimea drumului deja parcurs ntre oraul de plecare i starea S i h(S) definit ca distana
directa pe hart (zbor de pasre) ntre oraul asociat strii S i oraul de destinaie. Funcia h astfel
definit este admisibil.
n final se consider problema misionarilor i canibalilor. Trei misionari i trei canibali
ajung la un ru. Exist o barc de dou locuri cu care se poate traversa rul. Dac numrul
canibalilor este mai mare dect numrul misionarilor pe unul din malurile rului, misionarii vor fi
mncai de canibali. Cum pot trece toti rul fr ca misionarii s fie mncai? Starea iniial i
starea final a acestei probleme sunt descrise n Figura 2.11.
EST VEST
n
n
n
n
E
m
V
m
V
c
E
c
(S
(S
(S
(Si
i i
i
)=3
)=3 )=0
)=0
EST VEST
n
n
n
n
E
m
V
m
V
c
E
c
(S
(S
(S
(Sf
f f
f
)=0
)=0 )=3
)=3
(b) Stare finala (a) Stare initiala

Figura 2.11 Problema misionarilor i canibalilor
ncercnd rezolvarea aceste probleme cu ajutorul unui algoritm A
*
se propun urmtoarele
trei funcii de evaluare:
f (S) g(S) h (S)
1 1
= +
f (S) g(S) h (S)
2 2
= +
49
f (S) g(S) h (S)
3 3
= +
Funcia g(S) este definit ca fiind egal cu numrul de tranziii de stri efectuate din starea
iniial pn n starea curenta S. Pentru definiia funciilor h
1
, h
2
, i h
3
se fac urmtoarele
convenii:

n (S)
m
E
- numr de misionari pe malul de EST n starea S
n (S)
m
V
- numr de misionari pe malul de VEST n starea S
n (S)
c
E
- numr de canibali pe malul de EST n starea S
n (S)
c
V
- numr de canibali pe malul de VEST n starea S
n (S) n (S) n (S)
E
m
E
c
E
= + - numr de persoane pe malul de EST n starea S
n (S) n (S) n (S)
V
m
V
c
V
= + - numr de persoane pe malul de VEST n starea S
i se definesc cele trei funcii euristice propuse astfel:
- h (S) = n (S)
1
E

- h (S) n (S) / 2
2
E
=
-

=
=
= +
=
0 (S) n daca 0
0 (S) n si EST de malul pe este barca daca 1 (S) n
0 (S) n si VEST de malul pe este barca daca 1 (S) n
(S) h
E
E E
E E
3

Funcia h
1
nu este admisibil deoarece pentru starea S
k
definit prin: 1 misionar i 1 canibal
pe malul de EST i 2 misionari i doi canibali pe malul de VEST, cele dou persoane de pe malul
estic pot fi transportate imediat pe malul vestic, deci cu un cost unitar. n consecin h (S ) = 2
1 k

este mai mare dect costul real h (S ) =1
*
k
, deci h
1
nu este admisibil. Funciile h
2
i h
3
sunt
admisibile i, n plus, sunt monotone. Se poate demonstra c funcia h
3
este mai informata dect
h
2
, deci un algoritm A
*
care utilizeaz h
3
va face mai puine treceri ale rului dect un algoritm
A
*
care utilizeaz h
2
.
Relaxarea condiiei de optimalitate a algoritmului A
*

S-a artat c algoritmul A
*
gsete soluia optim dac componenta euristic h este admisibil. n
multe cazuri ns, algoritmul A
*
consum o cantitate de timp semnificativ cu ncercrile de a
alege ntre diverse ci al cror cost nu difer semnificativ. Proprietatea de admisibilitate poate
deveni uneori o limitare serioas i poate duce la creterea timpului de rezolvare a problemei. n
funcie de cerinele problemei, se poate relaxa proprietatea de admisibilitate a algoritmului A
*
,
chiar cu riscul obinerii unei soluii suboptimale dar cu avantajul reducerii timpului de cutare. n
general, pot apare cele trei situaii prezentate n continuare .
50
Exist probleme pentru care s-ar putea s intereseze mai putin obinerea unei soluii de
cost minim i scopul urmrit s fie mai ales minimizarea efortului de cutare. Motivul includerii
n funcia de evaluare f a funciei g este acela de a aduga cutrii o component de cutare pe
nivel i de a ghida astfel cutarea spre descoperirea soluiei optime. Fr funcia g, f(S) ar estima
tot timpul, pentru fiecare nod S, distana rmas pn la starea final. Dac scopul este acela de a
minimiza efortul de cutare i nu costul soluiei, atunci ponderea funciei h trebuie s fie ct mai
mare. Pentru a ajusta ponderile ntre aceste dou tendine, cost optim i avans rapid spre soluie,
s-a propus urmtoarea definiie ponderat a funciei f:
f(S) (1 p) g(S) p h(S) = + ,
unde p este o constant pozitiv. Dac p = 0 atunci algoritmul de cutare devine o strategie de
cutare de cost uniform, dac p =1/ 2 atunci se obine varianta standard a algoritmului A
*
, iar
dac 1 = p atunci se obine o cutare de tip "best-first" care urmrete numai minimizarea
efortului de cutare. Dac h este admisibil, este uor de artat ca algoritmul este admisibil n
domeniul [0,1/2] pe dar ii poate pierde admisibilitatea pentru domeniul (1/2,1) pe n funcie de
distana funciei h fata de h
*
.
Pentru o alt categorie de probleme este posibil s intereseze soluia de cost minim dar
problema s fie att de grea nct un algoritm A
*
admisibil s fie practic imposibil de executat
pn la sfrit din criterii de eficien. ntr-o astfel de situaie se urmrete gsirea unei soluii
suficient de apropiate de soluia de cost minim ntr-un interval de timp acceptabil. Funcia f poate
fi definita printr-o ponderare dinamic a componentei h.
h(S) c(S) g(S) f(S) + = ,
unde c(S) este o funcie de ponderare a crei valoare depinde de nodul S. S-a propus urmtoarea
variant de funcie ponderat dinamic:
f (S) g(S) h(S) (1
d(S)
N
) h(S) = + + c ,
unde d(S) este adncimea nodului asociat strii S i N este adncimea estimat a nodului stare
final. Dac funcia h este admisibil atunci un algoritm A
*
care utilizeaz aceast definiie a
funciei f va gsi o soluie suboptimal al crei cost difer cu cel mult c de costul soluiei optime.
Utiliznd aceast abordare s-a ncercat rezolvarea problemei comis-voiajorului pentru cazul
a 20 de orae, problema cunoscut sub numele de problema Croes i pentru care se tie c soluia
de cost optim este 246. Un algoritm A
*
admisibil nu a produs soluia optim nici dup expandarea
a 500 de noduri. Cu definiia funciei de evaluare dat mai sus s-a gsit o soluie de cost 260 dup
expandarea a numai 53 de noduri.
51
O a treia situaie ntlnit este aceea n care determinarea unei funcii euristice h
admisibile suficient de bune, adic suficient de apropiat de funcia reala h
*
, este foarte dificil
sau chiar imposibil. O funcie h admisibil dar cu valori mult mai mici dect cele ale funciei h
*

face ca algoritmul A
*
s degenereze ntr-o strategie de cutare neinformat. Dac nu se poate gsi
nici o funcie euristic h suficient de bun, se poate utiliza o funcie h c-admisibil.
Definiie. O funcie euristic h se numeste c-admisibil dac h(S) h (S)
*
s + c, c >0, constant.
S-a demonstrat c algoritmul A
*
care utilizeaz o funcie de evaluare f cu o componenta h c-
admisibil gsete ntotdeauna o soluie al crei cost depete costul soluiei optime cu cel mult c
. Un astfel de algoritm se numeste algoritm A
*
c-admisibil iar soluia gsit se numeste soluie c-
optimal.
De exemplu, n cazul problemei mozaicului de 8 numere se poate utiliza funcia de evaluare
f (S) g(S) h (S)
3 3
= + , cu funcia euristic h
3
definit astfel:
h (S) h (S) 3 T(S)
3 2
= +
T(S) = Scor[t (S)]
i
i 1
8
=

, unde

mozaicului centrul la aflat t pentru 1


centru de diferita t lui a pozitie orice pentru 0
finala starea din corect succesorul
de urmat este nu S starea in t patratul daca 2
= (S)] Scor[t
i
i
i
i

Dei funcia h
3
nu este admisibil, s-a constatat experimental ca algoritmul A
*
care utilizeaz
aceast funcie are performane foarte bune, mai ales pentru cazuri generalizate ale problemei
mozaicului, de exemplu pentru mozaicul de 15 numere.

2.3.4. Cutarea soluiei optime n grafuri I/SAU. Algoritmul AO
*
Obinerea soluiei optime pentru reprezentarea prin descompunerea problemei n subprobleme se
poate realiza cu un algoritm similar ca idee cu algoritmul A
*
. Diferena ntre cei doi algoritmi
const n natura soluiei problemei, respectiv prezena nodurilor I care indic o mulime de
subprobleme ce trebuie rezolvate. Aspectele specifice care trebuie considerate n cazul unei
soluii arbore SI/SAU sunt:
- Cum poate fi utilizat informaia euristic n cutarea soluiei optime
- Cum se definete o soluie optim
52
La execuia unui algoritm de cutare de tip "best-first" n spaiul strilor exist o
coresponden de unu la unu ntre nodurile candidate la expandare i soluiile pariale construite.
La un moment dat, toate soluiile pariale poteniale sunt reprezentate prin cile descoperite de la
starea iniial la strile din FRONTIERA, fiecare dintre aceste ci fiind reprezentate printr-un nod
unic n FRONTIERA. n cazul cutrii soluiei ntr-un graf I/SAU aceast coresponden de unu
la unu ntre nodul ales spre expandare i soluia potenial de extins nu se mai pstreaz. Fiecare
soluie parial poate conine mai multe noduri candidate la expansiune i un nod dat poate face
parte din mai muli arbori soluie poteniali. De exemplu, expandarea nodului I S din Figura
2.12(a) nseamn generarea a doi arbori soluie poteniali, cel din Figura 2.12(b), respectiv cel din
Figura 2.12(c).
C D
S
A B
C
S
A B
D
S
A B
(a) (b) (c)

Figura 2.12 Extinderea soluiei poteniale ntr-un arbore I/SAU
n aceste condiii, informaia euristic poate fi utilizat n dou etape ale cutrii. n primul
rnd se identific soluia cea mai promitoare prin utilizarea unei funcii de evaluare a grafului
f. n al doilea rnd se selecteaz din aceast soluie parial nodul urmtor de expandat pe baza
unei funcii de evaluare a nodurilor f
n
. Aceste dou funcii, cu dou roluri diferite, ofer dou
tipuri de estimri: f estimeaz proprietile arborilor soluie care pot fi generai dintr-un arbore
candidat curent, n timp ce f
n
estimeaz cantitatea de informaie pe care o poate oferi expandarea
unui nod cu privire la superioritatea grafului ce conine acel nod. Funcia f este cea care stabilete
optimalitatea soluiei pe baza unor costuri asociate procesului de descompunere a problemei n
subprobleme. Cele mai multe cercetri n domeniul cutrii s-au orientat spre gsirea unor
modaliti de calcul a funciei f. Funcia de evaluare a nodurilor s-a bucurat de mai puin atenie
i se alege ntr-o manier ad hoc.
Determinarea arborelui soluie cel mai promitor se face pe baza costului asociat arborilor
generai n cutare. Costul unui arbore soluie I/SAU poate fi definit n dou moduri: cost sum
i cost maxim, pe baza costurilor asociate arcelor din graf. Costul sum al unui arbore soluie este
suma costurilor tuturor arcelor din arbore. Costul maxim al unui arbore soluie este suma
costurilor de-a lungul cii celei mai costisitoare ntre rdcin i un nod terminal. Dac fiecare arc
al arborelui soluie are costul unitar, costul sum este numrul de arce din arbore i costul maxim
este adncimea nodului celui mai deprtat de rdcin.
53
Dac ntreg spaiul de cutare ar putea fi explorat, atunci s-ar putea stabili cu uurin
arborele soluie optim conform definiiei urmtoare.
Definiie. Costul unui arbore soluie optim, notat cu c, ntr-un spaiu de cutare graf I/SAU se
calculeaz astfel:
(1) Dac S este nod terminal etichetat cu o problem elementar atunci c(S) =0
(2) Dac S este nod SAU cu succesorii S ,S ,...,S
1 2 k
atunci

c(S) =
min
(cost_arc(S,S ) c(S ))
j=1,k
j j
+

(3) Dac S este nod I cu succesorii S ,S ,...,S
1 2 m
i se folosete costul sum atunci

c(S) = (cost_arc(S,S ) c(S ))
j j
j=1
m
+


(4) Dac S este nod I cu succesorii S ,S ,...,S
1 2 m
i se folosete costul maxim atunci

c(S) =
max
(cost_arc(S,S ) c(S ))
j=1,m
j j
+

(5) Dac S este nod terminal etichetat cu o problem neelementar (care nu se mai
poate descompune) atunci c(S) = inf (infinit)
Conform acestei definiii, costul nodului problem iniial c(P )
i
este finit dac i numai
dac problema reprezentat prin nodul iniial P
i
este rezolvat. Pentru fiecare nod S, c(S)
calculeaz costul arborelui soluie optimal a problemei reprezentat prin nodul S.
Exemplu. Fie arborele I/SAU din Figura 2.13 (a), unde cu e
i
s-au notat nodurile terminale
etichetate cu probleme elementare i cu n
i
nodurile terminale etichetate cu probleme
neelementare. Nodurile terminale e
1
, e
2
, e
3
, e
4
, e
5
i e
6
au asociat un cost zero deoarece
corespund unor probleme elementare (banal de rezolvat), iar nodurile n
1
, n
2
au asociat costul
infinit (inf) deoarece corespund unor probleme neelementare care nu se mai pot descompune n
subprobleme, deci sunt imposibil de rezolvat. Att arcele corespunztoare nodurilor SAU, ct i
cele corespunztoare nodurilor I au asociate costurile specificate n figur, costuri
corespunztoare tranziiilor sau descompunerilor. Dac se utilizeaz costul sum, valorile funciei
cost c sunt prezentate n Figura 2.13 (b) iar arborele soluie optim este format din nodurile S, B,
D, E, e
5
i e
6
. Dac se utilizeaz costul maxim atunci valorile funciei c sunt cele prezentate n
Figura 2.13(c) i arborele soluie optim este format din nodurile S, A, e
1
, e
2
, e
3
.
Funcia c(S) asociat unui arbore soluie optim este costul real, similar funciei f
*
(S) din
cutarea informat n spaiul strilor. Funcia de evaluare a grafului f este o estimare a funciei de
cost reale c(S). Funcia de evaluare a nodurilor f
n
este o estimare a meritului real f
n
*
al unui nod.
Algoritmul AO
*
prezentat n continuare determin soluia optim prin construirea arborelui
celui mai promitor pe baza funciei euristice f. Costul estimat al acestui arbore este f(P
i
) unde P
i

este problema iniial asociat nodului rdcin al arborelui.
Exemple de stabilire i utilizare a acestor costuri pentru probleme particulare vor fi
prezentate n continuare.
54
n
2 E
C D
S
A B
1 2
e
1
e
2
e
3
1 2
6
n
1
e
4
1 3
1 1 1 2
e
5
1 1
(a)
e
6

n
2 E
C D
S
A B
1 2
e
1
e
2
e
3
1 2
6
n
1
e
4
1 3
1 1 1 2
e
5
1 1
(b)
e
6
c = 9
c = 7
c = 4
c = 2
c = 9
c = 0 c = 0 c = 0
c = 0
c = 0 c = 0
c = inf c = inf
c = inf

55
n
2 E
C D
S
A B
1 2
e
1
e
2
e
3
1 2
6
n
1
e
4
1 3
1 1 1 2
e
5
1 1
(c)
e
6
c = 7
c = 6
c = 3
c = 1
c = 6
c = 0 c = 0 c = 0
c = 0
c = 0 c = 0
c = inf c = inf
c = inf

Figura 2.13 Costul suma i costul maxim al unui arbore soluie optim.
Definiie. Arborele soluie cel mai promitor T ntr-un graf I/SAU ponderat, adic cu costuri
asociate arcelor, se definete astfel:
(1) Nodul problem iniial I este n T
(2) Dac arborele I/SAU de cutare conine un nod I atunci toi succesorii acestui
nod sunt n T.
(3) Dac arborele de cutare conine un nod SAU cu succesorii S ,S ,...,S
1 2 k
atunci
nodul S , j =1, k
j
pentru care suma cost_arc(S,S ) + f (S )
j j
este minim aparine lui
T.
56
n timpul algoritmului de cutare costul arborelui soluie cel mai promitor f(S
i
) se
calculeaz de la frunze la rdcin. Deoarece la un moment dat arborele este doar parial
construit, funcia f(S
j
) trebuie s estimeze euristic costul nodurilor S
j
neexpandate nc. La o
expandare a unui astfel de nod se face o reevaluare a costului total al arborelui f(S
i
) pe baza
noului cost obinut pentru nodul S
j
.
Algoritmul AO
*
este admisibil, deci gsete arborele soluie optim, dac se ndeplinesc
urmtoarele dou condiii:
- c(S) f(S) s pentru orice nod S
- cost(S ,S ) 0
k k 1 +
> i este finit, pentru orice S ,S
k k 1 +
cu S
k+1
succesorul direct al lui S
k

n algoritmul prezentat n continuare se utilizeaz numai funcia de evaluare euristic a
grafului f. Starea problem iniial este notat cu S
i
.
Algoritm: Algoritmul AO
*
1. Construiete listele FRONTIERA {S }
i
i } { TERITORIU
2. Iniializeaz arborele soluie T {S }
i
i calculeaz f(S
i
)
3. dac nodul I este rezolvat /* nodul problem iniial este rezolvat */
atunci
3.1. Soluia este arborele T
3.2. ntoarce SUCCES
4. Construiete din T arborele soluie cel mai promitor T'
/* conform definiiei */
5. T T'
6. Selecteaz un nod T FRONTIERA S e
7. dac S este un nod terminal etichetat cu problema elementar
atunci
7.1. Eticheteaz nodul S rezolvat
7.2. Asociaz nodului S costul c(S) = f(S) /* costul real al unui nod problem
elementar poate fi estimat */
7.3. Eticheteaz cu rezolvat toate nodurile predecesoare lui S din FRONTIERA
care devin rezolvate datorit lui S
7.4. Recalculeaz f(S
i
) pe baza noului cost al lui S
7.5. repet de la 3
8. dac S este un nod terminal etichetat cu problema neelementar
atunci
57
8.1. Eticheteaza nodul S nerezolvabil
8.2. Asociaz nodului S costul f(S) = inf
8.3. Recalculeaz f(S
i
) pe baza noului cost al lui S
8.4. dac f (S ) =
i
inf
atunci
8.4.1. Problema nu are soluie
8.4.2. intoarce INSUCCES
8.5. altfel
8.5.1. Elimin din FRONTIERA toate nodurile cu un predecesor nerezolvabil
8.5.2. repet de la 3
9. Expandeaz nodul S
9.1. Genereaz toi succesorii direci S
j
ai nodului S
9.2. pentru fiecare succesor S (1 j m)
j
s s al lui S execut
9.2.1. Stabilete legtura S S
j

9.2.2. dac S
j
reprezint o mulime de cel putin 2 subprobleme
atunci /* S
j
este nod I */
i. Genereaz toi succesorii subprobleme S (1 k n)
j
k
s s ai lui S
j

ii. Stabilete legturile ntre nodurile S S (1 k n)
j
k
j
s s ,
iii. Insereaz nodurile S (1 k n)
j
k
s s n FRONTIERA
9.2.3. altfel insereaz S
j
n FRONTIERA
9.3. Recalculeaza f(S) i f(S
k
) pentru toate nodurile predecesoare S
k
ale nodului S
10. repeta de la 3
sfrit.
Observaii:
- Dac se utilizeaz costul sum, la recalcularea valorii f(S
i
) nu este necesar reparcurgerea
ntregului arbore generat. Civa parametri auxiliari asociai predecesorului nodului S vor
permite calculul funciei f(S
i
) local i transmiterea acestei valori de la tata la fiu pentru
fiecare expandare de nod.
- Eficiena algoritmului depinde att de gradul de informare a funciei f ct i de
implementarea psului 6 n care, gsind cel mai promitor arbore soluie, trebuie s se
decid care nod din acest arbore va fi expandat. Dac arborele parial T construit este
ntr-adevr o parte din soluia optim, atunci alegerea nodului nu conteaz. n caz contrar,
58
cel mai bun nod ales va fi acela care va demonstra ct mai repede ca T nu este arborele
soluie optim.
- Dac se utilizeaz i funcia de evaluare a nodurilor f
n
, atunci n pasul 6 selecia
urmtorului nod de expandat se face pe baza valorilor acestei funcii.
Algoritmul prezentat determin arborele soluie optim innd cont de criteriul de cost
minim. Dac evaluarea soluiei se face n termenii calitii unei strategii de rezolvare a problemei,
arborele soluie optim trebuie redefinit astfel nct pentru un nod SAU selecia succesorului
preferat s se fac pe baza valorii maxime a funciei de evaluare.
Modul de calcul al funciei euristice f depinde de problema de rezolvat. De exemplu, pentru
problema cntririi monezilor prezentat n Sectiunea 2.2.3 se poate alege funcia f asociat unui
nod subproblem ca fiind estimarea efortului necesar pentru rezolvarea acestei subprobleme.
Funcia f se definete ca mai jos.

=
=
1,3 = j , S succesorii cu SI nod un este S daca ) f(S p
k 1, = j , S succesorii cu SAU nod un este S daca )] f(S + ) S [c(S,
elementara problema cu etichetat terminal nod este S daca 0
f(S)
j j
3
1 j
j
j j j
k 1, j
min

n formula, c(S,S )
j
este costul unui test reprezentat de legtura ntre nodul S i nodul S
j
iar p
1
, p
2
,
p
3
sunt probabilitile asociate celor trei rezultate posibile ale unui test de cntrire. Pentru
nodurile S
j
neevaluate, f(S
j
) va fi o valoare estimat care se va recalcula n funcie de expandarea
nodului S
j
. n acest caz se aplic criteriul de cost minim, deci definiia anterioar a arborelui
soluie cel mai promitor.
n cadrul teoriei jocurilor, reprezentarea soluiei problemei prin subprobleme este utilizat
pentru a descrie arborele de micri posibile a doi adversari care joac un joc. Dac se noteaz cu
v(S) ctigul obinut de juctorul 1 care a atins nodul terminal (ctigtor) S i se presupune ca
juctorul 2 acioneaz astfel nct s minimizeze ctigul primului juctor, funcia de evaluare se
poate defini astfel:

muta care cel este 2 jucatorul S nodul din daca )] [f(S


muta care cel este 1 jucatorul S nodul din daca )] [f(S
1 jucatorul pentru cistigator terminal nod este S daca v(S)
= f(S)
j
j
j
j
min
max

n acest caz definiia arborelui soluie cel mai promitor trebuie modificat astfel nct n
conditia (3) s se aleag succesorul pentru care f(S) are valoarea maxim. Se obine astfel
59
strategia de cutare MinMax, strategie utilizat n teoria jocurilor i prezentat pe scurt n
Sectiunea 1.5, n care funcia f apreciaz calitatea strategiei utilizat de juctorul 1.
2.4. Consideraii de complexitate a strategiilor de cutare
Toate problemele care implic o rezolvare prin cutare sunt supuse pericolului exploziei
combinaionale. Este greu de imaginat dimensiunea creterii combinaionale a unei rezolvri, deci
complexitatea exponenial. De exemplu, s-a estimat c numrul de stri al unui spaiu de cutare
complet n jocul de sah, n termenii numrului de micari posibile, este de 10
120
. Evident, orict
de performante ar fi sau ar putea deveni calculatoarele, este imposibil de investigat un astfel de
spaiu. n problema comis-voiajorului complexitatea unei cutari exhaustive a traseului optim
pentru N orae este de (N-1)!.
Toate strategiile de cutare au o complexitate timp exponenial pentru cazul cel mai
defavorabil. n cazul strategiilor de cutare informat posibilitatea atingerii cazului celui mai
defavorabil este mult redus, mai ales dac se alege o funcie euristic bine informat. S-au
propus mai multe variante de calcul a complexitii strategiilor de cutare. De cele mai multe ori
complexitatea algoritmilor de cutare este evaluat n funcie de factorul de ramificare. Factorul
de ramificare al unui spaiu de cutare, notat cu B, este definit ca numrul mediu de succesori
direci ai unei stri n acest spaiu. Numrul de stri posibil de generat pe un nivel de cutare d,
notat cu NS, se poate calcula n funcie de factorul de ramificare i este
d
d
B = NS . Odat calculat
factorul de ramificare, este posibil s se estimeze costul cutrii pentru a genera o cale de lungime
L. Notnd cu T numrul total de stri generate ntr-un proces de cutare, exist relaia
T B B ... B B( B 1) / (B 1)
2 L L
= + + + =
Complexitatea timp a unei strategii de cutare pe nivel este O(B )
d
deoarece se genereaz
toate strile de pe fiecare nivel i numrul total de stri generate este cel din formula de mai sus.
Complexitatea spaiu este deasemenea O(B )
d
deoarece toate nodurile de pe un anumit nivel
trebuie memorate, deci B
d-1
noduri sunt memorate la nivelul d-1 pentru a genera nodurile de pe
nivelul d. Aceast complexitate exponenial att a timpului ct i a spaiului este dezavantajul
principal al strategiei de cutare pe nivel.
Complexitatea timp a unei strategii de cutare n adncime este tot exponenial, deci
O(B )
d
. Spaiul utilizat de aceasta cutare este, n schimb, dependent liniar de lungimea cii de
cutare curent. Pentru fiecare nivel d-1 se memoreaz numai succesorii direci ai unei singure
stri, deci este nevoie de B*d stri memorate pentru a cuta pna la un nivel d. n consecin
complexitatea spaiu a cutarii n adncime este O(d).
Strategia de cutare n adncime cu nivel iterativ are o complexitate spaiu de O(d) deoarece
la fiecare iteraie se aplic politica de cutare n adncime. Dei s-ar prea c este mai puin
eficient din punct de vedere al timpului de cutare dect cutarea pe nivel sau cutarea n
60
adncime obinuit, complexitatea timp a cutrii n adncime cu nivel iterativ este de
acelai ordin de mrime, O(B )
d
. Deci aceast strategie reduce complexitatea spaiu la o
dependen liniar, dar garanteaza gsirea soluiei optime, spre deosebire de cutarea n adncime
care, dei de aceeasi complexitate spaial, poate pierde soluia. Cu toate c ordinul de
complexitate temporal este acelai, strategia de cutare n adncime cu nivel iterativ pierde totui
ceva mai mult timp fcnd calcule repetate pentru regenerarea strilor.
Determinarea factorului de ramificare al unui spaiu de cutare pentru a evalua
performanele unei strategii nu se poate face riguros. De exemplu, se consider din nou problema
mozaicului de 8 numere. Numrul total de micri este: 2 micri din fiecare col genereaz 8
micri, 3 micri din centrul fiecrei laturi genereaz 12 micri, i mai exist 4 micri posibile
din poziia central, n total 24 de micri posibile. Factorul de ramificare se obine prin
mprirea valorii 24 la 9, numrul de poziii diferite posibile ale ptratului liber, deci 2.67. Acest
factor de ramificare conduce la rezultate destul de proaste. Dac se elimina micrile care duc
direct dintr-o stare n starea ei anterioar, atunci exist o micare mai puin pentru fiecare stare,
ceea ce determin un factor de ramificare de 1.67. Aceast valoare este considerabil mai bun.
Factorul de ramificare poate fi semnificativ redus prin utilizarea strategiilor euristice. Cu ct o
funcie euristic este mai informat, cu att numrul de stri generate n cutare va fi mai mic.




Partea a II-a
Reprezentarea cunotinelor





61
Capitolul 3
Modelul logicii simbolice
Unul dintre primele i cele mai importante modele de reprezentare a cunotinelor n
inteligena artificial este logica simbolic. Logica simbolic a fost dezvoltat de logicieni ca o
metoda formal de raionament, n principal n domeniul matematicii, cel mai raspndit model
logic fiind logica cu predicate de ordinul I.
Logica cu predicate de ordinul I a fost folosit pentru prima dat ca metod de reprezentare
a cunotinelor n inteligena artificial n programul de demonstrare a teoremelor al lui Gilmore
i n programul "The Logic Theorist" al lui Newell, Shaw i Simon [1963]. Programul lui
Gilmore pentru demonstrarea teoremelor n logica cu predicate de ordinul I s-a bazat pe
rezultatele teoretice importante ale lui Herbrand [Chang,Lee,1973] care au stabilit condiiile n
care o mulime de formule (clauze) este inconsistent. n 1965 Robinson, plecnd de la rezultatele
lui Herbrand, a propus o metod mult mai eficient de stabilire a inconsistenei unei formule:
rezoluia. Aceasta metod i diversele ei rafinri ulterioare au devenit abordarea preferenial a
celor mai multe demonstratoare de teoreme dezvoltate pna n prezent.
Utilizarea logicii simbolice ca model de reprezentare a cunotinelor n inteligena artificial
este important deoarece ofer o abordare formal a rationamentului, cu fundamente teoretice
riguroase. Formalismul logic permite derivarea unor cunotine noi, plecnd de la cele existente,
pe baza deduciei i a demonstrrii teoremelor. Acest lucru faciliteaz automatizarea proceselor
de raionament i execuia inferenelor corecte i logic valide. Pe de alt parte, logica simbolic
este suficient de expresiv i flexibil pentru a permite reprezentarea cu acuratee a cunotinelor
problemei de rezolvat.
Rezolvarea problemelor n cadrul formalismului logic se bazeaz n special pe
demonstrarea teoremelor. Exist dou abordri importante n demonstrarea teoremelor: metodele
sintactice i metodele semantice.
Metodele sintactice de demonstrare a teoremelor se bazeaz pe procedee mecanice de
aplicare a regulilor de inferen i sunt independente de domeniul de interpretare al formulei.
Aceste metode pot fi uor automatizate i constituie baza tuturor programelor de demonstrare a
teoremelor.
Metodele semantice de demonstrare a teoremelor se bazeaz pe utilizarea sistematic a
valorilor de adevr ale formulelor i depind de domeniul de interpretare fixat. Deoarece domeniul
de interpretare al unei formule este de multe ori infinit, aceste metode sunt greu algoritmizabile.
62
Reprezentarea cunotinelor n logic se bazeaz n esen pe urmtoarele dou
componente:
- Crearea structurilor formale care reprezint fapte de baz, inferene i alte tipuri de
cunostine, numite structuri presupuse.
- Aplicarea regulilor de inferen ale sistemului logic pentru a compara, combina i obine
din aceste structuri presupuse (date) noi structuri, numite structuri deduse.
De exemplu, enuntul "Toi studentii de la calculatoare tiu s programeze" poate fi exprimat
n logica cu predicate de ordinul I astfel:

( x) (StudentLaCalculatoare(x) Programeaza(x))

Dac se tie n plus ca Radu este student la calculatoare, deci

e(Radu) alculatoar StudentLaC

se poate concluziona pe baza celor dou structuri presupuse noua structur
a(Radu) Programeaz
3.1 Logica propoziional
Logica propoziional este un caz particular al logicii cu predicate de ordinul I. Elementele de
baz ale logicii propoziionale sunt propoziiile, numite i atomi sau propoziii simple.
Urmtoarele enunuri sunt propoziii:
Maina este alb P
Oamenii triesc pe lun Q
Notaiile din dreapta reprezint simbolic propoziiile enuntate. O propoziie poate fi adevrat sau
fals, deci poate avea dou valori de adevr. De exemplu, propoziia P este adevrat i propoziia
Q este fals. Atta timp ct se admit doar dou valori de adevr pentru o propoziie, adevrat i
fals, logica se numeste logic clasic sau logic bivalent. Acceptarea unui numr mai mare de
valori conduce la logici polivalente (neclasice).
3.1.1 Sintaxa logicii propoziionale
Propoziiile simple sau atomii sunt compozabile. Ele se pot combina, dnd natere la noi
propoziii care sunt, la rndul lor, adevrate sau false. Propoziiile combinate se formeaz din
atomi folosind conectorii logici. Conectorii logici indic operaiile de asociere sau combinare care
sunt cele mai frecvente n vorbire sau raionament. De exemplu, din dou propoziii simple
63
Mihaela este frumoas P
1

Mihaela este bun P
2

se poate forma propoziia compus
Mihaela este frumoas i Mihaela este bun
notat cu P P
1 2
. . n continuare se vor folosi urmtoarele simboluri pentru conectorii logici:
~ negaie
. conjuncie
v disjuncie
implicaie simpl
implicaie dubl
n consecin, alfabetul logicii propoziionale este format din simbolurile care desemneaz atomii,
conectorii logici i alte simboluri cum ar fi parantezele. n plus exist dou simboluri speciale
pentru desemnarea valorilor logice de adevrat i fals, notate prin convenie cu a, respectiv f.
Limbajul logicii propoziionale se construiete pornind de la definiia alfabetului i
definind regulile corecte de formare a cuvintelor limbajului cu simboluri din alfabet. Un cuvnt n
acest limbaj se numeste formul bine format.
Definiie. O formul bine format n calculul propoziional se definete recursiv astfel:
(1) Un atom este o formul bine format
(2) Dac P este formul bine format, atunci ~P este formul bine format.
(3) Dac P i Q sunt formule bine formate atunci P.Q, PvQ, PQ i PQ sunt
formule bine formate.
(4) Mulimea formulelor bine formate este generat prin aplicarea repetat a regulilor
(1)(3) de un numr finit de ori.
O formul bine format se scrie riguros utiliznd paranteze. De obicei se omit aceste
paranteze ori de cte ori absena lor nu da natere la confuzii, innd cont de precedena
conectorilor logici. Precedena conectorilor logici, n ordine descresctoare, este: ~, ., v, , .
Exemple:
1. (P ) nu este o formul bine format.
2. (P (Q (~ R))) . este o formul bine format i poate fi scris P (Q ~ R) . .
64
3. ((P (~ Q R) (Q S))) . v este o formul bine format i poate fi de asemenea
scris P (~ Q R) (Q S) . v .
3.1.2 Semantica logicii propoziionale
Semantica sau nelesul unei propoziii este valoarea de adevrat sau fals a acesteia, adic
atribuirea unei valori de adevr acelei propoziii pe baza unei funcii de evaluare a propoziiei.
Definiie. Se numeste interpretare a unei formule bine formate atribuirea de valori de adevr
fiecrui atom din formul. Altfel spus, o interpretare specific funciile de evaluare ale tuturor
atomilor componeni ai formulei.
Exemplu. Fie formula (P ~ Q) . i o interpretare I
1
care asigneaz valorile de adevr a lui P i f
lui Q. n aceasta interpretare formula este adevrat. O interpretare diferit I
2
asigneaz valorile
de adevr a lui P i a lui Q, formula fiind fals n aceast interpretare. Evident, exist patru
interpretri distincte pentru aceast propoziie.
Funcia de evaluare a unei formule asociaz formulei o unic valoare de adevr, pe baza
valorilor de adevr ale atomilor componeni ai formulei, utiliznd regulile de evaluare ale
conectorilor logici, reguli specificate de obicei prin tabele de adevr. Deoarece se refer la
semantica formulei, aceste reguli se mai numesc i reguli semantice. n continuare se va nota
valoarea de adevr a unei formule P cu P
v
. Odat ce s-a stabilit o interpretare unei formule,
valoarea ei de adevr poate fi determinat. Aceasta se poate face prin aplicarea repetat a
regulilor semantice asupra unor poriuni din ce n ce mai mari ale formulei, pna cnd se
determin o singur valoare de adevr pentru formul. Regulile semantice sunt prezentate n
Figura 3.1.
Regula Propozitie
adevarata
Propozitie
falsa
1
2 ~ ~
3 A A' F P
4 A P P F
5 P A F F'
6 P A A F
7 F P A F
8 A A' F A
9 F F'
A si A' reprezinta propozitii adevarate .
F si F' reprezinta propozitii false .
P reprezinta orice propozitii .
a f
f a
. .
v .
v v



Figura 3.1 Regulile semantice ale formulelor bine formate n calculul propoziional
65
Se observ ca Figura 3.1 reprezint concis regulile de evaluare ale conectorilor logici. De
exemplu, semnificaia tabelelor de adevr ale conectorilor logici . i

P
Q
a
f
a f
a f
f f
P Q
P
Q
a
f
a f
a f
f a
P
Q

este surprins de regulile 3, 4, 8 i 9 din Figura 3.1. n aceste conditii se poate gsi semnificaia
unei propoziii fiind dat o interpretare I pentru acea propoziie.
Exemplu. Fie formula ((P ~ Q) R) Q . v i interpretarea I: P adevrat, Q fals i R fals. Atunci:
prin aplicarea regulii 2 ~Q adevrat
prin aplicarea regulii 3 P ~ Q . adevrat
prin aplicarea regulii 6 (P ~ Q) R . fals
prin aplicarea regulii 5 ((P ~ Q) R) Q . v fals
Deci valoarea de adevr P
V
a formulei n interpretarea I este fals.
3.1.3 Proprietile propoziiilor
Pe baza funciei de evaluare i a domeniului de interpretare se pot specifica urmtoarele
proprieti ale formulelor bine formate:
- O formul bine format este valid sau tautologie dac formula are valoarea adevrat n
orice interpretare.
- O formul bine format este inconsistent (contradicie, nerealizabil) dac formula are
valoarea fals n orice interpretare.
- O formul bine format este realizabil sau consistent dac exist cel putin o
interpretare n care formula are valoarea adevrat.
- Dou formule sunt echivalente dac au aceeai valoare de adevr n orice interpretare.
Figura 3.2 prezint intuitiv aceste proprieti ale formulelor bine formate.
66
Consistenta = Realizabila
P
v
= uneori
Valida = Tautologie
P
v
= intotdeauna
Nevalida
P
v
= uneori
Contradictie = Nerealizabila
P
v
= intotdeauna
a
a
f
f

Figura 3.2 Realizabilitatea formulelor bine formate
Realizarea raionamentului ntr-un sistem logic implic existena unui mecanism de obinere
a noi formule pe baza formulelor existente, deci de extindere consistent a cunotinelor
universului problemei.
Definiie. O formul F este o consecin logic a unei formule P dac F are valoarea adevrat n
toate interpretrile n care P are valoarea adevrat. Definiia se poate extinde i n cazul a n
formule. O formul F este consecin logic a unei mulimi de formule P , P , ... , P
1 2 n
dac formula
F este adevrat n toate interpretarile n care P , P , ... , P
1 2 n
sunt adevrate.
Consecina logic se noteaza P , P , ... , P F
1 2 n
.
Exemple:
1. P este o formul realizabila dar nu este valid deoarece o interpretare care atribuie fals lui
P atribuie fals i formulei P.
2. P ~ P v este o formul valid deoarece pentru orice interpretare, formula (P ~ P) v este
adevrat.
3. P ~ P . este o contradicie deoarece pentru orice interpretare, formula (P ~ P) . este
fals.
4. P i ~(~P) sunt formule echivalente deoarece fiecare are aceeasi valoare de adevr pentru
orice interpretare.
5. P este o consecin logic a formulei (P Q) . deoarece pentru orice interpretare n care
(P Q) . este adevrat, P este totdeauna adevrat.
67
Noiunea de consecin logic ofer o modalitate de a realiza inferene valide n
logica propoziional. Urmtoarele dou teoreme stabilesc criteriile n funcie de care o formula
este o consecin logic a unui set de formule.
Teorema. Formula F este consecina logic a unei mulimi de formule P , P , ... , P
1 2 n
dac formula
P P ... P F
1 2 n
. . . este valid.
Demonstraie.
() Dac F este o consecin logic a mulimii de formule P , P ,..., P
1 2 n
, atunci pentru orice
interpretare I n care P , P ,..., P
1 2 n
sunt adevrate, deci formula P P ... P
1 2 n
. . . este adevrat, F
este de asemenea adevrat prin definiie. Deci P P ... P F
1 2 n
. . . este adevrat pentru astfel
de interpretari. Pentru interpretarile n care P P ... P
1 2 n
. . . este fals, P P ... P F
1 2 n
. . . este
adevrat conform regulii 7 din Figura 3.1. Rezult de aici ca P P ... P F
1 2 n
. . . este adevrat
n orice interpretare, deci este formula valid.
(:) Dac P P ... P F
1 2 n
. . . este valid, atunci pentru orice interpretare I pentru care
P P ... P
1 2 n
. . . este adevrat, deci n care i P , P ,..., P
1 2 n
sunt adevrate, F este adevrat, deci F
este o consecin logic a mulimii de formule P , P ,..., P
1 2 n
.
Teorema. Formula F este consecin logic a unei mulimi de formule P , P , ... , P
1 2 n
dac formula
P P ... P ~ F
1 2 n
. . . . este inconsistent.

Demonstratie.
Demonstraia acestei teoreme se face pe baza primei teoreme. Conform acesteia, F este o
consecin logic a mulimii de formule P , P ,..., P
1 2 n
dac i numai dac P P ... P F
1 2 n
. . . este
valid, adic dac i numai dac ~ (P P ... P F)
1 2 n
. . . este inconsistent.

~ (P P ... P F) ~ ~ (P P ... P ) F) ~ ~ (P P ... P )) ~ F
1 2 n 1 2 n 1 2 n
. . . . . . v . . . . ( (
P P ... P ~ F
1 2 n
. . . . , deci teorema este demonstrata.
Aceste dou teoreme prezint o importan deosebit n raionamentul logic, deoarece
problema stabilirii consecinelor logice se reduce la problema demonstrrii validitii sau a
inconsistenei unei formule bine formate. Aceast idee este important i reprezint esena tuturor
metodelor de demonstrare automat a teoremelor n logica simbolic, aa cum se va vedea n
Seciunea 3.3.
O posibilitate de a determina echivalena a dou formule este utilizarea tabelelor de adevr.
Se observ c demonstraia celei de a doua teoreme s-a fcut utiliznd echivalena formulelor
logice. De exemplu, pentru a arta c P Q este o formul echivalent cu ~ P Q v , se poate
construi urmtoarea tabel de adevr.
68
P Q P Q ~ P ~ P Q v
a a a f a
a f f f f
f a a a a
f f a a a

In tabelul urmtor sunt prezentate cteva legi importante de echivalen n logica
propoziional.
Idempotenta P P P P P P
Asociativitate (P Q) R P (Q R) (P Q) R P (Q R)
Comutativitate P Q Q P P Q Q P P Q Q P
Distributivitate P (Q R) (P Q) (P R) P (Q R) (P Q) (P R)
De Morgan ~ (P Q) ~ P ~ Q ~ (P Q) ~ P ~ Q
Eliminarea
implicatiei
P Q ~ P Q
Eliminarea
implicatiei duble
P Q (P Q) (Q P)
v .
v v v v . . . .
v v . .
. v . v . v . v . v
v . . v
v
.

3.1.4 Proprietile conectorilor
Definiie. O mulime de conectori logici se numeste mulime adecvat dac orice formul logic
poate fi exprimat folosind numai conectorii acestei mulimi.
Mulimea {~, , } . v este o mulime adecvat de conectori. De asemenea, perechile {~, } . ,
{~, } v i {~, } sunt i ele mulimi adecvate de conectori. Nici o alt pereche de conectori din
mulimea {~, , , , } . v nu este o mulime adecvat de conectori; de exemplu { } ~, nu este o
mulime adecvat.
69
Se pune problema minimalitii unei mulimi de conectori, respectiv se pune
ntrebarea "Exist mulimi adecvate formate dintr-un singur conector?". Exist doi conectori,
care, fiecare n parte, formeaz o mulime adecvat de conectori.
Conectorul lui Nicod, numit i Nor i notat cu +, permite definirea urmtoarelor formule de
echivalen: P P = P ~ + i Q) (Q P) (P = Q P + + + . , ceea ce face ca } {+ sa fie o mulime
adecvat. Conectorul are tabela de adevr:
P Q P Q
a
a
f
f
a
f
a
f
f
f
f
a

Conectorul lui Sheffer, numit incompatibilitate, i notat cu |, este definit prin urmtoarea
formul: P Q =~ P ~ Q | v , ceea ce nseamn c P Q | este adevrat cnd cel puin un atom este
fals. Sunt adevrate formulele: ~ P = P P | i P Q (P P) (Q Q) . = | | | , ceea ce face ca {|} s fie o
mulime adecvat. Conectorul are tabela de adevr:
P Q P Q
a
a
f
f
a
f
a
f
f
a
a
a

Semnificaia anumitor conectori a fost mult discutat n logic. De exemplu, disjuncia
introduce ambiguitatea. Exist dou tipuri de disjuncie, disjuncia simpl i disjuncia exclusiv,
notat de obicei cu . Urmtoarele formule definesc disjuncia exclusiv:
(P Q) =(P ~ Q) (Q ~ P) . v .
(P Q) =(P Q) (~ P ~ Q) v . v
Replicaia, notat
*
, este folosit pentru a elimina argumentaiile care nu sunt de acord
cu semnificaia implicaiei logice conform creia falsul implic orice i adevrul este implicat de
orice. Tabela de adevr a replicaiei este prezentat mai jos, comparativ cu cea a implicaiei.
P Q P Q
*
a
a
f
f
a
f
a
f
a
f
a
a
a
a
f
a
P Q

70
3.1.5 Reguli de inferen n logica propoziional
Regulile de inferen n logica propoziional ofer o modalitate de a realiza demonstraii logice
sau deducii. Fiind dat o mulime de formule P ={P , P ,..., P }
1 2 n
, problema este de a demonstra
adevrul unei formule F, numit concluzie sau teorem, pe baza formulelor din P, numite axiome
i utiliznd regulile de inferen.
Metodele sintactice de demonstrare a teoremelor, care nu se bazeaz pe atribuirea de valori
de adevr atomilor din formul, utilizeaz reguli de inferen sintactice. Aceste reguli de
inferen, logic valide, permit obinerea de noi formule din mulimea de formule iniiale numai pe
baza unor operatii sintactice. Cele mai importante reguli de inferen (deducie) n logica
propoziional sunt:
(1) Modus Ponens
Q
Q P
P


(2) Substituia. Dac P este o formul valid, formula P' obinut din P prin substituia
consistent a atomilor din P este de asemenea valid.
Exist dou tipuri de substituie: substituia uniform, n care o variabil se nlocuiete peste
tot cu aceeai formul (echivalent cu ea sau nu) i substituia prin echivalen, n care se poate
nlocui fiecare apariie a unei variabile cu o alt formul, dar aceste formule trebuie s fie
echivalente cu variabila substituit.
Exemplu. Formula P ~ P v este valid; atunci formula Q ~ Q v este de asemenea valid prin
aplicare regulii de substituie uniform.
(3) Regula nlnuirii
R P
R Q
Q P



(4) Regula conjunciei
Q P
Q
P
.


(5) Regula transpoziiei
P ~ Q ~
Q P


Observaie. Aceste reguli de inferen pstreaz caracterul de tautologie al formulelor obinute
prin aplicarea lor, dac formulele de plecare sunt tautologii.
3.2 Logica cu predicate de ordinul I
Modelul de reprezentare a cunotinelor n programele de inteligen artificial trebuie s posede
un grad mare de flexibilitate pentru a putea reprezenta adecvat domeniul discursului. Logica
71
propoziional nu are aceasta proprietate deoarece nu permite exprimarea propriettilor
obiectelor i a relaiilor existente ntre obiecte, i nici generalizarea enunurilor la clase de obiecte
cu caracteristici similare.
Logica cu predicate de ordinul I a fost dezvoltat tocmai pentru a da posibilitatea exprimrii
raionamentelor despre obiecte complexe sau clase de obiecte i despre relaiile existente ntre ele.
Aceast generalizare se face pe baza introducerii predicatelor n locul propoziiilor, a utilizrii
funciilor, a variabilelor i a cuantificatorilor de variabile.
3.2.1 Sintaxa logicii cu predicate de ordinul I
Alfabetul logicii cu predicate de ordinul I conine simboluri pentru reprezentarea constantelor,
notate prin convenie cu litere mici de la nceputul alfabetului (a, b, c, ... ), variabilelor, notate
prin convenie cu litere mici de la sfritul alfabetului ( x, y, z, ... ), funciilor, notate cu f , g, ...,
predicatelor, notate cu P, Q, R, ..., a conectorilor i a cuantificatorilor logici. Conectorii logici
folosii n logica cu predicate de ordinul I sunt: ~, , , . v i , iar cuantificatorii sunt
cuantificatorul existenial (-) i cuantificatorul universal ().
n cazul logicii cu predicate de ordinul I, predicatele sunt funcii logice de mai multe
argumente, argumentele predicatelor numindu-se termeni.
Definiie. Fie D un domeniu de valori. Un termen se definete astfel:
(1) O constant este un termen cu valoare fix aparinnd domeniului D.
(2) O variabil este un termen ce poate primi valori diferite din domeniul D.
(3) Dac f este o funcie de n argumente ( f : D D)
n
i t , ... , t
1 n
sunt termeni, atunci
f ( t , ... , t )
1 n
este termen.
(4) Toi termenii sunt generati prin aplicarea regulilor (1)(3).
Definiie. Se numete predicat de aritate n o funcie P de n argumente cu valori adevrat sau
fals, P: D { , }
n
a f . Un predicat de aritate 0 este o propoziie, numit i predicat constant.
Definiie. Dac P este un predicat de aritate n i t , ... , t
1 n
sunt termeni, atunci P( t , ... , t )
1 n
se
numeste atom sau formul atomic. Nici o alt expresie nu poate fi atom.
Definiie. Se numete literal un atom sau un atom negat.
Definiie. O formul bine format n logica cu predicate de ordinul I se definete astfel:
(1) Un atom este o formul bine format.
72
(2) Dac P este o formul bine format atunci: ~ P, ( x) P( x), ( x) P( x) -
sunt formule bine formate.
(3) Dac P i Q sunt formule bine formate atunci: P Q, P Q, P Q, P Q . v sunt
formule bine formate.
(4) Orice formul bine format este generat prin aplicarea de un numr finit de ori a
regulilor (1)(3).
O reprezentare intuitiv a modului de construire a cuvintelor, deci a formelor bine formate
n limbajul logicii cu predicate de ordinul I, este prezentat n Figura 3.3. n continuare se vor
omite parantezele din formule ori de cte ori aceasta nu creeaz ambiguitate. De asemenea, n
anumite condiii, se va folosi x i -y n loc de ( x) i ( y) - .
Constante Variabile Functii
a x f(x, a)
Termeni Predicate
P
Formule atomice
P(a, x)
Formule atomice negate
~P(a, x)
Literali Cuantificatori Conectori logici
-,
~, ., v,,
Formule bine formate

Figura 3.3 Construcia formulelor bine formate n logica cu predicate de ordinul I
Exemple:
1. ( x)( y)( z)(Tata(x, y) Tata(y, z) Bunic(x, z)) - - - . este o formul bine format.
Tata(x, y), Tata(y, z) i Bunic(x, z) sunt literali, n acest caz literali pozitivi deci
nenegati. x, y, z sunt variabile.
2. ( x)( y)(Egal(y, f(x)) ( z)(Egal(z, f (x)) Egal(y, z))) - v este o formul bine format.
x, y i z sunt variabile, f(x) functie, toate fiind considerate termeni. Egal(y, f(x)) este un
literal.
73
3. ( x)(Vinzator (x) ~ Onest(x)) - este o formul bine format. Vinzator(x) i
~ Onest(x) sunt literali, primul pozitiv i cel de al doilea negativ.
4. ( P)(P(x) Q(x)) nu este o formul bine format deoarece cuantificatorii nu pot fi
aplicai predicatelor. Acest lucru este posibil numai n logicile de ordin superior (logici de
ordinul II).
5. Om(~ aristotel) nu este o formul bine format deoarece negaia nu poate fi aplicat unei
constante si, n general, nici unui termen.
6. ( x)( y)Casatorit(Barbat(x), Femeie(y)) - - nu este o formul bine format deoarece
argumentele predicatelor nu pot fi predicate.
Definiie. O formul bine format este n forma normal conjunctiv, pe scurt FNC, dac
formula are forma F F ... F
1 2 n
. . . , unde F , i =1, n
i
este o formul format dintr-o disjunctie de
literali.
Definiie. O formul bine format este n forma normal disjunctiv, pe scurt FND, dac formula
are forma F F ... F
1 2 n
v v v , unde F , i =1, n
i
este o formul format dintr-o conjuncie de literali.
De exemplu, (~ P Q R) (~ P ~ Q) v v . v este o formul n forma normal conjunctiv, iar
(P Q R) (~ P ~ Q) . . v . este o formul n forma normal disjunctiv.
3.2.2 Semantica logicii cu predicate de ordinul I
Similar logicii propoziiilor, semantica unei formule bine formate n logica cu predicate de
ordinul I se poate stabili pe baza domeniului de interpretare al formulei. Domeniul de interpretare
este mulimea tuturor obiectelor din care se selecteaz constantele, variabilele i care stabilete
domeniul de definiie i domeniul de valori ale funciilor din formule. Dac nu este exprimat
explicit, domeniul de interpretare se deduce din context, putnd fi i infinit. Odat stabilit
domeniul de interpretare, se poate specifica interpretarea unei formule bine formate, deci se poate
afla valoarea ei de adevr n acea interpretare.
Definiie. Interpretarea unei formule F n logica cu predicate de ordinul I const n fixarea unui
domeniu de valori nevid D i a unei asignri de valori pentru fiecare constant, funcie i predicat
ce apar n F astfel:
(1) Fiecrei constante i se asociaz un element din D.
(2) Fiecrei funcii f, de aritate n, i se asociaz o coresponden D D
n
, unde
D = (x ,..., x )|x D,..., x D}
n
1 n 1 n
{ e e .
(3) Fiecrui predicat de aritate n, i se asociaz o coresponden } , { D : P
n
f a .
74
Exemplu. Fie urmtoarea formul bine format ( x)(((A(a, x) B(f (x))) C(x)) D(x)) v . cu
domeniul de interpretare D={1,2} i urmtoarea interpretare I:
a
2
f (1) f (2)
2 1
A(2,1) A(2, 2) B(1) B(2) C C D D ( ) ( ) ( ) ( ) 1 2 1 2
a f a f a f f a

Pentru a stabili valoarea de adevr a formulei se consider:
- x =1 (( ) ) a f a f v . fals
- x = 2 (( ) ) f a f a v . adevrat
In consecin, deoarece formula nu este adevrat pentru orice x din domeniul de
interpretare D, expresia are valoarea de adevr fals.
Odat stabilite sintaxa i semantica logicii cu predicate de ordinul I, aceasta poate fi utilizat
pentru a reprezenta cunotine. n continuare se dau exemple de transformare a unor enunuri din
limbaj natural n logica cu predicate de ordinul I.
Fie urmtoarele patru enunuri, dintre care primele trei sunt axiome i cel de-al patrulea este
teorema de demonstrat, sau concluzia.
(1) Oricine poate citi este literat.
(2) Delfinii nu sunt literai.
(3) Anumii delfini sunt inteligeni.
(4) Exist inteligeni care nu pot citi.
Exprimnd cele patru propoziii n logica cu predicate de ordinul I se obine:
(A1) ( x)(Citeste(x) Literat(x))
(A2) ( x)(Delfin(x) ~ Literat(x))
(A3) ( x)(Delfin(x) Inteligent (x)) - .
(A4) ( x)(Inteligent (x) ~ Citeste(x)) - .
unde cu Citeste(x) s-a notat aseriunea "x poate citi", cu Delfin(x) "x este delfin", cu Literat(x) "x
este literat" i cu Inteligent(x) "x este inteligent". Domeniul de interpretare al acestor formule este
considerat implicit mulimea tuturor fiintelor.
Fie axiomele de baz ale numerelor naturale:
75
(1) Pentru fiecare numr natural exist un unic succesor imediat.
(2) Nu exista nici un numr natural pentru care 0 este succesorul imediat.
(3) Pentru orice numr natural diferit de zero, exist un unic predecesor imediat.
Utiliznd funcia s(x) pentru a desemna succesorul imediat al lui x, funcia p(x) pentru
predecesorul imediat al lui x i predicatul Egal(x, y) pentru a exprima aseriunea "x este egal cu
y", se obtine urmtoarea exprimare a axiomelor numerelor naturale n logica cu predicate de
ordinul I.
(A1) ( x)( y)(Egal(y,s(x)) ( z)(Egal(z,s(x)) Egal(y, z))) - .
(A2) ~ (( x)(Egal(0,s(x)))) -
(A3) ( x)(~ Egal(x,0) (( y)(Egal(y, p(x)) ( z)(Egal(z, p(x)) Egal(y, z))))) - .
Domeniul de interpretare al acestor formule este evident mulimea numerelor naturale, iar
funciile s(x) i p(x) sunt definite n consecin.
ntr-o formul variabilele pot fi variabile libere sau legate. O variabil este legat ntr-o
formul dac exista un cuantificator ce o refera. n caz contrar, variabila este libera. O formul
care conine variabile libere nu poate fi evaluat. De exemplu, formula ( x)(P(x, y) Q(a, z))
nu poate fi evaluat deoarece nu se cunoate cuantificarea lui y i nici cea a lui z. Variabila x este
legat, iar variabilele y i z sunt libere.
3.2.3 Proprietile formulelor bine formate
Proprietile formulelor bine formate n logica cu predicate de ordinul I sunt aceleai ca i n
logica propoziiilor: validitate, inconsisten, realizabilitate, echivalena formulelor, consecina
logic. Definiiile sunt similare dar, de aceast dat, trebuie s se considere interpretrile pentru
toate domeniile de interpretare posibile ale formulelor. De exemplu, formula:
( x)(((A(a, x) B(f (x))) C(x)) D(x)) v .
din seciunea anterioar nu este o tautologie, deci nu este valid, deoarece exist cel puin o
interpretare pentru care ea este fals. Formula ( x)(P(x) ~ P(x)) . este inconsistent sau
contradicie deoarece nu exist nici o interpretare pentru care aceast formul sa fie adevrat.
Formula ( x)(P(x) ~ P(x)) v este ns valid, deoarece ea este adevrat indiferent de
interpretare.
Fie urmtoarele dou formule:
(A1) Bun(roco)
76
(A2) ( x)(Bun(x) Iubit (x))
Se poate arta ca formula Iubit (roco), unde roco este o constant, este o consecin logic a
formulelor (A1) i (A2). Sa presupunem ca att (A1) ct i (A2) sunt adevrate ntr-o interpretare
I. Atunci formula (Bun(roco) Iubit (roco)) este adevrat deoarece (A2) specifica pentru
"orice x" din domeniu. Dar se stie ca Bun(roco) este adevrat n interpretarea I pe baza lui (A1),
deci rezulta ca Iubit (roco) este adevrat deoarece adevrat nu poate implica fals. S-a demonstrat
c pentru orice interpretare n care (A1) i (A2) sunt formule adevrate i formula Iubit (roco)
este adevrat, deci Iubit (roco) este o consecin logic a formulelor (A1) i (A2).
Echivalena formulelor poate fi stabilit utiliznd legile de echivalena din logica cu
predicate de ordinul I prezentate n Figura 3.4. n figura s-au notat cu Q i Q , i =1,2
i

cuantificatorii universal i existenial.
Echivalenta conectorilor logici
Negarea
negatiei
~ (~ P) P
Idempotenta P P P P P P
Asociativitate (P Q) R P (Q R) (P Q) R P (Q R)
Comutativitate P Q Q P P Q Q P P Q Q P
Distributivitate P (Q R) (P Q) (P R) P (Q R) (P Q) (P R)
De Morgan ~ (P Q) ~ P ~ Q ~ (P Q) ~ P ~ Q
Eliminarea
implicatiei
P Q ~ P Q
Eliminarea
implicatiei duble
P Q (P Q) (Q

v .
v v v v . . . .
v v . .
. v . v . v . v . v
v . . v
v
. P)

Figura 3.4 Legi de echivalen a formulelor n logica cu predicate de ordinul I
Echivalenta cuantificatorilor
(Qx)F[x] G (Qx)(F[x] G) (Qx)F[x] G (Qx)(F[x] G)
~ (( x)F[x]) ( x)(~ F[x]) ~ (( x)F[x]) ( x)(~ F[x])
( x)F[x] ( x)H[x] ( x)(F[x] H[x]) ( x)F[x] ( x)H[x] ( x)(F[x] H[x])
(Q x)F[x] (Q x)H[x
1 2
v v . .
- -
. . - v - - v
. ] (Q x)(Q z)(F[x] H[z]) (Q x)F[x] (Q x)H[x] (Q x)(Q z)(F[x] H[z])
1 2 1 2 1 2
. v v

Figura 3.4 (continuare) Legi de echivalen a formulelor n logica cu predicate de
ordinul I
77
n toate exemplele menionate mai sus s- au folosit metode semantice pentru stabilirea
caracterului formulelor. n seciunea urmtoare se vor discuta metode semantice pentru realizarea
deduciilor i stabilirea caracterului unei mulimi de formule. Dup cum se observ din exemplele
de mai sus, inspectarea tuturor interpretrilor unei formule peste toate domeniile posibile poate fi
deosebit de dificil, dac nu imposibila n anumite cazuri, deci o astfel de abordare este greu de
automatizat.
3.2.4 Reguli de inferen n logica cu predicate de ordinul I
Regulile de inferen sintactice din logica propoziional prezentate n Sectiunea 3.1.5, Modus
Ponens, substituia, nlnuirea, conjuncia i transpoziia, pot fi generalizate n cazul logicii cu
predicate de ordinul I. De exemplu, regula Modus Ponens are urmtoarea forma:
Modus Ponens
P(a)
( x)(P(x) Q(x))
Q(a)


Se observ c s-a fcut substituia lui a cu x, ceea ce a fost posibil deoarece P(x)Q(x) este
adevrat pentru orice interpretare.
Regula substituiei poate avea forme mai sofisticate n cazul logicii cu predicate de ordinul
I. Aceste forme vor fi discutate n seciunea urmtoare. Tot n aceeai seciune se prezint n
detaliu i rezoluia, regula de inferen sintactic important.
Regulile de inferen prezentate sunt reguli deductive, deci valide. Ele pstreaz caracterul
de tautologie al formulei. n programele de inteligen artificial se folosesc ns i reguli de
inferen nedeductive, numite i invalide deoarece rezultatele obtinute pe baza acestor reguli nu
sunt intotdeauna adevrate. Aceste reguli pot fi ns utile n numeroase cazuri, dei nu garanteaz
corectitudinea rezultatului obinut. n continuare se prezint cteva astfel de reguli de inferen
invalide, dar utilizate:
(1) Inferena abductiv. Inferena abductiv se bazeaz pe utilizarea cunotinelor
cauzale pentru a explica sau a justific o concluzie, posibil invalid. Inferena
abductiv are urmtoarea form:

Q(a)
( x)(P(x) Q(x))
P(a)


De exemplu, din formulele:
SeLeagana(radu)
( x)(Beat(x) SeLeagana(x))
78
se poate infera (deduce) Beat(radu) dei s-ar putea ca Radu sa se legene
datorit unui cutremur de pamnt.
(2) Inferena inductiv. Inferena inductiv se bazeaz pe ideea c o proprietate
adevrat pentru o submulime de obiecte dintr-o clas este adevrat pentru toate
exemplele din acea clas. Inferena inductiv are forma:

P(a ), P(a ),..., P(a )
( x)P(x)
1 2 n


De exemplu, dup ce se constat c cele mai multe lebede sunt albe, se poate infera
prin inducie ca toate lebedele sunt albe, dei exist i lebede negre, cum ar fi unele
dintre cele care cresc n Australia.
(3) Inferena analogic. Inferena analogic este o form de inferen bazat pe
experien i se bazeaz pe ideea conform creia situaii sau entiti care tind s fie
asemntoare sub anumite aspecte sunt asemntoare n general. Inferena analogic
este de fapt o combinaie a celorlalte forme de inferen: abductive, deductive i
inductive. Inferena analogic are forma:

P(x) Q(x)
P' (x) Q' (x)
r
r



Toate aceste trei forme de inferen sunt invalide, dar reprezint modaliti de simulare a
raionamentului de bun sim. Ele sunt folosite n inteligena artificial, mai ales n cazul
programelor de nvare automat.
3.2.5 Rezolvarea problemelor n cadrul formalismului logic
Pentru a putea investiga cum se rezolv problemele n logica cu predicate de ordinul I i puterea
expresiv a acestui model de reprezentare a cunotinelor, se consider urmtorul exemplu. Fie
mulimea de enunturi:
(1) Marcus era om.
(2) Marcus era pompeian.
(3) Toti pompeenii erau romani.
(4) Cezar era dictator.
(5) Toti romanii fie erau devotai lui Cezar, fie l urau.
(6) Fiecare om este devotat cuiva.
79
(7) Oamenii ncearc sa asasineze dictatorii fa de care nu sunt devotai.
(8) Marcus a ncercat s-l asasineze pe Cezar.
Faptele descrise de aceste propoziii pot fi reprezentate sub forma de formule bine formate n
calculul cu predicate de ordinul I astfel:
(1) Marcus era om se exprima sub forma:
(A1) Om(marcus)
Aceast reprezentare surprinde elementul esenial al propoziiei, i anume faptul ca Marcus
era om, dar nu exprim informaia coninut n limbaj natural despre timpul trecut utilizat. Pentru
exemplul considerat aceast informaie este nerelevant, dar n alte cazuri ea ar putea s conteze,
deci ar trebui extins reprezentarea n consecin.
(2) Marcus era pompeian se exprim sub forma:
(A2) Pompeian(marcus)
(3) Toti pompeenii erau romani se exprim sub forma:
(A3) ( x)(Pompeian(x) Roman(x))
Conform conveniei fcute x este o variabil, n timp ce simbolul marcus utilizat n (A1) i
(A2) este o constant.
(4) Cezar era dictator se exprim sub forma:
(A4) Dictator(cezar)
Tot conform conveniei fcute, simbolul cezar este considerat o constant. n plus, se face
presupunerea implicit c exista un unic individ care se numete Cezar n universul problemei de
rezolvat.
(5) Toti romanii erau fie devotai lui Cezar fie l urau. Pentru a exprima aceast propoziie, innd
cont de semantica ei, nu se poate folosi conectorul logic v care are semnificatia de "sau inclusiv",
ci trebuie folosit un "sau exclusiv". n aceste condiii propoziia se exprim sub forma:
(A5) ( x)(Roman(x) ((Devotat(x,cezar) Ura(x,cezar)) v .
~ (Devotat(x,cezar) Ura(x,cezar)))) .
(6) Fiecare om este devotat cuiva se exprim sub forma:
(A6) ( x)( y)Devotat(x, y) -
80
Aici apare o nou problem de traducere a limbajului natural n forma logic, i anume
ordinea cuantificatorilor. Utiliznd formula logic de mai sus s-a presupus c pentru orice
persoan x, exist o persoan y fa de care x este devotat. Dar aceeai fraz ar fi putut fi
interpretat, eventual, i c exista o persoana y faa de care toate celelalte persoane sunt devotate,
ceea ce s-ar fi exprimat n logic sub forma:

( y)( x)Devotat(x, y) -

(7) Oamenii incearc sa asasineze dictatorii fa de care nu sunt devotai poate fi exprimat sub
forma:
(A7) ( x)( y)((Persoana(x) Dictator(y) IncearcaAsasinat(x, y)) ~ Devotat(x, y)) . .
Evident c i n acest caz ar fi putut s existe o exprimare logic diferit.
(8) Marcus a ncercat s-l asasineze pe Cezar se exprima sub forma:
(A8) IncearcaAsasinat(marcus,cezar)
Presupunnd c faptele (1)(8) sunt adevrate, deci sunt axiome, cum se poate stabili dac
Marcus nu era devotat lui Cezar, deci cum se poate demonstra teorema (concluzia):
(c) ~ Devotat(marcus,cezar)?
Aceast demonstraie se poate face aplicnd regulile de inferen ale logicii cu predicate de
ordinul I prezentate n seciunea anterioar. Inspectnd axiomele (A1)(A8), se observ c
demonstraia s-ar putea face numai pe baza axiomelor (A1), (A4), (A7) i (A8). Dar apare
urmtoarea problem: dei oricine stie c dac Marcus este om el este n acelai timp persoan,
acest lucru nu este explicit indicat n enun. Se observ de aici una din dificultile fundamentale
n rezolvarea problemelor de inteligen artificial i anume reprezentarea cunotinelor de bun
sim. Pentru a putea rezolva problema, trebuie adugat un nou enun care s statueze c toi
oamenii sunt persoane.
(9) Toti oamenii sunt persoane se exprima sub forma:
(A9) ( x)(Om(x) Persoana(x))
n acest moment se poate demonstra concluzia (c) pe baza axiomelor (A1), (A4), (A7), (A8)
i (A9). Aplicnd regula substituiei n axioma (A7) i substituind uniform variabila x cu
constanta marcus i variabila y cu constanta cezar se obine o nou axiom
(A10) . . cezar) cus, asinat(mar IncearcaAs ezar) Dictator(c arcus) Persoana(m
cezar) (marcus, Devotat ~
81
Aplicnd regula Modus Ponens asupra axiomelor (A1) i (A9) se obine:
(A11) Persoana(marcus)
i aplicnd din nou regula Modus Ponens asupra axiomelor (A11), (A4), (A8) i (A10) se obine
concluzia cutata:
cezar) rcus, Devotat(ma ~
Se observ c aceast demonstraie a fost fcuta prin selecia intuitiv a axiomelor ce trebuie
combinate i a diverselor reguli de inferen ce trebuie utilizate. O asemenea abordare este
evident nepractic ntr-un program de demonstrare automat a teoremelor. Pentru a putea
automatiza procesul de demonstrare este preferabil s existe o singur regul de inferen.
Aceasta este rezoluia. n plus, trebuie stabilit o strategie de aplicare a regulii de inferen pentru
a ajunge ct mai repede la soluie, dac exist soluie.
Un alt aspect important ce trebuie considerat n momentul n care se discut rezolvarea
problemelor n cadrul formalismului logic este posibilitatea existenei unei soluii. Este orice
teorem demonstrabil? n cazul logicii propoziionale exist intotdeauna proceduri efective care
permit att stabilirea faptului c o formul este teorem, ct i a faptului c nu este teorem. n
consecin problema demonstrrii teoremelor n logica propoziional este decidabil. n cazul
logicii cu predicate de ordinul I se garanteaz existena unei proceduri care s demonstreze c o
formul este teorem dac acea formul este ntr-adevr teorem. Dar aceast procedur nu este
garantat s se opreasc dac formula de demonstrat nu este teorem. n consecin demonstrarea
teoremelor n logica cu predicate de ordinul I nu este decidabil, ci este o problem
semidecidabil.
n pofida acestui rezultat, formalismul logic este utilizat intens ca metod de rezolvare a
problemelor n inteligena artificial deoarece, n cele mai multe cazuri, produce rezultatele
dorite. De asemenea trebuie inut cont de faptul c utilizarea unei strategii particulare sau a unei
combinaii de strategii n demonstrarea teoremelor poate genera situatii n care o teorem nu se
poate demonstra chiar dac acea formul este ntr-adevr teorem. Acesta este cazul strategiilor
incomplete. i n aceast situaie s-au facut compromisuri, n sensul c s-au acceptat strategii
incomplete de demonstrare a teoremelor datorit avantajului de eficien pe care l aduc. O
strategie complet va reui ntotdeauna s demonstreze c o formul este teorema dac formula
este cu adevrat teorema, dar aceast completitudine poate fi penalizat de necesiti crescute ale
resurselor de timp i spaiu utilizate de programul care o implementeaz.

82
3.3 Demonstrarea teoremelor utiliznd rezoluia
In 1965, Robinson propune principiul rezolutiei ca metod eficient de demonstrare a teoremelor,
principiu care reprezint baza tuturor demonstratoarelor automate de teoreme actuale. Rezoluia este o
metod de inferen sintactic care, aplicat repetat unei multimi de formule n forma standard, determin
dac multimea de formule este inconsistent. Pentru a demonstra ca formula C este o consecin logic a
formulelor P , P ,..., P
1 2 n
, se demonstreaz c P P ... P ~ C
1 2 n
. . . . este o formul nerealizabil prin
deducerea unei contradicii.
Principiul rezolutiei este o metod de demonstrare prin respingere, care corespunde n general unei
demonstrri prin reducere la absurd. De aceea, utilizarea principiului rezoluiei n demonstrarea
teoremelor se mai numete i metoda respingerii prin rezoluie sau respingere rezolutiv. Metoda
rezoluiei se aplic nsa unei forme standard a formulelor, numit forma clauzal, forma introdus de
Davis i Putnam.
3.3.1 Transformarea formulelor n forma clauzal
Definiie. Se numeste clauz o disjunctie de literali. Se numeste clauz de baza o clauza fara variabile.
Se numeste clauz Horn o clauz care contine cel mult un literal pozitiv.
Definiie. Se numete clauz vid o clauz fr nici un literal; clauza vid se noteaz, prin convenie, cu
. Se numeste clauz unitar o clauz ce conine un singur literal.
O clauz Horn poate avea una din urmtoarele patru forme: o clauz unitar pozitiv ce const ntr-
un singur literal pozitiv; o clauz negativ format numai din literali negati; o clauz format dintr-un
literal pozitiv i cel putin un literal negativ (clauza Horn mixt) sau clauz vida. Se numeste clauz
(Horn) distinct o clauza ce are exact un literal pozitiv, ea fiind fie o clauz unitar pozitiv, fie o clauz
Horn mixt.
Exemple:
1. P(x, y) ~ Q(x, f(y)) R(z) v v este o clauz. Intr-o clauz toate variabilele sunt implicit
cuantificate universal.
2. ~ P(a, y) ~ Q(x, z) P(x, y) v v este o clauz Horn, n particular o clauz Horn distinct.
3. P(a, b) Q(c,d) R(a) v v este o clauz de baz deoarece nu conine variabile.
Transformarea unei formule bine formate n form clauzal se face pe baza regulilor prezentate n
continuare.
Pasul 1. Se elimin toi conectorii logici de implicaie i echivalen folosind legile de eliminare a
implicaiei i a implicatiei duble prezentate n Figura 3.4.
83
Pasul 2. Se mut toate negaiile din formul astfel nct s precead atomii folosind legea negrii
negaiei, legile lui De Morgan i legile de echivalen a cuantificatorilor prezentate n Figura 3.4.
Exemplu. Formula ~ (( x)P(x) ( y)Q(y)) - se transforma n ~ (~ (( x)P(x)) ( y)Q(y)) v - apoi
n ( x)P(x) ~ (( y)Q(y)) . - din care se obine n final formula ( x)P(x) ( y) ~ Q(y) . .
Pasul 3. Se redenumesc variabilele, dac este cazul, astfel nct toi cuantificatorii sa se refere la variabile
diferite, adic se redenumesc variabilele astfel nct variabilele referite de un cuantificator sa nu aib
acelai nume cu variabilele referite de alt cuantificator.
Exemplu. In formula ( x)(P(x) ( x)Q(x)) - se redenumeste cea de a doua variabila x referita de
cuantificatorul existential (-x) i se obtine formula ( x)(P(x) ( y)Q(y)) - .
Pasul 4. Se elimina toti cuantificatorii existentiali din formula printr-un proces de substitutie numit
skolemnizare. Acest proces necesita ca toate variabilele definite de un cuantificator existential sa fie
inlocuite prin functii Skolemn, adica functii arbitrare care pot lua intotdeauna valoarea ceruta de
cuantificatorul existential. Skolemnizarea se executa dupa urmatoarele reguli:
4.1. Dac primul (cel mai din stnga) cuantificator este un cuantificator existential, se nlocuiesc
toate apariiile variabilei pe care o cuantific cu o constant arbitrar care nu apare nicaieri n expresie i
se elimin cuantificatorul. Acest proces se aplic pentru toti cuantificatorii existentiali care nu sunt
precedati de cuantificatori universali, folosind constante diferite n substitutie.
4.2. Pentru fiecare cuantificator existential care este precedat de unul sau mai multi cuantificatori
universali, se inlocuiesc toate aparitiile variabilei cuantificate printr-o functie care nu mai apare n
expresie i care are ca argumente toate variabilele cuantificate universal ce preced cuantificatorul
existential. Cuantificatorul existential se elimina. Procesul se repeta pentru fiecare cuantificator existential
folosind un simbol de functie diferit i alegind ca variabile ale functiei argumentele care corespund
tuturor variabilelor cuantificate universal ce preced cuantificatorul existential.
Exemplu. Expresia ( u)( v)( x)( y)(P(f (u), v, x, y) Q(u, v, y)) - - v se transforma prin substitutii de
skolemnizare n ( v)( x)(P(f (a), v, x,g(v, x)) Q(a, v,g(v, x))) v . Inlocuirea variabilei y cu o functie
arbitrara de argumente v i x se justifica pe baza faptului ca variabila y, urmind dupa variabilele v i x,
poate fi dependenta functional de acestea iar n acest caz, functia arbitrara g poate reproduce aceasta
dependenta.
Pasul 5. Se muta toti cuantificatorii universali la stinga expresiei i se transforma expresia n forma
normal conjunctiva.
Pasul 6. Se elimina toti cuantificatorii universali deoarece ei sunt retinuti implicit n forma clauzal i se
elimina conjunctiile din forma normal conjunctiva. n acest fel se obtine o multime de formule numite
clauze.
84
Observatie. Multimea de clauze obtinute prin procesul de mai sus nu este echivalenta cu formula
originala dar realizabilitatea formulei este pastrata. Multimea de clauze este realizabila respectiv
inconsistenta, dac i numai dac formula originala este realizabila, respectiv inconsistenta.
Exemplu. Se considera urmatoarea formula
( x)( y)(( z)P(f (x), y, z) (( u)Q(x, u) ( v)R(y, v))) - - . -
Pentru a transforma aceasta formula n forma clauzal se aplica procedeul descris anterior. Prin executia
procedurii pas cu pas se obtine
Pasul 1. Se elimina conectorul de implicatie logica i se obtine
( x)( y)(~ ( z)P(f (x), y, z) (( u)Q(x, u) ( v)R(y, v))) - v - . -
Pasul 2. Se aduc negatiile n fata atomilor i se obtine
( x)( y)(( z) ~ P(f (x), y, z) (( u)Q(x, u) ( v)R(y, v))) - - v - . -
Pasul 3. Acest pas nu este necesar deoarece toate variabilele cuantificate au nume distincte.
Pasul 4. Se aplica skolemnizarea i se elimina astfel cuantificatorii existentiali prin introducerea
functiilor g(y), h(y) i l(y) i a constantei a. Se obtine
( y)(~ P(f(a), y,g(y)) (Q(a, h(y)) R(y,l(y)))) v .
Pasul 5. Se transforma formula n forma normal conjunctiva i se obtine
( y)((~ P(f(a), y,g(y) Q(a, h(y))) (~ P(f(a), y,g(y)) R(y,l(y)))) v . v
Pasul 6. Se elimina cuantificatorul universal i conjunctia, obtinindu-se multimea de doua clauze
h(y)) Q(a, g(y)) y, P(f(a), ~ v
l(y)) R(y, g(y)) y, P(f(a), ~ v
Aceasta multime de clauze reprezint transformarea formulei initiale n forma clauzal.
3.3.2 Rezolutia n logica propozitionala
Pentru a explica principiul rezolutiei, n aceasta sectiune se prezinta rezolutia pentru cazul particular al
demonstrarii teoremelor n logica propozitionala. Principiul rezolutiei n logica propozitionala este
urmtorul. Pentru orice dou clauze C
1
i C
2
, dac exista un literal L
1
n C
1
care este complementar cu
un literal L
2
n C
2
(L =~ L )
1 2
atunci disjunctia intre C
1
din care s-a eliminat L
1
i C
2
din care s-a
eliminat L
2
este rezolventul clauzelor C
1
i C
2
. Se mai spune ca cele doua clauze, C
1
i C
2
, rezolva.
Definiie. Fie clauzele:
85
(C
1
) P P ... P ... P
1 2 i n
v v v v v
(C
2
) Q Q ... ~ Q ... Q
1 2 j m
v v v v v
cu P = Q = L
i j
. Rezolventul clauzelor C
1
i C
2
este C= rez(C ,C ) = (C -{L}) (C -{~ L})
1 2 1 2
v deci
(C) P P ... P P ... P Q ... Q Q ... Q
1 2 i-1 i+1 n 1 j-1 j+1 m
v v v v v v v v v v v v
Teorema. Fiind date doua clauze, C
1
i C
2
, un rezolvent C al clauzelor C
1
i C
2
este o consecina logica
a clauzelor C
1
i C
2
.
Pentru a demonstra ca o formula S este o teorema derivata dintr-un set de axiome A utiliznd
principiul rezolutiei, se aplica algoritmul prezentat n continuare. Ideea algoritmului este aceea de a porni
de la o multime de clauze care se presupune a fi realizabila i a genera noi clauze care reprezint restrictii
asupra modului n care clauzele originale pot fi facute adevarate. Apare o contradictie n momentul n
care o clauz devine atit de restrictionata incit nu mai poate fi facuta adevarata. Acest lucru este indicat de
generarea clauzei vide.
Algoritm: Respingerea prin rezolutie n logica propozitionala.
1. Converteste setul de axiome A n forma clauzal i obtine multimea de clauze S
0

2. Neaga teorema, transforma teorema negata n forma clauzal i adauga rezultatul la S
0

S S
0

3. repeta
3.1. Selecteaza o pereche de clauze C
1
i C
2
din S
3.2. Determina C= rez(C ,C )
1 2

3.3. daca C=
atunci S S {C}
pina s-a obtinut clauza vida ( ) sau
nu mai exista nici o pereche de clauze care rezolva
4. daca s-a obtinut clauza vida
atunci teorema este adevarata (este demonstrata)
5. altfel teorema este falsa
sfirsit.
Se considera urmatoarele enunturi:
(1)Am timp liber.
(2)Daca am timp liber i ma plimb atunci cunosc orasul.
(3)Daca este soare sau este cald atunci ma plimb.
86
(4)Este cald.
Se cere sa se demonstreze utiliznd metoda respingerii prin rezolutie enuntul:
(5)Cunosc orasul.
Pentru aceasta se exprima primele patru enunturi i enuntul de demonstrat n logica propozitionala
obtinindu-se urmatorul set de axiome
(A1) T
(A2) T P O .
(A3) S C P v
(A4) C
si concluzia de demonstrat
(C) O
Se transforma axiomele n forma clauzal, se neaga teorema (C) i se adauga la multimea de clauze
obtinute din axiome. n urma acestui proces se obtine urmatoarea multime de clauze:
(C1) T
(C2) ~ T ~ P O v v
(C3) ~ S P v
(C3') ~ C P v
(C4) C
(C5) ~O
Deducerea clauzei vide din setul de axiome, deci demonstrarea prin respingere a teoremei "Cunosc
orasul", este prezentata n Figura 3.5.
87
(C2) ~T V ~P V O ~O (C5)
(C6) ~T V ~P T (C1)
(C7) ~P ~C V P (C3')
(C8) ~C C (C4)

Figura 3.5 Respingerea prin rezolutie n logica propozitionala
3.3.3 Unificarea expresiilor
In logica propozitionala este usor sa se identifice perechile de literali complementari, L i ~L, din doua
clauze pentru a aplica rezolutia. n logica cu predicate de ordinul I acest lucru este mai dificil deoarece n
procesul de identificare trebuie tinut cont de argumentele predicatelor. De exemplu, literalii P(x) i P(a)
pot unifica cu conditia ca s se aplice o regul de substitutie n primul literal prin care variabila x sa fie
inlocuita cu constanta a. Gasirea unei substitutii pentru variabilele din expresii sau subexpresii astfel nct
expresiile, respectiv subexpresiile, sa devina identice, se numeste unificare i este un proces esential n
demonstrarea teoremelor n general si, n particular, prin metoda rezolutiei.
Definiie. O substitutie este o multime de perechi (t , v ), i =1, n
i i
, n care v
i
sunt variabile distincte i t
i

sunt termeni care nu contin v
i
. Termenii t
i
inlocuiesc variabilele v , i =1, n
i
n orice expresie n care se
aplica substitutia. O substitutie se noteaza o = {t / v , t / v ,..., t / v }, n 1
1 1 2 2 n n
> .
In continuare se vor folosi litere grecesti pentru reprezentarea substitutiilor. Rezultatul aplicarii unei
substitutii o asupra unei expresii E este notat Eo i este expresia obtinuta prin inlocuirea tuturor
aparitiilor variabilei v
i
cu termenul t
i
n expresia E, pentru toate perechile t /v
i i
din substitutia o. O
expresie poate fi un termen, un literal, un atom sau o formula bine format sau o multime de termeni,
literali, atomi sau formule bine formate.
Exemple:
1. Se considera expresia b) f(y), P(x, = E i substitutiile o
1
={z / x, w/ y}, o
2
={a / y},
o
3
={g(z) / x,a / y}, o
4
={c / x,a / y}. Prin aplicarea, pe rnd, a acestor substitutii expresiei E
se obtine:
E = P(z, f (w), b) o
1

E = P(x, f (a), b) o
2

88
E = P(g(z), f (a), b) o
3

E = P(c, f (a), b) o
4

Se observa ca E = P(c, f (a), b) o
4
este o clauz de baza.
2. Fie expresia f(y)) Q(x, y) P(x, = E v i aplicind substitutia | ={a / x,g(b) / y} se obtine
expresia E' = E = P(a,g(b)) Q(a, f (g(b))) | v .
Definiie. Se numeste unificator al unei multimi de expresii {E , E ,..., E }
1 2 n
, o substitutie o care face
ca expresiile sa devina identice, adic E = E =...= E
1 2 n
o o o. Multimea {E , E , ..., E }
1 2 n
se numeste
multime de expresii unificabila, dac exista un unificator pentru aceasta multime. Se mai spune ca
multimea de expresii unifica.
Definiie. Un unificator | al unei multimi de expresii {E , E , ..., E }
1 2 n
este cel mai general unificator,
pe scurt mgu, dac i numai dac pentru orice alt unificator o al multimii exista o substitutie o' astfel
nct E = E ' , i =1, n
i i
o |o . Altfel spus, orice unificator o al multimii {E , E , ..., E }
1 2 n
este o instanta
a lui | .
Observatie. Daca doua expresii unifica, atunci exista un unic cel mai general unificator.
Exemple:
1. Fie expresiile E = P(x, f (y), b)
1
i E = P(x, f (b), b)
2
. Cele doua expresii unifica aplicnd
substitutia b/y} {a/x, = o , E = E = P(a, f (b), b)
1 2
o o . Aplicnd substitutia | ={b / y} se
obtine E = E = P(x, f (b), b)
1 2
| | . Se observ ca | ={b / y} este cel mai general unificator al
celor dou expresii.
2. Fie expresiile E = Q(x, f (x, y), z)
1
i E = Q(y, z,g(t))
2
. Cel mai general unificator al celor
doua expresii este | ={x / y' , f (x, y) / z' ,g(t) / z} unde y' i z' sunt aparitiile variabilelor y i z
n E
2
. Rezultatul unificrii este E = E = Q(x, f (x, y),g(t))
1 2
| | .
3. Fie expresiile E = P(x, f (x), y)
1
i E = P(z, z, t)
2
. Aceste dou expresii nu unifica deoarece o
posibil ncercare de substituie de tipul y)/z} f(x, {x/z, este ilegal. Dac z este substituit cu x i
cu y) f(x, , de fapt x este substituit cu y) f(x, ceea ce contrazice definitia substitutiei.
Observaie. Unificarea se poate aplica i literalilor dintr-o aceeasi clauz. Dac exista un cel mai
general unificator astfel nct doi sau mai muli literali dintr-o clauz unifica, clauza care ramne prin
eliminarea tuturor literalilor cu exceptia unuia din literalii unificati este numita factor al clauzei originale.
De exemplu, fie clauza P(f(z)) y) Q(x, P(x) = C v v i cel mai general unificator | ={f (z) / x}. Atunci
clauza C' = C = P(f(z)) Q(f (z), y) | v este un factor al clauzei initiale C.
In continuare se prezinta algoritmul de unificare a literalilor sau a expresiilor n general n logica cu
predicate de ordinul I.
89
Algoritm: Unificarea expresiilor
Unifica(E , E )
1 2

1. daca E
1
i E
2
sunt constante
atunci
1.1. daca E = E
1 2

atunci intoarce { }
1.2. intoarce INSUCCES
2. daca E
1
este variabila sau E
2
este variabila
atunci
2.1. Schimba E
1
cu E
2
astfel nct

E
1
sa fie variabila
2.2. daca E = E
1 2

atunci intoarce { }
2.3. daca E
1
apare n E
2

atunci intoarce INSUCCES
2.4. intoarce {E / E }
2 1

3. daca E = P(t ,..., t )
1 11 1n
i E = P(t ,..., t )
2 21 2n
sau
E = f (t ,..., t )
1 11 1n
i E = f (t ,..., t )
2 21 2n
/* aceleasi simboluri predicative sau
functionale cu aceeasi aritate */
atunci
3.1. x t
11

3.2. y t
21

3.3. Rest t ,..., t
1 12 1n

3.4. Rest t ,..., t
2 22 2n

3.5. o
1
Unifica(x, y)
3.6. daca o
1
= INSUCCES
atunci intoarce INSUCCES
3.7 G rezultatul aplicarii substitutiei asupra lui Rest
1 1 1
o
3.8 G rezultatul aplicarii substitutiei asupra lui Rest
2 2 2
o
3.9 o
2 1 2
Unifica(G ,G )
3.10. daca o
2
= INSUCCES
atunci intoarce INSUCCES
3.11. intoarce concatenare( , )
1 2
o o
4. intoarce INSUCCES
sfirsit.
90
Observatii:
1. Algoritmul intoarce lista de substitutii care formeaza cel mai general unificator al celor doua
expresii (literali) E
1
i E
2
. Algoritmul este garantat sa produca cel mai general unificator, dac
acesta exista.
2. In cazul n care cele doua expresii nu unifica, algoritmul intoarce valoarea speciala INSUCCES
pentru a marca esecul unificarii.
3. Pasul 2.3 verifica dac o expresie care contine o anumita variabila nu este unificata cu acea
variabila.
3.3.4 Rezolutia n logica cu predicate de ordinul I
Aplicarea principiului rezolutiei n logica cu predicate de ordinul I implica construirea rezolventului a doi
literali complementari, care fie sunt identici, fie au fost facuti identici prin aplicara substitutiei definita de
cel mai general unificator al celor doi literali asupra clauzelor ce contin acesti doi literali.
Definiie. Fie clauzele:
(C
1
) P P ... P ... P
1 2 i n
v v v v v
(C
2
) Q Q ... ~ Q ... Q
1 2 j m
v v v v v
numite clauze parinte i | cel mai general unificator al literalilor P
i
i Q
j
, cu P = Q
i j
| |. Atunci
C = rez (C , C ) = (C - {P }) (C - {~ Q })
1 2 1 i

2 j
| | | | este un rezolvent binar al clauzelor C
1
i C
2
.
Observatie. Rezolventul a doua clauze nu este unic. Aplicarea rezolutiei intre doua clauze care rezolva
poate genera diversi rezolventi n cazul n care n cele doua clauze exista mai multi literali complementari
care, prin unificare, pot fi facuti identici.
Exemple:
1. Fie clauzele C =~ Citeste(x) Literat(x)
1
v i C =~ Delfin(y) ~ Literat(y)
2
v . Cel mai
general unificator al celor doua clauze este | ={x / y} i rezolventul celor doua clauze este
C= rez(C ,C ) =~ Citeste(x) ~ Delfin(x)
1 2
v , literalii complementari care au rezolvat fiind
Literat(x) i ~Literat(y).
2. Fie clauzele C = P(x, f (a)) P(x, f (y)) Q(y)
1
v v i C =~ P(z, f (a)) Q(z)
2
v ~ . Aceste doua
clauze pot rezolva i pot produce diversi rezolventi. dac se selecteaza | ={x / z} atunci
C = P(x, f (a)) P(x, f (y)) Q(y)
1
| v v i C =~ P(x, f (a)) Q(x)
2
| v ~ i
C= rez(C ,C ) = P(x, f (y)) Q(y) ~ Q(x)
1 2
v v prin unificarea literalilor f(a)) P(x, i f(a)) P(z, ~ .
Aplicind o noua subtitutie pentru aceasta clauz, |' ={y / x}, se obtine C' = C ' = P(y, f (y)) | .
91
Daca se selecteaza cel mai general unificator al literalilor Q(y) i Q(z) ~ , | ={y / z}
atunci se obtine un alt rezolvent C= rez(C ,C ) = P(x, f (a)) P(x, f (y)) ~ P(y, f (a))
1 2
v v .
Daca se selecteaza | ={a / y, z / x} ca cel mai general unificator al literalilor f(y)) P(x, i
f(a)) P(z, ~ atunci C= rez(C ,C ) = P(z, f (a)) Q(a) ~ Q(z)
1 2
v v .
Demonstrarea teoremelor aplicind metoda respingerii prin rezolutie poate fi descrisa de algoritmul
urmator. Enunturile care descriu problema trebuie exprimate n modelul logic i formeaza multimea de
axiome A. Concluzia care trebuie obtinuta, deci rezolvarea problemei, este teorema de demonstrat.
Algoritm: Respingerea prin rezolutie n logica cu predicate de ordinul I
1. Converteste setul de axiome A n forma clauzal i obtine multimea de clauze S
0

2. Neaga teorema de demonstrat, transforma teorema negata n forma clauzal i adauga
rezultatul obtinut la S
0

S S
0

3. repeta
3.1. Selecteaza o pereche de clauze C
1
, C
2

3.2. Fie literalii L C
1 1
e i ~ L C
2 2
e
3.3. Aplica unificarea i calculeaza | = mgu(L , L )
1 2

3.4. daca | | =
atunci
3.4.1. Determina C= rez(C ,C )
1 2
| |
3.4.2. daca C=
atunci S S {C}
pina s-a obtinut clauza vida ( ) sau
nu mai exista nici o pereche de clauze care rezolva sau
o cantitate predefinita de efort a fost epuizata
4. daca s-a obtinut clauza vida
atunci teorema este adevarata (este demonstrata)
5. altfel
5.1. daca nu mai exista nici o pereche de clauze care rezolva
atunci teorema este falsa
5.2. altfel nu se poate spune nimic despre adevarul teoremei
sfirsit.
Observatii:
- In cazul n care s-a obtinut clauza vida, metoda respingerii prin rezolutie garanteaza faptul ca
teorema este adevarata, deci este demonstrabila pe baza setului de axiome A.
92
- Reciproc, dac teorema este adevarata, se poate obtine clauza vida dupa un numar finit de
executii a pasului 3, cu conditia ca strategia de rezolutie sa fie completa.
- Conditia de oprire a ciclului, "o cantitate predefinita de efort a fost epuizata", absenta n cazul
algoritmului respingerii prin rezolutie n calculul cu propozitii, a fost introdusa n acest caz
deoarece metoda demonstrarii teoremelor prin respingere rezolutiva este semidecidabila n logica
cu predicate de ordinul I. n cazul n care concluzia T de demonstrat este falsa, deci nu este
teorema, este posibil sa se ajunga n situatia n care, dac avem noroc, "nu mai exista nici o
pereche de clauze care rezolva". Atunci se poate concluziona ca teorema este falsa. Dar este de
asemenea posibil ca pasul 3 sa se execute la infinit dac T nu este teorema. Din acest motiv se
introduce o cantitate predefinita de efort (resurse de timp sau spatiu) la epuizarea careia
algoritmul se opreste. n acest caz s-ar putea ca teorema sa fie adevarata, dar efortul predefinit
impus sa fie prea mic, sau se poate ca T sa nu fie teorema. Rezulta deci ca nu se poate spune
nimic despre adevarul teoremei.
Se prezinta n continuare doua exemple de demonstrare a teoremelor utiliznd metoda respingerii
prin rezolutie. Primul exemplu considera din nou problema delfinilor inteligenti, prezentata n Sectiunea
3.2.2, exprimata prin urmatoarele trei enunturi:
(1)Oricine poate citi este literat.
(2)Delfinii nu sunt literati.
(2)Anumiti delfini sunt inteligenti.
si cere sa se demonstreze ca
(4)Exista inteligenti care nu pot citi.
Se exprima setul de propozitii n logica cu predicate i se obtin urmatoarele trei axiome i concuzia de
demonstrat:
(A1) ( x)(Citeste(x) Literat(x))
(A2) ( y)(Delfin(y) ~ Literat(y))
(A3) ( z)(Delfin(z) Inteligent (z)) - .
(C) ( u)(Inteligent (u) ~ Citeste(u)) - .
Se transforma axiomele n forma clauzal i se obtine:
(C1) Literat(x) Citeste(x) ~ v
(C2) Literat(y) ~ Delfin(y) ~ v
93
(C3) Delfin(a)
(C3') Inteligent(a)
Se neaga teorema, obtinindu-se ~ (( u)(Inteligent (u) ~ Citeste(u))) - . i se transforma teorma negata
n forma clauzal, rezultatul adaugindu-se la multimea de clauze de mai sus.
(C4) ~ Inteligent (u) Citeste(u) v
Deducerea clauzei vide, deci demonstratia teoremei, este prezentata n Figura 3.6.
(C4) ~Inteligent(u) V Citeste(u) Inteligent(a) (C3')
{a/z}
(C5) Citeste(a) ~Citeste(x) V Literat(x) (C1)
{a/x}
(C6) Literat(a) ~Delfin(y) V ~Literat(y) (C2)
{a/y}
(C7) ~Delfin(a) Delfin(a) (C3)

Figura 3.6 Respingerea prin rezolutie n logica cu predicate de ordinul I
Se observa ca o demonstratie prin respingere prin rezolutie poate fi reprezentata convenabil printr-
un arbore de respingere sau arbore de deductie care are ca radacina clauza vida. n acest arbore trebuie
marcate clauzele care rezolva i puse n evidenta substitutiile efectuate pentru unificarea literalilor
complementari.
Se considera n continuare urmatoarea problema de transport.
(1)Daca orasul x este legat de orasul y prin drumul z i pot circula biciclete pe drumul z, atunci
se poate merge de la x la y.
(2)Daca orasul x este legat de orasul y prin drumul z, atunci orasul y este legat de orasul x prin
drumul z.
(3)Daca se poate merge de la x la y i de la y la z atunci se poate merge de la x la z.
(4)Orasul a este legat de orasul b prin drumul d1.
(5)Orasul b este legat de orasul c prin drumul d2.
(6)Orasul a este legat de orasul c prin drumul d3.
94
(7)Pot circula biciclete pe d1.
(8)Pot circula biciclete pe d2.
Se cere sa se demonstreze ca se poate merge de la orasul a la orasul c.
Exprimarea n logica cu predicate a problemei date conduce la urmatoarea multime de formule, din
care primele opt sunt axiomele problemei, ultima fiind concluzia de demonstrat.
(A1) ( x)( y)( z)(Legat(x, y, z) Bic(z) Merg(x, y)) .
(A2) ( x)( y)( z)(Legat(x, y, z) Legat(y, x, z))
(A3) ( x)( y)( z)(Merg(x, y) Merg(y, z) Merg(x, z)) .
(A4) Legat(a, b,d1)
(A5) Legat(b,c,d2)
(A6) Legat(a,c,d3)
(A7) Bic(d1)
(A8) Bic(d2)
(C) Merg(a,c)
Se transforma axiomele n forma clauzal, se neaga teorema i se transforma teorema negata n
forma clauzal, obtinindu-se urmatoarea multime de clauze:
(C1) ~ Legat(x, y, z) ~ Bic(z) Merg(x, y) v v
(C2) ~ Legat(x, y, z) Legat(y, x, z) v
(C3) ~ Merg(x, y) Merg(y, z) Merg(x, z) v v ~
(C4) Legat(a, b,d1)
(C5) Legat(b,c,d2)
(C6) Legat(a,c,d3)
(C7) Bic(d1)
(C8) Bic(d2)
(C9) ~ Merg(a,c)
95
prezentata n Figura 3.7. Demonstratia teoremei Merg(a,c) este
(C9) ~Merg(a,c)
(C10) ~Merg(a,y) V ~Merg(y,c)
(C11) ~Merg(y,c) V ~Legat(a,y,z) V ~Bic(z)
(C12) ~Merg(b,c) V ~Bic(d1)
(C13) ~Merg(b,c)
(C14) ~Legat(b,c,z) V ~Bic(z)
(C15) ~Bic(d2)
~Merg(x,y) V ~Merg(y,z) V Merg(x,z) (C3)
~Legat(x,y,z) V ~Bic(z) V Merg(x,y) (C1)
Legat(a,b,d1) (C4)
Bic(d1) (C7)
~Legat(x,y,z) V ~Bic(z) V Merg(x,y) (C1)
Legat(b,c,d2) (C5)
Bic(d2) (C8)
{a/x, c/z}
{a/x}
{b/y, d1/z}
{b/x, c/y}
{d2/z}

Figura 3.7 Demonstrarea teoremei Merg(a,c) utiliznd rezolutia
Se observa din acest exemplu ca, n fiecare punct, exista numeroase perechi de clauze care pot
rezolva. Este rolul strategiei de control de a elimina, partial sau total, aceasta ambiguitate.
3.3.5 Strategii rezolutive
Algoritmul respingerii prin rezolutie n logica cu predicate de ordinul I prezentat n sectiunea anterioara,
ca i cel din calculul propozitional de altfel, contine o etapa nedeterminista, pasul 3.1. n acest pas al
algoritmului nu se spune nimic despre modul n care trebuie selectate cele doua clauze care rezolva. Este
rolul strategiei rezolutive de a transforma acest pas intr-un pas determinist. Deoarece rezolutia este o
metoda de inferena, modul de aplicare repetata a rezolutiei pentru a rezolva problema este stabilit de
strategia de control utilizata. Strategia rezolutiva trebuie sa dea criteriile de selectie a perechilor de clauze
care rezolva, n cazul n care exista mai multe astfel de clauze. Eventual, strategia de control poate sa
stabileasca i care literali din cele doua clauze care rezolva sunt selectati pentru a produce rezolventul.
96
Se reaminteste faptul ca o strategie rezolutiva este completa daca, prin aplicarea ei, se poate
demonstra teorema (se produce clauza vida) ori de cite ori formula de demonstrat este teorema.
Cele mai importante strategii rezolutive sunt prezentate n continuare.
- Strategia dezvoltarii pe latime sau pe nivel, numita i metoda saturarii nivelului, are la baza
urmatoarea idee: se calculeaza toti rezolventii posibili de pe un nivel, acesti rezolventi se adauga
la acest nivel pentru a forma nivelul urmator i se reia procesul pentru nivelul urmator. Aceasta
strategie este o strategie completa dar prezinta dezavantajul unui consum mare de resurse spatiu
i timp.
- Strategia multimii suport are la baza urmatoarea idee: se imparte multimea de clauze n doua
submultimi de clauze S
1
i S
2
, de preferinta astfel nct, pentru orice interpretare I, clauzele din
S
1
sunt adevarate n I, iar clauzele din S
2
sunt false n I. Se aplica rezolutia numai intre perechi
de rezolventi din multimi diferite, deci C S
1 1
e i C S
2 2
e . Aceasta strategie este completa i
poate fi asimilata cu o cautare pe nivel n spatiul starilor.
- Strategia rezolutiei semantice combina strategia multimii suport cu rezolvarea n simultan a mai
multor clauze. n acest fel se incearca eliminarea clauzelor inutile prin rezolvarea simultana a
unui grup de clauze, ordonarea predicatelor i ordonarea clauzelor. Strategia rezolutiei semantice
este o strategie completa.
- Strategia rezolutiei liniare are la baza urmatoarea idee: orice rezolvent C
i
obtinut n rezolutie
este utilizat ca unul din cei doi rezolventi pe baza carora se obtine urmatorul rezolvent
C , i =1,2,..., n-1
i+1
. Aceasta strategie este completa si, n plus, simplu i eficient de
implementat.
- Strategia rezolutiei de intrare liniara este un caz particular al strategiei rezolutiei liniare n care
una din clauzele care rezolva apartine intotdeauna setului initial de axiome. Este o strategie
foarte eficienta dar nu este completa. Aceasta strategie de control sta la baza functionarii
mecanismului de demonstrare a teoremelor din limbajul Prolog, asa cum se va explica n detaliu
n Capitolul 11.
- Strategia rezolutiei unitare, numita i strategia preferintei unitare, este un alt caz particular al
strategiei rezolutiei liniare, n care una din clauzele ce rezolva este o clauz unitar, deci o clauz
care contine un singur literal. Aceasta strategie nu este completa.
Cele doua exemple de demonstrare a teoremelor prezentate n sectiunea anterioara, adic problema
delfinilor inteligenti i problema de transport, au folosit o strategie rezolutiva liniara, n particular
rezolutia de intrare liniara. n acelasi timp se poate considera ca s-a aplicat i o strategie a multimii suport
n care multimea de clauze s-a impartit n multimea S
1
care contine toate clauzele provenite din setul
initial de axiome i multimea S
2
care contine clauzele provenite din negarea teoremei de demonstrat.
97
Aplicnd strategia dezvoltrii pe laime n cazul problemei delfinilor inteligenti se vor obtine
pentru primele doua nivele rezolventii (distincti) prezentati n Figura 3.8. Fiind o strategie de cautare pe
nivel, strategia dezvoltarii pe latime, dac poate deduce clauza vida, va gasi automat i drumul cel mai
scurt spre solutie. De multe ori, n demonstrarea teoremelor intereseaza mai putin drumul cel mai scurt
spre clauza vida i mai mult numarul de rezolventi generati. Din aceasta cauza strategii care genereaza
mai putini rezolventi, cum ar fi strategiile liniare, sunt preferate.
~C(x) V L(x) ~D(y) V ~L(y) D(a) I(a) ~I(u) V C(u)
~C(x) V ~D(y) L(x) V ~I(x) ~L(a) C(a)
~D(a) ~C(a) ~I(a) ~D(y) V ~I(y) ~D(y) V ~I(y)

Figura 3.8 Strategia dezvoltrii pe lime
Strategiile prezentate ofer criterii de selecie a clauzelor utilizate n producerea rezolventului, deci
o modalitate sistematic de generare a rezolvenilor, dar de multe ori, nu indic selecia unei perechi unice
de clauze dintre clauzele ce pot rezolva la un moment dat. n plus, nu se spune nimic despre perechea de
literali complementari care trebuie selectat n cazul n care dou clauze pot rezolva n mai multe feluri.
Pentru rezolvarea acestor probleme i construirea unui program performant de demonstrare a teoremelor
trebuie utilizate i criterii euristice [Chang,Lee,1973].
3.3.6 Obtinerea raspunsurilor utiliznd respingerea prin rezolutii
Tehnica demonstrrii teoremelor poate fi utilizat i pentru a obine rspunsuri la ntrebri despre
universul problemei descris de axiome [Nilsson,1980]. Multe teoreme sunt reprezentate prin formule care
conin variabile cuantificate existenial, de forma ( x)P(x) - . n aceste cazuri este de dorit s se poat
rspund la ntrebri de tipul "Ce valoare are x dac formula ( x)P(x) - este adevrat?" Pentru a putea
rspunde la aceste ntrebri este nevoie de o metoda de demonstraie constructiv. Aceasta metoda se
obine printr-o extindere a metodei respingerii rezoluiei.
Se consider urmtorul enun: "Dac Grivei merge oriunde merge Mihai i Mihai este la scoal,
unde este Grivei?". Pentru a rezolva aceast problem, se exprim cunotinele n modelul logic
(A1) ( x)(EsteLa(mihai , x) EsteLa(grivei, x))
(A2) EsteLa(mihai ,scoala)
(C) ( y)EsteLa(grivei, y) -
98
Forma clauzal echivalent este:
(C1) ~ EsteLa(mihai , x) EsteLa(grivei, x) v
(C2) EsteLa(mihai ,scoala)
(C3) ~ EsteLa(grivei, y)
Demonstraia teoremei ( y)EsteLa(grivei, y) - este banal, arborele de deducie fiind prezentat n
Figura 3.9(a). Pentru a putea obine ns i o instan a variabilei y, instana care va indica unde este
Grivei, se adauga clauzei care a rezultat din negarea teoremei chiar negarea ei, astfel nct aceasta sa
devina o tautologie: ~ EsteLa(grivei, y) EsteLa(grivei, y) v . Apoi, urmrind structura arborelui de
deducie generat anterior, se execut aceleai rezoluii care s-au executat pentru demonstrarea teoremei,
aa cum se prezint n Figura 3.9(b). Instana obtinut n rdcina acestui nou arbore, deci formula care
nlocuiete clauza vida a arborelui initial, conine rspunsul la ntrebare. Deci locul n care se afl Grivei
este coala.
(C3) ~EsteLa(grivei,y) ~EsteLa(mihai,x) V EsteLa(grivei,x) (C1)
(C4) ~EsteLa(mihai,x) EsteLa(mihai,scoala) (C2)
{x/y}
{scoala/x}
(a)

(C3) ~EsteLa(grivei,y) V ~EsteLa(mihai,x) V EsteLa(grivei,x) (C1)
(C4) ~EsteLa(mihai,x) V EsteLa(mihai,scoala) (C2)
{x/y}
{scoala/x}
(b)
EsteLa(grivei,y)
EsteLa(grivei,x)
EsteLa(grivei,scoala)

Figura 3.9 Obinerea rspunsurilor la ntrebri utiliznd rezoluia
Procesul descris implica transformarea fiecarei clauze care apare din negarea teoremei intr-o
tautologie. Arborele de deductie modificat este deci o demonstratie prin rezolutie a faptului ca formula
din radacina se deduce logic din axiome i tautologii, ceea ce inseamna de fapt numai din axiome. Acest
lucru justifica faptul ca procesul descris pentru a obtine raspunsuri este corect.
99
Sintetizind, obtinerea raspunsurilor la intrebari utiliznd metoda respingerii prin rezoluie
este un proces format din urmtorii pai:
(1)Se construiete arborele de respingere prin rezoluie care demonstreaz teorema pe baza
mulimii iniiale de axiome.
(2)Se substituie funciile Skolemn, (dac exist), din clauzele care rezult din negarea teormei cu
noi variabile.
(3)Clauzele care rezult din negarea teoremei sunt transformate n tautologii prin adugarea
literalilor potrivii.
(4)Se construiete un arbore de deducie modificat cu aceeai structur cu cea a arborelui iniial.
Fiecare rezoluie n arborele modificat utilizeaz aceleai substituii ca cele folosite n
arborele de respingere iniial.
(5)Clauza obinut n rdcina arborelui de deducie modificat conine rspunsul cutat.
Logica cu predicate de ordinul I se nscrie n domeniul logicii clasice. Studiile de logic i
abordrile logice ale problemelor de inteligen artificial au investigat ins i alte tipuri de logici, cum ar
fi logicile multivalente, n special logicile vagi, logicile modale i temporale i logicile nemonotone, caz
particular al logicilor modale. Logicile nemonotone au un rol important n inteligena artificial deoarece
sunt capabile s elimine o parte din limitrile logicii clasice n domeniul reprezentrii i raionamentului,
utiliznd cunotine de bun simt.

Capitolul 4
Modelul regulilor de producie
Modelul regulilor de producie este deosebit de important n inteligena artificial deoarece acest
model a jucat un rol semnificativ n evoluia sistemelor bazate pe cunotine, de la stadiul de
produse ale laboratoarelor de cercetare la acela al produselor comerciale, cu aplicabilitate direct.
Regulile de producie i au originea n sistemele de producie propuse de E. Post, n 1943, ca
mecanism computaional general. n modelul regulilor de producie cunotinele sunt reprezentate
sub forma unor instruciuni condiionale exprimate ntr-un limbaj intuitiv, apropiat de cel natural.
Dei din punct de vedere formal, regulile de producie provin din modelul computaional propus
de Post, forma de exprimare a cunotinelor utiliznd reguli precede cu mult apariia
calculatoarelor. Jaynes [1976] descrie o colecie de 20 00030 000 de tblie babiloniene, dintre
care aproximativ 20% conin o mulime de reguli de producie, numite omenuri, pentru
100
ndrumarea activitii de zi cu zi. Aceste reguli au fost catalogate nc din anul 650 I.C. i
aveau o form asemntoare celei din sistemele bazate pe reguli din inteligena artificial, de
exemplu:
"Dac un cal intr n casa unui om i muc acel om, atunci proprietarul casei va muri
i casa lui se va prabui."
"Dac un om calc, din neatenie, o oprl i o omoar, atunci el va triumfa asupra
unui adversar al sau."
Modelul regulilor de producie a fost utilizat n inteligena artificial pentru prima oar n
sistemele DENDRAL [Buchanan, Feigenbaum,1978; Lindsay, s.a., 1980] i MYCIN [Buchanan,
Shortliffe, 1984]. Sistemele bazate pe reguli de producie au stat la baza dezvoltrii unui numr
de sisteme dedicate bazate pe cunotine, n care sintaxa regulilor era construit astfel nct s
permit exprimarea uoar a cunotinelor unui domeniu particular. Ulterior, din aceste sisteme s-
au dezvoltat sisteme bazate pe reguli independente de domeniu, deci sisteme cadru de dezvoltare
a sistemelor expert, cum ar fi OPS5 [Cooper, Wogrin, 1988], EMYCIN [van Melle,s.a.,1984],
sistemele M1 i K1 ale firmei Tecknowledge, sistemul PCPlus al firmei Texas Instruments, i
altele.
4.1 Reprezentarea cunotinelor sub forma regulilor de producie
Pn n acest moment, prezentarea modelelor de reprezentare a cunotinelor s-a concentrat
asupra formalismului logic. Din acest motiv, ca punct de plecare al modelului bazat pe reguli se
va folosi logica cu predicate.
n capitolul anterior reprezentarea logic a fost prezentat ca o form declarativ de
reprezentare a cunotinelor. O reprezentare declarativ este o reprezentare n care cunotinele
sunt specificate prin descrierea lor, fr a indica modul n care ele vor fi utilizate. Pentru a utiliza
o reprezentare declarativ, aceasta trebuie completat cu metode care specific cum vor fi
utilizate cunotinele reprezentrii. De exemplu, pentru a rezolva o problem particular, o
mulime de aseriuni logice poate fi combinat cu un demonstrator automat de teoreme bazat pe
strategia rezoluiei. Exist ns i un alt mod n care aseriunile logice (de o anumit form) pot fi
interpretate, respectiv ca un program i nu ca date ale unui program. n aceast perspectiv,
implicaiile logice definesc ci de raionament, iar formulele atomice reprezint punctele de
oprire ale raionamentului. Aceste ci de raionament definesc posibilele ci de execuie ale unui
program ntr-o manier apropiat de structura de control tradiional "if-then-else". Cu alte
cuvinte, aseriunile logice de o anumit form pot fi vzute ca o modalitate de reprezentare
procedural. O reprezentare procedural este o reprezentare n care cunotinele de control
necesare rezolvrii problemei sunt nglobate n nsi reprezentarea dat. Pentru a utiliza
reprezentarea procedural n rezolvarea problemei, trebuie s existe un interpretor care urmrete
specificaiile de control incluse n reprezentare. Limbajul Prolog, este un exemplu de astfel de
101
abordare, n care forma particular a aseriunilor este aceea a clauzelor Horn.
Limbajele bazate pe reguli de producie sunt un alt exemplu de reprezentare procedural a
cunotinelor, cu o forma particular a aseriunilor logice care va fi prezentat n continuare.
Multe dintre cunotinele problemelor ce trebuie rezolvate cu ajutorul programelor de
inteligena artificial sunt exprimate sub forma de implicaie. Exprimarea acestor cunotine n
logica cu predicate de ordinul I i transformarea formulelor logice n form clauzal duce uneori
la pierderea unor informaii de control preioase coninute n forma direct a implicaiei. De
exemplu, forma clauzala (A B C) v v este logic echivalent cu oricare din urmtoarele implicaii:
(~ A ~ B) C . , (~ A ~ C) B . , (~ B ~ C) A . , ~ A (B C) v , ~ C (A B) v , etc.
Fiecare din aceste implicaii, ns, conine i informaie de control extralogic, specific
implicaiei, informaie care nu apare n forma clauzal. De multe ori este preferabil s se utilizeze
n rezolvarea problemei implicaiile n forma lor original, sub forma regulilor de producie.
Utilizarea implicaiilor sub forma de reguli de producie ntr-un sistem de rezolvare a problemelor
poate crete eficiena sistemului prin eliminarea multiplicrilor introduse de transformarea
implicaiilor n forma clauzal.
ntr-un model de reprezentare bazat pe reguli de producie, cunotinele despre problema
sunt reprezentate prin dou tipuri de entiti: reguli i fapte. Regulile sunt cunotinele
reprezentate de implicaii i exprim cunotine generale despre domeniul problemei de rezolvat.
Faptele sunt aseriuni unitare i reprezint cunotinele specifice care descriu un caz particular,
adic o instan a problemei de rezolvat.
Regulile de producie sunt formate din dou componente: partea stnga a regulii, prescurtat
din limba engleza LHS, numit i antecedent, premis, condiie sau situaie, i partea dreapt a
regulii, prescurtat din limba engleza RHS, numit i consecin, concluzie, aciune sau rspuns.
Legtura logic ntre partea stng i partea dreapt a regulii este implicaia, n sensul c adevrul
prii stngi determin adevrul prii drepte a regulii, deci LHS RHS . Pornind de la structura
de control decizional "if-then" comun limbajelor de programare, cele mai multe limbaje bazate
pe reguli folosesc cuvintele cheie if then (uneori when do), n romnete dac atunci, pentru a
marca partea stng, respectiv partea dreapt a regulii.
Exemple:
R1: dac Coco zboar
i Coco are pene
atunci Coco este pasre.
R2: dac pacientul are temperatura mare
i tipul organismului este gram-pozitiv
i pacientul are gtul uscat
atunci organismul este streptococ
102
R3: dac maina nu pornete
i farurile nu se aprind
atunci bateria este consumat
sau bornele bateriei nu fac contact
R4: dac temperatura > 95
o
C
atunci deschide valva de protecie
Semnificaia unei reguli de producie este urmtoarea: dac premisa poate fi satisfcut
ntr-un context dat, atunci consecina poate fi satisfcut n acel context. Dac partea dreapt a
regulii definete o concluzie, efectul satisfacerii premisei este inferarea acelei concluzii
(exemplele R1, R2 i R3), iar dac partea dreapt a regulii definete o aciune, efectul satisfacerii
premisei este execuia acelei aciuni (exemplul R4). O inferen n reprezentarea bazat pe reguli
const n aplicarea unei astfel de reguli. Exist diverse forme sintactice pentru exprimarea
regulilor de producie, n funcie de limbajul de reprezentare a cunotinelor ales. n general,
partea stng a regulii este o conjuncie de condiii, iar partea dreapt a regulii este o conjuncie
sau disjuncie de aciuni sau concluzii. De exemplu:
dac I1 i I2 i I3
atunci C1 i C2
dac I1 i I2 i I3 i I4
atunci C1 sau C2 i C3
Fiecare regul reprezint o unitate de cunotine despre un anumit domeniu de expertiz. O
mulime de reguli poate corespunde unui lan de inferene care duc de la faptele cunoscute iniial
la concluzii necunoscute, concluzii care reprezint rezolvarea unei probleme.
Faptele, cealalt forma de reprezentare a cunotinelor n modelul regulilor de producie, au
o form care permite identificarea ipotezelor de satisfacut din reguli. Spre deosebire de reguli,
care sunt imperative i dinamice, faptele sunt statice i inactive. Urmtoarele enunuri sunt
exemple de fapte posibile ntr-o baz de cunotine:
Coco zboar.
Ilie are temperatura mare.
Tipul organismului o1 este gram-pozitiv.
Maina1 nu pornete.
Se poate observa legtura existent ntre modelul regulilor de producie i logica cu
predicate de ordinul I. Regulile R1R3 din exemplele enunate anterior pot avea urmtoarea
formulare logic.
Zboara(coco) ArePene(coco) Pasare(coco) .
103
( p)( o)(Temperatura (p, mare) Tip(o,gram- pozitiv ) GitUscat(p)) . .
Identitate (o,streptococ)
( m)( b)(NuPorneste(m) NuAprinde(m, far)) - .
(Stare(b,consumata) Borne(b, fara_contact)) v
Regula R4 este mai dificil de exprimat n calculul cu predicate deoarece concluzia ei
implic o aciune. Din punct de vedere logic, faptele pot fi vzute ca formule atomice; de
exemplu faptele anterioare pot fi exprimate n formalismul logic astfel:
Zboara(coco)
Temperatura(ilie , mare)
Tip(o1,gram- pozitiv )
NuPorneste(masina1)
Formularea regulilor i a faptelor din exemplele date s-a fcut n limbaj natural. Cele mai
multe limbaje bazate pe reguli de producie au o sintax fix care, dei apropiat de limbajul
natural, definete un limbaj independent de context. Utiliznd o astfel de sintax, exemplele de
reguli R2R4 vor fi de fapt exprimate ntr-un posibil limbaj de reprezentare astfel:
R2': dac Temperatura-Pacient = mare
i Tip-Organism = gram-pozitiv
i GtUscat-Pacient
atunci Identitate-Organism = streptococ
R3': dac NuPorneste-Masina
i NuAprinde-Masina = far
atunci Stare-Baterie = consumata
sau Borne-Baterie = fara-contact
R4': dac Temperatura >95
atunci DeschideValva
Se observ c att condiiile din partea stnga a regulilor, ct i concluzia (sau aciunile) din
partea dreapt a regulilor pot conine entiti echivalente cu variabilele din calculul cu predicate.
Unele dintre sistemele care folosesc reprezentarea bazat pe reguli de producie, cum ar fi
sistemul MYCIN, permit existena a dou forme alternative pentru reguli i fapte: o form
apropiat de limbajul natural pentru interfaa cu utilizatorul i o form intern, n care regulile
sunt exprimate ntr-un limbaj apropiat unui limbaj de programare, deci avnd o sintax fix.
Multe din sistemele bazate pe reguli extind reprezentarea strict sub forma de reguli i fapte
cu o structurare a cunotinelor referite de acestea. Universul problemei este descris prin obiecte
104
i atributele asociate care le definesc, iar regulile de producie i faptele refer aceste
obiecte, atribute i valorile lor. n exemplele de reguli R2'R3' se poate presupune, de exemplu,
c exist obiectul Pacient, cu atributele Temperatura i GtUscat, obiectul Organism cu atributele
Tip1 i Identitate, obiectul Masina cu atributele NuPorneste, NuAprinde i obiectul Baterie cu
atributele Stare i Borne. Aceast extindere reprezint de fapt introducerea n modelul pur al
regulilor de producie a unor elemente particulare reprezentrii structurate a cunotinelor.
Sintaxa deschis a limbajelor bazate pe reguli permite proiectanilor mult mai multe liberti
dect calculul cu predicate de ordinul I. n plus, pot apare aciuni asociate consecinelor regulilor,
aciuni care pot consta fie n execuia unor proceduri sau funcii externe, fie n comanda sau
execuia unor aciuni. Modelul regulilor permite, de asemenea, o mare flexibilitate la nivelul
structurii de control. Pe lng aspectele menionate, utilizarea regulilor de producie aduce
urmtoarele avantaje din punct de vedere al modelrii cunotinelor n sistem [Hayes-
Roth,s.a.,1983]:
- separarea cunotinelor generale despre problem de datele specifice unei insante a
problemei de rezolvat
- partiionarea cunotinelor n unitti de cunotine independente, facilitnd astfel
dezvoltarea incremental a bazei de cunotine
- posibilitatea meninerii a dou forme de expresie a regulilor: o forma intern sistemului,
adecvat procesului de rezolvare i o form extern, apropiat limbajului natural, pentru
interfaa utilizatorului cu sistemul.
4.2 Sisteme bazate pe reguli de producie
Pentru prezentarea proprietilor reprezentrii i utilizarea cunotinelor exprimate sub form de
reguli de producie, n continuare se descriu structura i funcionarea sistemelor de rezolvare a
problemelor care utilizeaz acest formalism.
4.2.1 Structura unui sistem bazat pe reguli
Un sistem care utilizeaz modelul regulilor de producie pentru reprezentarea cunotinelor se
numeste sistem bazat pe reguli, pe scurt SBR [Hayes-Roth,1985]. n general, un sistem bazat pe
reguli de producie este format din urmtoarele trei componente principale:
- Baza de cunotine (BC)
- Memoria de lucru (ML)
- Interpretorul de reguli sau Motorul de inferen (MI)
Structura general a unui sistem bazat pe reguli este prezentat n Figura 4.1.
105
MEMORIE
DE LUCRU
Fapte dinamice
BAZA DE
CUNOSTINTE
Reguli Fapte
Date de activare
MOTOR DE
INFERENTA
Selectie reguli
Reguli selectate
Actiuni
(Concluzii)
Date
Reprezentare
Control
Intrari
(date de caz)
Iesiri
(Raspunsuri)
si fapte

Figura 4.1 Organizarea unui sistem bazat pe reguli
Baza de cunotine conine cunotinele domeniului problemei de rezolvat, exprimate sub
form de reguli, i cunotine specifice instanelor problemei, exprimate sub form de fapte.
Rezolvarea problemelor complexe implic existena unor baze de cunotine de dimensiuni
considerabile, necesitnd din acest motiv mecanisme de organizare i indexare a regulilor.
Memoria de lucru conine informaia de stare a rezolvrii problemei, informaie reprezentat
prin aseriuni temporare. Aceste aseriuni temporare sunt att datele iniiale ale problemei de
rezolvat, ct i toate faptele inferate pe parcursul rezolvrii problemei. De obicei, datele din
memoria de lucru respect conveniile sintactice ale faptelor din baza de cunotine, ceea ce face
ca aceste aseriuni temporare s se numeasc i fapte dinamice, iar memoria de lucru s se
numeasc memorie dinamic.
106
Motorul de inferen reprezint componenta de control i execuie a unui
sistem bazat pe reguli. Motorul de inferen inspecteaz partea stng a fiecrei reguli din baza
de cunotine pn cnd gsete o regul care identific coninutul memoriei de lucru, dup care
execut (aplic) aceast regul. Execuia regulii de producie determin schimbarea coninutului
memoriei de lucru pe baza prii drepte a regulii care a identificat. Acest proces continu pn
cnd n memoria de lucru se acumuleaz faptele care reprezint soluia problemei sau pn cnd
nu se mai poate aplica nici o regul. Rezolvarea unei probleme folosind un sistem bazat pe reguli
const deci n realizarea unei serii de inferene printr-un proces de nlnuire recursiv a regulilor,
pn la gsirea soluiei sau pn la ntlnirea unei situaii de blocare (nu ntotdeauna se ajunge
ntr-una din aceste dou stri, sistemul putnd cicla la infinit n anumite cazuri). ntr-un astfel de
sistem, procesul de inferen se execut, tipic, ntr-un mod interactiv, utilizatorul putnd furniza
noi date pe parcursul execuiei, dac aceste date sunt cerute de sistem.
n general, motorul de inferen accept ntrebri de la utilizator i rspunde folosind
informaia dinamic din memoria de lucru (datele de caz) i cunotinele statice din baza de
cunotine (reguli). Cunotinele din baza de cunotine sunt folosite pentru a deriva concluzii
despre cazul sau situaia curent prezentat de utilizator.
4.2.2 Ciclul de inferen al unui sistem bazat pe reguli
Funcionarea unui sistem bazat pe reguli este format din execuia repetat a unui ciclu de
operaii care realizeaz, n esen, aplicarea unei reguli, deci un pas de inferen al reprezentrii.
Acest ciclu de operaii se numeste ciclu de inferen al sistemului expert bazat pe reguli de
producie i se compune din urmtoarele trei etape: identificare, selecie i execuie.
(1) Identificare. n timpul etapei de identificare se compar coninutul memoriei de
lucru cu baza de cunotine i regulile care identifica sunt grupate de motorul de
inferen n mulimea de conflicte. Mulimea de conflicte reprezint mulimea
regulilor aplicabile ntr-un anumit context, context specificat de memoria de lucru.
(2) Selecia. Etapa de selecie const n selectarea unei reguli din mulimea de conflicte,
pe baza unui criteriu de selecie. Aceasta etap se mai numete i rezolvarea
conflictelor.
(3) Execuie. n timpul etapei de execuie se aplic regula prin execuia prii drepte a
regulii. Dac partea dreapt a regulii este o concluzie, se adaug faptele din
concluzie n memoria de lucru, iar dac partea dreapt este o aciune, se execut
aceast aciune. Aciunea poate indica diverse operaii, cum ar fi: adaug fapte n
memoria de lucru, terge fapte, modific fapte existente, tiprete mesaje, pune
ntrebri, oprete procesul de inferen.
Ciclul de inferen al unui sistem bazat pe reguli poate fi exprimat, la nivel general, prin
urmtorul algoritm.
107
Algoritm: Funcionarea unui sistem bazat pe reguli
1. ML date de caz
2. repet
2.1. Execut identificare ntre ML i BC (partea stng sau partea dreapt
a regulilor i fapte) i creeaz mulimea de conflicte a regulilor aplicabile
2.2. Selecteaz o regul dup un criteriu de selecie
2.3. Aplic regula prin execuia prii drepte a regulii
pn nu mai sunt reguli aplicabile sau
memoria de lucru satisface condiia de stare scop sau
o cantitate predefinit de efort a fost epuizat
sfrit.
Observaii:
- Forma specific a algoritmului pentru un sistem sau altul difer n functie de direcia de
aplicare a regulilor.
- Condiia de stare scop a memoriei de lucru este atins n momentul n care memoria de
lucru conine soluia problemei.
Etapa de identificare are ca scop determinarea acelor reguli care pot fi satisfcute pe baza
coninutului curent al memoriei de lucru, prin identificarea prii stngi a regulilor cu faptele din
memoria de lucru. n cazul n care regulile conin variabile, procesul de identificare este similar
cu cel al unificrii expresiilor din calculul cu predicate de ordinul I, expresia care unific fiind
partea stng a regulii. Legrile de variabile produse de aceast unificare influeneaz i
variabilele cu aceleai nume din partea dreapt a regulii deoarece, la fel ca n logica cu predicate
de ordinul I, contextul unei variabile este toat regula n care apare variabila. Din cauza prezenei
variabilelor n regul, etapa de identificare poate genera pentru o aceeai regul din baza de
cunotine mai multe reguli n mulimea de conflicte, reguli corespunztoare diverselor instanieri
posibile ale variabilelor. Baza de cunotine poate avea dimensiuni impresionante n cazul
rezolvrii unor probleme complexe, fapt ce influeneaz semnificativ att timpul de identificare,
ct i dimensiunea mulimii de conflicte. Timpul identificrii regulilor aplicabile poate fi redus
prin diverse tehnici cum ar fi partiionarea regulilor sau aplicarea unor algoritmi inteligeni de
identificare.
Etapa de selecie este cea care stabilete de fapt forma de cutare utilizat de sistemul bazat
pe reguli, deci strategia de control. Strategia de control este un element important al ciclului de
inferen al unui sistem bazat pe reguli. ntr-un sistem bazat pe reguli strategia de control are
dou componente: stabilirea criteriului de selecie a regulilor din mulimea de conflicte i
direcia de aplicare a regulilor: nlnuirea nainte sau nlnuirea napoi a regulilor.
108
Rezolvarea unei probleme de ctre un sistem bazat pe reguli este de fapt un proces de
cutare a soluiei n care operatorii sunt reprezentai de regulile sistemului. n consecin, toate
tehnicile de cutare prezentate n Capitolul 2 pot fi aplicate n cazul sistemelor bazate pe reguli.
Din punct de vedere al direciei de aplicare a regulilor, nlnuirea nainte a regulilor corespunde
unei reprezentri a soluiei problemei prin spaiul strilor, iar nlnuirea napoi a regulilor
corespunde unei reprezentri prin grafuri SI/SAU a soluiei problemei. Rezolvarea conflictelor se
refer la ordinea de selecie i preferarea unui operator fa de ali operatori aplicabili ntr-un
context dat.
La fel ca n orice problem de cutare, strategia unui sistem bazat pe reguli poate fi
irevocabil, adic fr posibilitatea revenirii n stri anterioare, sau tentativ, adic se aplic
regula dar se menine informaia necesar unei posibile reveniri n punctul anterior aplicrii
regulii. De asemenea, strategia sistemului poate avea un grad de informare mai mare sau mai mic,
dac exist cunotine suficiente pentru a alege regulile potrivite, sau poate fi complet
neinformat, caz n care selecia se face conform unei ordini stabilite a priori.
Costul computaional al rezolvrii unei probleme utiliznd reguli de producie implic, pe
lng costul controlului i cel al aplicrii regulilor, i costul procesului de identificare. n urma
studiilor efectuate, s-a observat c identificarea este etapa cea mai consumatoare de timp din
ciclul de inferena al unui sistem bazat pe reguli. Ponderea costului controlului (seleciei)
regulilor i a costului aplicrii (execuiei) regulilor n costul total este similar celei descrise de
graficul din Figura 2.7 (Capitolul 2).
4.2.3 Criterii de selecie a regulilor
Rezultatul etapei de identificare este mulimea de conflicte, deci mulimea tuturor regulilor care
au identificat cu descrierea strii curente a rezolvrii problemei, descriere coninut n memoria
de lucru. Rezolvarea conflictelor din etapa de selecie are rolul alegerii uneia sau mai multor
reguli care vor fi aplicate. Exista diverse criterii de selecie, prezentate n continuare.
(a) Selecia primei reguli aplicabile
Considernd ordinea fizic a regulilor din baza de cunotine, se alege prima regul aplicabil,
deci prima care a identificat, i se aplic acea regul. n acest caz, nu se creeaz de fapt o mulime
de conflicte, regimul de control fiind un control numit focalizarea ateniei. Aceasta strategie este
aplicat de exemplu, de sistemul Prolog i corespunde unei strategii de tip "backtracking".
(b) Alegerea unei reguli din multimea de conflicte
n acest caz se folosete o tehnic explicit de rezolvare a conflictelor pentru a decide asupra
regulii de aplicat. Preferinele n alegerea unei reguli se pot baza pe natura regulilor, pe natura
faptelor (obiectelor) identificate, pe strile urmtoare generate sau pe utilizarea unor cunotine de
control exterioare cunotinelor specifice domeniului, metaregulile. Aceast strategie este de fapt
109
cunoscut sub numele de rezolvarea conflictelor. Preferinele de alegere a regulilor
din mulimea de conflicte pot fi:
(b.1) Preferine bazate pe natura regulilor
Unul din cazurile cele mai ntlnite este acela al preferinei regulilor cu specificitate mai
mare. O regula R1 are o specificitate mai mare dect o alt regul R2 dac:
- mulimea de condiii ale regulii R1 include mulimea de condiii ale regulii R2, deci este
un superset al acesteia;
- condiiile regulii R1 sunt aceleai cu cele ale regulii R2, dar condiiile regulii R1 refer
valori constante, n timp ce acelea ale lui R2 refer variabile.
Utilizarea acestui criteriu este justificat deoarece se consider c o regul cu specificitate
mai mare poate descrie cu o mai mare acuratee caracteristicile strii curente, deci are mai multe
anse din punct de vedere al avansului spre soluie. Un alt criteriu de preferin este acela al
momentului folosirii anterioare a regulii, n sensul ca se prefer regula cea mai recent folosit sau
regula folosit cel mai de demult. Aceste alegeri sunt asemntoare criteriilor MRU i LRU din
mecanismele de paginare a memoriei folosite n sistemele de operare.
Reducerea mulimii de conflicte poate fi realizat prin partiionarea regulilor n diverse
clase, fiecare clas fiind definit prin contextul de aplicare al regulii. Aceast partiionare a bazei
de reguli se realizeaz de obicei prin introducerea unei prime condiii n fiecare regul care
specific contextul (starea memoriei de lucru) de aplicare a regulii.
De multe ori, rezolvarea conflictelor se face prin aplicarea mai multor criterii n scopul
eliminrii, pe ct posibil, a ambiguitilor. De exemplu, n sistemul OPS5 [Cooper,Wogrin,1988]
rezolvarea conflictelor se face pe baza partiionrii regulilor, a specificitii regulilor, a eliminrii
instanelor de reguli care au fost deja aplicate, plus un criteriu de preferin bazat pe obiecte,
acela al regulii care a identificat faptul cel mai recent introdus n memoria de lucru.
(b.2) Preferine bazate pe obiectele identificate
Se pot ataa factori de merit faptelor din memoria de lucru i a celor din baza de cunotine
i se vor prefera regulile care identific faptele cu factori de merit maxim. O alt posibilitate este
preferarea celui mai recent fapt identificat, criteriu amintit anterior i folosit n OPS5.
(b.3) Preferine bazate pe stri
Dac exista mai multe reguli n mulimea de conflicte, se pot aplica temporar toate aceste
reguli, generndu-se astfel n memoria de lucru diverse stri urmtoare. Apoi, pe baza unei funcii
euristice de evaluare a strilor rezultate, se alege ca regul preferat acea regul care a generat o
110
stare cu valoarea maxim (minim) a funciei euristice. Aceast abordare este identic cu
strategia de control euristic de tip "best-first", strategie prezentata n Capitolul 2.
(b.4) Utilizarea metaregulilor
Anumite criterii de selecie a regulilor din mulimea de conflicte pot fi exprimate explicit tot
sub forma de reguli. Cunotintele nglobate n acest tip de reguli se numesc cunotine de control
i fac parte din categoria metacunotinelor. Ele se numesc metacunotine deoarece nu sunt
cunotine care caracterizeaz domeniul problemei de rezolvat ci sunt cunotine despre
cunotine. Modelul regulilor de producie ofer avantajul posibilitii exprimrii acestor
metacunotine n acelasi fel ca i cunotinele domeniului, adic sub forma de reguli. Acest lucru
este considerat un avantaj deoarece interpretorul de reguli poate fi folosit att pentru aplicarea
regulilor, ct i a metaregulilor. Cunotinele de control pot lua diverse forme, de exemplu:
- cunotine despre ce stri sunt preferate fa de altele
- cunotine despre ce reguli trebuie preferate n anumite situaii
- cunotine despre ordinea n care trebuie realizate scopurile
- cunotine despre secvene utile de reguli care pot fi aplicate.
Urmtoarea schem general de regul prezint exemplele unor metareguli de preferare a
regulilor n anumite situaii
dac o regul are condiiile A i B
i regula refer {nu refer} X
{ de loc/
numai n partea stng/
numai n partea dreapt }
atunci regula va fi n special util
{ probabil util/
probabil inutil/
sigur inutil }
Unul dintre cele mai cunoscute sisteme care include metacunotine despre secvene de
reguli util de aplicat este sistemul SOAR [Laird,s.a.,1987].
(c) Aplicarea tuturor regulilor din mulimea de conflicte
O astfel de strategie aplic toate regulile din mulimea de conflicte i produce mai multe stri care
vor fi memorate i prelucrate independent. Ea se numete strategie de tipul "ncearc toate
regulile" i poate fi aplicat n cazul n care se poate evita un cost ridicat al exploziei
combinaionale. Criteriul "ncearc toate regulile" se aplic, n general, n cazul sistemelor bazate
pe reguli cu raionament incert. n acest tip de sisteme, toate datele (faptele) au asociat un
111
coeficient de certitudine care indic ncrederea sistemului n acele valori, iar sistemul
calculeaz noi coeficieni de certitudine pentru datele nou inferate. Execuia unor secvene de
reguli diferite, pornind de la aceeai stare, poate duce la deducia unor date diferite, fiecare avnd
ns asociat un alt coeficient de certitudine. Un astfel de sistem bazat pe reguli este sistemul
MYCIN.
4.2.4 Direcia de aplicare a regulilor
A doua component a strategiei de control a unui sistem bazat pe reguli este direcia de aplicare a
regulilor. Regulile pot fi aplicate utiliznd nlnuirea nainte prin identificarea prii stngi a
regulii cu memoria de lucru, sau utiliznd nlnuirea napoi prin identificarea prii drepte a
regulii cu memoria de lucru i ncercarea satisfacerii prii stngi a regulii. Cele dou abordri
sunt prezentate sintetic n Figura 4.2.
INLANTUIRE INAINTE
daca atunci
daca atunci
INLANTUIRE INAPOI
daca atunci
daca atunci
daca atunci
A B
B C
A (data)
C (concluzie )


determina C
B C
A B
( A C, implicit )
Este A adevarata? (data)

Figura 4.2 nlnuirea execuiei regulilor de producie
Ideea funcionrii sistemelor cu nlnuire nainte, respectiv nlnuire napoi, poate fi
explicat i fcnd o paralel cu teoria limbajelor formale. Considernd urmtoarea gramatic,
dat sub form de reguli de producie:
S ABA
A A1 , A 1 , B B0 , B 0
identificarerea prii stngi a unei mulimi de reguli cu o baz de date (memorie de lucru) care
conine simbolul de start S, produce un generator de propoziii din limbajul specificat de
gramatic, iar identificarea prii drepte a aceleiai mulimi de reguli cu baz de date produce o
metod de recunoatere (un acceptor) pentru acest limbaj.
Exemplu. Fie urmtorul set de reguli de producie:
R1: dac A
i B
atunci C
R2: dac C
atunci D
R3: dac E
atunci B
112
R4: dac A
i E
atunci C
Memoria de lucru conine iniial faptele A i E care reprezint datele de caz ale instanei
problemei de rezolvat, i starea scop D, D reprezentnd soluia cutat.
Aplicnd nlnuirea nainte a regulilor se poate gsi secvena de reguli R3, R1, R2,
prezentat n Figura 4.3 (a), care produce n memoria de lucru stare scop D cutat. Considernd
toate regulile aplicabile la un moment dat, exemplul genereaz arborele de cutare n spaiul
strilor din Figura 4.3 (b). Se observ c starea iniial, definit prin coninutul A, E al memoriei
de lucru, creeaz mulimea de conflicte {R4, R3}. Fiecare aplicare de regul, pe o cale de cutare,
va adauga noi fapte la memoria de lucru astfel nct, n final, aceasta conine fie secvena A, E, C,
D fie A, E, B, C, D. Din spaiul de cutare al soluiei s-au eliminat aplicrile de reguli care nu
modific coninutul memoriei de lucru, de exemplu nu s-a figurat regula R4 care s-ar fi putut
aplica secvenei A, E, C dar care nu ar fi produs nici o schimbare.
Continut initial al memoriei de lucru: A,E
Stare scop: D
A,E A,E,B A,E,B,C A,E,B,C,D
(a)
R3 R1 R2
A,E
A,E,B
A,E,B,C
A,E,B,C,D
A,E,C
A,E,C,D
R4
R2
R3
R1
R2
(b)

Figura 4.3 nlnuirea nainte a regulilor de producie
Aplicnd nlnuirea napoi a regulilor de producie, se ncearc satisfacerea scopului D prin
aplicarea unei reguli care menioneaz n concluzie D. O astfel de regul este R2. Pentru ca R2 s
poat fi executat trebuie ca memoria de lucru s conin faptele care satisfac premisa regulii.
113
Pentru aceasta trebuie ndeplinite scopurile din premis, deci cutate regulile care refer aceste
scopuri n concluzie. n cazul n care nu exist astfel de reguli, fie faptele sunt deja n memoria de
lucru, i regula poate fi direct aplicat, fie, n caz contrar, se solicit utilizatorului informaii
despre adevrul acestor fapte. O posibil secven de satisfacere a scopului D prin aplicarea
nlnuirii napoi a regulilor este prezentat n Figura 4.4 (a). Dac se consider toate
posibilitile de satisfacere a scopului D se obine arborele SI/SAU din Figura 4.4 (b).
R3
Continut initial al memoriei de lucru: A,E
Stare scop: D
D? C? A?, B? A?, E?
(a)
R3 R1 R2
D
C
A B E
R1 R4
R2
A? A? E?
E?
(b)
A
C

Figura 4.4 nlnuirea napoi a regulilor de producie
Revenind la exemplul mozaicului de opt numere prezentat n Capitolul 2, problema poate fi
reformulat prin definirea unor reguli de producie. Presupunnd c ptratele mozaicului sunt
numerotate de la 1 la 9, de-a lungul liniilor, se pot defini reguli de tipul
R1: dac Ptratul 1 este vid
si Ptratul 2 conine numrul N
atunci Ptratul 2 devine vid
i Ptratul 1 conine numrul N
R2: daca Ptratul 1 este vid
si Ptratul 4 conine numrul N
114
atunci Ptratul 4 devine vid
si Ptratul 1 conine numrul N
. . .
Regula R1 corespunde operatorului de deplasare a ptratului liber DREAPTA, iar regula R2
operatorului JOS. Rezolvnd problema prin aplicarea nlnuirii nainte a regulilor, memoria de
lucru conine la nceput descrierea strii iniiale n termenii coninutului fiecrui ptrat de la 1 la
9: numr sau vid. Se aplic regulile care identific memoria de lucru, N fiind o variabil ce poate
fi instaniat la orice numr de la 1 la 9. n acest caz, partea dreapt a regulilor are efectul de a
modifica coninutul memoriei de lucru prin eliminarea unor fapte i adugarea de noi fapte. n
momentul n care memoria de lucru satisface conditia de stare final, adic conine configuraia
corespunztoare strii finale, problema este rezolvat.
Rezolvnd problema prin aplicarea nlnuirii napoi a regulilor, memoria de lucru este
iniializat la starea final. Se caut acele reguli ale cror concluzii produc descrierea strii finale
i se genereaz arborele SI/SAU corespunztor pn n momentul n care se ajunge la o mulime
de ipoteze de reguli care sunt satisfacute de descrierea strii iniiale. Regulile de tipul celor
indicate mai sus reprezint o formulare ineficient a tranziiilor posibile n problem deoarece
trebuie specificat cte o regul pentru fiecare posibil pereche de ptrate. nlocuind constantele
Ptratul1, Ptratul2, etc., cu variabilele PtratulX, PtratulY i adaugnd n partea stng a regulii
o condiie suplimentar referitor la poziia relativ a celor dou ptrate, se obine un set de reguli
redus, deci o reprezentare mai eficient.
Observaii:
- Aa cum s-a spus i n Seciunea 4.2.2, nlnuirea nainte a regulilor pentru rezolvarea
problemei corespunde unei cutari n spaiul strilor, n timp ce nlnuirea napoi a
regulilor corespunde unei cutari n grafuri SI/SAU.
- Spre deosebire de modelele de cutare prezentate n Capitolul 2, aceleai reguli pot fi
aplicate att folosind nlnuirea nainte, ct i nlnuirea napoi, aa cum se vede din
exemplul anterior. Alegerea unei direcii de aplicare a regulilor sau a alteia este
important. n functie de topologia spaiului de cutare, cutarea ntr-o direcie sau alta
poate fi semnificativ mai eficient decit cutarea n cealalt direcie.
- Etapa de identificare a ciclului de inferen al unui sistem bazat pe reguli este mult mai
complex n cazul nlnuirii nainte dect n cazul nlnuirii napoi. Au fost dezvoltate
diverse tehnici pentru reducerea timpului necesar acestei etape, cum ar fi de exemplu
algoritmul RETE, de identificare rapid a obiectelor multiple cu abloane multiple,
algoritm folosit n sistemul OPS5.
115
Exist sisteme bazate pe reguli care utilizeaz ambele direcii de aplicare a
regulilor. n general, n astfel de sisteme, anumite reguli se aplic folosind nlnuirea nainte, iar
alte reguli se aplic folosind nlnuirea napoi, regulile fiind marcate fie ca "reguli nainte", fie ca
"reguli napoi". Strategia de control a unui astfel de sistem trebuie s poat comuta ntre o direcie
i alta, n funcie de tipul regulii care a identificat.

4.3 Paradigme de sisteme bazate pe reguli
n aceast seciune se prezint cteva exemple de sisteme bazate pe reguli mpreun cu algoritmii
de baz ai structurilor de control asociate. Exemplele prezentate sunt didactice i foarte simple,
avnd ca principal scop explicarea funcionrii acestor sisteme n termenii unei complexiti de
prezentare rezonabile. Cu toate acestea, exemplele sunt inspirate din arhitecturile funcionale ale
unor sisteme reale foarte cunoscute i aplicate cu succes n rezolvarea unor probleme dificile, care
necesit expertiza uman.
4.3.1 Sisteme cu nlnuire nainte a regulilor
Funcionarea unui sistem cu nlnuire nainte a regulilor urmrete algoritmul general al ciclului
de inferen prezentat n Seciunea 4.2.2. Particularitatea rezolvrii problemelor ntr-un astfel de
sistem poate fi descris prin urmtorul algoritm de obinere a valorii unui obiect sau a unui atribut
al unui obiect. n algoritm se noteaz cu A obiectul sau atributul obiectului pentru care se
ncearc determinarea valorii.
Algoritm: Determinarea unei valori cu nlnuire nainte a regulilor
D(A) DetValoare
1. dac A are valoare
atunci ntoarce SUCCES
2. Construiete mulimea de conflicte, MC
3. ntoarce Determina(A, MC)
sfrit.
MC) A, Determina(

1. dac MC={ }
atunci ntoarce INSUCCES
2. Alege o regul R MC e dupa un criteriu de selecie
3. pentru fiecare ipotez I , j =1, N
j
a premisei regulii R execut
3.1. Determin adevrul lui I
j

116
4. dac toate ipotezele I , j =1, N
j
sunt satisfcute
atunci
4.1. Adaug faptul din concluzia regulii R la ML
4.2. dac A are valoare
atunci ntoarce SUCCES
5. MC MC R
6. ntoarce Determina(A, MC)
sfrit.
Observaie. Algoritmul dat nu specific criteriul de selecie a regulilor de executat din mulimea
de conflicte. Se poate folosi unul sau mai multe dintre criteriile prezentate n Seciunea 4.2.3.
Diversele detalii i forme particulare ale algoritmului difer de la un sistem la altul.
Exemplul prezentat n continuare va crea o imagine sugestiv a funcionrii unui sistem
bazat pe reguli cu nlnuire nainte. Se consider problema ambalrii unor obiecte pentru a fi
trimise la organizarea unei expoziii. Fiecare obiect este descris printr-o serie de atribute care sunt
specificate n baza de cunotine ca fapte iniiale. Un obiect care trebuie ambalat are urmtoarele
atribute: nume, greutate, dimensiune i fragilitate, care sunt atribute cu valori predefinite pentru
fiecare obiect. n plus, un obiect are un atribut numit mpachetat cu valorile nu, respectiv da,
corespunztor strii obiect mpachetat ntr-o cutie sau nu. Baza de cunotine conine urmtoarele
tipuri de reguli de rezolvare a problemei:
- reguli care se refer la criteriile de ambalare a obiectelor, de exemplu: nu se pune un
obiect greu peste unul uor, se ncearc nti ambalarea obiectelor mai mari, etc.
- reguli pentru considerarea unei noi cutii de ambalaj cnd cea precedent este complet
- reguli de verificare a completitudinii setului de obiecte trimise n expoziie.
In rezolvarea problemei se pot distinge mai muli pai sau etape de rezolvare independente.
De exemplu, exist o etap n care se verific completitudinea decorului, o etap n care se
ambaleaz obiectele mari, o etap pentru ambalarea obiectelor de dimensiune medie i o ultim
etap pentru ambalarea celor de dimensiune mic. Problemele care prezint aceast caracteristic
au avantajul posibilitii partiionrii spaiului de cutare n subspaii de cutare distincte, deci
reducerea efortului de cutare prin reducerea mulimii de conflicte a regulilor aplicabile la un
moment dat. Regulile se patiioneaz n submulimi distincte, fiecare submulime de reguli
referindu-se la o anumit etap de rezolvare a problemei i fiecare regul coninnd n premiza o
ipotez ce verific etapa din care face parte regul. Aceast abordare este de fapt o modalitate de
indexare a regulilor care permite reducerea efortului necesar etapei de identificare.
La nceperea execuiei, memoria de lucru a sistemului este iniializat cu datele de caz ale
problemei particulare de rezolvat, respectiv obiectele de mpachetat descrise prin valorile de
117
atribute. Tot n memoria de lucru se depune informaia de stare asupra rezolvrii
problemei: etapa iniial, ambalajul curent i lista obiectelor de mpachetat. Coninutul memoriei
de lucru este prezentat n Figura 4.5.
Soclu Vaza, Tablou, Statuie,
} {
Decor - Verifica
nu nu mare greu Soclu
nu da mica usor Vaza
nu nu medie usor Tablou
nu nu mare mediu Statuie
: ate Neimpachet Obiecte
: 1 Cutie
: Etapa
Impachetat Fragil Dimensiune Greutate Nume


Figura 4.5 Coninutul iniial al memoriei de lucru la ambalarea obiectelor
Fiecare regul din baza de cunotine testeaz numele etapei. Exemple de reguli din prima
etap sunt:
R11: dac Etapa este Verifica-Decor
i exist o statuie
i nu exist soclu
atunci adaug soclu la Obiecte-Nempachetate
R17: dac Etapa este Verifica-Decor
atunci termin Etapa Verifica-Decor
i ncepe Etapa Obiecte-Mari
La prima vedere regula R17 pare periculoas deoarece ar putea fi apelat oricnd. Acest
lucru nu se ntmpl deoarece sistemul funcioneaz ordonnd regulile din mulimea de conflicte
dup criteriul de specificitate al regulilor, deci regula R17 va fi ultima regul aplicabil n etapa
Verific-Decor. Regula R17 va determina o schimbare adecvat n memoria de lucru: coninutul
atributului Etapa se modific la Obiecte-Mari facndu-se astfel comutarea strii sistemului la o
nou etap. Exemple de reguli din etapa Obiecte-Mari sunt:
R21: dac Etapa este Obiecte-Mari
i exist un obiect mare de ambalat
i exist un obiect greu de ambalat
i exist o cutie cu mai puin de trei obiecte mari
atunci pune obiectul greu n cutie
R22: dac Etapa este Obiecte-Mari
i exist un obiect mare de ambalat
118
i exist o cutie cu mai puin de trei obiecte mari
atunci pune obiectul mare n cutie
Obiectele mari sunt ambalate primele n cutii dar, dac exist un obiect greu, acesta este
ambalat primul. Tot pe baza criteriului de specificitate, regula R21 se execut naintea regulii
R22, desi ambele reguli sunt aplicabile ntr-un context dat. Tot n aceasta Etap trebuie s mai
existe o regul pentru alegerea unei noi cutii n cazul n care cutia curent s-a umplut i o regul
pentru prsirea etapei Obiecte-Mari i nceperea etapei Obiecte-Medii. Aceste reguli sunt:
R28: dac Etapa este Obiecte-Mari
i exist un obiect mare de pus
atunci folosete o cutie nou
R29: dac Etapa este Obiecte-Mari
atunci termin Etapa Obiecte-Mari
i ncepe Etapa Obiecte-Medii
Memoria de lucru n acest moment va nregistra urmtoarele modificri:
Etapa :
Cutie 1 :
Obiecte Neimpachetate :
Obiecte - Medii
Soclu,Statuie
Tablou, Vaza

Observaii:
- Regulile din acest exemplu sunt formulate n limbaj natural fr a ine cont de o sintax
specific a unui limbaj bazat pe reguli.
- Se observ c regulile se refer la obiecte generice (variabile) care vor fi instaniate n
faza de identificare. De exemplu, "obiect mare de pus" din regula R22 st pe postul unei
variabile i se instaniaz la obiectul particular Statuie.
- Partea dreapt a regulilor poate aduga elemente la memoria de lucru, poate terge sau
modifica valori din memoria de lucru sau poate comuta ntr-o nou Etap.
- Un posibil criteriu de oprire al sistemului, deci detectarea strii scop, ar fi momentul n
care toate obiectele au atributul mpachetat egal cu da.
Modelul de rezolvare al acestei probleme este inspirat din funcionarea unuia dintre cele mai
de succes sisteme expert, sistemul R1/XCON.
4.3.2 Sisteme cu nlnuire napoi a regulilor
ntr-un sistem cu nlnuire napoi a regulilor de producie funcionarea se pornete de la scopul
de demonstrat sau de aflat. De obicei acest scop este aflarea valorii unui obiect sau a unui atribut
119
al unui obiect. Particularitatea rezolvrii problemelor ntr-un astfel de sistem poate fi
descris prin algoritmul urmtor.
Algoritm: Determinarea unei valori cu nlnuirea napoi a regulilor
DetValoareI(A)
1. Construiete mulimea regulilor care refer A n concluzie, MC
2. dac MC={ } /* nu exist nici o regul care s
deduc valoarea lui A */
atunci
2.1. ntreab utilizatorul valoarea lui A
2.2. dac se cunoaste valoarea lui A
atunci depune n ML aceast valoare
3. altfel
3.1. Alege o regul R MC e dup un criteriu de selecie
3.2. pentru fiecare ipoteza I , j =1, N
j
, a premisei lui R execut
3.2.1. Fie A
j
atributul referit de ipoteza I
j

3.2.2. dac A
j
are valoare
atunci atunci evalueaz adevrul ipotezei I
j

3.2.3. altfel
i. dac DetValoareI (A ) = SUCCES
j

atunci evalueaz adevrul ipotezei I
j

ii. altfel consider ipoteza I
j
nesatisfacut
3.3. dac toate ipotezele I , j =1, N
j
sunt satisfacute
atunci depune n ML valoarea lui A dedus pe baza concluziei R
4. dac A are valoare
atunci ntoarce SUCCES
5. ntoarce INSUCCES
sfrit.
n anumite sisteme se marcheaz atributele a cror valoare poate fi obinut ntrebnd
utilizatorul, acestea avnd statut de date primare. n cazul existenei atributelor primare, nti se
solicit utilizatorului valoarea atributului i numai dac aceast valoare nu este cunoscut se
ncearc aplicarea regulilor pentru determinarea ei. Pentru a reflecta aceast modificare, se
introduce n algoritm pasul 1' naintea pasului 1
1'. dac A este dat primar
atunci
120
1'.1. ntreab utilizatorul valoarea lui A
1'.2. dac se cunoate valoarea lui A
atunci ntoarce SUCCES
n anumite cazuri, ncercarea de a determina valoarea unui atribut dat primar cu ajutorul
regulilor sistemului este complet abandonat, algoritmul ntorcnd INSUCCES dac utilizatorul
nu cunoate valoarea unui astfel de atribut. Problema de decizie gastronomic prezentat n
continuare va utiliza o astfel de abordare.
In pasul 3.1 al algoritmului se va folosi, de la caz la caz, un criteriu de selecie. n cazul n
care se aplic strategia de tipul "ncearca toate regulile", pasul 3.1 al algoritmului trebuie nlocuit
cu pasul
3.1'. pentru toate regulile R MC
i
e execut
n cazul n care se obin mai multe valori distincte pentru atributul A, acestea se vor cumula n
memoria de lucru, aa cum se va vedea n exemplul deciziei gastronomice.
Se consider un sistem bazat pe reguli care funcioneaz cu nlnuire napoi a regulilor.
Baza de cunotine conine urmtoarele reguli:
R1: dac X are pr
atunci X este mamifer
R2: dac X hranete puii cu lapte
atunci X este mamifer
R3: dac X este mamifer
i X are dini ascuii
i X are flci
atunci X este carnivor
R4: dac X este carnivor
i X este maroniu
i X are pete
atunci X este leopard
R5: dac X este carnivor
i X este maroniu
i X are dungi
atunci X este tigru
Scopul de demonstrat este "Ce este X?". Pentru acesta se caut regulile care refer n
concluzie tipul lui X; acestea sunt R5 i R4. Se ncearc aplicarea regulii R5, pentru care se
121
ncearc aplicarea regulii R3, pentru care se ncearc aplicarea regulilor R1 i R2. Deoarece
nu mai exist reguli care s refere atributele premiselor regulilor R1 i R2, se ntreaba dac X are
pr i la rspunsul afirmativ al utilizatorului, se ndeplinete regula R1 i se revine la validarea
ipotezelor regulii R3. Presupunnd c utilizatorul rspunde n consecin, se ncearc satisfacerea
restului condiiilor regulii R4. Dac utilizatorul rspunde c X este maroniu i are dungi, regula
R4 nu este satisfacut, dar se ndeplinete regula R5, deci tipul lui X este tigru. Se observ ca n
cazul n care nu exist nici o regul care s refere n concluzie un atribut din ipoteza regulii
curente de verificat, se ntreab utilizatorul. Sistemul ar fi putut funciona i cu introducerea a o
parte (sau toate) din datele iniiale ale problemei n memoria de lucru; n acest caz utilizatorul ar
fi fost ntrebat numai despre valorile de atibut care nu sunt prezente n memoria de lucru.
n continuare se prezint un exemplu de progam bazat pe reguli cu nlnuire napoi care
folosete strategia de tip "ncearc toate regulile". Un sistem care folosete o astfel de strategie se
mai numete i sistem cu acumulare de probe. Se pune problema unei decizii gastronomice n
care se cere alegerea vinului potrivit pentru un meniu cu componente specificate de utilizator.
Aceast problem prezint o caracteristic ntlnit i n alte probleme de decizie sau
diagnosticare, cum ar fi diagnosticul medical, i anume existena unei incertitudini asupra
valorilor corecte de atribute. De exemplu, dac meniul conine sos alb, se poate combina att un
vin sec ct i un vin demisec. Pentru a modela aceast incertitudine, se asociaz valorilor din
sistem o msur a ncrederii, numit factor de certitudine sau coeficient de certitudine, notat cu
CF.
Cunotinele sunt reprezentate sub forma de obiect-atribut, i valorile asociate atributelor, i
sub forma de reguli care refer obiectele i atributele din baza de cunotine. Aceasta nseamn
c, pe lng reguli, baza de cunotine conine fapte reprezentate sub forma de triplete atribut-
obiect-valoare. Atributele obiectelor pot fi de dou tipuri: monovaloare i multivaloare. Un atribut
monovaloare este un atribut care, n final, va avea o singur valoare asociat, de exemplu
culoarea vinului. Este evident ca un vin nu poate avea mai multe culori n acelasi timp. Atributele
multivaloare sunt atributele care n final pot avea mai multe valori, toate admisibile. De exemplu,
atributul vin poate avea mai multe valori (chardonnay, riesling), interpretarea acestor valori fiind
aceea c sistemul a indicat mai multe posibiliti de vinuri care se potrivesc la meniul indicat.
Exemplul prezentat este un model tipic de rationament incert sau statistic. Raionamentul
incert implementat folosete coeficienii de certitudine asociai faptelor n dou moduri:
- Valoarea fiecrui atribut este memorat mpreun cu coeficientul de certitudine asociat,
coeficientul de certitudine indicnd ncrederea sistemului n acea valoare. Coeficienii de
certitudine sunt valori pozitive n intervalul [0,1]. De exemplu,
0.6) riesling 0.8 chardonnay (vin indic faptul c vinul potrivit este Chardonnay cu
ncrederea 0.8 i Riesling cu ncrederea 0.6.
122
- O regul poate avea asociat un coeficient de certitudine care indic ncrederea
sistemului n concluzia regulii, n cazul n care premisa este adevrat. De exemplu,
regula:
dac sos-meniu = sos-alb
atunci culoare-vin = alb 0.6
indic ncrederea de 0.6 n faptul c un vin alb se potrivete unui meniu cu sos alb. Dac
regulile nu au un coficient de certitudine asociat, acesta se consider implicit 1, indicnd
ncredere total n concluzie.
Coninutul bazei de cunotine a problemei deciziei gastronomice este prezentat n
continuare, utiliznd o sintax asemntoare celei din sistemului bazat pe reguli M1.
R11: dac componenta-meniu = curcan
atunci culoare-vin = rosie 0.7
i culoare-vin = alba 0.2
R12: dac componenta-meniu = pete
atunci culoare-vin = alb
R13: dac sos-meniu = sos-alb
atunci culoare-vin = alb 0.6
R14: dac componenta-meniu = porc
atunci culoare-vin = roie
R21: dac sos-meniu = sos-alb
atunci tip-vin = sec 0.8
i tip-vin = demisec 0.6
R22: dac sos-meniu = sos-tomat
atunci tip-vin = dulce 0.8
i tip-vin = demisec 0.5
R23: dac sos-meniu = necunoscut
atunci tip-vin = demisec
R24: dac componenta-meniu = curcan
atunci tip-vin = dulce 0.6
i tip-vin = demisec 0.4
R31: dac culoare-vin = rosie
i tip-vin = dulce
123
atunci vin = gamay
R32: dac culoare-vin = rosie
si tip-vin = sec
atunci vin = cabernet-sauvignon
R33: dac culoare-vin = rosie
i tip-vin = demisec
atunci vin = pinot-noir
R34: dac culoare-vin = alb
i tip-vin = dulce
atunci vin = chenin-blanc
R35: dac culoare-vin = alb
i tip-vin = sec
atunci vin = chardonnay
R36: dac culoare-vin = alb
i tip-vin = demisec
atunci vin = riesling
scop(vin) /* se indic atributul a crei valoare trebuie aflat */
monovaloare(componenta-meniu)
monovaloare(culoare-vin)
monovaloare(sos-meniu)
multivaloare(tip-vin)
multivaloare(vin)
valori-legale(componenta-meniu) = [curcan, peste, porc] /* domeniul de valori */
valori-legale(sos-meniu) = [sos-alb, sos-tomat]
valori-legale(tip-vin) = [sec, demisec, dulce]
valori-legale(vin) = [gamay, cabernet-sauvignon, pinot-noir,
chenin-blanc,chardonnay, riesling]
valori-legale(culoare-vin) = [rosie, alba]
Se consider existena unui interpretor de reguli pentru aceast baz de cunotine,
interpretor care lucreaz cu nlnuirea napoi a regulilor i acumulare de probe. Pe parcursul
rezolvrii problemei un atribut monovaloare poate avea mai multe valori competitive, cu diveri
coeficieni de certitudine asociai, dar n final se va selecta o singur valoare pentru acesta. Dac
se deduce o valoare cu coeficientul 1 (sigur) pentru un atribut monovaloare se abandoneaz
acumularea de valori pentru acel atribut i nu se mai ncearc aplicarea altor reguli alternative
care l refer.
124
Atributele multivaloare pot avea mai multe valori posibile asociate, att pe parcursul
rezolvrii, ct i n final deci n soluia problemei. Se presupune c interpretorul de reguli ntreab
utilizatorul ori de cte ori ntlnete un atribut care nu este referit de nici o regul. Deci orice
atribut care nu apare n concluzia unei reguli este considerat dat primar.
Pe lng acestea, motorul de inferen realizeaz o form de raionament incert pe baza
coeficienilor de certitudine asociai valorilor de atribute din memoria de lucru i regulilor din
sistem. Regulile de inferen incert sunt urmtoarele:
(1) Coeficientul de certitudine asociat valorii de atribut dedus de o regul R este egal
cu produsul dintre coeficientul de certitudine al premisei regulii (CF
premisa R
) i
coeficientul de certitudine asociat regulii (CF
R
):
CF = CF CF
atr dedus R premisa R R

(2) Coeficientul de certitudine al premisei unei reguli R este valoarea minim a
coeficienilor de certitudine asociai fiecrei ipoteze I
j
din premisa acelei reguli.
Coeficientul de certitudine al unei ipoteze este stabilit de procesul de identificare a
regulii cu memoria de lucru i este egal cu coeficientul valorii de atribut care a
satisfcut ipoteza. Factorul de corectitudine al ntregii premise se calculeaz astfel:
CF = {CF
premisa R
j
ipoteza R
i
min }
(3) Dac un atribut A are deja o valoare V cu un coeficient de certitudine CF
1
n
memoria de lucru, i pe o ramur de deducie alternativ, se obine aceeai valoare
V pentru atributul A cu un coeficient de certitudine CF
2
, memoria de lucru este
actualizat, valoarea V avnd un coeficient de certitudine asociat CF pe baza
formulei:
CF= CF +CF (1 CF )
1 2 1

n continuare se urmrete funcionarea exemplului utiliznd interpretorul de reguli descris,
pentru cazul n care utilizatorul dorete aflarea vinului recomandat unui meniu care conine pete
i sos-alb. Scopul de satisfcut este vin. Regulile care refer vin n concluzie sunt R31R36.
Pentru a satisface aceste reguli trebuie satisfacute subscopurile culoare-vin i tip-vin. Regulile
care refer culoare-vin n concluzie sunt R11R14. Pentru a satisface R11 sistemul ntreab
utilizatorul valoarea atributului component-meniu, ntrebare la care utilizatorul rspunde pete.
n acest moment R11 nu este satisfacut, dar R12 reuete i se adaug n memoria de lucru faptul
(culoare-vin alb 1)
Deoarece culoare-vin este un atribut monovaloare pentru care s-a dedus o valoare cu factor de
certitudine 1, se oprete acumularea de valori pentru acest atribut. Se continu cu satisfacerea
125
scopului tip-vin care apare n concluziile regulilor R21R24. Pentru a satisface regula
R21 se ntreab utilizatorul valoarea atributului sos-meniu i se primete rspunsul sos-alb.
Regula R21 reuete i adaug la memoria de lucru faptul
(tip-vin sec 0.8 demisec 0.6)
Se observ aplicarea regulii (1) de inferen incert care asociaz coeficientul de certitudine
valorilor de atribut deduse. Se ncearc aplicarea celorlalte reguli care refer tip-vin n concluzie,
respectiv R22, R23 i R24, dar nici una nu reuete. Se revine apoi la satisfacerea scopului vin,
deci a regulilor R31R36. Prima regul dintre acestea care reuete este R35, regula care ar trebui
s adauge n memorie faptul (vin chardonnay). innd cont de regulile de inferen (1)(2) faptul
adugat este
(vin chardonnay 0.8)
Deoarece vin este un atribut monovaloare, se continu acumularea de valori i se ncearc i
ultima regul care refer vin n concluzie, R36. Pe baza acestei reguli, care reuete, i utiliznd
regulile de inferen (1)(2), se actualizeaz memoria de lucru cu faptul
(vin chardonnay 0.8 riesling 0.6)
Deoarece nu mai exist reguli aplicabile, sistemul se oprete i rspunsul este
vin = chardonnay 0.8 riesling 0.6

4.3.4 Sisteme bazate pe agend
Structura de control a anumitor sisteme bazate pe reguli nu folosete nici nlnuirea nainte nici
nlnuirea napoi a regulilor, ci o strategie de control de tip agend. Aceasta strategie este n
special util n cazul n care se folosete un criteriu de selecie a regulilor bazat pe preferina
strilor, deci o funcie euristic de evaluare. Un exemplu de astfel de sistem este programul AM
care descoper concepte n matematica elementar i n teoria mulimilor.
O agend este o list de sarcini pe care sistemul trebuie sa le execute. O sarcin poate fi
execuia unei reguli, dar i execuia altor aciuni, cum ar fi execuia unui pachet de reguli, a
instanierii unui obiect sau a unei mulimi de obiecte, execuia unei metareguli.
ntr-o agend, fiecare sarcin are asociate cel putin dou informaii: prioritatea sarcinii, care
reprezint estimarea meritului ei pe baza unei funcii euristice i o list de motive (justificri)
pentru care acea sarcin trebuie executat. Strategia de control de tip agend selcteaz la fiecare
ciclu de execuie sarcina cea mai interesant, adic cu prioritatea cea mai mare. Aceasta este
executat i, ca urmare, noi sarcini pot fi generate i introduse n agend. Acest mecanism
corespunde seleciei nodului celui mai promitor ntr-o strategie de control de tip "best-first".
Spre deosebire de strategia "best-first", o strategie de tip agend permite evaluarea meritului
126
combinat al diverselor ci ctre un nod. De exemplu, n sistemul AM faptul c mai multe
ci diferite indic execuia aceleiai sarcini este important. Fiecare cale aduce un motiv n plus
pentru creterea prioritii acelei sarcini. Agenda folosit de sistemul AM permite nregistrarea
sarcinilor propuse mpreun cu motivele pentru care acestea au fost propuse. n plus, o strategie
de tip agend poate permite modificarea dinamic a modului de selecie a sarcinilor din agend,
deci utilizarea cunotinelor de control, exprimate pentru un sistem bazat pe reguli sub forma de
metareguli. Un sistem bazat pe agend urmrete, n mare, algoritmul urmtor:
Algoritm: Strategia de control de tip "agenda"
1. Iniializeaz agenda cu sarcina de executat
2. repet
2.1. Selecteaz sarcina cu prioritate maxim, T
2.2. Execut sarcina T n limitele unor resurse de timp i spaiu determinate de
importana lui T
2.3. pentru fiecare nou sarcin T , i =1, N
i
, generat de T execut
2.3.1. dac T
i
este deja n agend
atunci
i. Fie T'
i
copia lui T
i
din agend
ii. dac justificrile lui T'
i
nu includ justificarea lui T
i

atunci adaug justificarea lui T
i
justificrilor lui T'
i

iii. T T'
i i

2.3.2. altfel adaug T
i
i justificarea asociat n agend
2.3.3. Calculeaz prioritatea sarcinii T
i
pe baza justificrilor asociate
pn agenda satisface condiia de stare final sau
agenda este vid
sfrit.
Observaii:
- O sarcin n agend poate fi reprezentat n diverse forme. O sarcin poate fi o indicaie
explicit a ceea ce trebuie s se execute n continuare sau o indicaie a strii urmtoare de
expandat.
- Fiecrei sarcini din agend i se asociaz o cantitate limitat de resurse de timp i/sau
spaiu, n funcie de prioritatea sarcinii.
- Nu toate justificrile sarcinilor au pondere egal. Uneori este necesar s se asocieze
fiecrei justificri o msur a importanei ei. Aceste msuri sunt combinate n pasul 2.3.3
pentru a produce prioritatea asociat sarcinii.
127
O problem important care apare n sistemele bazate pe agend este aceea a
determinrii sarcinii cu prioritate maxim n fiecare ciclu de execuie. O posibilitate este aceea de
a menine tot timpul agenda sortat dup prioritatea sarcinilor i de a introduce fiecare nou
sarcin la locul potrivit. Dac prioritatea unei sarcini se schimb, agenda trebuie sortat din nou.
Aceast abordare poate determina ns un consum mare de timp pentru meninerea agendei
sortate n permanen. O strategie puin modificat poate determina, din cnd n cnd, omiterea
execuiei unor sarcini cu prioritate mare, dar reduce timpul de gestiune a agendei. n aceast
abordare, la generarea unei noi sarcini se calculeaz prioritatea acesteia i se compar aceast
prioritate numai cu prioritile primelor cteva sarcini din agend, de obicei un numr de 510.
Dac prioritatea noii sarcini are o valoare cuprins n limitele prioritilor acestor cteva sarcini,
se introduce sarcina nou la locul potrivit din agend. n caz contrar, se introduce noua sarcin la
sfritul agendei sau, dac ea exista deja n agend, poziia ei nu se modifica. Din timp n timp se
execut o sortare a ntregii agende.
Se observ c mecanismul de agend ofer o modalitate avantajoas de focalizare a ateniei
pentru sistemele n care funcia de evaluare a meritului este complex. Gestiunea sarcinilor n
agend, ns, este consumatoare de timp. Acest lucru ridic problema granularitii mpririi
problemei n sarcini. Dac dimensiunea sarcinilor este mic, atunci o sarcin (aciune) executat
fie va fi cea mai bun, fie se va descoperi repede c nu este cea mai bun. n acest caz,
penalizarea este timpul foarte mare de gestiune a sarcinilor. Dac dimensiunea sarcinilor este
mare, se poate consuma timp pentru execuia unor sarcini care aparent sunt cele mai bune dar
ulterior se dovedesc a nu fi aa. n schimb, timpul de gestiune al agendei este mult mai mic.
Alegerea dimensiunii optime a sarcinilor depinde de problem.
Exist domenii n care modelul agend este recomandat. Acest model ofer posibilitatea
integrrii ntr-un program a unor surse de cunotine diverse deoarece fiecare surs de cunotine
nu face dect s adauge o sarcin n agend. Din aceasta cauz modelul tabl este foarte potrivit
pentru implementarea sistemelor de cunotine distribuite. Exist ns probleme pentru care un
mecanism de agend nu este potrivit, de exemplu probleme n care este inacceptabil o comutare
a ateniei ntre o aciune i alta. Mai precis, modelul agend este potrivit pentru sistemele de
raionament monoton i mai puin potrivit pentru cele de raionament nemonoton.
Capitolul 5
Cunotine incerte i raionament statistic
Modelele de reprezentare a cunotinelor prezentate pn acum se refer la cunotine sigure,
complete i consistente. n activitatea lor, oamenii sunt ns capabili s rezolve probleme i pe
baza cunotinelor incerte sau contradictorii. Din acest motiv, cercettorii n inteligena artificial
128
au propus metode de reprezentare a ignoranei n sistemele bazate pe cunotine. Aceste
metode se pot mpri n dou mari categorii:
- Reprezentarea cunotinelor este extins prin asocierea unei msuri numerice a
certitudinii (incertitudinii) diverselor entiti din baza de cunotine. Sistemul trebuie s
fie capabil sa raioneze cu aceast reprezentare, tipul de raionament efectuat numindu-se
raionament incert sau raionament statistic.
- Axiomele i/sau regulile de inferen din sistemul bazat pe cunotine sunt extinse astfel
nct s permit raionamentul bazat pe cunotine incomplete i contradictorii. Acest tip
de raionament se numeste raionament nemonoton i este o generalizare a
raionamentului monoton din logica cu predicate de ordinul I.
Raionamentul statistic este subiectul acestui capitol. Reprezentarea cunotinelor incerte are
asociate metode de inferen specifice care modeleaz un raionament ce propag incertitudinea
de la date i ipoteze la concluzii. Aceste metode de reprezentare a cunotinelor pot fi folosite n
rezolvarea problemelor ce implica date nesigure, vagi, incomplete sau chiar inconsistente. O
astfel de categorie de probleme este, de exemplu, domeniul diagnosticrii medicale.
5.1 Modelul probabilistic Bayesian
Metoda Bayesian de calcul probabilistic a fost introdus de preotul Thomas Bayes n secolul al
XVIII-lea. Aceast form de raionament se bazeaz pe utilizarea probabilitilor condiionate ale
unor evenimente specifice n prezena producerii unor alte evenimente. n teoria probabilitilor,
noiunea de eveniment este o noiune primar; evenimentele se consider numai din punctul de
vedere al producerii sau al neproducerii lor n decursul unui experiment. Evenimentul contrar
unui eveniment A, notat cu ~A, este evenimentul care se produce atunci i numai atunci cnd nu
se produce evenimentul A.
Definiie. Probabilitatea unui eveniment incert A este msura gradului de plauzibilitate al
producerii acelui eveniment. Mulimea tuturor evenimentelor posibile se numete cmp de
evenimente sau spaiu de eantioane, notat n continuare cu S.
Definiie. O msur a probabilitii unui eveniment A este o funcie P : S R care pune n
coresponden orice eveniment e ,e ,...,e
1 2 n
din S cu numere reale i care satisface urmtoarele
axiome ale teoriei probabilitii:
(1) 0 P(A) 1 s s pentru orice eveniment A S _
(2) P(S) =1
(3) Dac e e =
i j
|, pentru = i j, i, j =1, n, adic e , i =1, n
i
sunt evenimente mutual
exclusive, atunci P(e e ... e ) = P(e ) +P(e )+...+P(e )
1 2 n 1 2 n

129
Definiie. Pentru dou evenimente h i e, cu probabilitatea P(e) > 0, probabilitatea
condiionat a evenimentului h n condiiile producerii evenimentului e, este definit prin
urmtoarea formula
P(e)
e) & P(h
= e) | P(h (1)
Probabilitatea condiionat de producere a evenimentului e n condiiile producerii evenimentului
h se definete simetric prin formula
P(e| h) =
P(h&e)
P(h)
(2)
Din ecuaiile (1) i (2) rezult una dintre regulile modelului Bayesian, i anume
P(h|e) =
P(e| h) P(h)
P(e)

(3)
Exemplu:
S presupunem c ntr-o facultate exist 60 % biei i 40% fete. Fetele poart pantaloni sau fuste n
numr egal; bieii poart pantaloni. Un observator vede (aleator) un student de la o anumit distan.
Orice observator poate vedea c acest student poart pantaloni. Care este probabilitatea ca acesta s fie
fat? Rspunsul correct poate fi calculate cu ajutorul teoremei lui Bayes.
Evenimentul e este c studentul observat este o fat i evenimentul h este c studentul observat poart
pantaloni. Pentru a calcula e) | P(h este necesar s se cunoasc:
- P(e), sau probabilitatea c studentul este fat indiferent de alte informaii. Deoarece observatorul
vede un student la ntmplare nseamn c toi studenii au aceeai probabilitate de afi observat i
deoarece procentul de fete este 40% aceast probabilitate va fi 0,4.
- P(h|e), sau probabilitatea ca un student s poarte pantaloni n condiiile n care studentul este fat.
Deoarece ele pot purta fie fust fie pantaloni rezult c aceast probabilitate este 0,5.
- P(h), sau probabilitatea ca un student (selectat aleator) s poarte pantaloni indiferent de alte
observaii. Adic: P(h) = P(h|e)P(e) + P(h|e')P(e'), aceasta este 0.50.4 + 10.6 = 0.8.
Avnd aceste informaii probabilitatea ca observatorul s repereze o fat dat fiind c studentul poart
pantaloni se calculeaz astfel:
25 . 0
8 . 0
4 . 0 5 . 0
P(e)
P(h) h) | P(e
= e) | P(h =


O alt metod de a obine acelai rezultat dup cum urmeaz: S presupunem c exist 100 de studeni, 60
biei i 40 fete. Dintre acetia 60 biei i 20 fete poart pantaloni, deci mpreun sunt 80 studeni care
poart pantaloni din care 20 fete. Probabilitatea ca un student aleator care poart pantaloni s fie fat este
0.25=20/80. n termenii teoremei lui Bayes probabilitatea ca un student s fie fat este 40/100,
probabilitatea ca o fat s poarte pantaloni este , produsul celor dou va fi 20/100, dar se cunoate faptul
c stud. observat poart pantaloni deci se scad cele 20 de fete care poart fust i va rmne 20/80.
De multe ori e util la calculul probabilitilor condiionate s se creeze un mic tabel care conine nr. De
apariii ai fiecrui eveniment sau frecvena relativ a fiecrui eveniment pentru fiecare variabil
independent.
130
Fete Biei Total
Pantaloni 20 60 80
Fuste 20 0 20
Total 40 60 100

Considernd dou evenimente A i ~A care sunt mutual exclusive, adic A ~ A= |, i
exhaustive, adic A ~A=S , probabilitatea de apariie a unui eveniment B se poate exprima
astfel:
P(B) = P(B&A) +P(B&~ A) = P(B|A) P(A) +P(B|~ A) P(~ A) (4)
Utiliznd aceast formula, ecuaia (3) poate fi rescris obinndu-se urmtoarea formul pentru
probabilitatea condiionat de apariie a evenimentului h n condiiile producerii evenimentului e.
P(h|e) =
P(e| h) P(h)
P(e| h) P(h) + P(e| ~ h) P(~ h)


(5)
Ecuaia (5) poate fi generalizat pentru un numr arbitrar de evenimente h , i =1, k
i
,
independente i mutual exclusive, n condiiile producerii evenimentului e, astfel:
P(e) = P(e&h ) = P(e| h ) P(h )
i
i 1
k
i
i 1
k
i
= =

(6)
si deci
P(h |e) =
P(e| h ) P(h )
P(e| h ) P(h )
i =1, k
i
i i
j j
j=1
k

, (7)
Evenimentele h
i
pot fi vazute ca ipoteze probabile, numite i ipoteze statistice, n condiiile
existenei probei e. Probabilitile condiitionate ale ipotezelor h
i
n condiiile existenei probei e
pot fi utilizate n modelarea raionamentului incert pentru a selecta ipoteza cea mai probabil n
condiiile unei probe observate. n cazul n care exist surse multiple de probe, deci
e = {e ,e ,...,e }
1 2 n
, formula (7) se definete ca mai jos, obinndu-se teorema lui Bayes:
P(h |e , e ,..., e ) =
P(e , e ,..., e | h ) P(h )
P(e , e ,..., e | h ) P(h )
, i =1, k
i 1 2 n
1 2 n i i
1 2 n j j
j 1
k

(8)
131
Considernd exemplul diagnosticrii medicale, selectarea unei ipoteze h
i
dintr-o
mulime de ipoteze pe baza unei mulimi de probe observate e = {e ,e ,...,e }
1 2 n
poate fi vzut ca
selectarea unui diagnostic h
i
pe baza probelor clinice e ,e ,...,e
1 2 n
. n aceast interpretare,
evenimentele i probabilitile lor condiionate au urmtoarea semnificaie:
- e = {e ,e ,...,e }
1 2 n
este mulimea probelor clinice considerate
- h
i
este al i-lea diagnostic considerat (i =1, k)
- P(h )
i
este probabilitatea ca pacientului s i potriveasc diagnosticul h
i

- P(h |e)
i
este probabilitatea ca pacientul s aib diagnosticul h
i
pe baza probelor clinice e
- P(e|h )
i
este probabilitatea ca s existe toate probele clinice e dac diagnosticul h
i
este
adevrat, deci probabilitatea ca pacientul s aib totalitatea simptomelor e
(simptomatologie complet) dac i se pune diagnosticul h
i
.
Teorema lui Bayes data de formula (8) ofer o modalitate de calcul al diagnosticului
probabil al unui pacient n condiiile cunoaterii probelor clinice e. n cazul n care exist mai
multe ipoteze plauzibile i mai multe surse de probe, formula (8) poate duce la calcule extrem de
complicate. Dac se presupune ca e = {e ,e ,...,e }
1 2 n
sunt probe independente, calculul
probabilitii P(e , e ,..., e | h )
1 2 n j
se poate face ca mai jos, ducnd la o simplificare a formulei (8).
P(e| h ) = P(e , e ,..., e | h ) = P(e | h ) P(e | h ) ... P(e | h ), j =1, k
j 1 2 n j 1 j 2 j n j
(9)
n general, n multe probleme reale probele sunt acumulate pe rnd. De exemplu, n
diagnosticarea medical este posibil ca probele clinice s apar la diverse momente de timp. Din
aceast cauz sistemele care folosesc modelul Bayesian utilizeaz o variant modificat de calcul
al probabilitii care reflect obinerea incremental de probe. Dac e ={e ,e ,...,e }
1 11 12 1k
sunt
probele deja observate, s
1
este o nou prob i e = e s
1 1


atunci probabilitatea ipotezei h
i
n
condiiile existenei probelor se poate calcula pe baza probabilitii aceleai ipoteze (presupus a fi
deja calculat) n condiiile existenei probelor e
1
, prin cumularea efectului lui s
1
, astfel:
P(h |e) =
P(s | h &e ) P(h |e )
P(s | h &e ) P(h |e )
, i =1, k, e = {e , e ,...e }
i
1 i 1 i 1
1 j 1 j 1
j 1
k
1 11 12 1n

i e = e s
1 1
(10)
Modelul probabilistic Bayesian a fost aplicat n diverse domenii cum ar fi diagnosticarea
medical i cercetrile geologice. Sistemul PROSPECTOR [Duda, s.a.,1979], sistem expert n
domeniul geologiei, este unul din marile succese ale sistemelor bazate pe cunotine aplicate.
Sistemul utilizeaz modelul Bayesian i a fost folosit cu succes n localizarea unor zcminte de
minerale, cum ar fi cupru i uraniu. Ideea de baz a abordrii probabilistice n sistemul
PROSPECTOR este urmtoarea. Se dorete examinarea probelor geologice ale unui anumit loc
pentru a determina dac n acest loc este posibil s se gseasc mineralul dorit. Dac se cunosc
132
probabilitile a priori de gsire a diverselor minerale i probabilitile de gsire a unui
mineral n funcie de anumite caracteristici fizice, atunci teorema lui Bayes poate calcula
probabilitatea de descoperire a unui zcmnt ntr-un anumit loc, pe baza probelor geologice
accumulate.
Modelul probabilistic Bayesian are o serie de dezavantaje, att din punct de vedere al
eficienei de calcul ct i din punct de vedere al puterii de expresivitate a reprezentrii
cunotinelor incerte. Dezavantajele i limitrile semnificative ale abordarii bayesiene sunt:
- Programele care folosesc un astfel de model necesit o cantitate mare de date statistice
care sunt greu de adunat i calculat. Complexitatea timp este exponenial n raport cu
numrul de probe i ipoteze. Modelul presupune independena ipotezelor, pentru ca
formula s fie practic aplicabil pe cazuri reale ce conin foarte multe date. De multe ori,
independena ipotezelor este greu sau imposibil de realizat.
- Probabilitile sunt descrise printr-o valoare numeric unic. Acest lucru poate fi o
simplificare a modelului de gndire uman. De cele mai multe ori, experii au dificulti
n a estima cu precizie probabilitatea unei ipoteze printr-o singur valoare, avnd tendina
de a specifica un interval de probabilitate.
- Modelul Bayesian nu poate discerne ntre ignoran i incertitudine. De exemplu, fie trei
organizaii teroriste A, B i C care sunt suspecte de un atac asupra unei instituii publice.
Exist anumite probe care susin ipoteza vinoviei organizaiei C cu probabilitatea 0.8.
Cu toate acestea, fr alte probe asupra vinoviei organizaiilor A i B, nu se poate spune
c A i B sunt vinovate, fiecare cu probabilitatea 0.1.
- Modelul Bayesian consider ncrederea ntr-o ipotez i nencrederea n negarea ei ca
dou funcii opuse, adic

P(A) = X P(~ A) =1 X
Abordarea conform creia probele n favoarea unei ipoteze trebuie considerate probe n
favoarea negrii acelei ipoteze este n multe cazuri fals.
n plus, interpretarea probabilitii unei ipoteze n condiiile existenei unei probe ca o form
de confirmare a ipotezei pe baza acestei probe poate duce la rezultate surprinztoare. n acest sens
se poate cita paradoxul lui Carl Hempel care const n urmtorul exemplu. Fie:
(a) C[h|e] - confirmarea ipotezei h pe baza probei e
(b) h
1
= ipoteza "Toi corbii sunt negrii"
(c) h
2
= ipoteza "Orice obiect care nu este negru nu este corb"
133
(d) e = proba "Vaza este verde"
Evident, h
1
este logic echivalent cu h
2
. Dac s-ar face o analogie a confirmrii unei ipoteze
pe baza unei probe cu probabilitile condiionate s-ar putea stabili egalitatea C[h |e] = C[h |e]
1 2
,
pentru orice proba e. Cu toate acestea, este total neintuitiv s se spun c observarea probei e,
"Vaza este verde", confirm ipoteza h
1
, "Toi corbii sunt negrii". n anumite domenii, cum ar fi
medicina, n care semnificaia certitudinii unei ipoteze pe baza probelor este mai mult o
confirmare a ipotezei dect o probabilitate de apariie, este necesar s se introduc o diferen
ntre ncrederea i nencrederea ntr-o ipotez. Modelele prezentate n continuare ncearc s
elimine limitrile modelului probabilistic Bayesian.
5.2 Modelul factorilor de certitudine din sistemul MYCIN
Modelul factorilor de certitudine reprezint o abordare practic i eficient a raionamentului
incert. El a fost dezvoltat n sistemul expert bazat pe reguli de productie MYCIN [Buchanan,
Shortliffe,1984], sistem de diagnosticare i recomandare a terapiei n infeciile bacteriene ale
sngelui. Factorii de certitudine asociai cunotinelor (reguli i fapte) sunt considerai o abordare
euristic a reprezentrii cunotinelor incerte deoarece nu se bazeaz pe o teorie perfect riguroas.
n schimb, ei elimin o parte din limitrile modelului Bayesian cum ar fi complexitatea calculului
probabilitilor, nediscernerea ntre incertitudine i ignoran, i inconsistenele determinate de
interpretarea probabilitilor drept confirmri ale ipotezelor.
5.2.1 Msurile incertitudinii
In sistemul MYCIN se folosesc dou funcii probabilistice pentru a modela ncrederea i
nencrederea ntr-o ipotez: funcia de msur a ncrederii, notat MB, i funcia de msur a
nencrederii, notat MD. Fiind dat ipoteza h i proba e, interpretarea acestor funcii este:
- MB[h,e] reprezint msura creterii ncrederii n ipoteza h pe baza probei e,
- MD[h,e] reprezint msura creterii nencrederii n ipoteza h pe baza probei e.
Proba e poate fi o prob observat dar i o alt ipotez care a fost sau trebuie confirmat.
Astfel, se poate scrie MB[h , h ]
1 2
pentru a indica msura creterii ncrederii n ipoteza h
1
n
condiiile n care ipoteza h
2
este adevrat. Pentru a ilustra semnificaia acestor funcii n
contextul sistemului MYCIN, se consider e = "organismul este coc gram-pozitiv care crete n
lanuri" i h = "organismul este streptococ". Dac expertul indic MB[h,e] =0.7, acest lucru
semnific faptul ca numrul 0.7 reflect creterea ncrederii expertului n adevrul ipotezei h
tiind c proba e este adevrat.
Facnd legtura cu teoria probabilitilor, funciile de ncredere i nencredere pot fi definite
dup cum urmeaz. Fie:
134
e - o dat observat, o prob sau ipotez (inferat),
P(h) - probabilitatea a priori ca ipoteza h s fie adevrat,
P(h|e) - probabilitatea ca ipoteza h s fie adevrat pe baza probei e,
1 P(h) - estimarea nencrederii n adevrul ipotezei h.
Dac P(h|e) > P(h) atunci observarea probei e crete ncrederea n ipoteza h, iar dac
P(h|e) < P(h), atunci observarea probei e scade ncrederea n ipoteza h i crete nencrederea n
adevrul lui h. Aceste condiii pot fi exprimate sub urmtoarea form:
P(h|e) P(h)
1 P(h)

(11)
P(h) P(h|e)
P(h)

(12)
Formulele (11) i (12) reprezint msura creterii ncrederii, respectiv a nencrederii, n ipoteza h
pe baza probei e, deci MB[h,e] i MD[h,e]. n acest context, funciile MB i MD se definesc n
funcie de probabilitile condiionate i probabilitile a priori, astfel:


contrar caz in
P(h) max(0,1)
P(h) P(h)) e), | max(P(h
1 = daca P(h) 1
= e] MB[h, (13)


contrar caz in
P(h) min(0,1)
P(h) P(h)) e), | min(P(h
0 = daca P(h) 1
= e] MD[h, (14)
Observaie. n formulele de mai sus se folosete max(0,1) n loc de 1 i min(0,1) n loc de 0
pentru a pune n eviden simetria relaiilor. Formulele (13) i (14) sunt, evident, echivalente cu
formulele (11) i (12).
Se introduce i o a treia msur a incertitudinii, numit factorul (coeficientul) de certitudine,
notat CF i definit astfel
CF[h,e] = MB[h,e] MD[h,e] (15)
Factorul de certitudine este o modalitate de a combina gradele de ncredere i nencredere
ntr-o singur msur. Un astfel de numr este util pentru a putea compara puterea de semnificaie
a diverselor ipoteze competitive. Urmtoarele caracteristici ale celor trei msuri de certitudine
ajut la clarificarea semnificaiei lor.
(a) Domeniul de valori
0 MB[h,e] 1 s s
0 MD[h,e] 1 s s
135
s s 1 CF[h,e] 1
(b) Ipoteze mutual exclusive
Dac se tie c h este o ipotez sigur, adic P(h|e) =1, atunci
MB[h, e] =
1 P(h)
1 P(h)
=1


MD[h,e] = 0
CF[h,e] =1
Dac se tie c negaia lui h este sigur, adic P(~ h|e) =1, atunci
MB[h,e] =0
MB[h, e] =
0 P(h)
0 P(h)
=1


CF[h,e] = 1
(c) Lipsa probelor
MB[h,e] =0 dac h nu este confirmat de e, adic e i h sunt independente sau e infirm h.
MD[h,e] = 0 dac h nu este infirmat de e, adic e i h sunt independente sau e confirma
h.
CF[h,e] = 0 dac e nici nu confirm nici nu infirm h, adic e i h sunt independente.
In sistemul MYCIN, funciile de msur a ncrederii i a nencrederii sunt asociate faptelor,
reprezentate sub form de triplete atribut-obiect-valoare, iar factorii de certitudine sunt asociai
regulilor. Factorul de certitudine asociat unei reguli reprezint ncrederea n concluzia acelei
reguli presupunnd premisa cunoscut cu certitudine, adic MB =1 i MD = 0 pentru premis.
Exemplu. O regul n sistemul MYCIN, exprimat ntr-un limbaj asemntor celui din MYCIN,
este
dac (1) tipul organismului este gram-pozitiv, i
(2) morfologia organismului este coc, i
(3) conformaia creterii organismului este lan
atunci exist o ncredere puternic (0.7) c identitatea organismului este streptococ.
Exemple de fapte n sistemul MYCIN sunt urmtoarele:
(identitate organism-1 pseudomonas 0.8)
(identitate organism-2 e.coli 0.15)
(loc cultura-2 git 1.0)
136
5.2.2 Funcii de combinare a incertitudinii
Odat asociate msuri ale incertitudinii cunotinelor din sistem, realizarea raionamentului incert
pentru rezolvarea problemei necesit stabilirea unor inferene incerte, deci modalitti de
combinare a ncrederii, respectiv nencrederii. n sistemul MYCIN s-au definit o serie de funcii
pentru combinarea celor dou funcii de baz, MB i MD, funcii de combinare care servesc la
calculul ncrederii i nencrederii n diversele ipoteze pe parcursul stabilirii diagnosticului. Aceste
funcii sunt prezentate n continuare.
(1) Probe adunate incremental.
Aceeai valoare de atribut, h, este obinut pe dou ci de deducie distincte, cu dou perechi
diferite de valori pentru funciile MB i MD: MB[h,s ]
1
i MB[h,s ]
2
, respectiv MD[h,s ]
1
i
MD[h,s ]
2
. Cele dou ci de deducie distincte, corespunztoare probelor sau ipotezelor s
1
i s
2

pot fi ramuri diferite ale arborelui de cutare generat prin aplicarea regulilor sau probe indicate
explicit sistemului de medic. Msurile ncrederii i nencrederii rezultate prin cumularea acestor
valori, pentru valoarea de atribut h, sunt:

contrar caz in ] s MB[h, ] s MB[h, ] s MB[h, + ] s MB[h,


1 = ] s & s daca MD[h, 0
= ] s & s MB[h,
2 1 2 1
2 1
2 1
(16)

contrar caz in ] s MD[h, ] s MD[h, ] s MD[h, + ] s MD[h,


1 = ] s & s daca MB[h, 0
= ] s & s MD[h,
2 1 2 1
2 1
2 1
(17)
Pe baza valorilor MB i MD se poate calcula factorul de certitudine asociat unei ipoteze. Se
observ c dac mai multe probe susin o aceeai ipotez, valoarea absolut a factorului de
certitudine va crete. Dac probele susin ipoteze diferite, valoarea absolut a factorului de
certitudine asociat unei ipoteze va scade.
Exemplu. Se presupune c pe baza observaiilor iniiale, fie acestea s
1
, s-a obinut o confirmare a
ncrederii n ipoteza h cu MB[h,s ] = 0.3
1
. Atunci MD[h,s ] = 0
1
i CF[h,s ] = 0.3
1
. Se face apoi o a
doua observaie s
2
, care confirm de asemenea h, cu MB[h,s ] = 0.2
2
. n acest caz:
0.44 = 0.3 0.2 0.2 + 0.3 = ] s & s MB[h,
2 1

MD[h,s &s ] = 0.0
1 2

CF[h,s &s ] = 0.36
1 2

Se observ din acest exemplu cum probe acumulate incremental n favoarea unei ipoteze pot duce
la creterea factorului de certitudine al ipotezei.
137
(2) Conjunctie de ipoteze.
Aceasta funcie se aplic pentru calculul msurilor ncrederii i a nencrederii asociate unei
premise de regul care conine mai multe condiii. Se consider modul de calcul pentru cazul a
dou condiii n premisa regulii, extinderea la mai multe ipoteze n premisa fcndu-se foarte
simplu. Fie regula
dac condiie
1

i condiie
2

atunci concluzie
unde condiie
1
are asociai MB[h ,e]
1
i MD[h ,e]
1
, i condiie
2
are asociai MB[h ,e]
2
i
MD[h ,e]
2
.Valorile MB i MD asociate unei condiii din premisa regulii se obin pe baza valorilor
corespunztoare tripletelor atribut-obiect-valoare cu care a identificat condiia. n acest caz
msurile ncrederii i nencrederii asociate ntregii premise, MB[h &h ,e]
1 2
i MD[h &h ,e]
1 2
, se
calculeaz astfel:
MB[h &h ,e] = min(MB[h ,e], MB[h ,e])
1 2 1 2
(18)
MD[h &h ,e] = max(MD[h ,e], MD[h ,e])
1 2 1 2
(19)
(3) Combinarea ncrederii.
Aceast funcie se folosete n cazul aplicrii uneia sau a mai multor reguli. Printr-o astfel de
nlnuire o valoare incert este dedusa pe baza unei reguli care are drept condiie de intrare alte
valori incerte, deduse eventual prin aplicarea altor reguli. Funcia permite calculul factorului de
certitudine asociat valorii deduse pe baza aplicarii unei reguli care refera valoarea n concluzie,
tinind cont de masura ncrederii i masura nencrederii asociate premisei regulii. Daca ncrederea
intr-o ipoteza s este data de un coeficient de certitudine CF pe baza unor probe anterioare e i
dac MB'[h,s] i MD'[h,s] sunt msurile ncrederii, respectiv nencrederii n h n cazul n care s
este sigur, atunci valorile ncrederii i nencrederii n h sunt date de relaiile:
MB[h,s] = MB'[h,s] max(0,CF[s,e]) (20)
MD[h,s] = MD'[h,s] max(0,CF[s,e]) (21)
La nivelul unei reguli, interpretarea acestei funcii este urmtoarea. Fie o regul de forma
dac premisa
atunci concluzie
pentru care premisa are asociate valorile MB' i MD' (calculate eventual anterior prin aplicarea
funciilor (2) i (1)) i reprezint ipoteza s care s-a calculat pe baza probelor e. Concluzia regulii
refer ipoteza h ca valoare a atributului din concluzie. Dac corelaia concluzie-premis a regulii
138
ar fi sigur, deci CF[s,e] =1, atunci MB[h,s] = MB'[h,s] i MD[h,s] = MD'[h,s].
n cazul n care CF[s,e] <1 se aplic formulele definite mai sus.
In variantele mai noi ale sistemului expert MYCIN i n sistemul independent de domeniu
EMYCIN [Bennett,Engelmore,1984;vanMelle,s.a.,1984] provenit din MYCIN, pe baza
observrilor statistice, s-a modificat formula de calcul al factorului de certitudine astfel:
CF =
MB MD
1 min(MB, MD)

(22)
Modelul de raionament incert utilizat de sistemul MYCIN s-a dovedit destul de util n
rezolvarea problemelor practice ale diagnosticrii medicale (stabilirea tipului de infecie
bacterian pe baza simptomelor i probelor de laborator ale unui pacient) dar a fost deseori
criticat pentru lipsa de rigurozitate a modelului matematic i pentru anumite neconcordane pe
care le introduce.
Modelul coeficienilor de certitudine din MYCIN presupune c ipotezele susinute de probe
sunt independente. n continuare se consider un exemplu care arat ce se ntmpl n cazul n
care aceast condiie este violat.
Fie urmtoarele fapte:
A: Aspersorul a funcionat noaptea trecut.
U: Iarba este ud dimineaa.
P: Noaptea trecut a plouat.
i urmtoarele dou reguli care leag ntre ele aceste fapte:
R1: dac aspersorul a funcionat noaptea trecut
atunci exist o ncredere puternic (0.9) ca iarba este ud dimineaa
R2: dac iarba este ud dimineaa
atunci exist o ncredere puternic (0.8) c noaptea trecut a plouat
Fiecare dintre aceste reguli, luat n parte, descrie o corelaie corect. S analizm ns ce se
ntmpl dac regulile sunt considerate mpreun. Folosind modelul sistemului MYCIN se obine:
MB[U,A] = 0.9, deci aspersorul sugereaz iarba ud
MB[P, U] =0.8
MB[P, U] =0.8 0.9 =0.72 , deci iarba ud sugereaz ploaie
Cu alte cuvinte, sistemul consider c noaptea trecut a plouat deoarece aspersorul a fost n
funciune. Acest lucru se obine dei, dac aspersorul a funcionat, el este cel care a udat iarba i
nu exist nici o prob n favoarea ipotezei "noaptea trecut a plouat". Dei unul din marile
139
avantaje ale sistemului MYCIN i a sistemelor bazate pe reguli n general, este acela de a
permite modularitatea i tratarea relaiilor premis-concluzie independent unele de altele, acest
exemplu pune n evidenta un pericol al avantajului modularitii unor astfel de sisteme. Cele dou
reguli nu sunt la fel din punct de vedere conceptual. Prima regul descrie o relaie cauzal (cauz
efect), pe cnd cea de a doua descrie o relaie cauzal invers (efectcauz). Dei se pot
deduce manifestri ale unui simptom pornind de la cauzele lui i se poate deduce o cauz pe baza
simptomelor ei asociate, este important ca probele s fie deduse numai ntr-un fel, sau numai n
altul. Pentru a ocoli aceast problem, multe dintre sistemele bazate pe reguli fie utilizeaz numai
un singur fel de reguli, fie partiioneaz regulile n dou clase i nu permit inferena ntre cele
dou clase.
5.3 Teoria Dempster-Shafer
Limitrile modelului probabilistic Bayesian i a modelului factorilor de certitudine din MYCIN
au condus la investigarea unor abordri alternative a raionamentului statistic. Una dintre acestea
este teoria matematic a probelor propus de Arthur Dempster n anii '60 i extins de studentul
lui, Glenn Shafer n 1976 [Gordon,Shortliffe,1984;Kruse,s.a.,1991]. Teoria Dempster-Shafer
modeleaz reducerea unei mulimi de ipoteze competitive pe baza accumulrii de probe, proces
care caracterizeaz raionamentul medical i raionamentul incert n general. Teoria se bazeaz pe
ideea asocierii de probabiliti tuturor submulimilor de ipoteze din universul problemei i nu
numai ipotezelor individuale. n acest fel se poate reprezenta adecvat modul de raionament al
unui expert care folosete probele iniiale pentru a forma o mulime de ipoteze. Ulterior, pe baza
apariiei a noi probe, expertul reduce treptat aceast mulime de ipoteze pn la una sau mai multe
ipoteze prefereniale. De exemplu, n procesul stabilirii identitii unui organism care a produs
infecia, o prob care indic prezenta unui organism gram-negativ reduce mulimea de ipoteze a
tuturor organismelor de infectare posibile. Aceast submulime redus de ipoteze poate fi vzut
ca o nou ipotez: organismul este unul din organismele gram-negative. O prob ca cea amintit
mai sus nu aduce nici o informaie referitor la probabilitatea organismelor individuale din
submulimea de organisme gram-negative. Modelul Bayesian ar atribui probabiliti egale tuturor
organismelor din aceast submulime dar, n acest fel, nu s-ar mai face distincia ntre
incertitudine (lipsa cunotinelor) i probabilitatea egal a ipotezelor. Aceast limitare este
eliminat de teoria Dempster-Shafer prin asocierea de funcii de ncredere att ipotezelor
individuale ct i submulimilor de ipoteze, oferind astfel un model mai bun al procesului
acumulrii de probe i al raionamentului incert.
Mai multe probe acumulate pot reduce mulimea initial de ipoteze i pot modifica
ncrederea n ipoteze prin combinarea funciilor de ncredere conform regulilor stabilite de teoria
Dempster-Shafer. La fel ca n modelul Bayesian i cel al coeficienilor de certitudine din MYCIN,
regulile de combinare a ncrederii sunt independente de ordinea de acumulare a probelor dar
presupun c ipotezele susinute de probe sunt mutual exclusive i exhaustive. De fapt, funciile de
140
combinare a ncrederii din teoria Dempster- Shafer includ, drept cazuri particulare, funciile
de combinare probabilistic din modelul Bayesian i modelul MYCIN.
O alt consecin a funciilor de ncredere din aceasta teorie este eliminarea restriciei
conform creia o probabilitate P asociat unei ipoteze implic asocierea probabilitii 1-P negrii
acestei ipoteze, adic P(h) =1 P(~ h) . La fel ca i n modelul factorilor de certitudine din
MYCIN, teoria Dempster-Shafer elimin aceast restricie. ncrederile n fiecare din ipotezele
mulimii iniiale nu trebuie s aib suma unitar deoarece se asociaz ncrederi i submulimilor
de ipoteze.
O ipotez are asociat, pe lng funcia de ncredere, i o plauzibilitate. Fiecare ipoteza este
caracterizat de un interval de ncredere, definit prin [ncredere, Plauzibilitate]. ncrederea
msoar tria cu care probele susin o ipotez (sau o mulime de ipoteze) iar plauzibilitatea
msoar ct de mult contribuie o prob n favoarea ipotezei contrare la aprecierea ncrederii n
ipotez. Astfel, dac se noteaz cu Bel(h) ncrederea ntr-o ipotez, plauzibilitatea ipotezei h este
definit de Pl(h) =1 Bel(~ h) . Intervalul [ncredere, Plauzibilitate] msoar nu numai
ncrederea ntr-o ipotez sau ntr-o mulime de ipoteze, ci i cantitatea de informaie existent.
Teoria Dempdster-Shafer a fost utilizat n multe sisteme, printre care i o rescriere a
sistemului MYCIN prin nlocuirea factorilor de certitudine cu intervale de ncredere. S-au pus n
eviden multe caracteristici comune ale celor dou modele, teoria Dempster-Shafer avnd ns
avantajul unei fundamentri matematice riguroase. n continuare, se va descrie n detaliu modelul
de raionament statistic propus de aceast teorie.
5.3.1 Un exemplu de raionament incert
Fie patru organizaii teroriste suspecte de organizarea unui atac terorist: dou organizaii arabe,
D1 i D2, i dou organizaii fasciste, S1 i S2, pentru care exist o mulime de ipoteze de
vinovie. Se presupune c nu exist alt organizaie suspect n afara celor patru organizaii.
Diagnosticul de vinovaie a uneia din cele patru organizaii va fi reprezentat chiar de numele
organizaiilor, S1, S2, D1 sau D2. n teoria Dempster-Shafer mulimea de ipoteze posibile se
numete cadru de selectare i se noteaz cu u. Ipotezele din u trebuie s fie mutual exclusive i
exhaustive. Pentru exemplul considerat cadrul de selectare este u ={S1,S2, D1, D2} i ipotezele
din mulime satisfac condiiile enunate anterior.
Se tie c exist o prob care poate conduce la ipoteza de vinovie a organizaiilor teroriste
fasciste, corespunztoare mulimii {S1,S2} din u. O alt prob poate s indice excluderea ipotezei
de vinovie a lui S1 ntr-o anumit msur, ceea ce este echivalent cu o prob care confirm
negarea ipotezei S1, adic ~S1. Aceast a doua prob corespunde ipotezei S2 D1 D2 v v , adic
submulimii {S1, D2, D2} din u. Aceast submulime poate fi considerat la rndul ei o ipotez,
deci o submulime a lui u poate da natere la o noua ipotez.
141
are n elemente atunci mulimea 2
u
are 2
n
Fie 2
u
mulimea prilor lui u. Dac u
elemente. Mulimea vid aparine mulimii 2
u
, |
u
e2 , i corespunde unei ipoteze despre care se
tie c este fals, deoarece s-au presupus ipotezele exhaustive. O reprezentare grafic a mulimii
prilor lui u ={S1,S2, D1, D2} este cea indicat n Figura 5.1.
{S1, S2, D1, D2}
{S1, S2, D1} {S1, S2, D2} {S1, D1, D2} {S2, D1, D2}
{S1, S2} {S1, D1} {S2, D1} {S1, D2} {S2, D2} {D1, D2}
{S1} {S2} {D1} {D2}

Figura 5.1 Cadrul de selectare i submulimile de ipoteze n problema atacului terorist
Pentru un anumit domeniu, numai un subset al mulimii 2
u
este de interes n luarea
deciziilor, deci graful submulimilor de ipoteze poate fi redus la o ierarhie de relaii care prezint
interes din punct de vedere al caracteristicilor domeniului problemei. n exemplul considerat,
dac se tie c probele existente pot indica fie numai organizaii fasciste, fie numai organizaii
arabe, graful din Figura 5.1 se reduce la ierarhia de relaii din Figura 5.2. n general, mulimea de
submulimi de ipoteze are mai puine elemente de interes dac se ine cont de caracteristicile
problemei.

Organizatii teroriste = {S1,S2,D1,D2}
Organizatii teroriste fasciste = {S1,S2} Organizatii teroriste arabe = {D1,D2}
{S1} {S2} {D1} {D2}

Figura 5.2 Multimile de ipoteze de interes n problema atacului terorist
5.3.2 Funcii de ncredere
Teoria Dempster-Shafer folosete o valoare real n intervalul [0,1] pentru a indica ncrederea
ntr-o ipotez sau ntr-o mulime de ipoteze pe baza unei probe date, adic gradul n care proba
susine ipoteza. O prob mpotriva ipotezei este prezentat ca o prob n favoarea negrii ipotezei.
142
n acest fel modelul Dempster-Shafer evit calculul cu numere negative necesar, de
exemplu, n modelul MYCIN.
ncrederea ntr-o ipotez pe baza unor probe date este reprezentat printr-o funcie numit
atribuire probabilistic de baz. O atribuire probabilistic de baz este o generalizare a funciei de
densitate de probabilitate clasic. Funcia probabilistic n modelul Bayesian asociaz o valoare
real n intervalul [0,1] fiecrei mulimi cu un singur element din u astfel nct suma acestor
valori s fie 1, iar multimii vide | i se asociaz valoarea 0. Spre deosebire de aceast funcie,
atribuirea probabilistic de baz se definete dup cum urmeaz.
Definiie. Funcia de atribuire probabilistic de baz n teoria Dempster-Shafer, notata cu m, se
defineste astfel:
(1) m(A):2 [0,1]
u
pentru orice A_u,
(2) m(A) =1
A_

u
,
(3) m( ) =0 |
Atribuirea probabilistic de baz m definete o distribuie de probabilitate pe mulimea 2
u
.
Funcia m(A) reprezint msura ncrederii asociat submulimii de ipoteze A 2 e
u
i nu poate fi
mprit ntre elementele lui A, adic ntre ipotezele din A. Dac exist o prob care susine o
submulime de ipoteze A i nici o prob pentru o alt submulime din u, deci dac m(A) =s i
m(X) = 0 pentru orice X_u cu X A = , atunci m( ) =1- s u . Astfel valoarea 1- s se asociaz
mulimii totale de ipoteze u i nu negrii ipotezei, ~A, ca n modelul Bayesian.
Exemple:
1. Considernd problema atacului terorist, se presupune c nu exista probe pentru vinovia
nici unei organizaii. n acest caz, atribuirea probabilistic de baz se reprezint astfel:
m( ) = m({S1,S2, D1, D2}) =1 u
m(X) = 0 pentru orice Xcu
n modelul Bayesian aceast situaie s-ar fi exprimat asociind o valoare de probabilitate
egal cu 0.25 fiecrei ipoteze din u.
2. Se presupune existena unei probe care susine ipoteza vinoviei organizaiilor teroriste
arabe cu gradul de ncredere 0.6. Atunci reprezentarea atribuirii probabilistice de baz
este:
m({S1,S2}) = 0.6
143
m( ) = m({S1,S2, D1, D2}) =0.4 u
m(X) = 0 pentru orice alt X X {S1,S2} c = u,
Modelul Bayesian ar fi asociat probabilitatea 0.4 ipotezei {D1, D2}, ipotez echivalent
negrii ipotezei {S1,S2}.
3. Se presupune existena unei probe care infirm ipoteza vinoviei organizaiei S1 cu
probabilitatea 0.7. Aceasta este echivalent cu a spune c exist o prob care confirm
negarea ipotezei S1 cu probabilitatea 0.7. n acest caz, atribuirea probabilistic de baz se
reprezint astfel:
m({S2, D1, D2}) =0.7
m( ) =0.3 u
m(X) = 0 pentru orice alt X , X {S2, D1, D2} c = u
Deoarece ncrederea ntr-o submulime de ipoteze A asigur i ncrederea n submulimile
care conin A, adic noduri superioare n graful de pri ale mulimii u, este interesant de gsit o
funcie care s calculeze cantitatea total de ncredere n submulimea de ipoteze A. Aceast
funcie va include nu numai ncrederea n A dar i ncrederea n toate submulimile mulimii A.
Definiie. Se numeste funcie de ncredere, notat cu Bel, corespunztoare unei funcii de
atribuire probabilistic de baz m, funcia care asociaz pentru orice submulime de ipoteze A din
2
u
suma ncrederilor fiecrei submulimi din A pe baza lui m, conform urmtoarei formule:
Bel(A) = m(B)
B A _

(23)
Funcia de ncredere reprezint msura ncrederii totale n submulimea de ipoteze A pe baza
probelor care au generat m i are urmtoarele proprieti:
- Bel(A) = m(A) dac A este ipoteza individual
- Bel( ) =1 u
- Bel(A) +Bel(~ A) 1 s
Exemplu.
Bel({S2, D1, D2}) = m({S2, D1, D2}) +m({S2, D1}) +m({S2, D2}) +m({D1, D2}) +
m({S2}) +m({D1}) +m({D2})
Dac se consider valorile atribuirii probabilistice de baza din exemplul 3 anterior, atunci
Bel({S2, D1, D2}) =0.7.
144
5.3.3 Combinarea funciilor de ncredere
Modelul MYCIN prezentat n sectiunea anterioar ofer o serie de reguli de combinare a
incertitudinii ntr-o ipotez sau n mai multe ipoteze pe baza diverselor probe, pentru realizarea
raionamentului incert. Teoria Dempster-Shafer realizeaz acest lucru printr-o singur regul care
permite combinarea funciilor de ncredere att n cazul n care ele reprezint probe multiple n
favoarea aceleiai ipoteze, ct i n cazul n care diverse probe susin ipoteze diferite.
Fie dou probe avnd asociate funciile de atribuire probabilistic de baz m
1
i m
2
, i
funciile de ncredere Bel
1
i Bel
2
. Funciile m
1
i m
2
vor asocia diverse valori probabilistice
submulimilor de ipoteze X
i
i respectiv Y
j
, din cadrul de selectare u (X Y
i i
_ _ u u , ). Funcia
de ncredere Bel Bel
1 2
rezultat din combinarea ncrederii aduse de cele dou probe se
calculeaz, conform formulei (23), astfel:
Bel Bel (A) = m m (B)
1 2 1 2
B A

_

(24)
In consecin, pentru a calcula Bel Bel
1 2
, trebuie calculat atribuirea probabilistic de
baz combinat m m
1 2
, pe baza funciilor m
1
i m
2
. Regula de combinare a dou atribuiri
probabilistice da baz este
m m (A) = m (X ) m (Y )
1 2 1 i 2 j
X Y
X Y A
i, j
i j

_
=

u
pentru orice A_u (25)
Se observ c, pe baza regulilor de algebr elementar i a definiiei atribuirii probabilistice
de baz, exist relaia
m (X ) m (Y ) = m (X ) m (Y ) =1 1=1
1 i 2 j
X ,Y
1 i
X
2 j
Y
i j i j

_ _ _

u u u
(26)
deci formula (25) ndeplinete condiiile impuse funciei de atribuire probabilistic de baz.
Observaie. Comutativitatea nmulirii asigur independena rezultatului calculat cu regula de
combinare din formula (25) de ordinea n care se face combinarea funciilor de atribuire
probabilistic de baz, deci de ordinea de considerare a probelor.
Se poate da o reprezentare grafic pentru combinarea a dou funcii de atribuire
probabilistic de baz, aa cum se prezint n Figura 5.3. Fiecare dreptunghi reprezint
compoziia atribuirii probabilistice de baz din dou surse de probe, cu ncrederile Bel
1
i Bel
2
, i
poate fi privit ca intersecia dintre X
i
i Y
j,
cu msura asociat m (X ) m (Y )
1 i 2 j
. Dreptunghiul
total reprezint ncrederea total asociat de funciile m
1
i m
2
submulimilor lor comune.
145

m (X ) m (X )
m (Y )
m (Y )


m m
m m
unde m = m (X ) m (Y )
1 1 1 i
2 j
2 1
X Y X Y
X Y X Y
X Y 1 i 2 j
1 j i j
1 1 i 1
i j
L L
M
M
L L
L L
L L
L L



Figura 5.3 Combinarea ncrederii n ipoteze pe baza a doua probe
Exemplu. Se presupune existena unei probe care indic ipoteza vinoviei organizaiilor teroriste
fasciste, adic S
1
i S
2
, cu atribuirea probabilistic de baz m = 0.6
1
, i o alt prob care infirm
vinovia organizaiei teroriste S1 cu atribuirea probabilistic de baz m = 0.7
2
. Aceast prob
este echivalent cu o prob care confirm vinovia submulimii de organizaii {S2, D1, D2} cu
m = 0.7
2
. ncrederea combinat bazat pe ambele probe este dat de m m
1 2
aa cum se arat n
continuare.
m
{S2, D1, D2} (0.7) (0.3)
{S1,S2} (0.6) {S2} (0.42) {S1,S2} (0.18)
(0.4) {S2, D1, D2} (0.12)
m
2
1
u
u u ( . ) 0 28

m m ({S2}) = 0.42
1 2

m m ({S1,S2}) = 0.18
1 2

m m ({S2, D1, D2}) = 0.28
1 2

m m ( =
1 2
u) . 0 12
m m (A) =
1 2
0 pentru orice alt submulime Acu
Astfel se poate calcula ncrederea combinat Bel Bel
1 2
pe baza celor dou probe.
Deoarece calculul funciei Bel Bel
1 2
pentru fiecare submulime este simplu dar laborios, se dau
n continuare exemple numai pentru cteva cazuri.
Bel Bel ({S1,S2}) = m m ({S1,S2}) +m m ({S1}) +m m ({S2}) =
1 2 1 2 1 2 1 2

0.18 +0 +0.42 = 0.60
Bel Bel ({S2, D1, D2}) = m m ({S2, D1, D2}) +m m ({S2, D1}) +
1 2 1 2 1 2

m m ({S2, D2}) +m m ({D1, D2}) +
1 2 1 2

m m ({S2}) +m m ({D1}) +m m ({D2}) =
1 2 1 2 1 2

0 28 . +0 +0 +0 +0.42 +0 +0 = 0.70
146
Bel Bel ({S1,S2, D2}) = Bel Bel ({S1,S2}) = 0.6
1 2 1 2
.
deoarece m m ({S1,S2, D2}) = m m ({S1, D2}) = m m ({S2, D2}) = 0
1 2 1 2 1 2

Se observ c , n acest exemplu, funcia m m
1 2
satisface definiia unei funcii de atribuire
probabilistic de baz, adic m m (X) =1
1 2
X

u
cu m m ( ) = 0
1 2
| . Condiia (2) din definiia
unei atribuiri probabilistice de baz este ntotdeauna satisfcut datorit formulei (26). Condiia
(3) din definiie, m( ) =0 | , este o condiie problematica n cazul n care tabloul de intersecie
conine intrri nule. Aceast situaie nu a aprut n exemplul de mai sus deoarece orice dou
mulimi cu valori nenule ale atribuirii probabilistice de baz au avut ntotdeauna cel puin un
element n comun. n general este posibil s existe mulimi X
i
i Y
i
fr elemente comune, adic
X Y =
i j
|, dar cu valori ale funciilor m
1
i m
2
diferite de zero. n acest caz ar rezulta o funcie
m m ( ) 0
1 2
= | , ceea ce contrazice definiia.
Teoria Dempster-Shafer rezolv aceast problem prin normalizarea valorilor atribuirii
probabilistice de baza combinate astfel nct m m ( ) = 0
1 2
| i toate valorile funciei sa ramn
n continuare n intervalul [0,1]. Normalizarea se face prin definirea sumei tuturor valorilor
nenule asociate mulimii vide n tabloul de intersecie. n acest fel, formula (25) de calcul a
atribuirii probabilistice de baz combinata este nlocuit cu formula
m m (A) =
m (X ) m (Y )
m (X ) m (Y )
1 2
1 i 2 j
X Y
X Y A
1 i 2 j
X Y
X Y
i j
i j
i j
i j


_
=
_
=

,
,
u
u
|
1
(27)
Se poate demonstra c utiliznd formula de mai sus condiiile din definiia funciei de
atribuire probabilistic de baz sunt ndeplinite.
5.3.4 Intervale de ncredere
Funcia de ncredere Bel(A) asociat unei submultimi de ipoteze A reprezint msura ncrederii
totale n submulimea A dupa ce au fost considerate toate probele n favoarea ipotezelor din A.
Dar aceast funcie conine i alte informaii despre A, respectiv Bel(~A), adic msura ncrederii
cu care probele confirm negarea ipotezelor din A, adic ipoteza ~A. Cantitatea 1 Bel(~ A)
exprim plauzibilitatea lui A, numit i prag de semnificaie a lui A.
Informatia reprezentata de funcia de ncredere Bel(A) poate fi exprimat convenabil printr-
un interval, numit inteval de ncredere al submulimii de ipoteze A sau ncrederea n A.
Intervalul de ncredere al mulimii A este
[Bel(A),1 Bel(~ A)]
147
Se poate arta ca 1 Bel(~ A) Bel(A) > sau, echivalent Bel(A) +Bel(~ A) 1 s , deoarece
Bel(A) +Bel(~ A) m(X ) =1
i
X
i
s
_

u
, iar A i ~A nu au submultimi comune.
In modelul Bayesian Bel(A) +Bel(~ A) =1 ceea ce nseamna ca lungimea intervalului de
ncredere este zero. n teoria Dempster-Shafer lungimea intervalului de ncredere este de obicei
diferit de zero i reprezint msura ncrederii n faptul ca dac mulimea de ipoteze A nu este
sigur, nici negarea mulimii de ipoteze, ~A, nu este sigur. Se observ c lungimea intervalului
de ncredere al mulimii de ipoteze A este suma funciilor de ncredere asociate acelor submulimi
de ipoteze din u care intersecteaz A dar care nu sunt submulimi ale mulimii A. Dac A este o
ipotez individual, toate aceste submulimi sunt i superseturi ale lui A, dar acest lucru nu mai
este valabil pentru cazul n care A conine mai multe ipoteze. Lungimea intervalului de ncredere
poate fi interpretat i ca msura incertitudinii unei ipoteze pe baza unei probe date. n continuare
se dau exemple de interpretri ale unor intervale de ncredere:
[0,1] reprezint nici o ncredere n ipoteza
[0,0] reprezint ncrederea c ipoteza este fals
[1,1] reprezint ncrederea c ipoteza este adevarat
[0.3,1] reprezint ncrederea pariala n ipotez
[0,0.8] reprezint nencrederea pariala n ipotez
[0.2,0.7] reprezint att ncrederea ct i nencrederea n adevarul ipotezei
Teoria Dempster-Shafer modeleaza procesul acumulrii de probe n favoarea unei mulimi
de ipoteze competitive pornind de la un interval de ncredere [0,1] asociat fiecrei ipoteze,
corespunzator situatiei initiale n care nu exista nici o proba. Pe parcursul acumularii probelor,
intervalul de ncredere asociat se va reduce reprezentind ncrederea crescuta intr-o ipoteza sau o
mulime de ipoteze. Se observa ca aceasta abordare difera de modelul Bayesian n care
probabilitatile se distribuie, la inceput, egal intre ipoteze. Intervalul de ncredere pune n evidenta
clar faptul ca nu exista nici un fel de informatie la inceput. Acest lucru nu se intimpla n modelul
Bayesian deoarece, dupa considerarea unui numar oarecare de probe, se pot obtine n final
aceleasi probabilitati cu cele atribuite initial ipotezelor. Aceasta diferenta este importanta n
momentul n care sistemul de raionament incert trebuie sa decida dac mai este nevoie sa
considere n continuare noi probe sau nu.
5.4 Retele Bayesiene
Modelul retelelor Bayesiene, introdus de Judea Pearl [1988], porneste de la modelul probabilistic
Bayesian, dar elimina numarul enorm de calcule necesare n acesta prin considerarea
148
caracteristicilor de modularitate i de cauzalitate ale domeniului problemei. Ideea de
baza a retelelor Bayesiene este aceea ca, pentru a descrie domeniul problemei, nu este necesar sa
se considere probabilitatile tuturor perechilor de evenimente (fapte) posibile. Cele mai multe
evenimente sunt independente intre ele i interactiunile dintre acestea nu trebuie considerate,
deoarece nu exista. Modelul retelelor Bayesiene foloseste un graf orientat aciclic
[Sedgewick,1990] pentru a reprezenta gradele de ncredere n faptele din baza de cunotine i
dependentele cauzale existente intre aceste fapte.
Realizarea inferenelor ntr-o astfel de reea revine la propagarea probabilitilor faptelor
date i/sau inferate n reea spre nodurile concluzie. Reprezentarea cunotinelor sub forma de
retele va fi discutata pe larg n Capitolul 6. Modelul retelelor Bayesiene este, evident, foarte
potrivit pentru a realiza inferente incerte intr-o astfel de reprezentare. Eliminind calculele
laborioase i cantitatile mari de informatii necesare n modelul Bayesian, retelele Bayesiene au
avantajul posibilitatii modelarii ipotezelor dependente, deci elimina conditia de independenta
necesara n modelul factorilor de certitudine din MYCIN i n teoria Dempster-Shafer.
Exemplul ierbii ude din finalul Sectiunii 5.2 a pus n eviden faptul c exista dou moduri
n care o propoziie poate influena o alta propoziie. Primul mod sugereaza simptome pe baza
cauzei acestora, iar cel de-al doilea sugereaza cauza pe baza simptomelor. n retelele Bayesiene se
face clar distinctia ntre aceste dou tipuri de relaii pe baza directiei arcelor din graf. Fiecare nod
din graf corespunde unei propozitii, care poate lua valorile adevarat sau fals, sau unui obiect
(obiect-atribut) care poate lua valori din domeniul de valori asociat obiectului. Exemple de astfel
de obiecte i valori sint, pentru domeniul medical: o boala specifica, temperatura pacientului,
rezultatul unei analize. Directiile arcelor din retea indica intotdeauna o legatura cauzala directa,
deci (cauzaefect). Pentru exemplul ierbii ude, reprezentarea sub forma de retea Bayesiana este
data n Figura 5.4.
Pe linga cele trei noduri corespunzatoare celor trei fapte din exemplu, se observa ca s-a
adaugat un al patrulea nod, propoziia sezon ploios care poate lua valorile adevarat sau fals.
Sezon ploios
Aspersor
Ploaie
Iarba uda

Figura 5.4 Reprezentarea cauzalitatii intr-o retea Bayesiana
149
Pentru realizarea inferentelor incerte, se asociaza probabilitati a priori faptelor din retea
i probabilitati conditionate fiecarei legaturi cauzale (arc) din retea. Pentru exemplul ierbii ude,
probabilitatile considerate sunt indicate n Figura 5.5. n aceasta figura se observa, de exemplu, ca
probabilitatea a priori ca sezonul sa fie ploios este de 0.5 si, intr-un astfel de sezon, probabilitatea
(conditionata) de producere a ploii este 0.9.
Probabilitate Valoare
P(Iarba uda|Aspersor, Ploaie) 0.95
P(Iarba uda|Aspersor, ~ Ploaie) 0.9
P(Iarba uda| ~ Aspersor, Ploaie) 0.8
P(Iarba uda| ~ Aspersor, ~ Ploaie) 0.1
P(Aspersor|Sezon ploios ) 0.0
P(Aspersor| ~ Sezon ploios ) 1.0
P(Ploaie|Sezon ploios ) 0.9
P(Ploaie| ~ Sezon ploios ) 0.1
P(Sezon ploios ) 0.5

Figura 5.5 Probabilitati pentru o retea Bayesiana
Pentru a putea realiza inferente intr-un astfel de model este nevoie de un mecanism care sa
permita calculul influentei unui nod asupra celorlalte. Exista trei clase de algoritmi pentru
realizarea acestor calcule: metoda transmiterii mesajelor, metoda triunghiulara i algoritmii
stocastici. Ideea tuturor celor trei clase de algoritmi este aceea de a exploata domeniul limitat de
influenta al nodurilor. Astfel, desi operatia de actualizare a probabilitatilor n retea este complexa
computational, complexitatea poate fi redusa n practica. Detalii asupra acestor algoritmi pot fi
gasite n Pearl [1988].
Reprezentarea cunotinelor incerte prin retele Bayesiene a fost utilizata intr-o serie de
sisteme bazate pe cunotine, n special n domeniul diagnosticarii medicale unde s-au construit
sistemele CASNET [Weiss,s.a.,1978] i INTERNIST/CADUCEUS [Pople,1982].