Sunteți pe pagina 1din 29

7.

TEHNICI DE INFEREN

7.1 Raionament i inferen


Rezolvarea problemelor de ctre om se face prin combinarea faptelor cu cunotintele. Faptele specifice unei anumite probleme sunt utilizate alturi de nelegerea general a domeniului problemei n scopul derivrii de concluzii logice. Raionamentul este procesul de lucru cu cunotine, fapte i strategii de rezolvare a problemei pentru a trage concluzii (Durkin, 1994). Dintre modurile de raionament amintim: raionamentul deductiv, adic deducerea de noi informaii prin corelarea logic a informaiilor cunoscute. Sunt utilizate fapte sau axiome i cunotine generale despre problem sub forma unor reguli sau implicaii. Forma de baz a raionamentului deductiv este regula de inferen modus ponens: dac A este adevrat i A implic B este adevrat, atunci B este adevrat raionament inductiv, adic ajungerea la o concluzie utiliznd un set limitat de fapte, pe baza unui proces de generalizare. 1

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

adic A nu este adevrat sau B este adevrat

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.

7.2 Strategii de inferen 7.2.1 nlnuirea nainte


nlnuirea nainte este o strategie de inferen care pornete de la un set de fapte cunoscute, obine noi fapte utiliznd din concluziile regulilor a cror premize se potrivesc cu faptele cunoscute i continu acest proces pn la atingerea scopului

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.

Figura 7.1 Ilustrarea nlnuirii nainte

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.

7.2.2 nlnuirea napoi


Strategia nlnuirea napoi presupune c concluziile sunt cunoscute i caut toate premizele relevante (modus tollens). Sistemul ncepe considernd o concluzie (goal) pe care ncearc s o dovedeasc. Se verific mai nti memoria de lucru pentru a vedea dac concluzia nu este deja inclus n ea. Dac concluzia nu a fost dovedit anterior, sistemul verific setul de reguli pentru a vedea dac exist vreo regul care s conin concluzia n partea de ATUNCI. Dac exist o astfel de regul (denumit goal rule), sistemul verific dac premizele acestei

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

Presiune_ linie1 50 Presiune_linie2 100 <

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

Figura 7.4 Ilustrarea nlnuirii napoi

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

7.3 Tehnici de cutare de baz


Cercettorii n domeniul IA lucreaz cu uurin dac cunotintele problemei sunt reprezentate grafic n spaiul problemei, adic dac se utilizeaz un arbore sau un graf care conine noduri care reprezint strile problemei i arce care reprezint relaiile dintre stri. Rezolvarea problemei poate fi vzut ca o navigare ntre noduri, utiliznd arce, n cutarea nodului soluie. Acest mod de abordare poate fi extins la SE. Nodurile pot fi utilizate pentru a reprezenta premisele i concluziile regulilor i arcele pentru relaiile dintre ele. Spaiul de reprezentare grafic a problemei astfel creat se numete reea de inferen (Durkin, 1994). n orice sistem expert, problema este de a cuta n spaiul problemei i a localiza soluia. n sistemele cu nlnuire napoi, sistemul ncepe cutarea din una din soluiile posibile i o continu n jos de-a lungul arcelor spre alte noduri cutnd informaie suplimentar. n sistemele cu nlnuire nainte, sistemul ncepe cutarea de la una din primitive sau noduri frunz ale reelei. Cutarea continu n sus de-a lungul arcelor spre alte noduri n scopul localizrii unui nod obiectiv. Referindu-ne la nlnuirile nainte i napoi, au fost prezentai algoritmii simpli specifici fiecreia i a fost artat modul de cutare n baza de cunotine. Proiectanii SE au ns i un mod de control adiional aplicabil n cazul ambelor tehnici de nlnuire, mod care cuprinde tehnici de cutare de baz. Pentru a exemplifica aceast abordare, considerm exemplul ilustrat de urmtorul set de reguli: R1: DAC I ATUNCI Anotimp = vara P1 Nu am frigider P2 Am nevoie de frigider C1

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.

Figura 7.6 Cutarea n adncime Avantajele acestei tehnici de cutare sunt:

garanteaz o soluie dac aceasta exist;

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.

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