Inteligenta Artificiala Universitatea Politehnica Bucuresti Anul universitar

Σχετικά έγγραφα
Metode iterative pentru probleme neliniare - contractii

Examen AG. Student:... Grupa:... ianuarie 2011

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

Sisteme diferenţiale liniare de ordinul 1

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

Curs 1 Şiruri de numere reale

Integrala nedefinită (primitive)

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

Curs 4 Serii de numere reale

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

Criptosisteme cu cheie publică III

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

Subiecte Clasa a VIII-a

Algoritmica grafurilor XI. Cuplaje in grafuri. Masuri de calitate. Numere Ramsey


Metode de interpolare bazate pe diferenţe divizate

MARCAREA REZISTOARELOR

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

Examen AG. Student:... Grupa: ianuarie 2016

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera.

riptografie şi Securitate

Aplicaţii ale principiului I al termodinamicii la gazul ideal

Laborator 11. Mulţimi Julia. Temă

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

Asupra unei inegalităţi date la barajul OBMJ 2006

Proiectarea Algoritmilor 4. Scheme de algoritmi Programare dinamica

Aplicatii in jocuri. Catalin Stoean

Sisteme liniare - metode directe

Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36].

Curs 2 Şiruri de numere reale

Concurs MATE-INFO UBB, 1 aprilie 2017 Proba scrisă la MATEMATICĂ

Al cincilea baraj de selecţie pentru OBMJ Bucureşti, 28 mai 2015

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

a. 11 % b. 12 % c. 13 % d. 14 %

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

Subiecte Clasa a VII-a

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

Esalonul Redus pe Linii (ERL). Subspatii.

CURS 11. Rădăcină unei ecuatii: Cum se defineste o rădăcină aproximativă?

Cursul 11. Cuplaje. Sisteme de reprezentanti distincţi. Arbori de acoperire. Enumerarea tuturor arborilor cu număr fixat de noduri.

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

Problema a II - a (10 puncte) Diferite circuite electrice

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Laborator 6. Integrarea ecuaţiilor diferenţiale

METODE NUMERICE: Laborator #5 Metode iterative pentru rezolvarea sistemelor: Jacobi, Gauss-Siedel, Suprarelaxare

decembrie 2016 Grafuri. Noţiuni fundamentale. Grafuri euleriene şi grafuri hamilto

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă

BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3)

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b.

Seminar 5 Analiza stabilității sistemelor liniare

1. PROPRIETĂȚILE FLUIDELOR

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

Functii Breviar teoretic 8 ianuarie ianuarie 2011

VII.2. PROBLEME REZOLVATE

Profesor Blaga Mirela-Gabriela DREAPTA

CURS 11: Programare dinamică - I - Algoritmica - Curs 11 1

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice

III. Reprezentarea informaţiei în sistemele de calcul

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15

Olimpiada Naţională de Matematică Etapa locală Clasa a IX-a M 1

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

Proiectarea algoritmilor: Programare dinamică

1.3 Baza a unui spaţiu vectorial. Dimensiune

2 Transformări liniare între spaţii finit dimensionale

V O. = v I v stabilizator

Grafuri planare Colorarea grafurilor. Curs 12. Grafuri planare. Colorarea grafurilor. Polinoame cromatice. 23 decembrie 2016.

prin egalizarea histogramei

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

T R A I A N ( ) Trigonometrie. \ kπ; k. este periodică (perioada principală T * =π ), impară, nemărginită.

Algoritmi genetici. 1.1 Generalităţi

Tehnici de Optimizare

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili

Noţiuni introductive

ELEMENTE DE TEORIA GRAFURILOR

z a + c 0 + c 1 (z a)

Proiectarea filtrelor prin metoda pierderilor de inserţie

2CP Electropompe centrifugale cu turbina dubla

Curs 2 DIODE. CIRCUITE DR

I. Noţiuni introductive

II. 5. Probleme. 20 c 100 c = 10,52 % Câte grame sodă caustică se găsesc în 300 g soluţie de concentraţie 10%? Rezolvare m g.

Grafuri. Liviu P. Dinu University of Bucharest Faculty of Mathematics and Computer Science

Transformata Laplace

FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4

Transcript:

Inteligenta Artificiala Universitatea Politehnica Bucuresti Anul universitar 2010-2011 Adina Magda Florea http://turing.cs.pub.ro/ia_10 si curs.cs.pub.ro

Curs nr. 2 Strategii de rezolvare a problemelor Reprezentarea solutiei problemei Strategii de cautare de baza: nivel, adancime, nivel iterativ (ID), bidirectionala Strategii de cautare informate: best first, cost uniform, A*, cautare euristica cu memorie limitata

1. Reprezentarea solutiei problemei Reprezentare prin spatiul starilor Reprezentare prin grafuri SI/SAU Echivalenta reprezentarilor Caracteristicile mediului de rezolvare Pentru a reprezenta si gasi o solutie: Structura simbolica Instrumente computationale Metoda de planificare

1.1. Rezolvarea problemei reprezentata prin spatiul starilor Stare Spatiu de stari Stare initiala Stare/stari finala/finale (S i, O, S f ) Solutia problemei Caracteristicile mediului

8-puzzle S i S f 2 3 1 8 4 7 6 5 (a) Stare initiala 1 2 3 8 4 7 6 5 (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 S i 2 3 1 8 4 7 6 5 STINGA JOS DREAPTA 2 3 2 8 3 S 1 1 8 4 S 2 1 4 S 3 7 6 5 7 6 5 2 3 1 8 4 7 6 5 (d) Tranzitii posibile din starea S i

1.2 Rezolvarea problemei reprezentata prin grafuri SI/SAU (P i, O, P e ) Semnificatie graf SI/SAU Nod rezolvat Nod nerezolvabil Solutia problemei

Graf SI/SAU Nod SAU Noduri SI Noduri SAU

Turnurile din Hanoi A B C A B C (a) Stare initiala (b) Stare finala n = 3 A la C O - operator de descompunere n = 2 n = 2 A la B B la C n = 1 A la C n = 1 A la C n = 1 A la B n = 1 C la B n = 1 B la A (c) Arborele SI/SAU de descompunere in subprobleme n = 1 B la C n = 1 A la C

1.3 Echivalenta reprezentarilor Tranzitie din S j in S f S j S k S j, S k - stari intermediare (a) Spatiul starilor Tranzitie din S j in S - stare finala f S k Tranzitie din S k in S f (b) Descompunerea problemei in subprobleme

1.4 Caracteristicile mediului Observabil / neobservabil Discret / continuu Finit / infinit Determinist / nedeterminist

2. Strategii de cautare de baza Criterii de caracterizare Completitudine Optimalitate Complexitate Capacitatea de revenire Informare Conventii: nod necunoscut, evaluat, expandat, FRONTIERA, TERITORIU

Costuri ale cautarii Cost parcurgere (cost aplicare operatori) Cost Computational Cost total Cost control (cost evaluare stari) Neinformat Informat Grad de informare

2.1. Cautari neinformate in spatiul starilor Algoritm NIV: Strategia cautarii pe nivel in spatiul starilor 1. Initializeaza listele FRONTIERA {S i }, TERITORIU {} 2. daca FRONTIERA = {} atunci intoarce INSUCCES 3. Elimina primul nod S din FRONTIERA si insereaza-l in TERITORIU 4. Expandeaza nodul S 4.1. Genereaza toti succesorii directi S j ai nodului S 4.2. pentru fiecare succesor S j al lui S executa 4.2.1. Stabileste legatura S j S 4.2.2. daca S j este stare finala atunci i. Solutia este (S j, S,.., S i ) ii. intoarce SUCCES 4.2.3. Insereaza S j in FRONTIERA, la sfarsit 5. repeta de la 2 sfarsit.

Caracteristici cautare pe nivel Algoritmul presupune spatiul de cautare arbore si nu graf Pentru un spatiu de cautare graf se insereaza pasul 3 3. daca S FRONTIERA TERITORIU atunci repeta de la 2 Strategia cautarii in adancime in spatiul starilor Intr-o reprezentare a solutiei problemei prin spatiul starilor adancimea unui nod se defineste astfel: Ad(S i ) = 0, unde S i este nodul stare initiala, Ad(S) = Ad(S p )+1, unde S p este nodul predecesor nodului S.

Algoritm ADANC(AdMax): Strategia cautarii in adancime in spatiul starilor 1. Initializeaza listele FRONTIERA {S i }, TERITORIU {} 2. daca FRONTIERA = {} atunci intoarce INSUCCES 3. Elimina primul nod S din FRONTIERA si insereaza-l in TERITORIU 3. daca Ad(S) = AdMax atunci repeta de al 2 4. Expandeaza nodul S 4.1. Genereaza toti succesorii directi S j ai nodului S 4.2. pentru fiecare succesor S j al lui S executa 4.2.1. Stabileste legatura S j S 4.2.2. daca S j este stare finala atunci i. Solutia este (S j,.., S i ) ii. intoarce SUCCES 4.2.3. Insereaza S j in FRONTIERA, la inceput 5. repeta de la 2 sfarsit.

Caracteristici cautare in adancime Cautare in adincime cu nivel iterativ (ID) pentru AdMax=1, m executa ADANC(AdMax) Caracteristici cautare in adancime cu nivel iterativ Cautare de tip backtracking Cautare bidirectionala Care strategie este mai buna?

2.2. Cautari neinformate in grafuri SI/SAU Adancimea unui nod Ad(S i ) = 0, unde S i initiala, este nodul problema Ad(S) = Ad(S p ) + 1 daca S p este nod SAU predecesor al nodului S, Ad(S) = Ad(S p ) daca S p este nod SI predecesor al nodului S.

Algoritm NIV-SI-SAU: Strategia cautarii pe nivel in arbori SI/SAU. 1. Initializeaza listele FRONTIERA {S i }, TERITORIU {} 2. Elimina primul nod S din FRONTIERA si insereaza-l in TERITORIU 3. Expandeaza nodul S 3.1. Genereaza toti succesorii directi S j ai nodului S 3.2. pentru fiecare succesor S j al lui S executa 3.2.1. Stabileste legatura S j S 3.2.2. daca S j reprezinta o multime de cel putin 2 subprobleme atunci /* este nod SI */ i. Genereaza toti succesorii subprobleme S k j ai lui ii. Stabileste legaturile intre nodurile S k j S j iii. Insereaza nodurile S k j in FRONTIERA, la sfirsit 3.2.3. altfel insereaza S j in FRONTIERA, la sfirsit

4. daca nu s-a generat nici un succesor al lui S in pasul precedent (3) atunci 4.1. daca S este nod terminal etichetat cu o problema neelementara atunci 4.1.1. Eticheteaza S nerezolvabil 4.1.2. Eticheteaza cu nerezolvabil toate nodurile predecesoare lui S care devin nerezolvabile datorita lui S 4.1.3. daca nodul S i este nerezolvabil atunci intoarce INSUCCES /* problema nu are solutie */ 4.1.4. Elimina din FRONTIERA toate nodurile care au predecesori nerezolvabili

4.2. altfel /* S este nod terminal etichetat cu o problema elementara */ 4.2.1. Eticheteaza S rezolvat 4.2.2. Eticheteaza cu rezolvat toate nodurile predecesoare lui S care devin rezolvate datorita lui S 4.2.3. daca nodul S i este rezolvat atunci i. Construieste arborele solutie urmarind legaturile ii. intoarce SUCCES /* s-a gasit solutia */ 4.2.4. Elimina din FRONTIERA toate nodurile rezolvate si toate nodurile care au predecesori rezolvati 5. repeta de la 2 sfarsit.

2.3. Complexitatea strategiilor de cautare B - factorul de ramificare al unui spatiu de cautare 8-puzzle Numar de miscari: 2 m pt colt = 8 3 m centru lat = 12 4m centru 24 miscari B = nr. misc. / nr. poz. p. liber = 2.67 Numar de miscari: 1 m pt colt = 4 2 m centru lat = 8 3m centru 15 miscari B = 1.67

Complexitatea strategiilor de cautare B - factorul de ramificare d- adancimea celui mai apropiat nod solutie m lungimea maxima a oricarei cai din spatiul de cautare Rad B noduri, B 2 pe niv 2, etc. Numarul de stari posibil de generat pe un nivel de cautare d este B d T - numarul total de stari generate intr-un proces de cautare, d adancime nod solutie T = B + B 2 + + B d = O(B d )

Complexitatea strategiilor de cautare Cautare pe nivel Numar de noduri generate B + B 2 + + B d = O(B d+1 ) Complexitate timp, spatiu Cautare in adancime Numar de noduri generate B*m daca nodurile expandate se sterg din TERITORIU Complexitate timp, spatiu

Complexitatea strategiilor de cautare Cautare backtracking Numar de noduri generate m daca se elimina TERITORIU Complexitate timp, spatiu Cautare cu nivel iterativ Numar de noduri generate d*b+(d-1)*b 2 + + (1)*B d = O(B d ) Complexitate timp, spatiu B=10, d=5 N(BFS)=111110, N(IDS) = 123 450

b = 10 1 mil. noduri/sec 1000 bytes/nod Adancime Nr noduri Timp Memorie 2 110.11 milisec 107 KB 4 11 100 11 milisec 10.6 MB 6 10 6 1.1 sec 1 GB 8 10 8 2 min 103 GB 10 10 10 3 h 10 TB 12 10 12 13 zile 1 petabytes 14 10 14 3.5 ani 99 petabytes

Complexitatea strategiilor de cautare Criteriu Nivel Adanci me Adanc. limita Nivel iterativ Bidirec tionala Timp B d B d B m B d B d/2 Spatiu B d B*d B*m B d B d/2 Optima litate? Da Nu Nu Da Da Comple ta? Da Nu Da daca m d Da Da B factor de ramificare, d adancimea solutiei, m adancimea maxima de cautare (AdMax)

3. Strategii de cautare informate Cunostintele euristice pot fi folosite pentru a creste eficienta cautarii in trei moduri: Selectarea nodului urmator de expandat in cursul cautarii. In cursul expandarii unui nod al spatiului de cautare se poate decide pe baza informatiilor euristice care dintre succesorii lui vor fi generati si care nu Eliminarea din spatiul de cautare a anumitor noduri generate

3.1 Cautare informata de tip "best-first" Evaluarea cantitatii de informatie Calitatea unui nod este estimata de functia de evaluare euristica, notata w(n) pentru nodul n Presupuneri pentru functia w(n) Strategia de cautare a alpinistului Strategia de cautare best-first

Algoritm BFS: Strategia de cautare "best-first" in spatiul starilor 1. Initializeaza listele FRONTIERA {S i }, TERITORIU {} 2. Calculeaza w(s i ) si asociaza aceasta valoare nodului S i 3. daca FRONTIERA = {} atunci intoarce INSUCCES 4. Elimina nodul S cu w(s) minim din FRONTIERA si insereaza-l in TERITORIU 5. daca S este stare finala atunci i. Solutia este (S,.., S i ) ii. intoarce SUCCES 6. Expandeaza nodul S 6.1. Genereaza toti succesorii directi S j ai nodului S 6.2. pentru fiecare succesor S j al lui S executa 6.2.1 Calculeaza w(s j ) si asociaza-l lui S j 6.2.2. Stabileste legatura S j S

6.2.3. daca S j FRONTIERA TERITORIU 6.2.5. altfel atunci introduce S j in FRONTIERA cu w(s j ) asociat i. Fie S j copia lui S j din FRONTIERA sau TERITORIU ii. daca w(s j ) < w(s j ) atunci atunci iii. altfel ignora nodul S j 7. repeta de la 3 sfarsit. - Elimina S j din FRONTIERA sau TERITORIU (de unde apare copia) - Insereaza Sj cu w(sj) asociat in FRONTIERA

Varianta alternativa pentru pasul 6.2.5 6.2.5. altfel i. Fie S j copia lui S j din FRONTIERA sau TERITORIU ii. daca w(s j ) < w(s j ) atunci - Distruge legatura S j S p, cu S p pred. lui S j - Stabileste legatura S j S, si actualizeaza costul lui S j la w(s j ) - daca S j este in TERITORIU - atunci elimina S j din TERITORIU si insereaza S j in FRONTIERA iii. altfel ignora nodul S j 7. repeta de la 3 sfarsit.

Cazuri particulare Strategia de cautare "best-first" este o generalizare a strategiilor de cautare neinformate - strategia de cautare pe nivel w(s) = Ad(S) - strategia de cautare in adincime w(s) = -Ad(S) Strategia de cautare de cost uniform j 1 w(s ) = cost_ arc(s,s ) j k k+ 1 k= i Minimizarea efortului de cautare cautare euristica w(s) = functie euristica

3.2 Cautarea solutiei optime in spatiul starilor. Algoritmul A* w(s) devine f(s) cu 2 comp: g(s), o functie care estimeaza costul real g*(s) al caii de cautare intre starea initiala S i si starea S, h(s), o functie care estimeaza costul real h*(s) al caii de cautare intre starea curenta S si starea finala S f. f(s) = g(s) + h(s) f*(s) = g*(s) + h*(s)

Componentele functiei euristice din algoritmul A* S i g(s) S f(s) h(s) S f

Calculul lui f(s) Calculul lui g(s) Calculul lui h(s) Trebuie sa fie admisibila g(s) = cost_ arc(s,s ) k= i k k+ 1 O functie euristica h se numeste admisibila daca pentru orice stare S, h(s) h*(s). Definitia stabileste conditia de admisibilitate a functiei h si este folosita pentru a defini proprietatea de admisibilitate a unui algoritm A*. n

A* admisibil Fie un algoritm A* care utilizeaza cele doua componente g si h ale functiei de evaluare f. Daca (1) functia h satisface conditia de admisibilitate (2) cost_ arc(s,s') c pentru orice doua stari S, S', unde c > 0 este o constanta si costul c este finit atunci algoritmul A* este admisibil, adica este garantat sa gaseasca calea de cost minim spre solutie. Completitudine

Implementare A* Strategia de cautare "best-first" se modifica: 2. Calculeaza w(s i )=g(s i ) + h(s i ) si asociaza aceasta valoare nodului S i 3. daca FRONTIERA = {} atunci intoarce INSUCCES - nemodificat 4. Elimina nodul S cu w(s) minim din FRONTIERA si insereaza-l in TERITORIU - nemodificat.. 6.2.5. altfel i. Fie S j copia lui S j din FRONTIERA sau TERITORIU ii. daca g(s j ) < g(s j ) atunci

Caracteristicile euristicii algoritmului A* Fie doi algoritmi A*, A1 si A2, cu functiile de evaluare h 1 si h 2 admisibile, g 1 =g 2 f 1(S) = g 1(S) + h 1(S) f 2(S) = g 2 (S) + h 2 (S) Se spune ca algoritmul A2 este mai informat decat algoritmul A1 daca pentru orice stare S h (S) > h (S) 2 1 cu S S f Monotonie h(s) h(s') + cost_arc(op,s,s') pentru orice op,s si S' S diferit de Sf

Determinarea functiei de evaluare f 8-puzzle h (S) = 8 1 i i=1 t (S) h (S) = Problema comis-voiajorului 8 h (S) = cost_ arc(s,s) 1 i Distanta(t 2 i i=1 h2(s) = costul arborelui de acoperire de cost minim al oraselor neparcurse pana in starea S )

Problema misionarilor si canibalilor VEST EST VEST EST n V m (S i )=0 n E m (S i )=3 n V m (S f )=3 n E m (S f )=0 n V c (Si )=0 n E c (S i )=3 n V c (Sf )=3 n E c (S f )=0 (a) Stare initiala (b) Stare finala

Problema misionarilor si canibalilor f 1(S) = g(s) + h 1(S) f 2 (S) = g(s) + h 2(S) E h 1(S) = n (S) h (S) = n (S) / 2 2 E f 3(S) = g(s) + h 3(S) h 3 (S) = n n 0 E E (S) (S) + 1 1 daca daca daca barca este pe malul de VEST si barca este pe malul de EST si n E (S) = 0 n n E E (S) (S) 0 0

Relaxarea conditiei de optimalitate a algoritmului A* O functie euristica h se numesteε-admisibila daca * h(s) h (S) +ε cu ε > 0 Algoritmul A* care utilizeaza o functie de evaluare f cu o componenta h ε -admisibila gaseste intotdeauna o solutie al carei cost depaseste costul solutiei optime cu cel multε. Un astfel de algoritm se numeste algoritm A* ε - admisibil iar solutia gasita se numeste solutie ε - optimala.

Relaxarea conditiei de optimalitate a algoritmului A* 8-puzzle = + h (S) = h (S) + 3 T(S) f (S) g(s) h (S) 3 3 3 2 T(S) = 8 i= 1 Scor[t (S)] i Scor[t i (S)] = 2 0 1 daca patratul t succesorul corect din starea finala pentru orice pozitie a lui pentru t i i in starea S nu este urmat de aflat la centrul mozaicului t i diferita de centru

Cautare euristica cu memorie limitata - IDA* Avantaje si dezavantaje A* IDA* Cautarea in adancime este modificata a.i. sa utilizeze o limita de cost (LimCost) in loc de o limita a adancimii (AdMax) Fiecare iteratie expandeaza nodurile din interiorul unui contur de cost LimCost pentru a vedea care sunt nodurile de pe urmatorul contur Si 0+h f= g+h LimCost Daca esueaza (nenatural) se actualizeaza LimCost la min f al nodurilor din cele neexpandate anterior

Cautare euristica cu memorie limitata - Best First Recursiv Best first cu spatiu liniar Implementare recursiva Tine minte valoarea f a celei mai bune cai alternative care porneste din orice nod anterior nodulului curent Gaseste solutia de cost minim daca h este admisibila dar are complexitatea spatiu O(B*d)

inf S1 447 S2 393 415 S3 S4 447 449 S5 S6 S7 S8 413 646 415 526 S9 526 S10 S11 417 553 inf S1 447 S2 393 S3 S4 447 449 S5 S6 417 S7 646 415 526 S8 417 413 S12 591 S13 450

inf S1 447 S2 393 447 S3 S4 447 449 S5 S6 S7 S8 417 646 415 450 526 S9 447 S10 S11 526 417 553 S14 418 S15 615 S16 607 BestFR(S) Strategia Best First recursiv /* intoarce solutie sau INSUCCES */ BFR(Si, inf)

Algoritm BFR(S, f_lim): Strategia Best First recursiv /* Intoarce o solutie (nod) sau INSUCCES si o noua limita de cost f_limit */ 1. daca S stare finala atunci intoarce S 2. Genereaza toti succesorii S j ai lui S 3. daca nu exista nici un succesor atunci intoarce INSUCCES, inf 4. pentru fiecare succesor Sj repeta f(s j ) max(g(s j ) + h(s j ), f(s)) 5. Best S j min, nodul cu valoarea f(s j ) minima dintre succesori 6. daca f(best) > f_lim atunci intoarce INSUCCES, f(best) 7. Alternat f(s j min2 ), a 2-a val f(s j ) cea mai mica 8. Rez, f(best) BFR(Best, min(f_lim, Alternat)) 9. daca Rez INSUCCES atunci intoarce Rez, f(best) 10. repeta de la 5 sfarsit.