SlideShare a Scribd company logo
1 of 74
Download to read offline
Inteligență artificială
8. Metode de planificare
Florin Leon
Universitatea Tehnică „Gheorghe Asachi” din Iași
Facultatea de Automatică și Calculatoare
http://florinleon.byethost24.com/curs_ia.htm
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
2
Metode de planificare
1. Analiza mijloace-scopuri
2. Reprezentări: STRIPS, ADL, PDDL
3. Planificarea prin căutare în spațiul stărilor
4. Planificarea cu ordine parțială
5. Algoritmul Graphplan
6. Algoritmul FF (Fast-Forward)
7. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
3
Metode de planificare
1. Analiza mijloace-scopuri
2. Reprezentări: STRIPS, ADL, PDDL
3. Planificarea prin căutare în spațiul stărilor
4. Planificarea cu ordine parțială
5. Algoritmul Graphplan
6. Algoritmul FF (Fast-Forward)
7. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
4
Metoda analizei
mijloace-scopuri
 Planificarea reprezintă alegerea unei succesiuni de acțiuni
pentru atingerea unui scop
 Una din primele metode de planificare a fost metoda analizei
mijloace-scopuri
 Presupune mai întâi identificarea scopurilor
 Apoi identificarea mijloacelor care permit atingerea scopurilor
 Acestă tehnică este deseori folosită de oameni pentru rezolvarea
problemelor
 Primul program de inteligență artificială care a implementat
procedura a fost “General Problem Solver”, realizat de Allen
Newell și Herbert Simon în 1963 la Universitatea Carnegie
Mellon
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
5
Metoda analizei mijloace-scopuri
 Se bazează pe o mulțime de reguli care pot
transforma o stare a problemei în alta
 Regulile se reprezintă sub forma unei părți stângi,
care descrie precondițiile (condițiile de aplicare) și o
parte dreaptă care descrie schimbările din starea
problemei ca urmare a aplicării regulii
 În acest scop se elaborează o așa-numită tabelă de
diferențe, în care se precizează ce operație este
aplicabilă pentru fiecare stare a problemei
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
6
Exemplu
 Să considerăm modul în care poate călători cineva:
 Dacă distanța care trebuie parcursă este mai mare de
20 km, ia trenul
 Dacă distanța este între 2 și 20 km, ia autobuzul
 Dacă distanța este mai mică de 2 km, merge pe jos
 Tabela de diferențe este următoarea:
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
7
Exemplu
 Să presupunem că o persoană X din Iași vrea să-și viziteze un
prieten Y din București
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
8
Metode de planificare
1. Analiza mijloace-scopuri
2. Reprezentări: STRIPS, ADL, PDDL
3. Planificarea prin căutare în spațiul stărilor
4. Planificarea cu ordine parțială
5. Algoritmul Graphplan
6. Algoritmul FF (Fast-Forward)
7. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
9
Căutarea și planificarea
 Planificarea are o natură similară cu
rezolvarea problemelor prin căutare
 La căutare, funcția succesor este o „cutie neagră”:
trebuie mai întâi aplicată asupra unei stări pentru
a ști ce acțiuni sunt posibile în acea stare și care
sunt efectele
 Planificarea este un caz particular de
raționament
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
10
Căutarea și planificarea
 Pentru probleme „reale”, algoritmii de căutare eșuează din cauza
complexității; de ex. scop:
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
11
Reprezentarea în planificare
 Planificarea deschide cutia neagră folosind logica
pentru a reprezenta:
 Stările
 Scopurile
 Acțiunile
 Utilizează stategia „divide et impera” pentru a
descompune problema în subscopuri
Rezolvarea problemelor Reprezentarea logică
Planificarea
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
12
Limbaje de reprezentare
 STRIPS (STanford Research
Institute Problem Solver)
 R. Fikes, N. Nilsson, 1971
 Robotul Shakey și blocurile
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
13
Reprezentarea stărilor
 O stare este o conjuncție de termeni pozitivi,
propoziționali sau de ordin întâi
 Valide:
 Invalide:
 Presupunerea lumii închise
(engl. “closed-world assumption”)
 Orice condiție care nu este menționată într-o stare
este considerată falsă
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
14
Reprezentarea scopurilor
 O conjuncție de termeni pozitivi
 De exemplu
 O stare propozițională s satisface scopul g dacă
ea conține toți atomii din g (și posibil alții)
 Starea
satisface scopul
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
15
Reprezentarea acțiunilor
 Scheme de acțiuni
 Precondiții
 Postcondiții (efecte)
lista de adăugarelista de ștergere
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
16
Exemplu
 Starea curentă
 satisface precondiția acțiunii Fly (acțiunea este aplicabilă):
 cu substituțiile
 Acțiunea concretă
 Rezultat (starea următoare)
.
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
17
Presupunerea STRIPS
 Problema cadrului (engl. “frame problem”)
 Reprezentarea logică a numărului mare de non-efecte
obișnuite, implicite, ale unei acțiuni
 Exemplu:
 Trebuie adăugate explicit unele axiome de cadru:
 Presupunerea STRIPS (engl. “STRIPS assumption”)
evită această problemă
 Orice termen care nu este menționat în efect rămâne
neschimbat
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
18
Expresivitate și extensibilitate
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
19
STRIPS și ADL
10 avioane, 5 aeroporturi  10 x 5 x 5 = 250 acțiuni propoziționale
Orice schemă de acțiune STRIPS poate fi propoziționalizată
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
20
Exemplul 1:
Transport aerian de mărfuri
Soluție:
Reprezentarea STRIPS
permite ca un avion să
zboare de pe / pe
același aeroport
Inegalitățile din ADL
previn acest lucru
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
21
Exemplul 2:
Roata de rezervă
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
22
Exemplul 3:
Lumea blocurilor
 On(b,x)
 Move(b,x,y)
 Clear(x)
 Block(b)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
23
Exemplul 3:
Lumea blocurilor
Nu este STRIPS
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
24
PDDL
 “Planning Domain Definition Language”
(McDermott, 1998)
 Dezvoltat inițial pentru Competițiile
Internaționale de Planificare (1998/2000)
 Ultima versiune: PDDL 3.1 (2008)
 Standardul actual de facto pentru
reprezentarea problemelor de planificare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
25
Exemplu: domeniul blocurilor
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
26
Exemplu: domeniul blocurilor
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
27
Exemplu: domeniul blocurilor
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
28
Metode de planificare
1. Analiza mijloace-scopuri
2. Reprezentări: STRIPS, ADL, PDDL
3. Planificarea prin căutare în spațiul stărilor
4. Planificarea cu ordine parțială
5. Algoritmul Graphplan
6. Algoritmul FF (Fast-Forward)
7. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
29
Căutarea în spațiul stărilor
 Planificarea prin progresie
 Căutare înainte
 Ia în calcul efectele tuturor acțiunilor posibile
într-o stare dată
 Planificarea prin regresie
 Căutare înapoi
 Pentru atingerea unui scop, se caută ce ar fi putut
fi adevărat într-o stare anterioară
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
30
Căutarea înainte
 Problema acțiunilor irelevante
 De exemplu: 10 aeroporturi, fiecare cu 5 avioane și cu
20 de containere
 Scop: mutarea containerelor de pe aeroportul A pe aeroportul B
 Factorul de ramificare: 10 x 5 x 20  b = 1000
 Adâncimea soluției: 20 de încărcări + 1 zbor + 20 de descărcări  d = 41
 100041 (10123) noduri
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
31
Căutarea înapoi
 20 de acțiuni din starea inițială în loc de 1000
 Pot exista și aici acțiuni irelevante
 Zborul unui avion gol când scopul este deja atins
 Metoda este greu de aplicat dacă scopul nu este exprimat
explicit, ci ca o mulțime de constrângeri
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
32
Euristici
 Nici progresia nici regresia nu sunt foarte eficiente fără o
euristică potrivită
 Abordări pentru găsirea unor euristici admisibile: soluții optime
la probleme relaxate
 Eliminarea tuturor precondițiilor acțiunilor
 Presupunerea independenței subscopurilor. Costul rezolvării unei
conjuncții de subscopuri este aproximativ egal cu suma costurilor
de rezolvare independentă a subproblemelor
 Eliminarea efectelor negative (a listei de ștergere), fără a elimina
precondițiile; “no delete list”, una din cele mai utilizate euristici
 Euristicile presupun rezolvarea efectivă a unor probleme
simplificate de planificare. În practică, aceste costuri sunt
neglijabile
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
33
Anomalia Sussman
 Algoritmii de planificare neintercalată (engl. “noninterleaved”) produc
pentru două subscopuri G1 și G2 un plan pentru G1 concatenat cu un
plan pentru G2 sau viceversa
 Există situații în care acești algoritmi nu pot găsi planul cel mai scurt
 În exemplul de mai jos, există două ordonări posibile ale subscopurilor:
On(A,B) și On(B,C) sau On(B,C) și On(A,B)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
34
http://aispace.org/planning/
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
35
Anomalia Sussman
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
36
Metode de planificare
1. Analiza mijloace-scopuri
2. Reprezentări: STRIPS, ADL, PDDL
3. Planificarea prin căutare în spațiul stărilor
4. Planificarea cu ordine parțială
5. Algoritmul Graphplan
6. Algoritmul FF (Fast-Forward)
7. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
37
Planificarea cu ordine parțială
 Tipurile de planificare prin progresie și regresie
sunt forme de planificare cu ordine totală
 Nu pot profita de descompunerea problemei
 Trebuie luate decizii de găsire a tuturor secvențelor de
acțiuni pentru toate subproblemele simultan
 Este mai eficientă rezolvarea independentă a
subscopurilor și apoi combinarea subplanurilor
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
38
Exemplu
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
39
Planuri cu ordine parțială și
planuri cu ordine totală
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
40
Reprezentarea POP
 Acțiuni + Start, Finish
 Constrângeri de ordonare
 A trebuie executată înaintea lui B
 Legături cauzale
 A îndeplinește p pentru B
 Precondiții deschise
 Precondiții care nu sunt îndeplinite de nicio acțiune
 Scopul este reducerea acestei mulțimi la mulţimea
vidă
BA
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
41
Exemplu de POP
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
42
Exemplu
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
43
Exemplu
 Conflict: LeaveOverNight are efectul ¬ At(Spare, Ground),
care este în conflict cu
Remove(Spare, Trunk) →At(Spare, Ground) PutOn(Spare, Axle)
 Pentru rezolvare, se adaugă constrângerea:
LeaveOverNight ≺ Remove(Spare, Trunk)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
44
Exemplu
 Se alege o precondiție deschisă: At(Spare, Trunk)
 Doar Start este aplicabil
 Se adaugă legătura cauzală: Start →At(Spare, Trunk) Remove(Spare, Trunk)
 Conflict: legătura cauzală cu efectul ¬At(Spare, Trunk) în
LeaveOverNight
 Nu mai există nicio soluție de reordonare
 Este necesar backtracking-ul
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
45
Exemplu
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
46
Anomalia Sussman
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
47
Anomalia Sussman
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
48
Anomalia Sussman
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
49
Anomalia Sussman
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
50
Anomalia Sussman
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Euristici pentru POP
 Întrucât nu reprezintă stările direct, este greu
de estimat cât de departe este un POP de
atingerea scopului
 Euristici:
 Numărul de precondiții deschise distincte
 Cea mai constrânsă variabilă: selectarea condiției
deschise care poate fi satisfăcută în cele mai
puține moduri
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
52
Metode de planificare
1. Analiza mijloace-scopuri
2. Reprezentări: STRIPS, ADL, PDDL
3. Planificarea prin căutare în spațiul stărilor
4. Planificarea cu ordine parțială
5. Algoritmul Graphplan
6. Algoritmul FF (Fast-Forward)
7. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Ideea de bază
 Se construiește un graf care codează
constrângerile asupra planurilor posibile
 Acest graf de planificare va restrânge spațiul de
căutare
 Dacă există un plan valid, atunci acesta este un
subgraf al grafului de planificare
 Un graf de planificare poate fi construit în timp
polinomial pentru orice problemă
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
54
Graf de planificare
 O secvență de niveluri care corespund cu pașii planului
 Nivelul 0 este starea inițială
 Fiecare nivel conține o mulțime de termeni și o mulțime de
acțiuni
 Termenii incluși sunt cei care ar putea fi adevărați la un pas
 Acțiunile incluse sunt cele ale căror precondiții ar putea fi
satisfăcute la un pas
 Poate fi utilizat doar pentru planificare propozițională
explicații în slide-urile următoareFlorin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
55
Reprezentare
 Acțiuni de persistență: pătratele reprezintă „inacțiuni”
(axiome de cadru)
 Excluziunile mutuale (mutex) apar între termeni și acțiuni
 Reprezintă imposibilitatea unor combinații
 Algoritmul continuă până când două niveluri succesive
sunt identice (graful se stabilizează)
 Nu se alege ordinea acțiunilor, deci nu avem o căutare
combinatorică
 Complexitatea generării grafului este polinomială
 O(n ∙ (a + t)2), unde t este numărul de termeni, a numărul de
acțiuni, n numărul de niveluri al grafului
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
56
Relațiile mutex
 Între 2 acțiuni de pe același nivel există o relație
mutex dacă și numai dacă există cel puțin una din
următoarele situații:
 Efecte inconsecvente (E-E): o acțiune neagă efectul alteia
 Eat(Cake), Have(Cake)
 Interferență (E-P): unul din efectele unei acțiuni este
negarea unei precondiții a alteia
 Eat(Cake), Have(Cake)
 Necesități concurente (P-P): una din precondițiile unei
acțiuni este mutual exclusivă cu o precondiție a alteia
 Bake(Cake) și Eat(Cake) concurează pentru valoarea
precondiției lui Have(Cake)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
57
Relațiile mutex
 Între 2 termeni există o relație mutex dacă și numai
dacă:
 Unul este negarea celuilalt sau
 Toate perechile de acțiuni care realizează cei doi termeni
sunt mutual exclusive (suport inconsecvent)
 Grafurile de planificare sunt relaxări ale problemei
 Reprezentarea mutex-urilor pentru mai mult de 2 elemente
nu se justifică din punct de vedere al costurilor
computaționale
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
58
Exemplu: A avea o prăjitură și
a mânca o prăjitură
“Have cake and eat cake too”
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Algoritmul Graphplan
 Blum & Furst, 1997
 Are ca scop extragerea unui plan direct din graful de
planificare
 Este mult mai rapid decât algoritmii anteriori precum
POP
 Ideea de bază: verifică dacă toți termenii scopului
sunt prezenți în nivelul curent fără relații mutex între
ei
 Dacă da, se încearcă extragerea soluției
 Dacă nu, se expandează graful
59Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
60
Exemplu
Toți termenii problemei,
pozitivi cei din Init și
negativi ceilalți
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
61
Exemplu
 Convenție de notație pentru relațiile mutex:
 Între acțiuni
 EE – efecte inconsecvente (E1 = ¬E2)
 EP – interferență (E1 = ¬P2)
 PP – necesități concurente (P1 = ¬P2)
 Între termeni
 N – negarea termenilor
 S – suport inconsecvent
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
62
Construirea grafului
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
63
Construirea grafului
Scopul
At(Spare, Axle)
nu apare pozitiv
Nu s-au mai
reprezentat
relațiile N
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
64
Construirea grafului
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
65
Construirea grafului
Nu s-au mai reprezentat relațiile N
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
66
Găsirea soluției
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
67
Găsirea soluției
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
68
Soluția
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Plan valid
 Un plan valid este un subgraf al grafului de
planificare unde:
 Acțiunile de pe același nivel nu sunt mutex
 Toate precondițiile acțiunilor sunt adevărate
 Scopurile sunt satisfăcute
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
70
Euristici pentru căutarea
înapoi în graf
 Complexitatea problemei este exponențială, complexitatea
construirii grafului este polinomială
 În timpul căutării înapoi, se folosește o euristică greedy pe
baza costurilor de nivel ale termenilor
 Costul de nivel al unui termen este numărul primului nivel pe
care apare acel termen
 Pentru orice mulțime de scopuri:
 Se alege mai întâi termenul cu cel mai mare cost de nivel
 Pentru realizarea termenului, se alege acțiunea cu cele mai
ușoare precondiții, de exemplu pe baza maximului costurilor
de nivel ale termenilor din precondiție
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
71
Metode de planificare
1. Analiza mijloace-scopuri
2. Reprezentări: STRIPS, ADL, PDDL
3. Planificarea prin căutare în spațiul stărilor
4. Planificarea cu ordine parțială
5. Algoritmul Graphplan
6. Algoritmul FF (Fast-Forward)
7. Concluzii
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Algoritmul FF (Fast-Forward)
 Algoritmul Graphplan este optim
 Pentru numeroase probleme de planificare
optimalitatea nu este foarte importantă
 Deși euristicile favorizează planurile mai scurte
 Algoritmul FF (Hoffmann, 2001) tratează planificarea
ca pe o căutare înainte, folosind o serie de euristici
 A câștigat competiția de planificare AIPS-2000
72Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Strategia de căutare FF
 Folosește euristica “no delete list” ca estimare a
apropierii de scop
 Se rezolvă problema de planificare considerând că acțiunile
au doar liste de adăugare
 Este o problemă relaxată, mai simplă
 Mai întâi folosește o strategie greedy, fără
backtracking, înspre scop
 Pe platouri utilizează căutarea în lățime
 Dacă nu găsește o soluție, aplică o căutare A* din
starea inițială
73Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
74
Concluzii
 Sistemele de planificare sunt algoritmi de rezolvare a
problemelor care operează cu reprezentări explicite
ale stărilor și acțiunilor
 Algoritmii de planificare cu ordine parțială sunt
eficienți pentru problemele care pot fi descompuse
 Grafurile de planificare pot fi utilizate atât ca euristici
cât și ca suport pentru extragerea directă a soluțiilor
de către algoritmi precum Graphplan
 Algoritmul FF folosește o abordare euristică pentru
planificare
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm

More Related Content

More from Florin Leon

More from Florin Leon (20)

Modele bazate pe energie
Modele bazate pe energieModele bazate pe energie
Modele bazate pe energie
 
Retele neuronale profunde
Retele neuronale profundeRetele neuronale profunde
Retele neuronale profunde
 
Regresia liniara, logistica, softmax
Regresia liniara, logistica, softmaxRegresia liniara, logistica, softmax
Regresia liniara, logistica, softmax
 
Clasificarea bazata pe ansambluri. Selectia trasaturilor
Clasificarea bazata pe ansambluri. Selectia trasaturilorClasificarea bazata pe ansambluri. Selectia trasaturilor
Clasificarea bazata pe ansambluri. Selectia trasaturilor
 
Algoritmi de clasificare
Algoritmi de clasificareAlgoritmi de clasificare
Algoritmi de clasificare
 
Algoritmi de grupare (clustering)
Algoritmi de grupare (clustering)Algoritmi de grupare (clustering)
Algoritmi de grupare (clustering)
 
Teoria jocurilor (II)
Teoria jocurilor (II)Teoria jocurilor (II)
Teoria jocurilor (II)
 
Teoria jocurilor (I)
Teoria jocurilor (I)Teoria jocurilor (I)
Teoria jocurilor (I)
 
Arhitecturi de agenti (I)
Arhitecturi de agenti (I)Arhitecturi de agenti (I)
Arhitecturi de agenti (I)
 
Introducere in domeniul agentilor
Introducere in domeniul agentilorIntroducere in domeniul agentilor
Introducere in domeniul agentilor
 
Faza de testare (I)
Faza de testare (I)Faza de testare (I)
Faza de testare (I)
 
Faza de implementare
Faza de implementareFaza de implementare
Faza de implementare
 
Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)
 
Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)
 
Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)
 
Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)
 
Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)
 
Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)
 
Faza de proiectare
Faza de proiectareFaza de proiectare
Faza de proiectare
 
Faza de analiza
Faza de analizaFaza de analiza
Faza de analiza
 

Metode de planificare

  • 1. Inteligență artificială 8. Metode de planificare Florin Leon Universitatea Tehnică „Gheorghe Asachi” din Iași Facultatea de Automatică și Calculatoare http://florinleon.byethost24.com/curs_ia.htm Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 2. 2 Metode de planificare 1. Analiza mijloace-scopuri 2. Reprezentări: STRIPS, ADL, PDDL 3. Planificarea prin căutare în spațiul stărilor 4. Planificarea cu ordine parțială 5. Algoritmul Graphplan 6. Algoritmul FF (Fast-Forward) 7. Concluzii Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 3. 3 Metode de planificare 1. Analiza mijloace-scopuri 2. Reprezentări: STRIPS, ADL, PDDL 3. Planificarea prin căutare în spațiul stărilor 4. Planificarea cu ordine parțială 5. Algoritmul Graphplan 6. Algoritmul FF (Fast-Forward) 7. Concluzii Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 4. 4 Metoda analizei mijloace-scopuri  Planificarea reprezintă alegerea unei succesiuni de acțiuni pentru atingerea unui scop  Una din primele metode de planificare a fost metoda analizei mijloace-scopuri  Presupune mai întâi identificarea scopurilor  Apoi identificarea mijloacelor care permit atingerea scopurilor  Acestă tehnică este deseori folosită de oameni pentru rezolvarea problemelor  Primul program de inteligență artificială care a implementat procedura a fost “General Problem Solver”, realizat de Allen Newell și Herbert Simon în 1963 la Universitatea Carnegie Mellon Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 5. 5 Metoda analizei mijloace-scopuri  Se bazează pe o mulțime de reguli care pot transforma o stare a problemei în alta  Regulile se reprezintă sub forma unei părți stângi, care descrie precondițiile (condițiile de aplicare) și o parte dreaptă care descrie schimbările din starea problemei ca urmare a aplicării regulii  În acest scop se elaborează o așa-numită tabelă de diferențe, în care se precizează ce operație este aplicabilă pentru fiecare stare a problemei Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 6. 6 Exemplu  Să considerăm modul în care poate călători cineva:  Dacă distanța care trebuie parcursă este mai mare de 20 km, ia trenul  Dacă distanța este între 2 și 20 km, ia autobuzul  Dacă distanța este mai mică de 2 km, merge pe jos  Tabela de diferențe este următoarea: Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 7. 7 Exemplu  Să presupunem că o persoană X din Iași vrea să-și viziteze un prieten Y din București Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 8. 8 Metode de planificare 1. Analiza mijloace-scopuri 2. Reprezentări: STRIPS, ADL, PDDL 3. Planificarea prin căutare în spațiul stărilor 4. Planificarea cu ordine parțială 5. Algoritmul Graphplan 6. Algoritmul FF (Fast-Forward) 7. Concluzii Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 9. 9 Căutarea și planificarea  Planificarea are o natură similară cu rezolvarea problemelor prin căutare  La căutare, funcția succesor este o „cutie neagră”: trebuie mai întâi aplicată asupra unei stări pentru a ști ce acțiuni sunt posibile în acea stare și care sunt efectele  Planificarea este un caz particular de raționament Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 10. 10 Căutarea și planificarea  Pentru probleme „reale”, algoritmii de căutare eșuează din cauza complexității; de ex. scop: Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 11. 11 Reprezentarea în planificare  Planificarea deschide cutia neagră folosind logica pentru a reprezenta:  Stările  Scopurile  Acțiunile  Utilizează stategia „divide et impera” pentru a descompune problema în subscopuri Rezolvarea problemelor Reprezentarea logică Planificarea Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 12. 12 Limbaje de reprezentare  STRIPS (STanford Research Institute Problem Solver)  R. Fikes, N. Nilsson, 1971  Robotul Shakey și blocurile Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 13. 13 Reprezentarea stărilor  O stare este o conjuncție de termeni pozitivi, propoziționali sau de ordin întâi  Valide:  Invalide:  Presupunerea lumii închise (engl. “closed-world assumption”)  Orice condiție care nu este menționată într-o stare este considerată falsă Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 14. 14 Reprezentarea scopurilor  O conjuncție de termeni pozitivi  De exemplu  O stare propozițională s satisface scopul g dacă ea conține toți atomii din g (și posibil alții)  Starea satisface scopul Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 15. 15 Reprezentarea acțiunilor  Scheme de acțiuni  Precondiții  Postcondiții (efecte) lista de adăugarelista de ștergere Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 16. 16 Exemplu  Starea curentă  satisface precondiția acțiunii Fly (acțiunea este aplicabilă):  cu substituțiile  Acțiunea concretă  Rezultat (starea următoare) . Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 17. 17 Presupunerea STRIPS  Problema cadrului (engl. “frame problem”)  Reprezentarea logică a numărului mare de non-efecte obișnuite, implicite, ale unei acțiuni  Exemplu:  Trebuie adăugate explicit unele axiome de cadru:  Presupunerea STRIPS (engl. “STRIPS assumption”) evită această problemă  Orice termen care nu este menționat în efect rămâne neschimbat Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 18. 18 Expresivitate și extensibilitate Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 19. 19 STRIPS și ADL 10 avioane, 5 aeroporturi  10 x 5 x 5 = 250 acțiuni propoziționale Orice schemă de acțiune STRIPS poate fi propoziționalizată Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 20. 20 Exemplul 1: Transport aerian de mărfuri Soluție: Reprezentarea STRIPS permite ca un avion să zboare de pe / pe același aeroport Inegalitățile din ADL previn acest lucru Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 21. 21 Exemplul 2: Roata de rezervă Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 22. 22 Exemplul 3: Lumea blocurilor  On(b,x)  Move(b,x,y)  Clear(x)  Block(b) Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 23. 23 Exemplul 3: Lumea blocurilor Nu este STRIPS Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 24. 24 PDDL  “Planning Domain Definition Language” (McDermott, 1998)  Dezvoltat inițial pentru Competițiile Internaționale de Planificare (1998/2000)  Ultima versiune: PDDL 3.1 (2008)  Standardul actual de facto pentru reprezentarea problemelor de planificare Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 25. 25 Exemplu: domeniul blocurilor Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 26. 26 Exemplu: domeniul blocurilor Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 27. 27 Exemplu: domeniul blocurilor Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 28. 28 Metode de planificare 1. Analiza mijloace-scopuri 2. Reprezentări: STRIPS, ADL, PDDL 3. Planificarea prin căutare în spațiul stărilor 4. Planificarea cu ordine parțială 5. Algoritmul Graphplan 6. Algoritmul FF (Fast-Forward) 7. Concluzii Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 29. 29 Căutarea în spațiul stărilor  Planificarea prin progresie  Căutare înainte  Ia în calcul efectele tuturor acțiunilor posibile într-o stare dată  Planificarea prin regresie  Căutare înapoi  Pentru atingerea unui scop, se caută ce ar fi putut fi adevărat într-o stare anterioară Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 30. 30 Căutarea înainte  Problema acțiunilor irelevante  De exemplu: 10 aeroporturi, fiecare cu 5 avioane și cu 20 de containere  Scop: mutarea containerelor de pe aeroportul A pe aeroportul B  Factorul de ramificare: 10 x 5 x 20  b = 1000  Adâncimea soluției: 20 de încărcări + 1 zbor + 20 de descărcări  d = 41  100041 (10123) noduri Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 31. 31 Căutarea înapoi  20 de acțiuni din starea inițială în loc de 1000  Pot exista și aici acțiuni irelevante  Zborul unui avion gol când scopul este deja atins  Metoda este greu de aplicat dacă scopul nu este exprimat explicit, ci ca o mulțime de constrângeri Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 32. 32 Euristici  Nici progresia nici regresia nu sunt foarte eficiente fără o euristică potrivită  Abordări pentru găsirea unor euristici admisibile: soluții optime la probleme relaxate  Eliminarea tuturor precondițiilor acțiunilor  Presupunerea independenței subscopurilor. Costul rezolvării unei conjuncții de subscopuri este aproximativ egal cu suma costurilor de rezolvare independentă a subproblemelor  Eliminarea efectelor negative (a listei de ștergere), fără a elimina precondițiile; “no delete list”, una din cele mai utilizate euristici  Euristicile presupun rezolvarea efectivă a unor probleme simplificate de planificare. În practică, aceste costuri sunt neglijabile Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 33. 33 Anomalia Sussman  Algoritmii de planificare neintercalată (engl. “noninterleaved”) produc pentru două subscopuri G1 și G2 un plan pentru G1 concatenat cu un plan pentru G2 sau viceversa  Există situații în care acești algoritmi nu pot găsi planul cel mai scurt  În exemplul de mai jos, există două ordonări posibile ale subscopurilor: On(A,B) și On(B,C) sau On(B,C) și On(A,B) Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 34. 34 http://aispace.org/planning/ Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 35. 35 Anomalia Sussman Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 36. 36 Metode de planificare 1. Analiza mijloace-scopuri 2. Reprezentări: STRIPS, ADL, PDDL 3. Planificarea prin căutare în spațiul stărilor 4. Planificarea cu ordine parțială 5. Algoritmul Graphplan 6. Algoritmul FF (Fast-Forward) 7. Concluzii Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 37. 37 Planificarea cu ordine parțială  Tipurile de planificare prin progresie și regresie sunt forme de planificare cu ordine totală  Nu pot profita de descompunerea problemei  Trebuie luate decizii de găsire a tuturor secvențelor de acțiuni pentru toate subproblemele simultan  Este mai eficientă rezolvarea independentă a subscopurilor și apoi combinarea subplanurilor Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 38. 38 Exemplu Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 39. 39 Planuri cu ordine parțială și planuri cu ordine totală Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 40. 40 Reprezentarea POP  Acțiuni + Start, Finish  Constrângeri de ordonare  A trebuie executată înaintea lui B  Legături cauzale  A îndeplinește p pentru B  Precondiții deschise  Precondiții care nu sunt îndeplinite de nicio acțiune  Scopul este reducerea acestei mulțimi la mulţimea vidă BA Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 41. 41 Exemplu de POP Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 42. 42 Exemplu Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 43. 43 Exemplu  Conflict: LeaveOverNight are efectul ¬ At(Spare, Ground), care este în conflict cu Remove(Spare, Trunk) →At(Spare, Ground) PutOn(Spare, Axle)  Pentru rezolvare, se adaugă constrângerea: LeaveOverNight ≺ Remove(Spare, Trunk) Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 44. 44 Exemplu  Se alege o precondiție deschisă: At(Spare, Trunk)  Doar Start este aplicabil  Se adaugă legătura cauzală: Start →At(Spare, Trunk) Remove(Spare, Trunk)  Conflict: legătura cauzală cu efectul ¬At(Spare, Trunk) în LeaveOverNight  Nu mai există nicio soluție de reordonare  Este necesar backtracking-ul Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 45. 45 Exemplu Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 46. 46 Anomalia Sussman Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 47. 47 Anomalia Sussman Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 48. 48 Anomalia Sussman Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 49. 49 Anomalia Sussman Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 50. 50 Anomalia Sussman Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 51. Euristici pentru POP  Întrucât nu reprezintă stările direct, este greu de estimat cât de departe este un POP de atingerea scopului  Euristici:  Numărul de precondiții deschise distincte  Cea mai constrânsă variabilă: selectarea condiției deschise care poate fi satisfăcută în cele mai puține moduri Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 52. 52 Metode de planificare 1. Analiza mijloace-scopuri 2. Reprezentări: STRIPS, ADL, PDDL 3. Planificarea prin căutare în spațiul stărilor 4. Planificarea cu ordine parțială 5. Algoritmul Graphplan 6. Algoritmul FF (Fast-Forward) 7. Concluzii Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 53. Ideea de bază  Se construiește un graf care codează constrângerile asupra planurilor posibile  Acest graf de planificare va restrânge spațiul de căutare  Dacă există un plan valid, atunci acesta este un subgraf al grafului de planificare  Un graf de planificare poate fi construit în timp polinomial pentru orice problemă Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 54. 54 Graf de planificare  O secvență de niveluri care corespund cu pașii planului  Nivelul 0 este starea inițială  Fiecare nivel conține o mulțime de termeni și o mulțime de acțiuni  Termenii incluși sunt cei care ar putea fi adevărați la un pas  Acțiunile incluse sunt cele ale căror precondiții ar putea fi satisfăcute la un pas  Poate fi utilizat doar pentru planificare propozițională explicații în slide-urile următoareFlorin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 55. 55 Reprezentare  Acțiuni de persistență: pătratele reprezintă „inacțiuni” (axiome de cadru)  Excluziunile mutuale (mutex) apar între termeni și acțiuni  Reprezintă imposibilitatea unor combinații  Algoritmul continuă până când două niveluri succesive sunt identice (graful se stabilizează)  Nu se alege ordinea acțiunilor, deci nu avem o căutare combinatorică  Complexitatea generării grafului este polinomială  O(n ∙ (a + t)2), unde t este numărul de termeni, a numărul de acțiuni, n numărul de niveluri al grafului Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 56. 56 Relațiile mutex  Între 2 acțiuni de pe același nivel există o relație mutex dacă și numai dacă există cel puțin una din următoarele situații:  Efecte inconsecvente (E-E): o acțiune neagă efectul alteia  Eat(Cake), Have(Cake)  Interferență (E-P): unul din efectele unei acțiuni este negarea unei precondiții a alteia  Eat(Cake), Have(Cake)  Necesități concurente (P-P): una din precondițiile unei acțiuni este mutual exclusivă cu o precondiție a alteia  Bake(Cake) și Eat(Cake) concurează pentru valoarea precondiției lui Have(Cake) Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 57. 57 Relațiile mutex  Între 2 termeni există o relație mutex dacă și numai dacă:  Unul este negarea celuilalt sau  Toate perechile de acțiuni care realizează cei doi termeni sunt mutual exclusive (suport inconsecvent)  Grafurile de planificare sunt relaxări ale problemei  Reprezentarea mutex-urilor pentru mai mult de 2 elemente nu se justifică din punct de vedere al costurilor computaționale Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 58. 58 Exemplu: A avea o prăjitură și a mânca o prăjitură “Have cake and eat cake too” Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 59. Algoritmul Graphplan  Blum & Furst, 1997  Are ca scop extragerea unui plan direct din graful de planificare  Este mult mai rapid decât algoritmii anteriori precum POP  Ideea de bază: verifică dacă toți termenii scopului sunt prezenți în nivelul curent fără relații mutex între ei  Dacă da, se încearcă extragerea soluției  Dacă nu, se expandează graful 59Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 60. 60 Exemplu Toți termenii problemei, pozitivi cei din Init și negativi ceilalți Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 61. 61 Exemplu  Convenție de notație pentru relațiile mutex:  Între acțiuni  EE – efecte inconsecvente (E1 = ¬E2)  EP – interferență (E1 = ¬P2)  PP – necesități concurente (P1 = ¬P2)  Între termeni  N – negarea termenilor  S – suport inconsecvent Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 62. 62 Construirea grafului Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 63. 63 Construirea grafului Scopul At(Spare, Axle) nu apare pozitiv Nu s-au mai reprezentat relațiile N Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 64. 64 Construirea grafului Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 65. 65 Construirea grafului Nu s-au mai reprezentat relațiile N Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 66. 66 Găsirea soluției Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 67. 67 Găsirea soluției Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 68. 68 Soluția Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 69. Plan valid  Un plan valid este un subgraf al grafului de planificare unde:  Acțiunile de pe același nivel nu sunt mutex  Toate precondițiile acțiunilor sunt adevărate  Scopurile sunt satisfăcute Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 70. 70 Euristici pentru căutarea înapoi în graf  Complexitatea problemei este exponențială, complexitatea construirii grafului este polinomială  În timpul căutării înapoi, se folosește o euristică greedy pe baza costurilor de nivel ale termenilor  Costul de nivel al unui termen este numărul primului nivel pe care apare acel termen  Pentru orice mulțime de scopuri:  Se alege mai întâi termenul cu cel mai mare cost de nivel  Pentru realizarea termenului, se alege acțiunea cu cele mai ușoare precondiții, de exemplu pe baza maximului costurilor de nivel ale termenilor din precondiție Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 71. 71 Metode de planificare 1. Analiza mijloace-scopuri 2. Reprezentări: STRIPS, ADL, PDDL 3. Planificarea prin căutare în spațiul stărilor 4. Planificarea cu ordine parțială 5. Algoritmul Graphplan 6. Algoritmul FF (Fast-Forward) 7. Concluzii Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 72. Algoritmul FF (Fast-Forward)  Algoritmul Graphplan este optim  Pentru numeroase probleme de planificare optimalitatea nu este foarte importantă  Deși euristicile favorizează planurile mai scurte  Algoritmul FF (Hoffmann, 2001) tratează planificarea ca pe o căutare înainte, folosind o serie de euristici  A câștigat competiția de planificare AIPS-2000 72Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 73. Strategia de căutare FF  Folosește euristica “no delete list” ca estimare a apropierii de scop  Se rezolvă problema de planificare considerând că acțiunile au doar liste de adăugare  Este o problemă relaxată, mai simplă  Mai întâi folosește o strategie greedy, fără backtracking, înspre scop  Pe platouri utilizează căutarea în lățime  Dacă nu găsește o soluție, aplică o căutare A* din starea inițială 73Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
  • 74. 74 Concluzii  Sistemele de planificare sunt algoritmi de rezolvare a problemelor care operează cu reprezentări explicite ale stărilor și acțiunilor  Algoritmii de planificare cu ordine parțială sunt eficienți pentru problemele care pot fi descompuse  Grafurile de planificare pot fi utilizate atât ca euristici cât și ca suport pentru extragerea directă a soluțiilor de către algoritmi precum Graphplan  Algoritmul FF folosește o abordare euristică pentru planificare Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm