Documente Academic
Documente Profesional
Documente Cultură
PRIN IDENTIFICAREA UNEI SECVEN E DE AC IUNI ATUNCI CND ACEST LUCRU NU SE POATE REALIZA PRINTR-O SINGUR AC IUNE
TI
AGEN
I DE REZOLVARE A PROBLEMELOR
Un tip de agen i baza i pe scop care folosesc reprezent ri atomice. Dac mediul este observabil, discret, cunoscut i determinist atunci solu ia oric rei probleme este o secven fixat de ac iuni.
AGEN
I DE REZOLVARE A PROBLEMELOR
function AGENT_REZ_PB (elem_percepute) secv n vid stare n Si scop n formuleaz _scop(stare) problem n formuleaz _problem (stare, scop) secv n caut _solu ie (problem ) dac secv = insucces atunci execut _ac iune (ac iune_nul ) altfel ct timp secv vid execut ac iune n prima(secv) execut _ac iune (ac iune) secv n rest (secv)
REZOLVAREA PROBLEMELOR
Si {a1,a2,,ak} s T/F
n
COST(s, a, s)
spa iul st rilor problemei graf o cale n spa iul st rilor costul unei c i
REZOLVAREA PROBLEMELOR
EXEMPLE DE PROBLEME
EXEMPLE DE PROBLEME
probleme complex computa ionale NP-complete: se poate verifica n timp polinomial dac o solu ie furnizeaz r spunsul da problemei de decizie asociate 8 NP-dificile
REZOLVAREA PROBLEMELOR
10
STRUCTURI DE DATE
PENTRU ARBORI DE CAUTARE
nod
y
nod stare
FRONTIERA TERITORIU
11
STRATEGII DE CAUTARE
Cautare neinformata Cautare informata
Criterii de performan
1. 2. 3.
ale strategiilor:
1. CAUTARE NEINFORMATA
cautare pe nivel, cautare de cost uniform, cautare n adncime (limitata), cautare n adncime cu nivel iterativ, cautare bidirectionala
13
expandeaz nodurile pe nivele implementeaz FRONTIERA sub form de coad strategie sistematic g(nod) = adncime(nod)
14
1. nod un nod cu nod.stare Si, g(nod) 0 2. dac TEST_SCOP(nod.stare) = T atunci sol SOLU IE(nod) 3. FRONTIERA {nod} coad , TERITORIU 4. repet 4.1. dac FRONTIERA= atunci ntoarce INSUCCES /*nu exist solu ie*/ 4.2. nod POP(FRONTIERA) /*nodul de adncime minim */ 15 4.3. TERITORIU TERITORIU {nod.stare}
4.4. pentru toate aj {AC IUNI(nod.stare)} execut /*expandeaz nodul nod, adic genereaz succesorii sai directi */ 4.4.1. cj = SUCCESOR(nod) /*cj nod, cj.stare REZULTAT(nod.stare, aj)*/ 4.4.2. g(cj) g(nod)+1 4.4.3. dac cj.stare FRONTIERA TERITORIU atunci i. dac TEST_SCOP(cj.stare) = T atunci sol SOLU IE(cj), g(cj), ntoarce SUCCES ii. FRONTIERA INSERT(FRONTIERA, cj) 16 sfr it
Caracteristici:
y
C utarea pe nivel este complet (dac b finit); C utarea pe nivel este optimal (cnd costul este o func ie nedescresc toare n adncimea nodurilor i identic pentru toate ac iunile) - solu ia cale de lungime minim Complexitatea strategiei este exponen ial
O(bd)
17
expandeaz cu prioritate nodurile cele mai ieftine (de cost minim) cheapest first search Implementeaz FRONTIERA sub form de coad de priorit i ordonat dup g [+hash table] CCU g se te solu ia de cost minim (cea mai ieftin solu ie) dac : g(SUCCESOR(nod)) g(nod), nod (costul unei c i nu scade de-a lungul acesteia )
18
19
1. nod un nod cu nod.stare Si, g(nod) 0 2. dac TEST_SCOP(nod.stare) = T atunci sol SOLU IE(nod) 3. FRONTIERA {nod} coad de priorit i ordonat dup g, TERITORIU 4. repet 4.1. dac FRONTIERA= atunci ntoarce INSUCCES /*nu exist solu ie*/ 4.2. nod POP(FRONTIERA) /*nodul de cost minim*/ 4.3. dac TEST_SCOP(nod.stare) = T atunci sol 4.4. TERITORIU SOLU IE(nod), g(nod), ntoarce SUCCES TERITORIU {nod.stare}
20
4.5. pentru toate aj {AC IUNI(nod.stare)} execut /*expandeaz nodul nod, adic genereaz succesorii sai directi */ 4.5.1. cj = SUCCESOR(nod) /*cj nod, cj.stare REZULTAT(nod.stare, aj)*/ 4.5.2. g(cj) g(nod)+ cost_cale(nod.stare, cj.stare) 4.5.3. dac cj.stare FRONTIERA TERITORIU atunci FRONTIERA INSERT(FRONTIERA, cj) altfel dac cj FRONTIERA a.. {cj.stare = cj.stare i g(cj)> g(cj)} atunci n FRONTIERA nlocuie te cj cu cj sfr it
21
Diferen e fa Caracteristici:
de c utarea pe nivel
C utarea este complet (cnd costul fiec rui pas dep e te e>0 i nu sunt noduri cu nr infinit de succesori); y C utarea este optimal (n general); expandeaz nodurile n ordinea costurilor optimale. Se poate bloca ntr-o bucl infinit dac exist o cale cu o secven infinit de ac iuni de cost 0; y Complexitatea strategiei este exponen ial
y
O(b1+[C*/e]).
22
depth-first search - expandeaz cu prioritate nodurile cele mai adnci n FRONTIERA. Implementeaz FRONTIERA sub form de stiv . Are importan succesorilor? ordinea de determinare a
23
C UTAREA N ADNCIME
Caracteristici:
C utarea in adncime nu este complet n general; y C utarea nu este optimal ; y Complexitatea spa iu este polinomial O(bh); y Complexitatea timp este exponen ial O(bh).
y
Avantaje i dezavantaje Metoda Backtracking complexitate spa iu O(h) n ce contexte este recomandabil strategia?
24
25
STRATEGIA DE C UTARE
N ADNCIME LIMITAT
(C
UTARE N SPA IUL ST RILOR)
function Rec_DF(MAKE_NODE(Si), H) returneaz solu ie / INSUCCES / NTRERUPERE function Rec_DF(nod, limita) dac TEST_SCOP(nod.stare) = T atunci sol SOLU IE(nod) altfel dac limita = 0 atunci returneaz NTRERUPERE altfel 1.1. apare_ntrerupere F 1.2. pentru toate aj {AC IUNI(nod.stare)} execut /*expandeaz nodul nod */
26 1.2.1. cj = SUCCESOR(nod) /*cj nod, cj.stare REZULTAT(nod.stare, aj)*/
STRATEGIA DE C UTARE
N ADNCIME LIMITAT
(C
UTARE N SPA IUL ST RILOR)
1.2.2. result Rec_DF(cj , limita-1) 1.2.3. dac result = NTRERUPERE atunci apare_ntrerupere T altfel dac result INSUCCES atunci returneaz SOLU IE(nod) 1.3. dac apare_ntrerupere atunci returneaz NTRERUPERE altfel returneaz INSUCCES sfr it
27
Caracteristici:
C utarea este complet numai dac H d; y C utarea nu este optimal ; y Complexitatea spa iu este polinomial O(bH); y Complexitatea timp este exponen ial O(bH).
y
28
COMPARA IE CN CCU - CA
29
pentru limita 0, g execut result Rec_DF(MAKE_NODE(Si), limita) dac result NTRERUPERE atunci returneaz result
30
C UTAREA N ADNCIME
CU NIVEL ITERATIV
Caracteristici: y C utarea este complet (dac b finit); y C utarea este optimal (cnd costul este o func ie nedescresc toare n adncimea nodurilor); y Complexitatea spa iu este polinomial O(bd); y Complexitatea timp este exponen ial O(bd). Este strategia neinformat preferat cnd spa iul de c utare este mare iar adncimea solu iei nu se cunoa te. Strategia poate combina c utarea pe nivel cu c utarea de cost uniform prin cre terea iterativ a costului c ii.
31
i opre te c utarea solu iei atunci cnd cele dou c ut ri se ntlnesc (cnd cele dou frontiere se intersecteaz ).
32
Ce nseamn c utare napoi pornind de la scop ? Ce se ntmpl n cazul n care exist mai multe st ri scop? Procesul de testare a intersec iei a dou frontiere poate fi realizat n timp constant, independent de num rul de st ri. Dac una dintre c ut ri se face n adncime cu nivel iterativ, spa iul necesar de regul se reduce.
33
Caracteristici: y C utarea este complet (dac b finit); y C utarea nu este optimal (chiar dac cele dou c ut ri se fac pe nivel); y Complexitatea timp i spa iu este O(bd/2) (dac ambele c ut ri se fac pe nivel).
35
Pentru a ajunge la starea scop mai repede dect permit strategiile de c utare discutate este necesar folosirea de cuno tin e suplimentare, specifice problemei de rezolvat, care va ghida procesul de c utare a solu iei. C utarea informat ncearc reducerea num rului de st ri inspectate din spa iul de c utare pe baza unor func ii numite euristici care estimeaz distan a/costul de la starea curent la starea scop. Ele se deduc din experien a acumulat n rezolvarea problemelor din 36 clasa respectiv .
C UTARE INFORMAT
Euristicile nu sunt ntotdeauna exacte; folosirea lor nu garanteaz g sirea solu iei (optime), ns au drept obiective:
s asigure determinarea unei solu ii, dac aceasta exist , y s asigure determinarea unei solu ii ct mai apropiate de optim, dac problema admite mai multe solu ii, y s asigure eliminarea c ilor imposibile de rezolvare a problemei ntr-un stadiu timpuriu al rezolv rii.
y
37
C UTARE INFORMAT
Calitatea unei euristici este direct propor ional cu calitatea solu iei identificate i invers propor ional cu resursele de calcul necesare identific rii acesteia.
38
Este o strategie de c utare general n care un nod este selectat pentru expandare pe baza unei func ii de evaluare f. Alegerea formei func iei f determin de fapt strategia de c utare.
Cnd f este identic cu func ia cost g, strategia best-first se confund cu strategia de cost uniform. y Cnd f d adncimea nodului, strategia best-first se confund cu strategia de c utare pe nivel etc.
y
39
Dac f con ine drept component o func ie euristic h de estimare a calit ii nodului, atunci strategia rezultat este una informat . Calitatea unui nod poate fi estimat prin evaluarea: y costului din starea curent n starea final , sau y dificult ii asociate rezolv rii subproblemei corespunz toare sau y calit ii solu iilor posibile care con in nodul sau y cantit ii de informa ie care se poate ob ine prin expandarea nodului i importan a sa n ghidarea c ut rii.
40
De exemplu, h(nod) poate fi estimarea distan ei n linie dreapt de la ora ul corespunz tor nodului curent nod (ex. Sibiu) la ora ul stare final , Bucure ti. n cazul general, vom considera func ia h ca fiind o func ie ne-negativ , dependent de problem , cu urm toarea restric ie: dac nod este un nod scop, atunci h(nod)=0.
41
Obs. Selec ia nodului cel mai promi tor se face dintre toate nodurile generate pn la momentul curent, indiferent de calea n arborele de c utare pe care acesta se afl . Este complet (dac elimin ntotdeauna c ile ciclice) Strategia hill-climbing (metoda gradientului)
42
Expandeaz cu prioritate nodurile aflate cel mai aproape de scop conform unei estim ri anume (c utare direc ionat ): f=h
y
C utarea nu este complet (ex. Ia i-F g ra ). C utarea nu este optimal (sol. ASFB). Complexitatea timp i spa iu este O(bm), unde m este adncimea maxim a arborelui.
43
44
2.2. STRATEGIA A*
Greedy best-first + c utarea de cost uniform Expandeaz mai nti nodul pentru care costul estimat al celei mai ieftine solu ii care l con ine este minim: f=g+h (Strategia minimizeaz costul total al c ii.) f(nod) reprezinta o estimare a costului real: f*(nod) = g(nod) + h*(nod)
45
STRATEGIA A*
un nod cu nod.stare Si, nod.f f(nod) TEST_SCOP(nod.stare) = T atunci sol SOLU IE(nod) 3. FRONTIERA {nod} coad de priorit i ordonat dup f, TERITORIU 4. repet 4.1. dac FRONTIERA= atunci ntoarce INSUCCES /*nu exist solu ie*/ 4.2. nod POP(FRONTIERA) /*nodul pentru care nod.f este minim */ 4.3. dac TEST_SCOP(nod.stare) = T atunci sol SOLU IE(nod), f(nod), ntoarce SUCCES 4.4. TERITORIU TERITORIU {nod.stare} 4.5. pentru toate aj {AC IUNI(nod.stare)} execut /*expandeaz nodul nod */ 4.5.1. cj = SUCCESOR(nod) /*cj nod, cj.stare REZULTAT(nod.stare, aj)*/
46
1. nod 2. dac
STRATEGIA A*
4.5.2. f(cj) 4.5.3. cj.f 4.5.4. dac g(nod)+ cost_cale(nod.stare,cj.stare)+ + h(nod) f(cj) cj.stare FRONTIERA TERITORIU atunci FRONTIERA INSERT(FRONTIERA, cj)
altfel 4.5.4.1. fie cj din FRONTIERA a.. cj.stare = cj.stare 4.5.4.2. dac f(cj)> f(cj)} atunci cj TERITORIU atunci TERITORIU - {cj.stare} INSERT(FRONTIERA,cj) 47 i. n FRONTIERA nlocuie te cj cu cj ii. dac TERITORIU FRONTIERA 4.5.4.3. ignor sfr it
nodul cj
STRATEGIA A*
Condi ii pentru optimalitatea strategiei (calea de cost minim) h s fie o euristic admisibil * (s identifice calea de cost minim) y h s fie o euristic monoton (consistent ) **
y
STRATEGIA A*
Defini ie. O func ie euristic h este admisibil dac 0 <= h(nod) <= h*(nod), nod. O astfel de euristic nu supra-estimeaz niciodat costul real al celei mai bune solu ii care con ine nodul nod. Euristicile admisibile sunt prin defini ie optimiste deoarece consider costul rezolv rii problemei mai redus dect este acesta n realitate. Defini ie. O func ie euristic h este monoton dac nod, nod = SUCCESOR(nod) h(nod) < cost_cale(nod.stare, nod.stare) + h(nod ). -- inegalitatea triunghiului -Obs. O euristic monoton este admisibil .
49
STRATEGIA A*
Strategia A* este complet dac : y b finit y cost_cale(nod.stare, nod.stare) > ct., nod, nod = SUCCESOR(nod)
50
STRATEGIA A*
A* nu expandeaz nici un nod cu f(nod) > C* (ex. subarborele cu r d cina Timi oara poate fi ignorat i totu i garanteaz optimalitatea solu iei). Nici un alt algoritm optimal care extinde c ile de c utare pornind de la r d cin nu expandeaz mai pu ine noduri dect A*.
51
STRATEGIA A*
Complexitatea timp asociat strategiei este exponen ial n eroarea maxim absolut a euristicii. Complexitatea spa iu dep e te complexitatea timp.
52
STRATEGIA A*
Gradul de informare al unui algoritm A* Definitie: Fie doi algoritmi A*, A1 i A2, cu func iile de evaluare y f1(nod) = g1(nod) + h1(nod) y f2(nod) = g2(nod) + h2(nod)
Algoritmul A2 este mai informat dect algoritmul A1 dac h2(nod) > h1(nod), nod a.. nod.stare Sf (A2 expandeaz mai pu ine noduri dect A1) Un algoritm A* este cu att mai informat cu ct h(nod) este mai 53 apropiat de h*(nod).
STRATEGIA A*
54
STRATEGIA A*
Calitatea unei euristici este data de factorul de ramificare real b*: N = 1+ b*+(b*)2+... +(b*)d
De exemplu, daca A* gaseste o solutie la adncimea 5 utiliznd 52 de noduri, atunci factorul real de ramificare este 1.91.
55
STRATEGIA A*
56
STRATEGIA A*
Relaxarea defini iei problemei
O func ie euristic h se nume te -admisibil dac h(nod) <= h*(nod) + , >0 Algoritmul A* care utilizeaz o func ie de evaluare f cu o component h -admisibil g se te ntotdeauna o solu ie al c rei cost dep e te costul solu iei optime cu cel mult .
57
METODOLOGIA REZOLV RII PROBLEMELOR PRIN C UTARE FUNC IONEAZ I GARANTEAZ G SIREA REZULTATULUI, CARE ESTE O SECVEN DE AC IUNI, NUMAI ATUNCI CND MEDIUL ESTE:
total observabil cunoscut (se cunoa te setul de ac iuni posibile) discret (nr. de ac iuni este finit) determinist (se cunoa te rezultatul aplic rii unei ac iuni) static (nu exist nimic n sistem care ar putea modifica sistemul, n afara ac iunilor)
58