Sunteți pe pagina 1din 8

Arbori SI SAU. Raionamentul deductiv.

Raionamentul inductiv
Explorarea unui graf de stri Preambul teoretic Reprezentarea printr-un graf de stare, furnizeaz: - o stare iniial; - caracterizarea strii (strilor) terminale; - operatori de schimbare de stare specificai sub forma: <precondiii, efecte> Graful de stri asociat unui enun al problemei astfel formalizat este un graf orientat pentru care: - nodurile reprezint diferite stri: iniial, intermediar, terminal; - arcurile reprezint diferii operatori de schimbare de stare. Acest graf are: - o rdcin care corespunde strii iniiale; - foi care pot fi: o noduri - foi, noduri eec; o noduri succes, reprezentnd stri terminale. Costul asociat unui operator este tradus prin printr-o valoare a arcelor grafului de stare. ntr-o astfel de reprezentare, existena unei soluii corespunde existenei unui drum (succesiune de operatori) care duce de la starea iniial la o stare final. Costul unei soluii reprezint suma costurilor arcelor care constituie drumul soluiilor corespondente. n anumite cazuri, se caut o soluie de cel mai bun cost. Gsirea celui mai scurt drum dintr-un punct n altul ntr-un graf, este o problem clasic de explorare a grafului pentru care exist diferii algoritmi. ntr-o problem de tip IA, optica este total diferit: - graful de stare este considerat ca fiind implicit; - el conine poteniale drumuri infinite (grafuri infinite); - chiar n cazul n care este finit, el este presupus prea mare pentru a fi construit n mod explicit. Algoritmi de cutare ntr-un graf de stare Aceti algoritmi furnizeaz ca rezultat un drum soluie, eventual optimal, al grafului de stri. n virtutea definiiei, anumii algoritmi de cutare nu au ca date de intrare graful strilor, ci numai starea iniial, operatorii de schimbare de stare, astfel, ca i condiie de oprire permit recunoaterea strilor terminale: pornind de la aceste date exist ca obiectiv gsirea unei soluii construind o singur parte a grafului de stare. Se numete graf de cutare, asociat unui algoritm de cutare, sub-graful grafului de stare explorat explicit prin algoritmul de cutare.

Dac algoritmul de cutare posed proprietatea de finitudine graful de cercetare rezultant din aplicarea algoritmului conine un drum soluie. Se pot distinge dou mari tipuri de algoritmi de cutate: a) Algoritmi de cutare cu graf : Algoritmul de cutare construiete un sub-graf explicit al grafului implicit de stare. Aceste tipuri de algoritmi furnizeaz un dublu rezultat: 1) graful de cutare propriu-zis care reprezint diferite tentative pentru rezolvarea problemei; 2) un drum particular al acestui graf, drumul soluie. b) Algoritmi cu ntoarcere napoi (backtrack): n cazul algoritmilor cu ntoarcere napoi, algoritmul de cutare nu pstreaz n memorie dect un singur drum explicit care, n final, este drumul-soluie cutat. n acest caz graful de cutare se reduce la un singur drum. Un astfel de algoritm trebuie s posede un mecanism de ntoarcere napoi care s permit, n caz de impas, tergerea unei pri din drum pentru a face o nou dezvoltare. Algoritmii de tip ntoarcere napoi au urmtoarele caracteristici fa de algoritmii de tip cutare cu graf: - sunt mai simplu de implementat; - necesit mai puin loc n memorie. - n cazul unui mare numr de ntoarceri napoi sunt mari consumatori de timp; - singurul drum memorat n mod explicit este drumul n curs de explorare; - restul drumurilor, ncercate i abandonate, sunt uitate; - exist riscul de a reconstrui drumuri deja explorate i care au fost terse. A) Algoritmi non informali de cutare cu graf: Algoritmii non informali de cutare cu graf nu utilizeaz nici o informaie euristic asupra problemei pentru a clasa nodurile n DESCHIS, procedura de cutare numindu-se non informal sau oarb. Exist dou proceduri clasice de cutare oarb, care corespund unor tipuri de explorare a unui graf. Acestea pot fi alturate unor dou structuri de date clasice n informatic: - explorarea n profunzime; - explorarea n lrgime. a) Explorarea n profunzime: DESCHIS are o structur de tip stiv sau FIFO (First In First Out). Nodurile DESCHIS sunt ordonate n cadrul grafului n ordine descresctoare urmnd profunzimea lor n graful de cutare. Nodurile cele mai profunde sunt plasate n capul grafului. Acestea sunt primele care vor fi dezvoltate. Structura de stiv este n totalitate adaptat pentru a reprezenta mulimea DESCHIS astfel ordonat.

b) Explorarea n lrgime: DESCHIS are o structur de tip ir sau LIFO (Last In First Out); Nodurile din DESCHIS sunt ordonate n ordine cresctoare urmnd profunzimea lor n graful de cutare. Dezvoltarea nodurilor n graful de cutare urmeaz contururi de profunzime egal. B) Algoritmi informali de cutare cu graf: Metodele oarbe de cutare sunt metode exhaustive viznd gsirea unui drum soluie. Implementarea acestor probleme este nerealist pentru majoritatea dintre ele pentru c necesit dezvoltarea unui numr de noduri prea mare, nainte de a gsi soluia (soluiile). Ideea de baz a metodelor informale de cercetare cu graf este de a utiliza o informaie euristic legat de problem, tradus numeric sub forma unei funcii de evaluare, care s permit restrngerea numrului de noduri care trebuie dezvoltate. a) Algoritmi de tip "cost uniform": Funcia de evaluare utilizat nu are componente euristice estimnd costul drumului care permite atingerea unei stri terminale pornind de la nodul evaluat, h(n) = 0. b) Algoritmi de tip "gradient": Funcia de evaluare utilizat nu ia n considerare dect componenta de tip h care estimeaz costul drumului care a mai rmas de fcut, adic g(n) = 0. Arbori I / SAU O alt metod de reprezentare a cunoaterii este cea a arborilor (grafurilor) I / SAU. Nodurile acestor grafuri reprezint faptele, baza de cunotine, iar ramurile (legturile) ntre diferite fapte legate prin afirmaii de tip I / SAU se bazeaz pe regulile de producie.

Moduri de raionament pentru motoarele de inferene Motorul de inferene poate folosi urmtoarele trei moduri de raionament: Raionament deductiv (nainte-forward chaining), n care se pleac de la fapte i se caut un anumit scop sau obiectiv. Se spune c raionamentul deductiv este dirijat de fapte. Raionament inductiv (napoi-backward chaining), n care se pornete de la un scop care este descompus succesiv n sub-scopuri pn se ajunge la dovedirea lui. Acest tip de raionament este dirijat de scop. Raionament mixt. n acest caz se fixeaz un scop, se determin toate faptele deductibile, se precizeaz faptele interogabile, apoi se aplic raionamentul inductiv.

Fiecare din modurile de raionament enumerate mai sus are avantaje i dezavantaje, eficiena aplicrii lui depinznd mult de contextul problemei. Raionamentul deductiv Motorul de inferene pornete de la faptele existente n baza de fapte i caut s dovedeasc un anumit scop. Vom ilustra acest mod de raionament pentru urmtoarea problem: Se consider setul de 9 reguli R1R9 de mai jos, se d baza de fapte format din faptele B i C i se cere s se demonstreze scopul H. R1: Dac B i D i E atunci F R2: Dac D i G R3: Dac C i F R4: Dac B R5: Dac D R6: Dac A i X R7: Dac C R8: Dac X i C R9: Dac X i B atunci A atunci A atunci X atunci E atunci H atunci D atunci A atunci D

Figurile de mai jos ilustreaz funcionarea motorului de inferene n cazul aplicrii primei reguli din list, i cazul n care se aplic regula cea mai complex.

Avantaje ale raionamentului deductiv:


Se pot genera toate soluiile posibile; La fiecare ciclu al motorului de inferene, baza de fapte se mbogete.

Dezavantaje:

Iniial baza de fapte trebuie s conin suficiente fapte; Se declaneaz toate regulile aplicabile, chiar dac unele nu prezint interes; Dac numrul de fapte i de reguli este foarte mare i scopul nu poate fi atins, se poate ajunge la o explozie combinaional a numrului de cicluri; n timpul inferenelor nu exist interactivitate, nct se poate ajunge la eec cu numai o fapt necunoscut care ar putea fi furnizat de utilizator.

n legtur cu ultimul dezavantaj, se poate face o clasificare a faptelor procesate de un sistem expert n fapte cunoscute i fapte necunoscute. La rndul lor faptele necunoscute pot fi deductibile prin aplicarea unor reguli sau pot fi interogabile (ntr-un proces de comunicare interactiv ntre sistemul expert i utilizator). Raionamentul inductiv n cazul raionamentului inductiv, motorul de inferene pleac de la un scop (problema de rezolvat, o soluie ipotetic etc.) care este descompus succesiv n subscopuri i sub-sub-scopuri, pn se ajunge la primitive dovedite sau interogabile. Se pleac de la o regul ce are n partea dreapt (concluzia) scopul urmrit i premisele acestei concluzii devin sub-scopuri ce urmeaz a fi dovedite n aceeai manier. Vom ilustra acest mod de raionament pe aceeai problem enunat n cazul raionamentului deductiv. ntruct regula R6 are n partea de concluzii scopul urmrit H, se ncepe cu ea, iar premisele ei devin sub-scopuri. Urmeaz deci s se arate c X i A sunt adevrate. Procesul continu prin descompunerea fiecrui sub-scop n sub-sub-scopuri, pn se dovedesc toate faptele necesare.

Observaii:

n etapa de rezolvare a conflictelor se alege regula cu numrul de ordine cel mai mic; Arborele este parcurs n profunzime i de la stnga la dreapta; n caz de eec (G) se revine n arbore la urmtoarea regul posibil de declanat (R3). Avantaje:

Spaiu de memorie mic, datorit dimensiunii reduse a arborilor de cutare; Timp de gsire a soluiilor mai scurt, datorit faptului c se face cutare doar pentru sub-scopurile necesare. Principalul dezavantaj l constituie pericolul de ciclare.

Exerciii: 1. Se consider urmtoarea situaie: - baza de fapte iniial conine faptele iniiale X i Y. - scopul propus este faptul S. - baza de reguli conine regulile: R1 R2 R3 R4 R5 R6 R7 R8 dac X i Y dac A dac B atunci A atunci B atunci C atunci D

dac A i X i Y dac D dac A i D dac E

atunci G atunci E atunci F atunci S

dac A i D i E

Folosind raionamentul deductiv i lund n considerare prima regul aplicabil, s se traseze un arbore al gsirii scopului (S). 2. S se exprime sub form de reguli de producie urmtorul arbore:

S-ar putea să vă placă și