Documente Academic
Documente Profesional
Documente Cultură
Metoda de planificare
1.1. Rezolvarea problemei reprezentata
prin spatiul starilor
Stare
Spatiu de stari
Stare initiala
Stare/stari finala/finale
(Si, O, Sf)
Solutia problemei
8-puzzle
Si Sf
2 3
1 8 4
7 6 5
2 3 2 8 3 2 3
S1 1 8 4 S2 1 4 S3 1 8 4
7 6 5 7 6 5 7 6 5
(Pi, O, Pe)
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
Tranzitie din S j in S f
Sj
Sk
Tranzitie din S j in S k Tranzitie din S k in S f
Sj, S k - stari intermediare S f - stare finala
Optimalitate
Complexitate
Capacitatea de revenire
Informare
Cost
Computational
Cost control
Cost parcurgere (cost evaluare stari)
(cost aplicare
operatori) Cost total
Grad de
Neinformat Informat informare
2.1. Cautari neinformate in spatiul starilor
Algoritm NIV: Strategia cautarii pe nivel in spatiul starilor
1. Initializeaza listele FRONTIERA ← {Si}, 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 Sj ai nodului S
4.2. pentru fiecare succesor Sj al lui S executa
4.2.1. Stabileste legatura Sj → S
4.2.2. daca Sj este stare finala
atunci
i. Solutia este (Sj, S, .., Si)
ii. intoarce SUCCES
4.2.3. Insereaza Sj in FRONTIERA, la sfarsit
5. repeta de la 2
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
de cautare d este Bd
T - numarul total de stari generate intr-un proces
B=10, d=5
Cautare pe nivel
cursul cautarii.
In cursul expandarii unui nod al spatiului de
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 ← {Si}, TERITORIU ← {}
2. Calculeaza w(Si) si asociaza aceasta valoare nodului Si
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,.., Si)
ii. intoarce SUCCES
6. Expandeaza nodul S
6.1. Genereaza toti succesorii directi Sj ai nodului S
6.2. pentru fiecare succesor Sj al lui S executa
6.2.1 Calculeaza w(Sj) si asociaza-l lui Sj
6.2.2. Stabileste legatura Sj → S
6.2.3. daca Sj ∉ FRONTIERA ∪ TERITORIU
atunci introduce Sj in FRONTIERA cu w(Sj)
asociat
6.2.5. altfel
i. Fie S’j copia lui Sj din FRONTIERA sau TERITORIU
ii. daca w(Sj) < w(S’j)
atunci
atunci
- Elimina S’j din FRONTIERA sau
TERITORIU (de unde apare copia)
- Insereaza Sj cu w(Sj) asociat in
FRONTIERA
iii. altfel ignora nodul Sj
7. repeta de la 3
sfarsit.
Varianta alternativa pentru pasul 6.2.5
6.2.5. altfel
i. Fie S’j copia lui Sj din FRONTIERA sau
TERITORIU
ii. daca w(Sj) < w(S’j)
atunci
- Distruge legatura S’j → Sp, cu Sp pred. lui S’j
- Stabileste legatura S’j → S, si actualizeaza costul
lui S’j la w(Sj)
- daca S’j este in TERITORIU
- atunci elimina S’j din TERITORIU si insereaza
S’j in FRONTIERA
iii. altfel ignora nodul Sj
7. repeta de la 3
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 j ) = ∑ cost_ arc(Sk ,Sk +1 )
k =i
Minimizarea efortului de cautare – cautare
euristica
w(S) = functie euristica
3.2 Cautarea solutiei optime in spatiul starilor.
Algoritmul A*
Si
g(S)
S f(S)
h(S)
Sf
Calculul lui f(S)
Calculul lui g(S)
n
g(S) = ∑ cost _ arc(S k ,S k +1 )
k =i
Calculul lui h(S)
Trebuie sa fie admisibila
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*.
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
8
h 2 (S) = ∑ Distanta(t i )
i=1
Problema comis-voiajorului
nV
m
(Si )=0 nEm (Si )=3 nV
m
(Sf )=3 nEm (Sf )=0
nV
c
(Si )=0 nEc (Si )=3 nV
c
(Sf )=3 nEc (Sf )=0
8-puzzle
417
inf
S1
447 S2 393
S3 447 S4 449
417
S5 S6 417 S7 S8
646 415 526
S12 S13
591 450
inf
S1
447 S2 393
S3 447 S4 449
447
417
S5 S6 S7 S8
646 450 526
S9 526 447 S10 417 S11 553