Documente Academic
Documente Profesional
Documente Cultură
TEHNICI DE INFEREN
Considerm urmtorul exemplu: Premiza: Premiza: Concluzie: Copiii de 8 ani din Iai merg la scoal Copiii de 8 ani din Piteti merg la scoal n general, copiii de 8 ani merg la scoal
raionament abductiv, adic o form de deducie, care permite inferene plauzibile. Concluzia se poate deduce din informaia disponibil, dar e posibil i s nu poat fi dedus: dac B este adevrat i A implic B este adevrat, atunci A este adevrat? Pentru a ilustra raionamentul abductiv considerm urmtorul exemplu: Implicaie: Axiom: Concluzie: Dac nu vine tramvaiul nu ajung la timp Nu ajung la timp Nu vine tramvaiul?
Dac avem doar informaia Nu ajung la timp, un raionament plauzibil ar putea fi Nu vine tramvaiul. Totui, aceast concluzie ar putea fi greit, deoarece pot exista mai multe motive care s m fac s nu ajung la timp, cum ar fi faptul c am plecat trziu de acas. raionament prin analogie (raionament metaforic), care se utilizeaz pentru a obine o nelegere a unui nou obiect utiliznd un model mental asupra unui concept similar, model construit pe baza experienei. Cunoaterea noului obiect este rafinat innd cont de diferenele specifice. Pentru a ilustra raionamentul analogic, considerm urmtorul cadru:
Cadrul: Tigru Clasa: Animale Numr_de_picioare = 4 Mnnc: carne Trieste_n: India i Asia de sud-est Culoare: rocat cu dungi Dac afirmm n continuare ca un leu arat ca un tigru, presupunem c au multe caracteristici comune. De exemplu, sunt animale cu 4 picioare, care mnnc carne. Exist totui i diferene. De exemplu, au culori diferite i triesc n locuri diferite. raionament euristic, bazat pe cunoatere de natur informal, pe experien, pe specializare, pe generalizare i pe analogie, cu ajutorul creia se efectueaz o interpretare, se ia o decizie, sau se acioneaz n vederea atingerii unui obiectiv. Nu garanteaz existena unei soluii. E utilizabil cnd se caut soluii rapide. Pentru a ilustra acest mod de raionament, considerm urmtorul exemplu, n care trebuie stabilit la ce animal se refer urmtoarea regul: DAC ATUNCI Animalul mnnc oareci Animalul este pisic
Dac ne refeream ntr-adevr la o pisic, atunci concluzia este corect i rapid. Concluzia este ns greit dac ne refeream la o bufni. raionament non-monotonic, utilizat n cazul n care informaia referitoare la starea unui fapt se schimb i sistemul trebuie s retracteze faptele care depind din punct de vedere logic de alte fapte retractate.
Inferena este procesul utilizat ntr-un SE pentru a deduce noi informaii din informaia cunoscut. Un SE efectueaz inferena utiliznd un modul denumit motor de inferen, care este un procesor, care lucreaz cu informaia curent pentru a trage concluzii ulterioare. Faptele coninute n memoria de lucru sunt combinate cu cunotintele coninute n baza de cunotine. Prin aceast aciune se infer noi informaii, care sunt adugate memoriei de lucru. Dintre tipurile de inferen ce pot fi utilizate menionm: modus ponens, care este o regul a logicii, care afirm c dac se tie c A este adevrat i c A implic B, atunci se poate presupune c B este adevrat. Acest tip de inferen este utilizat n care este important s se nvee ct se poate de mult din informaiile deja disponibile (SE conduse de date, adic cu nlnuire nainte). Modus ponens lucreaz pe un set de afirmaii adevrate, numite i axiome i infer noi fapte. Considerm urmtoarele dou implicaii, reprezentate de regulile: 1. E1 E2 2. E2 E3 DAC ATUNCI DAC ATUNCI Luna este iulie Am concediu Am concediu Plec la munte
Aceste dou implicaii reprezint lista iniial de axiome, considerat ca fiind Starea_0 a sistemului: Starea_0 1. E1 E2 2. E2 E3
Presupunem acum c suntem n luna iulie i adugm aceast nou axiom pentru a crea Starea_1: Starea_1 1. E1 E2 2. E2 E3 3. E1 Luna este iulie Aceast nou axiom conduce la ndeplinirea lui E2, care se va aduga listei de axiome, conducnd la Starea_2 Starea_2 1. E1 E2 2. E2 E3 3. E1 Luna este iulie 4. E2 Am concediu Aceast nou informaie conduce la ndeplinirea axiomei 2 i la adugarea lui E3, crend list din Stare_3 Starea_3 1. E1 E2 2. E2 E3 3. E1 Luna este iulie 4. E2 Am concediu 5. E3 Plec la munte Lucrnd deci cu un set de implicaii (reguli) i cu date iniiale, modus ponens formeaz o serie de aseriuni logice. n acest mod, procesul de inferen este condus de aceste informaii (SE conduse de date).
rezoluie, care este o strategie de inferen utilizat n sistemele logice pentru a determina adevrul unei aseriuni P, prin dovedirea faptului c P nu poate fi adevrat (dovedire prin refutare). Metoda de rezoluie conduce la producerea unor expresii noi, numite rezolvani, obinui din reunirea axiomelor existente cu aseriunea negat.
Algoritmul rezoluie poate fi descris sumar n urmtorii pai: 1. Presupunem c P este ADEVRAT; 2. Artm c axiomele i P conduc la o contradicie; 3. Tragem concluzia c P este FALS deoarece a condus la o contradicie; 4. Concluzia final este c P este adevrat, deoarece P este FALS. nainte de a ilustra printr-un exemplu acest mod de inferen, reamintim c o implicaie poate fi scris n dou moduri, care sunt echivalente din punct de vedere logic (vezi Subcapitolul 6.3.5): AB A B adic DAC ATUNCI A B
Pentru a ilustra mai bine rezoluia, considerm tot exemplul dat la modus ponens, pe care le putem scrie n modul echivalent urmtor: 1. E1 E2 DAC ATUNCI 2. E2 E3 DAC ATUNCI 3. E1 Luna este iulie Luna este iulie Am concediu Am concediu Plec la munte
Dorim s demonstrm c E3 (Plec la munte) este ADEVRAT. Aplicnd algoritmul de rezoluie, presupunem c E3 este ADEVRAT. Adugnd aceast axiom celorlalte trei enunate precedent, obinem Starea_0: Starea_0 1. E1 E2 2. E2 E3 3. E1 4. E3 Rezolvm nti axiomele 1 si 2: E1 E2 E2 E3 E1 E3 Adugnd acest rezolvant listei din Starea_0 obinem Starea_1: Starea_1 1. E1 E2 2. E2 E3 3. E1 4. E3 5. E1 E3 Rezolvnd acum axiomele 3 i 5 obinem: E1 E1 E3 E3
Adugnd acest rezultat la lista de axiome, obinem Starea_2 Starea_2 1. E1 E2 2. E2 E3 3. E1 4. E3 5. E1 E3 6. E3 Acest rezultat obinut arat contradicia ntre axiomele 4 i 6. De aceea, tragem concluzia c E3 este FALS, deoarece a condus la o contradicie (pasul 3 al algoritmului). Concluzia final este c E3 este ADEVRAT, deoarece E3 este FALS (pasul 4 al algoritmului), ceea ce era de demonstrat. non-rezoluie sau deducie natural, care pentru a dovedi o afirmaie utilizeaz o tehnic dirijat de scop (goal-directed). Non-rezoluia utilizeaz o regul de inferena de form (Cohen i Feigenbaum, 1982): Pentru a demonstra c (H (A B) C) DAC (B C), ATUNCI demonstrm c (H A) Non-rezoluia se utilizeaz n SE cu nlnuire napoi.
final sau pn cnd nu mai exist reguli a cror premize s se potriveasc cu faptele cunoscute iniial sau cu faptele derivate pe parcursul inferenei. Memoria de lucru va conine faptele furnizate de utilizator i faptele deduse (inferate) de sistem. Pentru a exemplifica nlnuirea nainte, utilizm urmtorul set de reguli: R1: DAC I ATUNCI DAC ATUNCI DAC I ATUNCI Anotimp = vara Nu am frigider Am nevoie de frigider Sum_bani > 10 milioane lei Am bani suficieni pentru frigider Am nevoie de frigider Am bani suficieni pentru frigider Doresc s cumpr frigider
R2:
R3:
Considerm c n memoria de lucru am urmtoarele fapte furnizate de utilizator: Anotimp = vara Nu am frigider Sum_bani > 10 milioane lei Figura 7.1 ilustreaz modul n care informaiile sunt prelucrate utiliznd nlnuirea nainte. Sistemul ia pe rnd fiecare regul i verific dac premizele ei exist n memoria de lucru. Dac toate premizele se regsesc n memoria de lucru, concluzia regulii este adugat memoriei de lucru. Procedeul se repet ciclic, sistemul obinnd noi informaii, care sunt utilizate n continuare n procesul de raionament. Inferena se termin cnd nu mai exist reguli care pot ndeplini.
nlnuirea nainte trage toate concluziile din informaia disponibil, ceea ce poate fi util n anumite aplicaii, dar care produce informaii nenecesare n alte aplicaii (ceea ce cauzeaz i o pierdere de timp pentru obinerea acestor informaii neeseniale). Rezolvarea conflictelor Una dintre problemele importante ce trebuie rezolvate n cadrul nlnuirii nainte este rezolvarea conflictelor, adic utilizarea unei anumite strategii de alegere a regulei care se consider ndeplinit (rule firing sequence), cnd mai mult de o regul poate fi ndeplinit (Durkin, 1994). Considerm de exemplu problema enunat prin urmtorul set de reguli: R1: DAC I I ATUNCI DAC I I ATUNCI Sunt n vacan Exist locuri n tabr la mare Am bani pentru a plti costul taberei Voi merge n tabr la mare Sunt n vacan Exist locuri n tabr la munte Am bani pentru a plti costul taberei Voi merge n tabr la munte
R2:
Presupunem c se ndeplinesc premizele ambelor reguli. Utiliznd nlnuirea nainte, ambele reguli se ndeplinesc i putem trage att concluzia c Voi merge n tabr la mare, ct i concluzia c Voi merge n tabr la munte. Exist deci evident un conflict ntre cele dou recomandri.
Strategii tipice de rezolvare a conflictelor (de a decide ce regul trebuie aleas) sunt: 1. prima regul care se potrivete. n acest caz este important ordinea regulilor; 2. regula cu cea mai mare prioritate. Prioritile sunt asignate conform importanei regulilor; 3. regula cea mai specific, adic regula cu cele mai multe premize; 4. regula care se refer la elementul adugat cel mai recent la memoria de lucru; 5. nu se aleg reguli deja alese, prevenindu-se astfel problema buclrilor; 6. se aleg reguli cu linii de raionament separate. Sunt considerate ndeplinite toate regulile dintr-un set de conflict, concluziilor fiind adugate unor memorii de lucru separate. Aceasta permite sistemului s-i menin linii de raionament separate i s considere soluii alternative. Utilizarea strategiilor de rezolvare a conflictelor adaug sistemului o abilitate de cutare euristic, care direcioneaz n mod inteligent procesul de cutare.
reguli exist n memoria de lucru. Premizele care nu exist deja n memoria de lucru devin noi concluzii, denumite i sub-concluzii (subgoals), care trebuie dovedite utiliznd alte reguli. Procesul continu recursiv, pn cnd este gsit o premiz care nu poate fi dovedit de nici una din regulile din sistem. Aceast premiz se numete primitiv i sistemul solicit utilizatorului informaii despre ea.
Bloc
Linie 1 Pompa
Linie 2
Motor
Figura 7.2 Sistem de pompare Pentru a ilustra nlnuirea napoi, considerm exemplul referitor la un sistem de pompare (vezi Figura 7.2), pentru care avem urmtorul set de reguli referitor la defectarea motorului: R1: DAC I ATUNCI DAC I ATUNCI DAC ATUNCI Blocul este defect Curent_motor este scazut Motorul este defect Presiune_linie1 50 Presiune_linie2 < 100 Blocul este defect Curent_motor <1 Motorul este defect
R2:
R3:
Obiectivul sistemului nostru este s dovedeasc concluzia Motorul este defect, adic concluzia regulei R1. Figura 7.3 ilustreaz procesul de cutare de-a lungul unui arbore, care descrie grafic relaiile dintre reguli.
Motor defect
1 6 10 7
Bloc defect
2 3 4 5
Curent_motor sczut
8 8
Presiune_linie 1 50
Presiune_linie 2 100
Curent_motor < 1
Figura 7.3 Cutarea n nlnuirea napoi Figura 7.4 urmrete procesul de nlnuire napoi urmat n exemplul prezentat. nlnuirea nainte i nlnuirea napoi sunt dou tehnici de baz utilizate n SE. Fiecare dintre ele are avantaje i dezavantaje (Durkin, 1994). Avantajele nlnuirii nainte lucreaz bine cnd problema ncepe n mod firesc cu adunarea informaiilor; se obine o mare cantitate de informaii pornind de la o cantitate mic de date;
Pas 1
Concluzie motorul este defect
Pas 2
Concluzie cunoscut NU
Memoria de lucru
Pas 3
Gsete regulile care au concluzia n partea ATUNCI R1 NU
Pas 4
Verific dac R1 premiza 1 este cunoscut Blocul_este_defect
NU
Pas 5
Gsete regulile cu aceast premiz n partea ATUNCI R2
Pas 6
Verific dac R2 premiza 1 este cunoscut Presiune_linie1 50
16
Pas 7
Gsete regula cu aceast premiz n partea ATUNCI Nici o regul
Pas 8
Aceast premiz e o primitiv i e necesar consultarea utilizatorului ntrebare: Presiune_linie 1 50 Rspuns: Da Memoria de lucru
Pas 9
Verific dac R2 premiza 2 este cunoscut Presiune_linie 2 < 100
Presiune_ linie1 50
Pas 10
Gsete regula cu aceast premiz n partea de ATUNCI Nici o regul
Pas 11
Aceast premiz e o primitiv i e necesar consultarea utilizatorului ntrebare: Presiune_linie 2 < 100 Rspuns: Da Regula R2 se ndeplinete Blocul este defect Memoria de lucru
Pas 12
Verific dac R1 premiza 2 este cunoscut curent_motor este_sczut
Pas 13
Gsete regulile cu aceast premiz n partea ATUNCI R3
NU
Pas 14
Verific dac R3 premiza 1 este cunoscut curent_motor < 1
Pas 15
Gsete regula cu aceast premiz n partea ATUNCI Nici o regul
Pas 16
Aceast premiz este p primitiv i este necesar consultarea utilizatorului ntrebare: curent_motor < 1 Rspuns: Da Regula R3 se ndeplinete Curent_motor este sczut Memoria de lucru
Pas 17
Ambele premize ale regulii R1 sunt ndeplinite R1 se ndeplinete Motorul este defect
Presiune_ linie1 50 Presiune_linie2 < 100 Blocul este defect Curent_motor < 1 Curent_motor este t
Memoria de lucru
Presiune_ linie1 50 Presiune_linie2 < 100 Blocul este defect Curent_motor < 1 Curent_motor este sczut
este o abordare excelent pentru anumite tipuri de probleme, cum ar fi planificarea, monitorizarea, controlul i interpretarea. Dezavantajele nlnuirii nainte infer orice este posibil, fr a avea mijloace de a recunoate c anumite lucruri pot fi mai importante dect altele; sistemul poate pune, n cazul dialogului cu utilizatorul, ntrebri necorelate (despre subiecte necorelate, diferite). Dei rspunsurile la aceste ntrebri pot fi diferite, utilizatorul e descumpnit fiind pus s rspund la ntrebri despre subiecte necorelate. Avantajele nlnuirii napoi lucreaz bine cnd problema ncepe cu formularea ipotezelor i apoi caut s le dovedeasc; rmne focalizat pe o ipotez, punnd ntrebri referitoare la aceast situaie care este convenabil pentru utilizator; cutrile sunt efectuate pe acea parte din baza de cunotine care este relevant pentru problema curent; este o abordare excelent pentru anumite tipuri de probleme cum ar fi diagnoza tehnic.
Dezavantajele nlnuirii napoi Principalul dezavantaj al unui sistem cu nlnuire napoi este c sistemul continu s urmreasc o linie de raionament, chiar dac ar fi trebuit s o prseasc i s urmeze o alta.
20
R2:
DAC ATUNCI DAC I ATUNCI DAC I ATUNCI DAC I ATUNCI DAC I ATUNCI DAC I ATUNCI DAC ATUNCI
Sum_bani 10 milioane lei P3 Am bani suficieni pentru frigider C2 Am nevoie de frigider P4 Am bani suficieni pentru frigider P5 Doresc s cumpr frigider C3 Doresc s cumpr frigider P6 Magazinul are frigidere P7 Cumpr frigider C4 Sum_bani > 5 milioane lei P8 Sum_bani < 10 milioane lei P9 Am bani suficieni pentru frigider C5 Am un televizor vechi P10 Am bani suficieni pentru frigider P11 Doresc s cumpr televizor C6 Doresc s cumpr televizor P12 Magazinul are televizoare P13 Cumpr televizor C7 Mama vrea s-mi cumpere televizor P14 Cumpr televizor C7
R3:
R4:
R5:
R6:
R7:
R8:
Exist urmtoarele tehnici de cutare de baz: cutarea n adncime (Depth-First-Search) este o tehnic exhaustiv de cutare care caut o soluie de-a lungul fiecrei ramuri a spaiului problemei, pe toat lungimea ei, apoi continu pe o alt ramur (subramur) pn la gsirea nodului obiectiv. La fiecare nod se utilizeaz o regul arbitrar (cum ar fi de la stnga la dreapta) pentru a direciona cutarea. Dac se ajunge la captul unui nivel, cutarea continu de la
nivelul anterior i este ales arcul cel mai din stnga. Aceast operaie este cunoscut ca backtracking. Pentru a prentmpina situaia ca drumul s fie infinit este indicat s se introduc o limit de adncime.
Figura 7.5 Reea de inferen Pentru exemplificare, considerm reeaua de inferen din Figura 7.5 Modul n care se desfoar cutarea n adncime este prezentat punctat n Figura 7.6.
intr rapid n spaii adnci ale problemei; menine focalizarea pe un subiect dat.
Dezavantajele acestei tehnici de cutare sunt: nefurnizare de informaii suplimentare, care ar ajuta la gsirea soluiei; nu este potrivit pentru spaii ale problemei de dimensiuni mari, deoarece cutarea pe toate drumurile posibile n
scopul gsirii soluiei optime conduce la o explozie combinatorie; insuficiena pentru problemele puin adnci, n care soluia e uor de gsit dac s-ar ncepe cu ramura corespunztoare. Prezentm n continuare un algoritm de cutare n adncime cu limita n: (i) Se construiete o list FIFO denumit OPEN, n care este plasat iniial nodul No. (ii) Dac OPEN = , eroare. Astfel, goto (iii) (iii) Se extrage primul nod disponibil Ni i se introduce ntr-o list de noduri vizitate denumit CLOSED. (iv) Dac i<n, goto (v), altfel, goto (ii) (v) Se expandeaz nodul NI i lista succesorilor si (Ni1,..., Niki) se pune n OPEN la nceput (vi) Dac Si care satisface obiectivul, STOP; altfel, goto (ii) cutarea pe nivel, n lime (Breadth-First-Search) este o tehnic exhaustiv de cutare, care caut o soluie de-a lungul tuturor nodurilor unui nivel al spaiului de stare nainte de a considera nodurile de la nivelul urmtor. De-a lungul nodurilor unui nivel, cutarea se face dup o lege arbitrar (de exemplu de la stnga la dreapta). Procesul e repetat pe fiecare nivel, naintnd tot mai adnc n spaiul de stare, pn la localizarea unei soluii. Pentru exemplificare, considerm reeaua de inferen din Figura 7.5. Modul n care se desfoar cutarea n lrgime prezentat punctat n Figura 7.7.
Figura 7.7 Cutarea n lime Avantajele acestei tehnici de cutare sunt: garanteaz gsirea unei soluii, dac ea exist; nu pierde (rateaz) soluii uoare, adic soluii puin adnci (de exemplu soluia regulei R8 se obine prin verificarea ndeplinirii premizei P14 pe nivelul 2 de explorare a reelei de inferen). Dezavantajele acestei tehnici de cutare sunt: nefurnizare de informaii suplimentare, care s ghideze cutarea;
nu este potrivit pentru spaii ale problemei de dimensiuni mari; asigur interaciune redus cu utilizatorul, deoarece ntrebrile puse utilizatorului nu sunt corelate.
Prezentm n continuare un algoritm de cutare pe nivel: (i) Se construiete o list de tip FIFO, denumit OPEN, n care este plasat, iniial, nodul de start No. (ii) Dac OPEN = , eroare; astfel, goto (iii) (iii) Se extrage din OPEN primul nod disponibil Ni i se introduce ntr-o list de noduri vizitate denumit CLOSED. (iv) Se expandeaz Ni i se plaseaz lista succesorilor si Si = (Ni1, Ni2,....Niki) la coada listei OPEN. (v) Se testeaz succesiv nodurile expandate pentru a se vedea dac satisfac obiectivul problemei. Dac da, STOP. Astfel, goto (ii) cutarea prin ramificare i limitare ("Branch and Bound") const n ataarea, fiecrui arc al arborelui, a unei valori denumit costul trecerii de la o stare printe la alta succesoare. Avantajul acestei tehnici de cutare este reducerea consumului de resurse. Prezentm n continuare un algoritm de cutare prin ramificare i limitare: (i) Se expondeaz toate ramificaiile posibile din nodul iniial i se calculeaz costurile v1...vn ale parcurgerii acestora, cu care se formeaz o mulime de valori curente V. Este testat condiia de terminare printre nodurile generate i, dac este ndeplinit, goto. Altfel, goto (iii).
(ii)
(iii) (iv)
Este selectat spre ramificare arcul i a crei valoare vi = min V este limita minim la acest pas al cutrii. Este expondat nodul corespunztor seleciei, pe toate variantele, i se calculeaz vk = vi + vik, care sunt introduse n V. Goto (ii).
n timpul cutrii sunt lsate deoparte, pentru a considera ulterior, multe drumuri incomplete. Cel mai scurt dintre ele este extins cu un nivel, cerndu-se att noi drumuri incomplete cte arce pornesc din acel nod. Aceste noi drumuri sunt apoi considerate mpreun cu cele rmase din etapele anterioare. cutarea soluiei optime (Best-First Search) este o tehnic de cutare, care utilizeaz cunotine despre problem pentru a ghida cutarea n spaiul de stare. Folosete o tehnic de apreciere pentru a decide care ramur conduce la cea mai bun soluie. Implementarea acestei tehnici se face n programele de AI utiliznd funcii de evaluare, care asigneaz o valoare numeric fiecrui nod i nodul cu cea mai mare valoare e procesat (ales) primul. n SE se utilizeaz cutarea euristic. Dintre modurile tipice de utilizare a euristicii n SE menionm: ordonarea obiectivelor n ordinea potrivit necesitilor aplicaiei; ordonarea premiselor ntr-o ordine, care scurteaz efortul de cutare; utilizarea de meta-reguli pentru a direciona cutarea. Ca un demon, o meta-regul monitorizeaz informaia referitoare la problem cu ajutorul premizelor. Cnd regula se ndeplinete, ea poate fi utilizat pentru a stabili noi ipoteze sau pentru a ncrca o nou baz de cunotine;
utilizarea de prioriti pentru reguli dup importana regulii; utilizarea de factori de ncredere a sistemului in ipoteze. Avantajele acestei tehnici de cutare sunt:
este informat, adic utilizeaz cunotine pentru a ghida cutarea: de unde se ncepe cel mai bine, cum se continu cel mai bine; modeleaz raionamentul uman. Dezavantajul acestei tehnici este c nu garanteaz gsirea unei soluii, ghidnd cutarea spre un subspatiu a strilor care pare promitor, n care poate s nu existe o soluie.