ą ż wprowadzenie do sztucznej ą inteligencji · wprowadzenie do sztucznej inteligencji wykład 6...
TRANSCRIPT
11
©©AMAM
11
Wprowadzenie do Sztucznej Wprowadzenie do Sztucznej InteligencjiInteligencji
WykWykłład 6ad 6Informatyka Studia InInformatyka Studia Inżżynierskieynierskie
©©AMAM
22
Systemy planowania dziaSystemy planowania działłaańń
PlanowaniePlanowanie to jest technikto jest technikąą rozwirozwiąązywania problemzywania problemóów z dziedziny w z dziedziny AI, polegajAI, polegająąccąą na okrena okreśśleniu cileniu ciąągu akcji (operacji) jakie nalegu akcji (operacji) jakie należży y podjpodjąćąć, aby przej, aby przejśćść z zadanego stanu poczz zadanego stanu począątkowego do stanu tkowego do stanu kokońńcowego bcowego bęęddąącego celem.cego celem.
SystemSystemPlanowaniaPlanowania
DziaDziałłaańń
Stan poczStan począątkowytkowySS00
Stan koStan końńcowycowySSgg
ZbiZbióór operatorr operatoróóww{{OOii}}
P l a nP l a n
©©AMAM
33
Reprezentacje wykorzystywaneReprezentacje wykorzystywanew algorytmach przeszukiwaniaw algorytmach przeszukiwania
•• Reprezentacja akcjiReprezentacja akcji -- realizowana przez mechanizm realizowana przez mechanizm generacji generacji nastnastęępnikpnikóóww
•• Reprezentacja stanReprezentacja stanóóww -- kompletny opiskompletny opis stanu; akcje dokonujstanu; akcje dokonująątransformacji transformacji cacałłych stanych stanóóww; odwo; odwołłanie do niej nastanie do niej nastęępuje w: puje w: generatorze nastgeneratorze nastęępnikpnikóów, heurystycznej funkcji oceny, w funkcji w, heurystycznej funkcji oceny, w funkcji wykrywania celuwykrywania celu
•• Reprezentacja celuReprezentacja celu -- wykorzystywana jedynie przy oszacowaniu wykorzystywana jedynie przy oszacowaniu heurystycznym i testowaniu celu, ktheurystycznym i testowaniu celu, któóre pere pełłniniąą w algorytmie w algorytmie przeszukiwania wyprzeszukiwania wyłąłącznie rolcznie rolęę „„czarnych skrzynekczarnych skrzynek”” -- brak innych brak innych odwoodwołłaańń do definicji celudo definicji celu
•• Reprezentacja rozwiReprezentacja rozwiąązaniazania -- ciciąąggłła, a, nieprzerwana nieprzerwana śściecieżżka ka od stanu od stanu poczpocząątkowego do celutkowego do celu
©©AMAM
44
Przeszukiwanie w celu generowania planu?Przeszukiwanie w celu generowania planu?
•• PrzykPrzykłład:ad: ZaplanowaZaplanowaćć zakupy mleka, gazety i wiertarkizakupy mleka, gazety i wiertarki..
•• PrzestrzePrzestrzeńń przeszukiwania:przeszukiwania:
StartStart
IIśćść_do_szko_do_szkołłyy
IIśćść_do_marketu_do_marketu
ppóójjśćść_spa_spaćć
siedziesiedziećć_dalej_dalejitd., itp.itd., itp.
ppóójjśćść_na_wyk_na_wykłładad
usiusiąśćąść_w_fotelu_w_fotelu
kupikupićć_mleko_mleko
kupikupićć_makaron_makaron
kupikupićć_chleb_chleb
CelCel
czytaczytaćć_ksi_książążkkęę
•• W systemach planowania, gdy liczba dopuszczalnych akcji jest duW systemach planowania, gdy liczba dopuszczalnych akcji jest dużża, a, przestrzeprzestrzeńń momożże bye byćć ogromna!!!ogromna!!!
22
©©AMAM
55
Przeszukiwanie w celu generowania planu?Przeszukiwanie w celu generowania planu?
•• W algorytmach przeszukiwani funkcja heurystyczna wskazuje W algorytmach przeszukiwani funkcja heurystyczna wskazuje potencjalnie najlepsze kierunki przeszukiwaniapotencjalnie najlepsze kierunki przeszukiwania
•• Funkcja heurystyczne nie jest jednak nieomylnFunkcja heurystyczne nie jest jednak nieomylnąą wyroczniwyroczniąą!!•• Skoro wybSkoro wybóór odbywa sir odbywa sięę trochtrochęę na zasadzie na zasadzie „„zgadywaniazgadywania””, ka, każżda da
dopuszczalna zmiana musi bydopuszczalna zmiana musi byćć przeanalizowanaprzeanalizowana•• Funkcja oceny heurystycznej Funkcja oceny heurystycznej nie pozwala wyeliminowanie pozwala wyeliminowaćć akcji w akcji w
trakcie przeszukiwania, lecz pomaga jedynie je uporztrakcie przeszukiwania, lecz pomaga jedynie je uporząądkowadkowaćć•• OkreOkreśślona akcja jest analizowana jednak nie dlatego, lona akcja jest analizowana jednak nie dlatego, żże prowadzi do e prowadzi do
osiosiąągnignięęcia celu, lecz dlatego, cia celu, lecz dlatego, żże jest dopuszczalna w danym stanie e jest dopuszczalna w danym stanie
©©AMAM
66
Planowanie: inna reprezentacjaPlanowanie: inna reprezentacja
•• Reprezentacja w systemach planowanie powinna:Reprezentacja w systemach planowanie powinna:–– dopuszczadopuszczaćć analizanalizęę czczęśęści skci skłładowych stanadowych stanóów, akcji i celuw, akcji i celu–– umoumożżliwialiwiaćć dekompozycjdekompozycjęę stanstanóów, akcji i celuw, akcji i celu
•• Mechanizm planowania powinien generowaMechanizm planowania powinien generowaćć plan plan nienie koniecznie w koniecznie w spossposóób b przyrostowyprzyrostowy poprzez dodawanie akcji po kolei, poczynajpoprzez dodawanie akcji po kolei, poczynająąc od c od stanu inicjujstanu inicjująącegocego
•• WiWięększokszośćść obiektobiektóów w śświata, z ktwiata, z któórym planujmy jest rym planujmy jest niezaleniezależżna od na od siebiesiebie, wi, więęc nalec należży redukoway redukowaćć zzłłoożżonoonośćść zadania planowania poprzez zadania planowania poprzez jego dekompozycjjego dekompozycjęę na na podplanypodplany
•• Wniosek: tylko deklaratywny jWniosek: tylko deklaratywny jęęzyk opisu stanzyk opisu stanóów, akcji i celw, akcji i celóów w pozwoli spepozwoli spełłninićć powypowyżższe warunkisze warunki
©©AMAM
77
Logika sytuacyjnaLogika sytuacyjna
•• JJęęzyk formuzyk formułł logiki predykatlogiki predykatóów, ktw, któóre re opisujopisująą zmiany zmiany zachodzzachodząące w ce w modelowanym modelowanym śświeciewiecie
•• ŚŚwiat modelowany jest jako wiat modelowany jest jako sekwencja sytuacjisekwencja sytuacji, z kt, z któórych karych każżda jest da jest „„stopklatkstopklatkąą”” nastnastęępujpująących po sobie zmiancych po sobie zmian
•• Baza wiedzy odzwierciedla zmiany zachodzBaza wiedzy odzwierciedla zmiany zachodząące w opisie stanu wraz z ce w opisie stanu wraz z upupłływem czasuywem czasu
•• KaKażżdej relacji i kadej relacji i każżdej wdej włłasnoasnośści, ci, ktktóóra mora możże ulec zmianiee ulec zmianieprzypisywany jest dodatkowy przypisywany jest dodatkowy „„czasowyczasowy”” parametr np.:parametr np.:
popołłoożżenieenie((pionekpionek,[1,2],,[1,2],ss11) ) popołłoożżenieenie((wiewieżżaa,[3,7],,[3,7],ss22))niezmienne relacje i wniezmienne relacje i włłasnoasnośści nie majci nie mająą tego parametru np.:tego parametru np.:
parzystaparzysta(8)(8)
©©AMAM
88
W logice sytuacyjnej W logice sytuacyjnej śświat jest wiat jest ciciąągiem sytuacji pogiem sytuacji połąłączonych czonych wykonanymi akcjamiwykonanymi akcjami
00 11 22
33 44 55
66 77 88
PrzykPrzykłład modelowania zmian jako ad modelowania zmian jako sekwencji stansekwencji stanóóww
00 11 22
33 44 55
66 77 88
movemove--downdown
movemove--rightright
ss00
00 11 22
44 55
66 77 88
00 11 22
33 55
66 77 88
00 11 22
33 44 66 77 88
movemove--rightright
movemove--downdown
ss11
ss33
ss44
ss55
33
©©AMAM
99
Planowanie w logice sytuacyjnej: Planowanie w logice sytuacyjnej: śświat klockwiat klockóóww
•• JJęęzyk logiki sytuacyjnej, szyk logiki sytuacyjnej, słłuużży do definiowania stany do definiowania stanóów, akcji i celw, akcji i celóóww
„„ŚŚwiat klockwiat klockóóww””Trzy klocki A, B, C, ktTrzy klocki A, B, C, któóre mogre mogąą bybyćć pojedynczo przenoszone oraz trzy pojedynczo przenoszone oraz trzy pola, ktpola, któórymi nie morymi nie możżna manipulowana manipulowaćć
AA
BB
CC
rrpp
AA
BB
CC
rrpp
Stan poczStan począątkowy:tkowy: Stan koStan końńcowy (cel):cowy (cel):
•• Stan Stan śświata klockwiata klockóów opisujemy za pomocw opisujemy za pomocąą predykatpredykatóóww•• Akcje w Akcje w śświecie klockwiecie klockóów definiujemy za pomocw definiujemy za pomocąą klauzulklauzul
©©AMAM
1010
Logika sytuacyjna Logika sytuacyjna śświata klockwiata klockóóww•• ZbiZbióór predykatr predykatóów opisu stanw opisu stanóów i celw i celóów:w:
on(X,Y,on(X,Y,ssii)) –– spelnionyspelniony, gdy obiekt X znajduje si, gdy obiekt X znajduje sięę na Yna Yclear(X,clear(X,ssii)) –– spespełłniony, gdy obiekt X jest wolny (nic na nim nie ma)niony, gdy obiekt X jest wolny (nic na nim nie ma)moveable(Xmoveable(X)) –– spespełłniony, gdy obiekt X moniony, gdy obiekt X możże bye byćć przemieszczanyprzemieszczany
•• ZbiZbióór akcji:r akcji:Operator przemieszczania obiektOperator przemieszczania obiektóów:w:carry(X,Y,Zcarry(X,Y,Z)) –– akcja przeniesienia obiektu X z miejsca Y naakcja przeniesienia obiektu X z miejsca Y namiejsce Zmiejsce Z
•• Reprezentacja rozwiReprezentacja rozwiąązania (propagacja zmian):zania (propagacja zmian):Funkcja:Funkcja:result(A,Sresult(A,S)) –– reprezentuje stan Sreprezentuje stan S’’, b, bęęddąący skutkiem wykonania akcji cy skutkiem wykonania akcji A stanie S, czyli A stanie S, czyli SS’’=result(A,S=result(A,S))
©©AMAM
1111
Akcje w logice sytuacyjnejAkcje w logice sytuacyjnej•• Akcje w logice sytuacyjnej sAkcje w logice sytuacyjnej sąą definiowane przez skutki ich definiowane przez skutki ich
wykonaniawykonania
•• Przez skutki rozumiemy te elementy opisu stanu, ktPrzez skutki rozumiemy te elementy opisu stanu, któóre re zmieniajzmieniająą sisięępo wykonaniu akcji np. efektem chwytania wolnego klocka (po wykonaniu akcji np. efektem chwytania wolnego klocka (grabgrab) ) bbęędzie w stanie wynikowym jego trzymanie (dzie w stanie wynikowym jego trzymanie (holdingholding))X,S X,S clear(X,Sclear(X,S) ) moveable(Xmoveable(X) ) holding(X,result(grab(X),Sholding(X,result(grab(X),S))))formuformułły tego typu nazywamy y tego typu nazywamy aksjomatami wynikowymi (doaksjomatami wynikowymi (dołąłączania)czania)
•• Dla peDla pełłnego opisu skutknego opisu skutkóów akcji musimy rw akcji musimy róówniewnieżż uwzgluwzglęędniadniaćć to co to co nie ulega zmianienie ulega zmianie, gdy akcja tego nie dotyczy np. fakt trzymania , gdy akcja tego nie dotyczy np. fakt trzymania klocka siklocka sięę nie zmieni, jenie zmieni, jeśśli go nie upuli go nie upuśścimy (cimy (dropdrop))A,X,S holding(X,S) A,X,S holding(X,S) AAdrop(X) drop(X) holding(X,result(A,Sholding(X,result(A,S))))formuformułły tego typu nazywamy y tego typu nazywamy aksjomatami taksjomatami tłłaa
©©AMAM
1212
PrzykPrzykłłady aksjomatady aksjomatóów wynikowych i tw wynikowych i tłłaa•• Aksjomaty doAksjomaty dołąłączania:czania:
on(X,Z,result(carry(X,Y,Z),S))) on(X,Z,result(carry(X,Y,Z),S))) moveable(X) moveable(X) XXZZ clear(X,S) clear(X,S) cclear(Z,Slear(Z,S) ) on(X,Y,S)on(X,Y,S)
clear(Yclear(Y, , result(carry(X,Y,Z),Sresult(carry(X,Y,Z),S)) )) moveable(X) moveable(X) XXZZ clear(X,S) clear(X,S) cclear(Z,Slear(Z,S) ) on(X,Y,S)on(X,Y,S)
•• Aksjomaty tAksjomaty tłła:a:on(P, Q, on(P, Q, result(carry(X,Y,Z),Sresult(carry(X,Y,Z),S)) )) on(P,Q,S) on(P,Q,S) PPX X ……clear(Rclear(R, , result(carry(X,Y,Z),Sresult(carry(X,Y,Z),S)) )) clear(R,Sclear(R,S) ) RRZ Z ……on(X, Y, on(X, Y, result(carry(X,Y,Z),Sresult(carry(X,Y,Z),S)) )) on(X,Y,S) on(X,Y,S) ……clear(Zclear(Z, , result(carry(X,Y,Z),Sresult(carry(X,Y,Z),S)) )) clear(Z,Sclear(Z,S) ) ……
44
©©AMAM
1414
PrzykPrzykłład zadania planowania w logice sytuacyjnejad zadania planowania w logice sytuacyjnej
on(A,B,on(A,B,ss00) ) on(B,on(B,pp,,ss00) ) on(C,on(C,rr,,ss00) ) clear(A,clear(A,ss00) ) clear(clear(qq,,ss00) ) clear(C,clear(C,ss00))
AA
BB
CC
rrpp
AA
BB
CC
rrpp
Stan poczStan począątkowy:tkowy: Stan koStan końńcowy (cel):cowy (cel): ss on(A,B,on(A,B,ss) ) on(B,C,on(B,C,ss) ) on(C,on(C,rr,,ss) ) clear(A,clear(A,ss) ) clear(clear(pp,,ss) ) clear(clear(qq,,ss))
Asercje niezaleAsercje niezależżne od stanu:ne od stanu:
moveable(Amoveable(A) ) moveable(Bmoveable(B) ) moveable(Cmoveable(C))
Akcje:Akcje:
on(X,Z,result(carry(X,Y,Z),Son(X,Z,result(carry(X,Y,Z),S))) ))) moveable(Xmoveable(X) ) XXZ Z clear(X,Sclear(X,S) ) clear(Z,Sclear(Z,S) ) on(X,Y,S)on(X,Y,S)
clear(Y,result(carry(X,Y,Z),Sclear(Y,result(carry(X,Y,Z),S))) ))) moveable(Xmoveable(X) ) XXZ Z clear(X,Sclear(X,S) ) clear(Z,Sclear(Z,S) ) on(X,Y,S)on(X,Y,S)
plus aksjomaty tplus aksjomaty tłłaa
©©AMAM
1515
Problem tProblem tłła (ang. a (ang. frameframe problem)problem)
•• Problem:Problem: Jak sobie poradziJak sobie poradzićć z faktem, z faktem, żże zdecydowana wie zdecydowana więększokszośćśćzdazdańń, kt, któóre byre byłły prawdziwe w poprzednim stanie pozostaje y prawdziwe w poprzednim stanie pozostaje prawdziwa po wykonaniu jakiejprawdziwa po wykonaniu jakiejśś akcji?akcji?
•• RozwiRozwiąązanie:zanie: aksjomaty taksjomaty tłła, ale...a, ale...
•• Im wiIm więększa liczba predykatksza liczba predykatóów opisu stanu, tym wiw opisu stanu, tym więększa liczba ksza liczba koniecznych do zdefiniowania aksjomatkoniecznych do zdefiniowania aksjomatóów tw tłłaa
•• Podobnie, im wiPodobnie, im więęcej akcji tym bardziej zcej akcji tym bardziej złłoożżone aksjomaty tone aksjomaty tłłaa
•• Wniosek:Wniosek: Jedynym wyjJedynym wyjśściem jest zmiana jciem jest zmiana jęęzyka opisu i sposobu zyka opisu i sposobu reprezentacjireprezentacji
©©AMAM
1616
Algorytm planowania w logice sytuacyjnejAlgorytm planowania w logice sytuacyjnej
•• Ze wzglZe wzglęędu na przyjdu na przyjęęttąą reprezentacjreprezentacjęę kakażżda metoda wnioskowania da metoda wnioskowania stosowana w rachunku predykatstosowana w rachunku predykatóów mow możże bye byćć uużżyta do znalezienia yta do znalezienia planu w logice sytuacyjnejplanu w logice sytuacyjnej
•• Zastosowanie takiego rozwiZastosowanie takiego rozwiąązania w realnych zadaniach planowania zania w realnych zadaniach planowania jest jednak niemojest jednak niemożżliwe (obliczeniowo nieefektywne) ze wzglliwe (obliczeniowo nieefektywne) ze wzglęędu na du na ogromnogromnąą liczbliczbęę faktfaktóów jakie trzeba przetwarzaw jakie trzeba przetwarzaćć za pomocza pomocąąaksjomataksjomatóów tw tłłaa
•• Dodatkowo, procedury dowodowe nie sterowane celem nie Dodatkowo, procedury dowodowe nie sterowane celem nie gwarantujgwarantująą żżadnych wadnych włłasnoasnośści planu poza samym faktem jego ci planu poza samym faktem jego znalezienia znalezienia –– plan taki moplan taki możże bye byćć nadmiarowy np. zawieranadmiarowy np. zawieraććwzajemnie znoszwzajemnie znosząące sice sięę akcje [Aakcje [A11,A,A22,,……,A,A,A,A--11,,……AAkk] gdzie ] gdzie s=result(As=result(A--11,result(A,s)),result(A,s))
©©AMAM
3737
Rodzaje mechanizmRodzaje mechanizmóów generacji planw generacji planóóww
•• Planowanie Planowanie w przw przóódd od stanu poczod stanu począątkowego do stanu tkowego do stanu kokońńcowego cowego -- propagacja stanpropagacja stanóów w przw w przóód (progresja)d (progresja)
•• Planowanie Planowanie w tyw tyłł od stanu kood stanu końńcowego do stanu cowego do stanu poczpocząątkowego tkowego -- propagacja stanpropagacja stanóów wstecz (regresja)w wstecz (regresja)
Systemy planowania w przSystemy planowania w przóód majd mająą znaczenie tylko znaczenie tylko teoretyczne. Witeoretyczne. Więększokszośćść praktycznych systempraktycznych systemóów w planowania, to systemy planowania wstecz.planowania, to systemy planowania wstecz.
55
©©AMAM
3838
Planowanie progresywne: Planowanie progresywne: „„generuj i testujgeneruj i testuj””1.1. Pod stan aktualny podstaw stan poczPod stan aktualny podstaw stan począątkowy:tkowy:
ssaktakt ss00
2.2. sprawdsprawdźź, czy , czy ssgg ssaktakt::jejeżżeli tak, to koniec(sukces eli tak, to koniec(sukces –– plan gotowy)plan gotowy)
3.3. utwutwóórz zbirz zbióór wszystkich Lr wszystkich LOO wszystkich operatorwszystkich operatoróów w OOii , dla kt, dla któórych sperych spełłnione snione sąąwarunki stosowalnowarunki stosowalnośści w stanie ci w stanie ssaktakt;;
4.4. wybierz jeden operatorwybierz jeden operator11 OOiiLLOO, wygeneruj pr, wygeneruj próóby stan sby stan si+1i+1, b, bęęddąący efektem cy efektem zastosowanie tego operatora; jezastosowanie tego operatora; jeżżeli Leli LOO==, to dokonaj nawrotu do poprzedniego , to dokonaj nawrotu do poprzedniego stanu; jestanu; jeżżeli brak alternatyw do nawroteli brak alternatyw do nawrotóów, to koniec(poraw, to koniec(porażżka ka –– brak planu)brak planu)
5.5. a.a. sprawdsprawdźź, czy w stanie s, czy w stanie si+1i+1 pojawipojawiłły siy sięę sprzeczne podcele; jesprzeczne podcele; jeżżeli tak, to powreli tak, to powróót t do kroku 4do kroku 4b.b. sprawdsprawdźź, czy w stanie s, czy w stanie si+1i+1 pojawipojawiłł sisięę cyklcykl22; je; jeżżeli tak, to nawreli tak, to nawróót do stanu t do stanu poprzedniegopoprzedniego33 ssaktakt i przeji przejśście do kroku 4cie do kroku 4
6.6. podstaw: podstaw: ssaktakt ssi+1i+1 i przejdi przejdźź do kroku 2do kroku 2
UWAGI:UWAGI: 11--trzeba zastosowatrzeba zastosowaćć heurystyczny wybheurystyczny wybóór np. na podstawie rr np. na podstawie róóżżnic pominic pomięędzy stanami;dzy stanami;22--cykl oznacza ponowne wystcykl oznacza ponowne wystąąpienie tego samego stanu;pienie tego samego stanu;33--istnieje wiele sposobistnieje wiele sposobóów eliminacji cykli!w eliminacji cykli!
©©AMAM
3939
PrzykPrzykłładadOOii:: movemove--upup(())
ss00 ssgg movemove--downdown(())movemove--leftleft(())movemove--rightright(())
Planowanie:Planowanie:
00 11 22
33 44 55
66 77 88
Planowanie progresywne: Planowanie progresywne: „„generuj i testujgeneruj i testuj””
00 11 22
33 44 55
66 77 88
00
0033
4455
8822
55
44
33
movemove--rightrightmovemove--upup
movemove--leftleft
movemove--downdown
movemove--rightright
movemove--downdownmovemove--leftleftmovemove--upup
movemove--downdown
ss00
ssgg
cykl!cykl!
cykl!cykl!
cykl!cykl!
cykl!cykl!
sukces!sukces!
©©AMAM
4040
Planowanie progresywne: Planowanie progresywne: wadywady
•• Proces generacji planu nie ukierunkowany stanem Proces generacji planu nie ukierunkowany stanem docelowym docelowym –– grogroźźba kombinatorycznej eksplozji stanba kombinatorycznej eksplozji stanóóww
•• ŚŚciciśśle zdeterminowany porzle zdeterminowany porząądek generacji planu dek generacji planu –– zawsze zawsze od stanu poczod stanu począątkowego do stanu docelowegotkowego do stanu docelowego
•• Niska wydajnoNiska wydajnośćść metody generacji planmetody generacji planóów w –– momożżliwe liwe zastosowanie tylko dla mazastosowanie tylko dla małłych przestrzeni stanych przestrzeni stanóóww
•• EfektywnoEfektywnośćść silnie uzalesilnie uzależżniona od stopnia interakcji miniona od stopnia interakcji mięędzy dzy operatorami operatorami –– im gim głęłębsze niejawne zalebsze niejawne zależżnonośści, tym wici, tym więększe ksze wymagania zasobowe algorytmu planowaniawymagania zasobowe algorytmu planowania
©©AMAM
4141
Systemy planowania dziaSystemy planowania działłaańń: : metodymetody
•• Wykorzystywane metodyWykorzystywane metody–– Planowanie liniowePlanowanie liniowe–– Dekompozycja problemu (czDekompozycja problemu (częśęściowa lub caciowa lub całłkowita)kowita)–– Regresja operatorRegresja operatoróóww–– Strategia Strategia „„leastleast--commitmentcommitment””–– Planowanie nieliniowePlanowanie nieliniowe–– Planowanie hierarchicznePlanowanie hierarchiczne
66
©©AMAM
4242
Planowanie wstecz: Planowanie wstecz: system STRIPSsystem STRIPS
•• Planowanie ukierunkowane stanem docelowymPlanowanie ukierunkowane stanem docelowymz wykorzystaniem z wykorzystaniem stosu celstosu celóóww
•• Reprezentacja stanReprezentacja stanóów i akcji oparta na w i akcji oparta na rachunku rachunku predykatpredykatóóww
•• Specyficzna dziedzina planowania Specyficzna dziedzina planowania –– śświat klockwiat klockóóww
©©AMAM
4343
STRIPS: STRIPS: śświat klockwiat klockóóww
ZaZałłoożżenia enia śświata klockwiata klockóów:w:•• powierzchnia/ppowierzchnia/płłaszczyzna/podaszczyzna/podłłoożże, na kte, na któórym rym
umieszczamy klocki jest gumieszczamy klocki jest głładka i nieograniczonaadka i nieograniczona•• wszystkie klocki majwszystkie klocki mająą takie same rozmiarytakie same rozmiary•• klocki mogklocki mogąą bybyćć umieszczone jeden na drugimumieszczone jeden na drugim•• klocki mogklocki mogąą tworzytworzyćć stosystosy•• popołłoożżenie horyzontalne klockenie horyzontalne klockóów jest nieistotne, liczy siw jest nieistotne, liczy sięę
ich wertykalne poich wertykalne połłoożżenie wzglenie wzglęędem siebiedem siebie•• manipulujemy klockami tylko za pomocmanipulujemy klockami tylko za pomocąą ramienia robotaramienia robota•• w danej chwili w ramieniu robota mow danej chwili w ramieniu robota możże znajdowae znajdowaćć sisięę
tylko jeden klocektylko jeden klocek
©©AMAM
4848
STRIPS: STRIPS: zbizbióór operatorr operatoróówwSTACK(x,y):STACK(x,y): umieszczenie klocka umieszczenie klocka xx na klocku na klocku yy; w ramieniu robota musi ; w ramieniu robota musi
znajdowaznajdowaćć sisięę klocek klocek xx, a na klocku , a na klocku yy nie monie możże znajdowae znajdowaćć sisięężżaden klocekaden klocek
UNSTACK(x,y):UNSTACK(x,y): zdjzdjęęcie klocka cie klocka xx z klocka z klocka yy; rami; ramięę robota musi byrobota musi byćć puste/wolne a puste/wolne a na klocku na klocku xx nie monie możże znajdowae znajdowaćć sisięę inny klocekinny klocek
PICKUP(x):PICKUP(x): podniesienie klocka podniesienie klocka xx z podz podłłoożża; ramia; ramięę robota musi byrobota musi byććpuste/wolne a na klocku puste/wolne a na klocku xx nie monie możże znajdowae znajdowaćć sisięę inny klocekinny klocek
PUTDOWN(x): PUTDOWN(x): umieszczenie klocka umieszczenie klocka xx na podna podłłoożżu; w ramieniu robota musi u; w ramieniu robota musi znajdowaznajdowaćć sisięę klocek klocek xx
©©AMAM
4949
STRIPS: STRIPS: zbizbióór predykatr predykatóóww
ON(x,y)ON(x,y) spespełłniony, gdy klocek niony, gdy klocek xx znajduje siznajduje sięę na klocku na klocku yy
ONTABLE(x)ONTABLE(x) spespełłniony, gdy klocek niony, gdy klocek xx znajduje siznajduje sięę bezpobezpośśrednio na podrednio na podłłoożżuu
CLEAR(x)CLEAR(x) spespełłniony, gdy powierzchnia klocka niony, gdy powierzchnia klocka xx jest pusta tzn. nie znajduje jest pusta tzn. nie znajduje sisięę na nim na nim żżaden inny klocekaden inny klocek
HOLDING(x) HOLDING(x) spespełłniony, gdy w ramieniu robota znajduje siniony, gdy w ramieniu robota znajduje sięę klocek klocek xx
ARMEMPTY ARMEMPTY spespełłniony, gdy raminiony, gdy ramięę robota jest puste/wolnerobota jest puste/wolne
Uniwersalne reguUniwersalne regułły rzy rząądzdząące ce śświatem klockwiatem klockóów sw sąą reprezentowane z wykorzystaniem reprezentowane z wykorzystaniem tych predykattych predykatóów jako aksjomaty zapisane w postaci formuw jako aksjomaty zapisane w postaci formułł rachunku predykatrachunku predykatóów, w, np.:np.:[[x HOLDING(x)] x HOLDING(x)] ARMEMPTYARMEMPTYx ONTABLE(x) x ONTABLE(x) y ON(x,y)y ON(x,y)x [x [y ON(y,x)] y ON(y,x)] CLEAR(x)CLEAR(x)
77
©©AMAM
5050
STRIPS: STRIPS: reprezentacja operatorreprezentacja operatoróóww
KaKażżdy operatora zawiera:dy operatora zawiera:•• listlistęę predykatpredykatóów, ktw, któóre muszre musząą bybyćć prawdziwe, aby jego uprawdziwe, aby jego użżycie ycie
bybyłło moo możżliwe liwe -- sekcja PRECONDITION sekcja PRECONDITION -- warunki warunki stosowalnostosowalnośści operatoraci operatora
•• listlistęę predykatpredykatóów, ktw, któóre stanre stanąą sisięę prawdziwie po jego prawdziwie po jego wykonaniu wykonaniu -- sekcja ADDsekcja ADD
•• listlistęę predykatpredykatóów, ktw, któóre przestanre przestanąą bybyćć prawdziwe po jego prawdziwe po jego wykonaniu wykonaniu -- sekcja DELETEsekcja DELETE
Problem tProblem tłłaa (ang. (ang. frame problemframe problem) w systemie STRIPS rozwi) w systemie STRIPS rozwiąązano zano stosujstosująąc odpowiednic odpowiedniąą formformęę reprezentacji operatorreprezentacji operatoróów.w.
Wszystkie predykaty, ktWszystkie predykaty, któóre re nie znalaznie znalazłłyy sisięę na listach ADD i na listach ADD i DELETE DELETE pozostajpozostająą niezmienioneniezmienione po wykonaniu operatora. Listy po wykonaniu operatora. Listy ADD oraz DELETE opisujADD oraz DELETE opisująą łąłącznie efekty ucznie efekty użżycia operatora.ycia operatora.
©©AMAM
5252
STRIPS: STRIPS: definicja formalna operatordefinicja formalna operatoróówwSTACK(x,y):STACK(x,y):
PRECONDITION: PRECONDITION: CLEAR(y) CLEAR(y) HOLDING(x)HOLDING(x)DELETE:DELETE: CLEAR(y) CLEAR(y) HOLDING(x)HOLDING(x)ADD:ADD: ARMEMPTY ARMEMPTY ON(x,y)ON(x,y)
UNSTACK(x,y):UNSTACK(x,y):PRECONDITION: PRECONDITION: ON(x,y) ON(x,y) CLEAR(x) CLEAR(x) ARMEMPTYARMEMPTYDELETE:DELETE: ON(x,y) ON(x,y) ARMEMPTYARMEMPTYADD:ADD: HOLDING(x) HOLDING(x) CLEAR(y)CLEAR(y)
PICKUP(x):PICKUP(x):PRECONDITION: PRECONDITION: CLEAR(x)CLEAR(x) ONTABLE(x) ONTABLE(x) ARMEMPTYARMEMPTYDELETE:DELETE: ONTABLE(x) ONTABLE(x) ARMEMPTYARMEMPTYADD:ADD: HOLDING(x)HOLDING(x)
PUTDOWN(x):PUTDOWN(x):PRECONDITION: PRECONDITION: HOLDING(x)HOLDING(x)DELETE:DELETE: HOLDING(x)HOLDING(x)ADD:ADD: ONTABLE(x) ONTABLE(x) ARMEMPTYARMEMPTY
©©AMAM
5353
STRIPS: STRIPS: algorytm planowania wsteczalgorytm planowania wstecz
Przebieg planowania:Przebieg planowania:•• wykrywanie rwykrywanie róóżżnic minic mięędzy stanem aktualnym a celem dzy stanem aktualnym a celem ––
umieszczenie podcelumieszczenie podcelóów niespew niespełłnionych w akt. stanie na stosienionych w akt. stanie na stosie•• wybwybóór operatora redukujr operatora redukująącego rcego róóżżnicnicęę•• zastzastąąpienie podcelu wybranym operatorem na stosiepienie podcelu wybranym operatorem na stosie•• umieszczenie na stosie warunkumieszczenie na stosie warunkóów stosowalnow stosowalnośćść wybranego wybranego
operatora operatora -- nowy (znowy (złłoożżony) celony) cel•• rozkrozkłład warunku stosowalnoad warunku stosowalnośści na podcele ci na podcele -- nowe cele nowe cele
jednostkowe (proste) na stosiejednostkowe (proste) na stosie
Stos celStos celóów w -- podstawowa struktura danych generatora planu, podstawowa struktura danych generatora planu, zawierajzawierająąca zarca zaróówno cele, jak i operatory swno cele, jak i operatory słłuużążące do ich ce do ich osiosiąągnignięęciacia
©©AMAM
5454
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stan poczStan począątkowy:tkowy:
ON(B,A) ON(B,A) ONTABLE(A) ONTABLE(A) ONTABLE(C) ONTABLE(C) ONTABLE(D) ONTABLE(D) ARMEPMTYARMEPMTY
BB
AA CC DD
Stan koStan końńcowy (docelowy):cowy (docelowy):
ON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D) CC
AA DD
BB
88
©©AMAM
5555
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
BB
AA CC DDON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
Umieszczamy stan Umieszczamy stan docelowy na stosiedocelowy na stosie
©©AMAM
5656
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
BB
AA CC DDON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
ON(B,D)ON(B,D)ON(C,A)ON(C,A)
Stan docelowy:Stan docelowy:
CC
AA DD
BB
RRóóżżnica minica mięędzy stanem dzy stanem aktualnym a celemaktualnym a celem
©©AMAM
5757
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
BB
AA CC DDON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
ON(B,D)ON(B,D)ON(C,A)ON(C,A)STACK(C,A)STACK(C,A)
Operator speOperator spełłniajniająący cy cel ze szczytu stosucel ze szczytu stosu
©©AMAM
5858
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
BB
AA CC DDON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
ON(B,D)ON(B,D)
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
STACK(C,A)STACK(C,A)
Warunek Warunek stosowalnostosowalnośści ci operatoraoperatora
99
©©AMAM
5959
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
BB
AA CC DDON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
ON(B,D)ON(B,D)
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
STACK(C,A)STACK(C,A)
Rozbicie warunku na Rozbicie warunku na podwarunkipodwarunki: : kolejnokolejnośćść wynika z wynika z wiedzy heurystycznej wiedzy heurystycznej (stan HOLDING (stan HOLDING łłatwiej zniweczyatwiej zniweczyćć))
HOLDING(C)HOLDING(C)
CLEAR(A)CLEAR(A)
©©AMAM
6060
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
BB
AA CC DDON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
ON(B,D)ON(B,D)
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
STACK(C,A)STACK(C,A)
HOLDING(C)HOLDING(C)
CLEAR(A)CLEAR(A)UNSTACK(B,A)UNSTACK(B,A) Operator speOperator spełłniajniająący cy cel ze szczytu stosucel ze szczytu stosu
©©AMAM
6161
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
BB
AA CC DDON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
ON(B,D)ON(B,D)
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
STACK(C,A)STACK(C,A)
HOLDING(C)HOLDING(C)Warunek stosowalnoWarunek stosowalnośści ci operatoraoperatora
ON(B,A) ON(B,A) CLEAR(B) CLEAR(B) ARMEPMTYARMEPMTY
UNSTACK(B,A)UNSTACK(B,A)
©©AMAM
6262
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
BB
AA CC DDON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
ON(B,D)ON(B,D)
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
STACK(C,A)STACK(C,A)
HOLDING(C)HOLDING(C)
CLEAR(A)CLEAR(A)UNSTACK(B,A)UNSTACK(B,A)ON(B,A) ON(B,A) CLEAR(B) CLEAR(B) ARMEPMTYARMEPMTY
ARMEPMTYARMEPMTY
CLEAR(B)CLEAR(B)
ON(B,A)ON(B,A) Rozbicie warunku na Rozbicie warunku na podwarunkipodwarunki: kolejno: kolejnośćśćheurystycznaheurystyczna
1010
©©AMAM
6363
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
BB
AA CC DDON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
ON(B,D)ON(B,D)
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
STACK(C,A)STACK(C,A)
HOLDING(C)HOLDING(C) Ponownie sprawdzenie Ponownie sprawdzenie cacałłego warunku ego warunku stosowalnostosowalnośścici
ON(B,A) ON(B,A) CLEAR(B) CLEAR(B) ARMEPMTYARMEPMTY
SpeSpełłnione nione podwarunkipodwarunkiusuniusunięęte ze stosute ze stosu(CLEAR(B) na podstawie (CLEAR(B) na podstawie reguregułł śświata klockwiata klockóów)w)ARMEPMTYARMEPMTY
CLEAR(B)CLEAR(B)ON(B,A)ON(B,A)
UNSTACK(B,A)UNSTACK(B,A)
©©AMAM
6464
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
BB
AA CC DDON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
ON(B,D)ON(B,D)
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
STACK(C,A)STACK(C,A)
HOLDING(C)HOLDING(C)
ON(B,A) ON(B,A) CLEAR(B) CLEAR(B) ARMEPMTYARMEPMTY
Warunek speWarunek spełłnionynionyusuwamy ze stosuusuwamy ze stosu
UNSTACK(B,A)UNSTACK(B,A)
©©AMAM
6565
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
BB
CC DDON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
ON(B,D)ON(B,D)
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
STACK(C,A)STACK(C,A)
UNSTACK(B,A)UNSTACK(B,A)UsuniUsunięęcie operatora ze cie operatora ze szczytu stosu i ...szczytu stosu i ...
BB
UNSTACK(B,A)UNSTACK(B,A)
AA
HOLDING(C)HOLDING(C)
Plan aktualny:Plan aktualny:dodanie operatora do dodanie operatora do planuplanu
HOLDING(B) HOLDING(B) ONTABLE(A) ONTABLE(A) ONTABLE(C) ONTABLE(C) ONTABLE(D) ONTABLE(D) CLEAR(A)CLEAR(A)
jego wykonanie oraz...jego wykonanie oraz...
©©AMAM
6666
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
ON(C,A) ON(C,A) ON(B,D) ON(B,D) OTADOTAD**
Alternatywny stos celAlternatywny stos celóów:w:
ON(B,D)ON(B,D)
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
STACK(C,A)STACK(C,A)
HOLDING(C)HOLDING(C)
ONTABLE(C) ONTABLE(C) CLEAR(C) CLEAR(C) ARMEPMTYARMEPMTY
ARMEMPTYARMEMPTY
CLEAR(C)CLEAR(C)
ONTABLE(C)ONTABLE(C)
PICKUP(C)PICKUP(C)
ON(C,A) ON(C,A) ON(B,D) ON(B,D) OTADOTAD**
ON(B,D)ON(B,D)
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
STACK(C,A)STACK(C,A)
HOLDING(C)HOLDING(C)
ON(C,x) ON(C,x) CLEAR(C) CLEAR(C) ARMEPMTYARMEPMTY
ARMEMPTYARMEMPTY
CLEAR(C)CLEAR(C)
ON(C,x)ON(C,x)
UNSTACK(C,x)UNSTACK(C,x)Operator speOperator spełłniajniająący cy cel ze szczytu stosucel ze szczytu stosu
Warunek stosowalnoWarunek stosowalnośści operatoraci operatora
PodwarunkiPodwarunki na stosie na stosie (CLEAR(C ) spe(CLEAR(C ) spełłnione!) nione!)
OTADOTAD* * ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
1111
©©AMAM
6767
ON(C,x)ON(C,x)
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Alternatywny stos celAlternatywny stos celóów:w:
ON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
ON(B,D)ON(B,D)
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
STACK(C,A)STACK(C,A)
HOLDING(C)HOLDING(C)
ON(C,x) ON(C,x) CLEAR(C) CLEAR(C) ARMEPMTYARMEPMTY
ARMEMPTYARMEMPTY
CLEAR(x) CLEAR(x) HOLDING(C)HOLDING(C)
UNSTACK(C,x)UNSTACK(C,x)
Warunek stosowalnoWarunek stosowalnośści operatoraci operatora
PodwarunkiPodwarunki na stosiena stosie
STACK(C,x)STACK(C,x)
HOLDING(C)HOLDING(C)CLEAR(x)CLEAR(x)
BB
CC DD
BB
Operator speOperator spełłniajniająący cel ze szczytu stosucy cel ze szczytu stosu
AA
Cykl Cykl (zap(zapęętlenie!)tlenie!)
©©AMAM
6868
HOLDING(C)HOLDING(C)
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
ON(B,D)ON(B,D)
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
STACK(C,A)STACK(C,A)
ONTABLE(C) ONTABLE(C) CLEAR(C) CLEAR(C) ARMEPMTYARMEPMTY
ARMEMPTYARMEMPTYCLEAR(C)CLEAR(C)
ONTABLE(C)ONTABLE(C)
PICKUP(C)PICKUP(C)
ON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
CC DD
BB
AA
PodwarunkiPodwarunki spespełłnionenione
NiespeNiespełłniony (z reguniony (z regułł śświata klockwiata klockóów)w)
©©AMAM
6969
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
ON(B,D)ON(B,D)
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
STACK(C,A)STACK(C,A)
ONTABLE(C) ONTABLE(C) CLEAR(C) CLEAR(C) ARMEPMTYARMEPMTY
ARMEMPTYARMEMPTY
PICKUP(C)PICKUP(C)
ON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
CC DD
BB
AA
Operator speOperator spełłniajniająący cel ze szczytu stosucy cel ze szczytu stosuWarunek stosowalnoWarunek stosowalnośści operatoraci operatoraCLEAR(D) CLEAR(D) HOLDING(B)HOLDING(B)
Alternatywny operator PUTDOWN(B): Alternatywny operator PUTDOWN(B): taka sama liczba nie spetaka sama liczba nie spełłnionych nionych PRECONDITIONsPRECONDITIONs (0),(0),mniejsza liczba spemniejsza liczba spełłnionych nionych ADDsADDs( bo ON(B,D) jest ni( bo ON(B,D) jest niżżej na stosie! )ej na stosie! )
STACK(B,D)STACK(B,D)
©©AMAM
7070
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
ON(B,D)ON(B,D)
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
STACK(B,D)STACK(B,D)
ON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
CC DD
BB
AA
Warunek stosowalnoWarunek stosowalnośści speci spełłnionyniony
STACK(B,D)STACK(B,D) UsuniUsunięęcie operatora ze cie operatora ze szczytu stosu i jego szczytu stosu i jego wykonanie orazwykonanie oraz……
CLEAR(D) CLEAR(D) HOLDING(B)HOLDING(B)
ONTABLE(C) ONTABLE(C) CLEAR(C) CLEAR(C) ARMEPMTYARMEPMTY
PICKUP(C)PICKUP(C)
BB
UNSTACK(B,A)UNSTACK(B,A)
Plan aktualny:Plan aktualny:……dodanie operatora do dodanie operatora do planuplanu
STACK(C,A)STACK(C,A)
1212
©©AMAM
7171
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
ON(B,D)ON(B,D)
STACK(B,D)STACK(B,D)
ON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
CC DDAA
Warunek stosowalnoWarunek stosowalnośści speci spełłnionyniony
UsuniUsunięęcie operatora ze cie operatora ze szczytu stosu i jego szczytu stosu i jego wykonanie orazwykonanie oraz……
ONTABLE(C) ONTABLE(C) CLEAR(C) CLEAR(C) ARMEPMTYARMEPMTY
PICKUP(C)PICKUP(C)
BB
UNSTACK(B,A)UNSTACK(B,A)
Plan aktualny:Plan aktualny:……dodanie operatora do dodanie operatora do planuplanu
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
CC
PICKUP(C)PICKUP(C)
STACK(C,A)STACK(C,A)
©©AMAM
7272
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
STACK(B,D)STACK(B,D)
ON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stan aktualny:Stan aktualny:
CC
DDAA
Warunek stosowalnoWarunek stosowalnośści speci spełłnionynionyUsuniUsunięęcie operatora ze cie operatora ze szczytu stosu i jego szczytu stosu i jego wykonanie oraz wykonanie oraz …… BB
UNSTACK(B,A)UNSTACK(B,A)
Plan aktualny:Plan aktualny:……dodanie operatoradodanie operatorado planudo planu
CLEAR(A) CLEAR(A) HOLDING(C)HOLDING(C)
CC
PICKUP(C)PICKUP(C)
STACK(C,A)STACK(C,A)
STACK(C,A)STACK(C,A)
ON(B,D)ON(B,D)
©©AMAM
7373
STRIPS: STRIPS: przykprzykłład planowaniaad planowania
Stos celStos celóów:w:
STACK(B,D)STACK(B,D)
Stan aktualny:Stan aktualny:
DDAA
Warunek speWarunek spełłnionyniony BB
UNSTACK(B,A)UNSTACK(B,A)
Plan aktualny:Plan aktualny:
CC
PICKUP(C)PICKUP(C) STACK(C,A)STACK(C,A)
ON(B,D)ON(B,D)
ON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
Stos pusty Stos pusty –– KONIEC planowania!KONIEC planowania!
Cel gCel głłóówny spewny spełłnionyniony
©©AMAM
7474
STRIPS: STRIPS: koniec przykkoniec przykłładuadu
Stan poczStan począątkowy:tkowy:
ON(B,A) ON(B,A) ONTABLE(A) ONTABLE(A) ONTABLE(C) ONTABLE(C) ONTABLE(D) ONTABLE(D) ARMEPMTYARMEPMTY
BB
AA CC DD
Stan koStan końńcowy (docelowy):cowy (docelowy):
ON(C,A) ON(C,A) ON(B,D) ON(B,D) ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D) CC
AA DD
BB
STACK(B,D)STACK(B,D)UNSTACK(B,A)UNSTACK(B,A)
Plan:Plan:
PICKUP(C)PICKUP(C) STACK(C,A)STACK(C,A)
1313
©©AMAM
7575
STRIPS: STRIPS: heurystykaheurystyka
Wiedza heurystyczna:Wiedza heurystyczna:•• kolejnokolejnośćść umieszczania rumieszczania róóżżnic (warunknic (warunkóów) na stosiew) na stosie•• wybwybóór operatora redukujr operatora redukująącego rcego róóżżnicnicęę
KolejnoKolejnośćść rróóżżnic/warunknic/warunkóów:w:•• wiedza heurystyczna wiedza heurystyczna –– wiedza o trudnowiedza o trudnośści w osici w osiąąganiu warunkganiu warunkóów w
(ten, kt(ten, któóry ry łłatwo zniweczyatwo zniweczyćć spespełłniamy pniamy póóźźniej)niej)•• zapis wiedzy heurystycznej zapis wiedzy heurystycznej –– odpowiednia kolejnoodpowiednia kolejnośćść warunkwarunkóów w w w
sekcji sekcji PRECONDITIONsPRECONDITIONs operatoraoperatora
WybWybóór operatora:r operatora:•• ten, ktten, któóry szybciej przybliry szybciej przybliżży stan aktualny do stanu docelowego y stan aktualny do stanu docelowego
(ma mniejsz(ma mniejsząą liczliczęę niespeniespełłnionych warunknionych warunkóów stosowalnow stosowalnośści)ci)•• drugie kryterium: dodatkowo spedrugie kryterium: dodatkowo spełłnia inny cel ninia inny cel niżżej na stosie (efekt ej na stosie (efekt
uboczny)uboczny)©©AMAM
7676
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
Stan poczStan począątkowy:tkowy:
ON(C,A) ON(C,A) ONTABLE(A) ONTABLE(A) ONTABLE(B) ONTABLE(B) ARMEPMTYARMEPMTY
CC
AA BB
Stan koStan końńcowy (docelowy):cowy (docelowy):
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C) BB
CC
AA
©©AMAM
7777
STRIPS: STRIPS: anomalia anomalia SussmanaSussmana’’aa
Stan aktualny:Stan aktualny:
ON(C,A) ON(C,A) ONTABLE(A) ONTABLE(A) ONTABLE(B) ONTABLE(B) ARMEPMTYARMEPMTY
CC
AA BB
Stos celStos celóów:w: Alternatywny stos celAlternatywny stos celóów:w:
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
ON(B,C)ON(B,C)
ON(A,B)ON(A,B)
ONTABLE(C)ONTABLE(C)
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
ON(A,B)ON(A,B)
ON(B,C)ON(B,C)
ONTABLE(C)ONTABLE(C)
©©AMAM
7878
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
ON(B,C)ON(B,C)
CLEAR(B) CLEAR(B) HOLDING(A)HOLDING(A)
HOLDING(A)HOLDING(A)CLEAR(A) CLEAR(A) ARMEMPTY ARMEMPTY ONTABLE(A)ONTABLE(A)
ARMEMPTYARMEMPTYCLEAR(A)CLEAR(A)CLEAR(C) CLEAR(C) ARMEPMTY ARMEPMTY ON(C,A)ON(C,A)
PICKUP(A)PICKUP(A)
UNSTACK(C,A)UNSTACK(C,A)
ON(C,A)ON(C,A)
ARMEPMTYARMEPMTY
ON(A,B)ON(A,B)STACK(A,B)STACK(A,B)
CLEAR(C)CLEAR(C)
CC
AA BB
Stos celStos celóów:w:
1414
©©AMAM
7979
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
ON(B,C)ON(B,C)
CLEAR(B) CLEAR(B) HOLDING(A)HOLDING(A)
HOLDING(A)HOLDING(A)CLEAR(A) CLEAR(A) ARMEMPTY ARMEMPTY ONTABLE(A)ONTABLE(A)
CLEAR(A)CLEAR(A)
PICKUP(A)PICKUP(A)
ON(A,B)ON(A,B)STACK(A,B)STACK(A,B)
Stos celStos celóów:w:
CLEAR(C)CLEAR(C)
ARMEPMTYARMEPMTY
ON(C,A)ON(C,A)
CLEAR(C) CLEAR(C) ARMEPMTY ARMEPMTY ON(C,A)ON(C,A)
UNSTACK(C,A)UNSTACK(C,A)
ARMEMPTYARMEMPTY
CC
BB
CC
AA
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:
©©AMAM
8080
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
ON(B,C)ON(B,C)
CLEAR(B) CLEAR(B) HOLDING(A)HOLDING(A)
HOLDING(A)HOLDING(A)CLEAR(A) CLEAR(A) ARMEMPTY ARMEMPTY ONTABLE(A)ONTABLE(A)
PICKUP(A)PICKUP(A)
ON(A,B)ON(A,B)STACK(A,B)STACK(A,B)
Stos celStos celóów:w:
ARMEMPTYARMEMPTY
BB
CC
AA
PUTDOWN(C)PUTDOWN(C)HOLDING(C)HOLDING(C) Warunek stosowalnoWarunek stosowalnośścici
Wybrany, bo speWybrany, bo spełłnia ONTABLE(C) poninia ONTABLE(C) poniżżejej
©©AMAM
8181
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
ON(B,C)ON(B,C)
CLEAR(B) CLEAR(B) HOLDING(A)HOLDING(A)
HOLDING(A)HOLDING(A)PICKUP(A)PICKUP(A)
ON(A,B)ON(A,B)STACK(A,B)STACK(A,B)
Stos celStos celóów:w:
CC
BB CCAA
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:
HOLDING(C)HOLDING(C)
PUTDOWN(C)PUTDOWN(C)
CLEAR(A) CLEAR(A) ARMEMPTY ARMEMPTY ONTABLE(A)ONTABLE(A)
PUTDOWN(C)PUTDOWN(C)
©©AMAM
8282
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
ON(B,C)ON(B,C)
HOLDING(A)HOLDING(A)
ON(A,B)ON(A,B)STACK(A,B)STACK(A,B)
Stos celStos celóów:w:
AA CC
AA
BB
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:CLEAR(A) CLEAR(A) ARMEMPTY ARMEMPTY ONTABLE(A)ONTABLE(A)
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
PICKUP(A)PICKUP(A)
CLEAR(B) CLEAR(B) HOLDING(A)HOLDING(A)
1515
©©AMAM
8383
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
ON(A,B)ON(A,B)
Stos celStos celóów:w:
AA
CC
AA
BB
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
CLEAR(B) CLEAR(B) HOLDING(A)HOLDING(A)
STACK(A,B)STACK(A,B)
STACK(A,B)STACK(A,B)
ON(B,C)ON(B,C)
©©AMAM
8484
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
Stos celStos celóów:w:
CC
AA
BB
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)ON(B,C)ON(B,C)CLEAR(C) CLEAR(C) HOLDING(B)HOLDING(B)
STACK(B,C)STACK(B,C)
HOLDING(B)HOLDING(B)CLEAR(B) CLEAR(B) ARMEMPTY ARMEMPTY ONTABLE(B)ONTABLE(B)
PICKUP(B)PICKUP(B)
CLEAR(B)CLEAR(B)CLEAR(A) CLEAR(A) ARMEPMTY ARMEPMTY ON(A,B)ON(A,B)
UNSTACK(A,B)UNSTACK(A,B)
©©AMAM
8585
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
Stos celStos celóów:w:
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)CLEAR(C) CLEAR(C) HOLDING(B)HOLDING(B)
STACK(B,C)STACK(B,C)
CLEAR(A) CLEAR(A) ARMEPMTY ARMEPMTY ON(A,B)ON(A,B)
AA
CC
AA
BB
UNSTACK(A,B)UNSTACK(A,B)
CLEAR(B) CLEAR(B) ARMEMPTY ARMEMPTY ONTABLE(B)ONTABLE(B)
UNSTACK(A,B)UNSTACK(A,B)
PICKUP(B)PICKUP(B)
©©AMAM
8686
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
Stos celStos celóów:w:
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)CLEAR(C) CLEAR(C) HOLDING(B)HOLDING(B)
STACK(B,C)STACK(B,C)
AA
CC
AA
BB
CLEAR(B) CLEAR(B) ARMEMPTY ARMEMPTY ONTABLE(B)ONTABLE(B)
UNSTACK(A,B)UNSTACK(A,B)
PICKUP(B)PICKUP(B)
ARMEPMTYARMEPMTY Ponownie nie jest spePonownie nie jest spełłniony!niony!
1616
©©AMAM
8787
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
Stos celStos celóów:w:
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)CLEAR(C) CLEAR(C) HOLDING(B)HOLDING(B)
STACK(B,C)STACK(B,C)
AA
CC
AA
BB
CLEAR(B) CLEAR(B) ARMEMPTY ARMEMPTY ONTABLE(B)ONTABLE(B)
UNSTACK(A,B)UNSTACK(A,B)
PICKUP(B)PICKUP(B)
ARMEPMTYARMEPMTY Nie STACK(A,B) bo byNie STACK(A,B) bo byłłby cyklby cyklHOLDING(A)HOLDING(A)
PUTDOWN(A)PUTDOWN(A)
©©AMAM
8888
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
Stos celStos celóów:w:
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)CLEAR(C) CLEAR(C) HOLDING(B)HOLDING(B)
STACK(B,C)STACK(B,C)
AA
CCAA BB
UNSTACK(A,B)UNSTACK(A,B)
PICKUP(B)PICKUP(B)
HOLDING(A)HOLDING(A)
PUTDOWN(A)PUTDOWN(A)
PUTDOWN(A)PUTDOWN(A)
CLEAR(B) CLEAR(B) ARMEMPTY ARMEMPTY ONTABLE(B)ONTABLE(B)
©©AMAM
8989
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
Stos celStos celóów:w:
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)STACK(B,C)STACK(B,C)
BB CC
BB
AA
UNSTACK(A,B)UNSTACK(A,B)
PUTDOWN(A)PUTDOWN(A)
CLEAR(B) CLEAR(B) ARMEMPTY ARMEMPTY ONTABLE(B)ONTABLE(B)
PICKUP(B)PICKUP(B)
PICKUP(B)PICKUP(B)
CLEAR(C) CLEAR(C) HOLDING(B)HOLDING(B)
©©AMAM
9090
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
Stan aktualny:Stan aktualny:
Stos celStos celóów:w:
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)
BB
CC
BB
AA
UNSTACK(A,B)UNSTACK(A,B)
PUTDOWN(A)PUTDOWN(A)
PICKUP(B)PICKUP(B)
CLEAR(C) CLEAR(C) HOLDING(B)HOLDING(B)
STACK(B,C)STACK(B,C)
STACK(B,C)STACK(B,C)
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
1717
©©AMAM
9191
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
Stan aktualny:Stan aktualny:
Stos celStos celóów:w:
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)
BB
CC
BB
AA
UNSTACK(A,B)UNSTACK(A,B)
PUTDOWN(A)PUTDOWN(A)
PICKUP(B)PICKUP(B)
CLEAR(B) CLEAR(B) HOLDING(A)HOLDING(A)
STACK(B,C)STACK(B,C)
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
ON(A,B)ON(A,B)
HOLDING(A)HOLDING(A)
STACK(A,B)STACK(A,B)
CLEAR(A) CLEAR(A) ARMEMPTY ARMEMPTY ONTABLE(A)ONTABLE(A)
PICKUP(A)PICKUP(A)
Ponownie nie jest spePonownie nie jest spełłnione!nione!
©©AMAM
9292
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
Stan aktualny:Stan aktualny:
Stos celStos celóów:w:
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)
AA CC
AABB
UNSTACK(A,B)UNSTACK(A,B)
PUTDOWN(A)PUTDOWN(A)
PICKUP(B)PICKUP(B)
STACK(B,C)STACK(B,C)
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
STACK(A,B)STACK(A,B)
CLEAR(A) CLEAR(A) ARMEMPTY ARMEMPTY ONTABLE(A)ONTABLE(A)
PICKUP(A)PICKUP(A)
PICKUP(A)PICKUP(A)
CLEAR(B) CLEAR(B) HOLDING(A)HOLDING(A)
©©AMAM
9393
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
Stan aktualny:Stan aktualny:
Stos celStos celóów:w:
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)
AA
CC
AA
BB
UNSTACK(A,B)UNSTACK(A,B)
PUTDOWN(A)PUTDOWN(A)
PICKUP(B)PICKUP(B)
STACK(B,C)STACK(B,C)
PICKUP(A)PICKUP(A)
CLEAR(B) CLEAR(B) HOLDING(A)HOLDING(A)
STACK(A,B)STACK(A,B)
STACK(A,B)STACK(A,B)
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)Stos pusty Stos pusty –– koniec planowania!koniec planowania!
©©AMAM
9595
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
UNSTACK(C,A)UNSTACK(C,A)
Plan aktualny:Plan aktualny:
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)
UNSTACK(A,B)UNSTACK(A,B)
PUTDOWN(A)PUTDOWN(A)
PICKUP(B)PICKUP(B)
STACK(B,C)STACK(B,C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)
Otrzymany plan nie jest optymalny:Otrzymany plan nie jest optymalny:•• niektniektóóre operacje zaraz po wykonaniu re operacje zaraz po wykonaniu
zostanzostanąą wycofane (bezpowycofane (bezpośśredni nastredni nastęępnik pnik w planie to operacja odwrotna)w planie to operacja odwrotna)
•• takie dopetakie dopełłniajniająące sice sięę pary operacji mopary operacji możżna na wykrywykryćć i usuni usunąćąć z planu w drodze analizy z planu w drodze analizy kokońńcowego planu, ale nie we wszystkich cowego planu, ale nie we wszystkich dziedzinach modziedzinach możżliwe jest okreliwe jest okreśślenie, ktlenie, któóra ra operacja niwelujoperacja niwelujęę inninnąą; ;
•• dodatkowo, zbdodatkowo, zbęędne okazadne okazałło sio sięę cacałłe e przetwarzanie, ktprzetwarzanie, któóre zostare zostałło wykonane w o wykonane w trakcie planowania dla dopetrakcie planowania dla dopełłniajniająących sicych sięępar operatorpar operatoróóww
1818
©©AMAM
9696
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
Otrzymany plan nie jest optymalny:Otrzymany plan nie jest optymalny:•• niektniektóóre operacje zaraz po wykonaniu zostanre operacje zaraz po wykonaniu zostanąą wycofane wycofane
(bezpo(bezpośśredni nastredni nastęępnik w planie to operacja odwrotna)pnik w planie to operacja odwrotna)•• takie dopetakie dopełłniajniająące sice sięę pary operacji mopary operacji możżna wykryna wykryćć i usuni usunąćąć z planu, z planu,
ale nie we wszystkich dziedzinach moale nie we wszystkich dziedzinach możżliwe jest okreliwe jest okreśślenie, ktlenie, któóra ra operacjoperacjąą niwelujniwelujęę inninnąą; ;
•• dodatkowo, zbdodatkowo, zbęędne okazadne okazałło sio sięę cacałłe przetwarzanie, kte przetwarzanie, któóre zostare zostałło o wykonane w trakcie planowania dla takich dopewykonane w trakcie planowania dla takich dopełłniajniająących sicych sięę par par operatoroperatoróóww
Czy za nieoptymalny plan odpowiada uCzy za nieoptymalny plan odpowiada użżyta heurystyka, czy sam yta heurystyka, czy sam algorytm planowania liniowego?algorytm planowania liniowego?SprawdSprawdźźmy zatem skutki innych decyzji heurystycznych!my zatem skutki innych decyzji heurystycznych!
©©AMAM
9797
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
ON(A,B)ON(A,B)
CLEAR(C) CLEAR(C) HOLDING(B)HOLDING(B)
HOLDING(B)HOLDING(B)CLEAR(B) CLEAR(B) ARMEMPTY ARMEMPTY ONTABLE(B)ONTABLE(B)
PICKUP(B)PICKUP(B)
ONTABLE(B)ONTABLE(B)
ARMEPMTYARMEPMTY
ON(B,C)ON(B,C)STACK(B,C)STACK(B,C)
CLEAR(B)CLEAR(B)
CC
AA BB
Alternatywny stos celAlternatywny stos celóów:w:
Wszystkie warunki Wszystkie warunki spespełłnionenione
©©AMAM
9898
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
ON(A,B)ON(A,B)
CLEAR(B) CLEAR(B) ARMEMPTY ARMEMPTY ONTABLE(B)ONTABLE(B)
Alternatywny stos celAlternatywny stos celóów:w:
Warunek speWarunek spełłnionyniony
PICKUP(B)PICKUP(B)
CLEAR(C) CLEAR(C) HOLDING(B)HOLDING(B)
STACK(B,C)STACK(B,C)
BB AA
BBCC
PICKUP(B)PICKUP(B)
Alternatywny plan:Alternatywny plan:
©©AMAM
9999
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:Alternatywny stos celAlternatywny stos celóów:w:
Warunek speWarunek spełłnionyniony
CLEAR(C) CLEAR(C) HOLDING(B)HOLDING(B)
PICKUP(B)PICKUP(B)
Alternatywny plan:Alternatywny plan:
STACK(B,C)STACK(B,C)
ON(A,B)ON(A,B)
STACK(B,C)STACK(B,C)
BB
AA
BB
CC
1919
©©AMAM
100100
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:Stan aktualny:
ON(A,B)ON(A,B)
Alternatywny stos celAlternatywny stos celóów:w:
itd.itd.
BB
AA
BB
CC
©©AMAM
101101
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
Stan koStan końńcowy:cowy:
PICKUP(B)PICKUP(B)
Alternatywny kompletny plan:Alternatywny kompletny plan:
STACK(B,C)STACK(B,C)
UNSTACK(B,C)UNSTACK(B,C)
PUTDOWN(B)PUTDOWN(B)
AA
CC
AA
BB
UNSTACK(C,A)UNSTACK(C,A)
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)
UNSTACK(A,B)UNSTACK(A,B)
PUTDOWN(A)PUTDOWN(A)
CC
AA BB
Stan poczStan począątkowy:tkowy:
PICKUP(B)PICKUP(B)
STACK(B,C)STACK(B,C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)
. . .. . .
. . .. . .
©©AMAM
102102
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aa
Alternatywny plan rAlternatywny plan róówniewnieżż nie jest nie jest optymalny (a nawet jest gorszy!):optymalny (a nawet jest gorszy!):
•• jest djest dłłuużższy (o 4 operacje)szy (o 4 operacje)•• zawiera wizawiera więęcej par niwelujcej par niwelująących cych
sisięę operacjioperacji
Za brak optymalnoZa brak optymalnośści planowania ci planowania nie odpowiada zatem unie odpowiada zatem użżyta yta heurystyka, lecz sam algorytm heurystyka, lecz sam algorytm planowania liniowego!planowania liniowego!
PICKUP(B)PICKUP(B)
Alternatywny kompletny plan:Alternatywny kompletny plan:
STACK(B,C)STACK(B,C)
UNSTACK(B,C)UNSTACK(B,C)
PUTDOWN(B)PUTDOWN(B)
UNSTACK(C,A)UNSTACK(C,A)
PUTDOWN(C)PUTDOWN(C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)
UNSTACK(A,B)UNSTACK(A,B)
PUTDOWN(A)PUTDOWN(A)
PICKUP(B)PICKUP(B)
STACK(B,C)STACK(B,C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)
. . .. . .
. . .. . .
©©AMAM
103103
STRIPS: STRIPS: anomalia anomalia SussmanSussman’’aaStan koStan końńcowy:cowy: Optymalny plan:Optymalny plan:
AA
CC
AA
BB
UNSTACK(C,A)UNSTACK(C,A)
PUTDOWN(C)PUTDOWN(C)
CC
AA BB
Stan poczStan począątkowy:tkowy:
PICKUP(B)PICKUP(B)
STACK(B,C)STACK(B,C)
PICKUP(A)PICKUP(A)
STACK(A,B)STACK(A,B)
Nieoptymalny plan nie jest jedynie efektem uNieoptymalny plan nie jest jedynie efektem użżytej heurystyki, lecz wynika z ytej heurystyki, lecz wynika z ograniczeograniczeńń samego algorytmu planowania liniowego samego algorytmu planowania liniowego -- nie jest istotna nie jest istotna kolejnokolejnośćść osiosiąągania celgania celóów i porzw i porząądek wybierania operatordek wybierania operatoróów, lecz fakt, iw, lecz fakt, iżżmetoda nie uwzglmetoda nie uwzglęędnia interakcji zachodzdnia interakcji zachodząących pomicych pomięędzy warunkami i dzy warunkami i operatorami.operatorami.
2020
©©AMAM
104104
Poszukiwanie planu: metoda regresji celPoszukiwanie planu: metoda regresji celóóww
•• Planowanie opiera siPlanowanie opiera sięę na na zbiorze celzbiorze celóóww, spo, spośśrróód d ktktóórych dowolny podcel morych dowolny podcel możże bye byćć wybrany jako wybrany jako kolejny, ktkolejny, któóry nalery należży osiy osiąągngnąćąć
•• Planowanie odbywa siPlanowanie odbywa sięę wsteczwstecz (regresywnie) (regresywnie) –– od od stanu docelowego do stanu poczstanu docelowego do stanu począątkowegotkowego
•• Wybierany ze zbioru podcel jest traktowany tak Wybierany ze zbioru podcel jest traktowany tak jakby byjakby byłł ostatnimostatnim, kt, któóry nalery należży osiy osiąągngnąćąć (inaczej: (inaczej: zakzakłładamy, adamy, żże reszta cele reszta celóów jest juw jest jużż spespełłniona i niona i szukamy tylko tych operacji, ktszukamy tylko tych operacji, któóre miare miałłyby dopeyby dopełłniniććplan poprzez speplan poprzez spełłnienie nienie „„ostatniegoostatniego”” podcelu)podcelu)
•• Wybrany operator Wybrany operator poszerza zbiposzerza zbióór podcelr podcelóóww o swoje o swoje warunki stosowalnowarunki stosowalnośścici
©©AMAM
105105
Regresja celRegresja celóów: w: przykprzykłład (anomalia ad (anomalia SussmanSussman’’aa))
Stan poczStan począątkowy:tkowy:
ON(C,A) ON(C,A) ONTABLE(A) ONTABLE(A) ONTABLE(B) ONTABLE(B) ARMEPMTYARMEPMTY
CC
AA BB
Stan koStan końńcowy (docelowy):cowy (docelowy):
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)**
BB
CC
AA
* * -- dla uproszczenia rozwadla uproszczenia rozważżaańń podcel ONTABLE(C) nie bpodcel ONTABLE(C) nie bęędzie brany pod uwagdzie brany pod uwagęę
©©AMAM
107107
Regresja celRegresja celóów: w: przykprzykłładadDrzewo przeszukiwania w przestrzeni zbiorDrzewo przeszukiwania w przestrzeni zbioróów celw celóów:w:
ON(A,B)ON(A,B)ON(B,C)ON(B,C)
CLEAR(C)CLEAR(C)HOLDING(B)HOLDING(B)ON(A,B)ON(A,B)
CLEAR(B)CLEAR(B)HOLDING(A)HOLDING(A)ON(B,C)ON(B,C)
STACK(A,B)STACK(A,B)STACK(B,C)STACK(B,C)
kkoonnfflliikktt
©©AMAM
108108
Regresja celRegresja celóów: w: przykprzykłładadDrzewo przeszukiwania w przestrzeni zbiorDrzewo przeszukiwania w przestrzeni zbioróów celw celóów:w:
ON(x,B)ON(x,B)CLEAR(x)CLEAR(x)ARMEPMTYARMEPMTYHOLDING(A)HOLDING(A)ON(B,C)ON(B,C)
ON(A,B)ON(A,B)ON(B,C)ON(B,C)
CLEAR(C)CLEAR(C)HOLDING(B)HOLDING(B)ON(A,B)ON(A,B)
CLEAR(B)CLEAR(B)HOLDING(A)HOLDING(A)ON(B,C)ON(B,C)
STACK(A,B)STACK(A,B)STACK(B,C)STACK(B,C)
UNSTACK(x,B)UNSTACK(x,B)
kkoonnfflliikktt
kkoonnfflliikktt
UNSTACK(A,x)UNSTACK(A,x)
PICKUP(A)PICKUP(A)
STACK(B,C)STACK(B,C)
2121
©©AMAM
109109
Regresja celRegresja celóów: w: przykprzykłładadDrzewo przeszukiwania w przestrzeni zbiorDrzewo przeszukiwania w przestrzeni zbioróów celw celóów:w:
ON(x,B)ON(x,B)CLEAR(x)CLEAR(x)ARMEPMTYARMEPMTYHOLDING(A)HOLDING(A)ON(B,C)ON(B,C)
ARMEPMTYARMEPMTYCLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
ON(A,B)ON(A,B)ON(B,C)ON(B,C)
CLEAR(C)CLEAR(C)HOLDING(B)HOLDING(B)ON(A,B)ON(A,B)
CLEAR(B)CLEAR(B)HOLDING(A)HOLDING(A)ON(B,C)ON(B,C)
STACK(A,B)STACK(A,B)STACK(B,C)STACK(B,C)
UNSTACK(x,B)UNSTACK(x,B)
kkoonnfflliikktt
kkoonnfflliikktt
UNSTACK(A,x)UNSTACK(A,x)
PICKUP(A)PICKUP(A)
STACK(B,C)STACK(B,C)
©©AMAM
110110
Regresja celRegresja celóów: w: przykprzykłładadDrzewo przeszukiwania w przestrzeni zbiorDrzewo przeszukiwania w przestrzeni zbioróów celw celóów:w:
ON(x,B)ON(x,B)CLEAR(x)CLEAR(x)ARMEPMTYARMEPMTYHOLDING(A)HOLDING(A)ON(B,C)ON(B,C)
ARMEPMTYARMEPMTYCLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
ON(A,x)ON(A,x)CLEAR(A)CLEAR(A)ARMEPMTYARMEPMTYCLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
ON(A,B)ON(A,B)ON(B,C)ON(B,C)
CLEAR(C)CLEAR(C)HOLDING(B)HOLDING(B)ON(A,B)ON(A,B)
CLEAR(B)CLEAR(B)HOLDING(A)HOLDING(A)ON(B,C)ON(B,C)
STACK(A,B)STACK(A,B)STACK(B,C)STACK(B,C)
UNSTACK(x,B)UNSTACK(x,B)
kkoonnfflliikktt
kkoonnfflliikktt
jejeżżeli x=Celi x=Cto konflikt;to konflikt;jejeżżeli x=Beli x=Bto cyklto cykl
UNSTACK(A,x)UNSTACK(A,x)
PICKUP(A)PICKUP(A)
STACK(B,C)STACK(B,C)
©©AMAM
111111
Regresja celRegresja celóów: w: przykprzykłładadDrzewo przeszukiwania w przestrzeni zbiorDrzewo przeszukiwania w przestrzeni zbioróów celw celóów:w:
ON(x,B)ON(x,B)CLEAR(x)CLEAR(x)ARMEPMTYARMEPMTYHOLDING(A)HOLDING(A)ON(B,C)ON(B,C)
ARMEPMTYARMEPMTYCLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
ON(A,x)ON(A,x)CLEAR(A)CLEAR(A)ARMEPMTYARMEPMTYCLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
CLEAR(C)CLEAR(C)HOLDING(B)HOLDING(B)CLEAR(B)CLEAR(B)HOLDING(A)HOLDING(A)
ON(A,B)ON(A,B)ON(B,C)ON(B,C)
CLEAR(C)CLEAR(C)HOLDING(B)HOLDING(B)ON(A,B)ON(A,B)
CLEAR(B)CLEAR(B)HOLDING(A)HOLDING(A)ON(B,C)ON(B,C)
STACK(A,B)STACK(A,B)STACK(B,C)STACK(B,C)
UNSTACK(x,B)UNSTACK(x,B)
kkoonnfflliikktt
kkoonnfflliikktt
kkoonnfflliikkttjejeżżeli x=Celi x=C
to konflikt;to konflikt;jejeżżeli x=Beli x=Bto cyklto cykl
UNSTACK(A,x)UNSTACK(A,x)
PICKUP(A)PICKUP(A)
STACK(B,C)STACK(B,C)
©©AMAM
112112
Regresja celRegresja celóów: w: operacja regresjioperacja regresji
•• Planowanie wstecz opiera siPlanowanie wstecz opiera sięę na zana załłoożżeniu, eniu, żże operator e operator wybrany do spewybrany do spełłnienia podcelu jest ostatnim w planie, a nienia podcelu jest ostatnim w planie, a pozostapozostałłe podcele zare podcele zaróówno przed, jak i po jego wykonaniu wno przed, jak i po jego wykonaniu ssąą jujużż spespełłnionenione
•• ZaZałłoożżenie to jest prawdziwe tylko wtedy, gdy enie to jest prawdziwe tylko wtedy, gdy operatoryoperatory ssąącacałłkowicie kowicie niezaleniezależżnene; najcz; najczęśęściej jednak jest inaczej ciej jednak jest inaczej --wykonanie jednego operatora mowykonanie jednego operatora możże zniweczye zniweczyćć skutki skutki dziadziałłania innego operatora ania innego operatora
•• Wsteczne zastosowanie operatora, okreWsteczne zastosowanie operatora, okreśślane mianem lane mianem regresji operatoraregresji operatora, wymaga ka, wymaga każżdorazowo sprawdzenia dorazowo sprawdzenia jakie warunki muszjakie warunki musząą bybyćć spespełłnione, aby wykonanie operacji nione, aby wykonanie operacji bybyłło moo możżliwe i prowadziliwe i prowadziłło do osio do osiąągnignięęcia podcelu bez cia podcelu bez naruszania innych (junaruszania innych (jużż spespełłnionych) podcelnionych) podcelóóww
2222
©©AMAM
113113
Regresja celRegresja celóów: w: operacja regresjioperacja regresji
•• Regresja podcelu za pomocRegresja podcelu za pomocąą operatora, ktoperatora, któóry nie wpry nie wpłływa ywa na ten podcel daje w rezultacie ten sam podcelna ten podcel daje w rezultacie ten sam podcel**, np., np.
REGRESSION(REGRESSION(ON(A,B)ON(A,B), PICKUP(C)) = , PICKUP(C)) = ON(A,B)ON(A,B)
* * -- jest to najczjest to najczęęstszy przypadek regresji operatorastszy przypadek regresji operatora
©©AMAM
114114
Regresja celRegresja celóów: w: operacja regresjioperacja regresji
•• Regresja podcelu operatorem, ktRegresja podcelu operatorem, któórych prowadzi do rych prowadzi do osiosiąągnignięęcia tego podcelu nie wymaga specia tego podcelu nie wymaga spełłnienia nienia żżadnych adnych warunkwarunkóów (warunki stosowalnow (warunki stosowalnośści operatora sci operatora sąą„„obsobsłługiwaneugiwane”” w innych sposw innych sposóóbb**), np.), np.
REGRESSION(REGRESSION(ON(A,B)ON(A,B),STACK(A,B)) = ,STACK(A,B)) = TrueTrue
* * -- zgodnie z algorytmem dodawane szgodnie z algorytmem dodawane sąą do zbioru celdo zbioru celóóww
©©AMAM
115115
Regresja celRegresja celóów: w: operacja regresjioperacja regresji
•• Regresja podcelu za pomocRegresja podcelu za pomocąą niektniektóórych operatorrych operatoróów w momożże prowadzie prowadzićć do sytuacji, w ktdo sytuacji, w któórej sperej spełłnienie tego nienie tego celu nie bcelu nie bęędzie judzie jużż wiwięęcej mocej możżliweliwe**, np., np.
REGRESSION(REGRESSION(ARMEPMTYARMEPMTY, PICKUP(C)) = , PICKUP(C)) = FalseFalse
* * -- taka taka śściecieżżka poszukiwania planu oznacza brak moka poszukiwania planu oznacza brak możżliwoliwośści dalszego planowaniaci dalszego planowania
©©AMAM
116116
Regresja celRegresja celóów: w: operacja regresjioperacja regresji
•• Regresja jednego podcelu moRegresja jednego podcelu możże e -- jako efekt uboczny jako efekt uboczny --prowadziprowadzićć rróówniewnieżż do osido osiąągnignięęcia podcelu, do ktcia podcelu, do któórego rego spespełłnienia bezponienia bezpośśrednio nie zostarednio nie zostałła ua użżytayta**, np., np.
REGRESSION(REGRESSION(ON(B,D)ON(B,D), STACK(B,D)) = , STACK(B,D)) = TrueTrueale rale róówniewnieżż
REGRESSION(REGRESSION(ARMEPMTYARMEPMTY,STACK(B,D)) = ,STACK(B,D)) = TrueTrue
* * -- podcele o wartopodcele o wartośści ci TrueTrue mogmogąą zostazostaćć usuniusunięęte ze zbioru celte ze zbioru celóów jako na pewno spew jako na pewno spełłnionenione
2323
©©AMAM
117117
Regresja celRegresja celóów: w: warunki zakowarunki zakońńczenia planowaniaczenia planowania
•• Proces planowania odbywa siProces planowania odbywa sięę wstecz wstecz -- nie wiadomo jakie nie wiadomo jakie operacje zostaoperacje zostałły (a w zasadzie: zostany (a w zasadzie: zostanąą) wykonane przed ) wykonane przed aktualnym operatorem oraz jakie byaktualnym operatorem oraz jakie byłły ich skutki poza tym, y ich skutki poza tym, żże e doprowadzidoprowadziłły do spey do spełłnienia wszystkich oprnienia wszystkich opróócz jednego cz jednego podcelu ze zbioru celpodcelu ze zbioru celóóww
•• Nie sNie sąą znane skutki uboczne wykonania tych wczeznane skutki uboczne wykonania tych wcześśniejszych niejszych operacji i ich ewentualny wpoperacji i ich ewentualny wpłływ na inne podcele yw na inne podcele -- żżaden aden podcel nie mopodcel nie możże bye byćć zignorowany zanim nie ulegnie regresji zignorowany zanim nie ulegnie regresji do warunku do warunku TrueTrue
•• Proces planowania moProces planowania możże zakoe zakońńczyczyćć sisięę, gdy mamy pewno, gdy mamy pewnośćść, , żże e żżadne warunki nie ulegnadne warunki nie ulegnąą jujużż zmianie zmianie -- wszystkie podcele wszystkie podcele ssąą jednoczejednocześśnie spenie spełłnione w stanie pocznione w stanie począątkowym i nie ma tkowym i nie ma potrzeby stosowania jakichkolwiek operatorpotrzeby stosowania jakichkolwiek operatoróów w poprzedzajpoprzedzająących cicych ciąąg operacji dopiero co znalezionyg operacji dopiero co znaleziony
©©AMAM
119119
Regresja celRegresja celóów: w: przykprzykłładadDrzewo poszukiwania planu w przestrzeni zbiorDrzewo poszukiwania planu w przestrzeni zbioróów celw celóów:w:
HOLDING(x)HOLDING(x)CLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
HOLDING(x)HOLDING(x)CLEAR(y)CLEAR(y)CLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
ARMEPMTYARMEPMTYCLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
PUTDOWN(x)PUTDOWN(x)
STACK(x,y)STACK(x,y)jejeżżeli x=Aeli x=Ato konflikt;to konflikt;jejeżżeli x=B lub Celi x=B lub Cto konfliktto konflikt
©©AMAM
120120
Regresja celRegresja celóów: w: przykprzykłładadDrzewo poszukiwania planu w przestrzeni zbiorDrzewo poszukiwania planu w przestrzeni zbioróów celw celóów:w:
HOLDING(x)HOLDING(x)CLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
HOLDING(x)HOLDING(x)CLEAR(y)CLEAR(y)CLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
FalseFalseON(x,A)ON(x,A)CLEAR(x)CLEAR(x)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
ARMEPMTYARMEPMTYCLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
PUTDOWN(x)PUTDOWN(x)
STACK(x,y)STACK(x,y)UNSTACK(x,A)UNSTACK(x,A)jejeżżeli x=Aeli x=A
to konflikt;to konflikt;jejeżżeli x=B lub Celi x=B lub Cto konfliktto konflikt
niespeniespełłnialny!nialny!
FalseFalse
©©AMAM
121121
Regresja celRegresja celóów: w: przykprzykłładadDrzewo poszukiwania planu w przestrzeni zbiorDrzewo poszukiwania planu w przestrzeni zbioróów celw celóów:w:
HOLDING(x)HOLDING(x)CLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
HOLDING(x)HOLDING(x)CLEAR(y)CLEAR(y)CLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
FalseFalseON(x,A)ON(x,A)CLEAR(x)CLEAR(x)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
FalseFalseON(x,B)ON(x,B)CLEAR(x)CLEAR(x)ONTABLE(A)ONTABLE(A)CLEAR(A)CLEAR(A)ON(B,C)ON(B,C)
ARMEPMTYARMEPMTYCLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
PUTDOWN(x)PUTDOWN(x)
STACK(x,y)STACK(x,y)UNSTACK(x,A)UNSTACK(x,A)
UNSTACK(x,B)UNSTACK(x,B)
jejeżżeli x=Aeli x=Ato konflikt;to konflikt;jejeżżeli x=B lub Celi x=B lub Cto konfliktto konflikt
niespeniespełłnialnynialny niespeniespełłnialny!nialny!FalseFalse
2424
©©AMAM
122122
Regresja celRegresja celóów: w: przykprzykłładadDrzewo poszukiwania planu w przestrzeni zbiorDrzewo poszukiwania planu w przestrzeni zbioróów celw celóów:w:
HOLDING(x)HOLDING(x)CLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
HOLDING(x)HOLDING(x)CLEAR(y)CLEAR(y)CLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
FalseFalseON(x,A)ON(x,A)CLEAR(x)CLEAR(x)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
TrueTrueCLEAR(A)CLEAR(A)HOLDING(A)HOLDING(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
FalseFalseON(x,B)ON(x,B)CLEAR(x)CLEAR(x)ONTABLE(A)ONTABLE(A)CLEAR(A)CLEAR(A)ON(B,C)ON(B,C)
ARMEPMTYARMEPMTYCLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
PUTDOWN(x)PUTDOWN(x)
STACK(x,y)STACK(x,y)UNSTACK(x,A)UNSTACK(x,A)
PUTDOWN(A)PUTDOWN(A)
UNSTACK(x,B)UNSTACK(x,B)
jejeżżeli x=Aeli x=Ato konflikt;to konflikt;jejeżżeli x=B lub Celi x=B lub Cto konfliktto konflikt
niespeniespełłnialnynialny niespeniespełłnialnynialny
©©AMAM
123123
Regresja celRegresja celóów: w: przykprzykłład c.d.ad c.d.Drzewo poszukiwania planu w przestrzeni zbiorDrzewo poszukiwania planu w przestrzeni zbioróów celw celóów:w:
HOLDING(x)HOLDING(x)CLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
HOLDING(x)HOLDING(x)CLEAR(y)CLEAR(y)CLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
FalseFalseON(x,A)ON(x,A)CLEAR(x)CLEAR(x)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
TrueTrueCLEAR(A)CLEAR(A)HOLDING(A)HOLDING(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
FalseFalseON(x,B)ON(x,B)CLEAR(x)CLEAR(x)ONTABLE(A)ONTABLE(A)CLEAR(A)CLEAR(A)ON(B,C)ON(B,C)
HOLDING(B)HOLDING(B)CLEAR(C)CLEAR(C)TrueTrueCLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)
ARMEPMTYARMEPMTYCLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
PUTDOWN(x)PUTDOWN(x)
STACK(x,y)STACK(x,y)UNSTACK(x,A)UNSTACK(x,A)
STACK(B,C)STACK(B,C)
PUTDOWN(A)PUTDOWN(A)
UNSTACK(x,B)UNSTACK(x,B)
jejeżżeli x=Aeli x=Ato konflikt;to konflikt;jejeżżeli x=B lub Celi x=B lub Cto konfliktto konflikt
niespeniespełłnialnynialny niespeniespełłnialnynialny
©©AMAM
124124
Regresja celRegresja celóów: w: heurystykiheurystyki
•• Warunkiem zatrzymania procesu planowania jest Warunkiem zatrzymania procesu planowania jest osiosiąągnignięęcie stanu poczcie stanu począątkowego (wnioskowanie wstecz) tkowego (wnioskowanie wstecz) --wiedza o tym stanie jest zatem kluczowa dla wiedza o tym stanie jest zatem kluczowa dla podejmowania decyzji o charakterze heurystycznympodejmowania decyzji o charakterze heurystycznym
•• JeJeżżeli jeden z podceleli jeden z podcelóów ze zbioru celw ze zbioru celóów w jest spejest spełłniony w niony w stanie poczstanie począątkowymtkowym, to pr, to próóbbęę jego osijego osiąągnignięęcia nalecia należży y ododłłoożżyyćć na pna póóźźniej niej -- bybyćć momożże osie osiąągnignięęcie jego nie cie jego nie bbęędzie wymagadzie wymagałło o żżadnych dodatkowych nakadnych dodatkowych nakłładadóów, gdyw, gdyżżspespełłnianie innych podcelnianie innych podcelóów nie naruszy jego w nie naruszy jego prawdziwoprawdziwośścici
•• JeJeżżeli jakieli jakiśś podcel jest podcel jest łłatwo zniweczyatwo zniweczyćć lub lub łłatwo atwo osiosiąągngnąćąć, to jego spe, to jego spełłnienie nalenienie należży ody odłłoożżyyćć na pna póóźźniejniej
©©AMAM
125125
Regresja celRegresja celóów: w: przykprzykłładadDrzewo poszukiwania planu w przestrzeni zbiorDrzewo poszukiwania planu w przestrzeni zbioróów celw celóów:w:
HOLDING(x)HOLDING(x)CLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
HOLDING(x)HOLDING(x)CLEAR(y)CLEAR(y)CLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
FalseFalseON(x,A)ON(x,A)CLEAR(x)CLEAR(x)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
TrueTrueCLEAR(A)CLEAR(A)HOLDING(A)HOLDING(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
FalseFalseON(x,B)ON(x,B)CLEAR(x)CLEAR(x)ONTABLE(A)ONTABLE(A)CLEAR(A)CLEAR(A)ON(B,C)ON(B,C)
HOLDING(B)HOLDING(B)CLEAR(C)CLEAR(C)TrueTrueCLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)
ARMEPMTYARMEPMTYCLEAR(A)CLEAR(A)ONTABLE(A)ONTABLE(A)CLEAR(B)CLEAR(B)ON(B,C)ON(B,C)
PUTDOWN(x)PUTDOWN(x)
STACK(x,ySTACK(x,y))UNSTACK(x,A)UNSTACK(x,A)
STACK(B,C)STACK(B,C)
PUTDOWN(A)PUTDOWN(A)
UNSTACK(x,B)UNSTACK(x,B)
konfliktkonflikt
niespeniespełłnialnynialny niespeniespełłnialnynialnykonfliktkonflikt
SpeSpełłniony w niony w SS00
2525
©©AMAM
127127
Regresja celRegresja celóów: w: podsumowaniepodsumowanie•• Generowane drzewo poszukiwaGenerowane drzewo poszukiwańń planu jest bardzo planu jest bardzo
rozgarozgałęłęzione zione –– algorytm wymaga analizy wszystkich algorytm wymaga analizy wszystkich momożżliwych uporzliwych uporząądkowadkowańń podcelpodcelóów (ewentualne w (ewentualne nawroty!), jak rnawroty!), jak róówniewnieżż wszystkich mowszystkich możżliwych sposobliwych sposobóów w ich speich spełłnienianienia
•• Analiza taka jest bezcelowa w problemach caAnaliza taka jest bezcelowa w problemach całłkowicie kowicie dekomponowalnychdekomponowalnych –– brak zalebrak zależżnonośści mici mięędzy dzy podcelamipodcelamilub zalelub zależżnonośści te sci te sąą bardzo sbardzo słłabe, wiabe, więęc kolejnoc kolejnośćść w jakiej w jakiej osiosiąągamy wtedy podcele nie ma znaczeniagamy wtedy podcele nie ma znaczenia
•• Brak uniwersalnego mechanizmu, ktBrak uniwersalnego mechanizmu, któóry wskazywary wskazywałłby by najlepsze kierunki poszukiwania planu, co monajlepsze kierunki poszukiwania planu, co możże e prowadziprowadzićć do analizy zupedo analizy zupełłnie marginalnych elementnie marginalnych elementóów w planu, ktplanu, któórych wystrych wystęępowanie w ostatecznym planie jest powanie w ostatecznym planie jest nieistotnenieistotne
©©AMAM
128128
Planowanie liniowe: Planowanie liniowe: podsumowaniepodsumowanie
•• W metodach planowania liniowego plan generowany jest W metodach planowania liniowego plan generowany jest sekwencyjnie dla kolejnych podcelsekwencyjnie dla kolejnych podcelóów, tak dw, tak dłługo augo ażż nie nie zostanie osizostanie osiąągnignięęty stan docelowyty stan docelowy
•• plan prowadzplan prowadząący do specy do spełłnienia pewnego podcelu nie jest nienia pewnego podcelu nie jest generowany dopgenerowany dopóóty, dopty, dopóóki nie zakoki nie zakońńczy siczy sięę planowanie planowanie dla podcelu bezpodla podcelu bezpośśrednio go poprzedzajrednio go poprzedzająącegocego
•• kompletny plan skkompletny plan skłłada siada sięę z ciz ciąągu operacji prowadzgu operacji prowadząących cych do pierwszego podcelu, po ktdo pierwszego podcelu, po któórych nastrych nastęępuje cipuje ciąąg operacji g operacji spespełłniajniająących drugi podcel, itd.cych drugi podcel, itd.
•• kompletny plan jest liniowo uporzkompletny plan jest liniowo uporząądkowandkowanąą sekwencjsekwencjąąkompletnych kompletnych podplanpodplanóóww
©©AMAM
129129
Wprowadzenie do Sztucznej Wprowadzenie do Sztucznej InteligencjiInteligencji
WykWykłład 7ad 7Informatyka Studia InInformatyka Studia Inżżynierskieynierskie
©©AMAM
130130
Planowanie nieliniowe: Planowanie nieliniowe: charakterystykacharakterystyka
•• W metodach planowania nieliniowego generowanie W metodach planowania nieliniowego generowanie operacji na rzecz jednego celu mooperacji na rzecz jednego celu możże przeplatae przeplataćć sisięę z z operacjami prowadzoperacjami prowadząącymi do specymi do spełłnienia innego podcelunienia innego podcelu
•• Planowanie prowadzPlanowanie prowadząące do spece do spełłnienia pewnego podcelu nienia pewnego podcelu momożże zostae zostaćć przerwane w celu zbudowania planu dla przerwane w celu zbudowania planu dla innego podcelu, po czym moinnego podcelu, po czym możżliwy jest powrliwy jest powróót do t do poprzedniego celu planowania lub mopoprzedniego celu planowania lub możże rozpocze rozpocząćąć sisięęgeneracja planu dla jeszcze innego podcelugeneracja planu dla jeszcze innego podcelu
•• Nieliniowe konstruowanie planu przebiega niezaleNieliniowe konstruowanie planu przebiega niezależżnie nie od liniowej (i pod liniowej (i póóźźniejszej) realizacja planuniejszej) realizacja planu
•• Plan nie jest wykonywany zanim nie zostanie Plan nie jest wykonywany zanim nie zostanie kompletnie zbudowanykompletnie zbudowany
2626
©©AMAM
131131
Planowanie nieliniowe: Planowanie nieliniowe: charakterystykacharakterystyka•• planowanie odbywa siplanowanie odbywa sięę w przestrzeni planw przestrzeni planóóww a nie w przestrzeni a nie w przestrzeni
stanstanóów (sytuacji)w (sytuacji)–– rozpoczynamy od nieperozpoczynamy od niepełłnego, ognego, ogóólnego planulnego planu–– operatory soperatory słłuużążą do uszczegdo uszczegóółławiania bawiania bąąddźź modyfikacji planu takich jak: modyfikacji planu takich jak:
dodanie nowej operacji, zmiana kolejnododanie nowej operacji, zmiana kolejnośści operacji, wici operacji, wiąązanie zmiennej zanie zmiennej wolnej itp.wolnej itp.
–– rozbudowa planu korozbudowa planu końńczy siczy sięę, gdy otrzymamy kompletny plan prowadz, gdy otrzymamy kompletny plan prowadząący cy od od SS00 do do SSgg i nie jest istotne jaki nie jest istotne jakąą śściecieżżkkąą osiosiąągaligaliśśmy rozwimy rozwiąązaniezanie
•• planowanie odbywa siplanowanie odbywa sięę wsteczwstecz (wybieramy operatory na podstawie (wybieramy operatory na podstawie osiosiąąganych przez nie celganych przez nie celóów), aby ograniczyw), aby ograniczyćć rozmiar rozmiar przeszukiwanej przestrzeni planprzeszukiwanej przestrzeni planóóww
•• ustalanie kolejnoustalanie kolejnośści operatorci operatoróów i wiw i wiąązazańń zmiennych odbywa sizmiennych odbywa sięęzgodnie ze zgodnie ze strategistrategiąą leastleast--commitmentcommitment
•• rezultatem korezultatem końńcowym planowania jest cowym planowania jest czczęśęściowo uporzciowo uporząądkowany dkowany planplan w przeciwiew przeciwieńństwie do systemstwie do systemóów liniowych, w ktw liniowych, w któórych plan rych plan jest cajest całłkowicie uporzkowicie uporząądkowanym cidkowanym ciąągiem operacjigiem operacji
©©AMAM
146146
Strategia Strategia leastleast--commitmentcommitment planowania w przestrzeni planowania w przestrzeni planplanóów oznacza, w oznacza, żże:e:
•• nie jest wymagane z gnie jest wymagane z góóry podjry podjęęcie wszystkich decyzji cie wszystkich decyzji dotyczdotycząących planu (kolejnocych planu (kolejnośćść operacji, wioperacji, wiąązania zania zmiennych itp.)zmiennych itp.)
•• dokonywane wybory dotyczdokonywane wybory dotycząą tylko tych aspekttylko tych aspektóów planu, w planu, ktktóóre sre sąą istotne w danym momencie i ktistotne w danym momencie i któórych nie morych nie możżna na uniknuniknąćąć
•• odkodkłładanie decyzji tak dadanie decyzji tak dłługo jak to mougo jak to możżliwe pozwoli liwe pozwoli zredukowazredukowaćć liczbliczbęę nawrotnawrotóów, ktw, któórych wystrych wystąąpienie jest pienie jest wwłłaaśśnie bezponie bezpośśredniredniąą konsekwencjkonsekwencjąą bbłęłędnie podjdnie podjęętych tych decyzji (za wczedecyzji (za wcześśniej i przy zbyt ograniczonej wiedzy)niej i przy zbyt ograniczonej wiedzy)
Strategia Strategia leastleast--commitmentcommitment
©©AMAM
147147
•• Jest czJest częśęściowo uporzciowo uporząądkowanym grafemdkowanym grafem•• OsiOsiąągany jest gany jest śściecieżżkkąą, kt, któórej nie musimy pamirej nie musimy pamięętataćć w w
przeciwieprzeciwieńństwie do planowania w przestrzeni stanstwie do planowania w przestrzeni stanóóww•• Jest reprezentacjJest reprezentacjąą zbioru kompletnych i w pezbioru kompletnych i w pełłni ni
uporzuporząądkowanych plandkowanych planóów w •• Jego wykonanie wymaga zwiJego wykonanie wymaga zwiąązania wszystkich zania wszystkich
zmiennych (konkretyzacja)zmiennych (konkretyzacja)•• Jego realizacja zwana linearyzacjJego realizacja zwana linearyzacjąą planu jest jednplanu jest jednąą z z
wielu mowielu możżliwych konkretyzacji planu czliwych konkretyzacji planu częśęściowegociowego
Plan w przestrzeni przeszukiwania planPlan w przestrzeni przeszukiwania planóóww
©©AMAM
148148
Plan skPlan skłłada siada sięę z:z:•• zbioru krokzbioru krokóóww; ka; każżdy krok reprezentuje operacjdy krok reprezentuje operacjęę, b, bęęddąąccąą
fragmentem realizacji planufragmentem realizacji planu•• zbioru ograniczezbioru ograniczeńń kolejnokolejnośściowychciowych reprezentowanych reprezentowanych
przez pary wyraprzez pary wyrażżeeńń postaci postaci SSii SSjj, kt, któóre oznacza, re oznacza, żże stan e stan SSii musi wystmusi wystąąpipićć przed stanem przed stanem SSjj (niekoniecznie (niekoniecznie bezpobezpośśrednio)rednio)
•• zbioru wizbioru wiąązazańń wartowartośścici zmiennychzmiennych w postaci wyraw postaci wyrażżeeńń XX==YY, , gdzie zmienna gdzie zmienna XX przyjmuje wartoprzyjmuje wartośćść Y Y (sta(stałłej lub zmiennej)ej lub zmiennej)
•• zbioru zalezbioru zależżnonośści przyczynowychci przyczynowych (ang. (ang. casual linkscasual links) pod ) pod postacipostaciąą wyrawyrażżeeńń SSii SSjj, kt, któóre oznacza, ire oznacza, iżż krok krok SSii „„spespełłnia nia warunekwarunek”” cc kroku kroku SSjj
Planowanie czPlanowanie częśęściowo uporzciowo uporząądkowane: dkowane: reprezentacja planureprezentacja planu
cc
2727
©©AMAM
149149
Planowanie czPlanowanie częśęściowo uporzciowo uporząądkowane: dkowane: operatoryoperatory
Start:Start: pierwszy operator w planie (zawsze!); brak warunkpierwszy operator w planie (zawsze!); brak warunkóów w stosowalnostosowalnośści; efektem dziaci; efektem działłania (lista ADD) jest dodanie ania (lista ADD) jest dodanie predykatpredykatóów, ktw, któóre sre sąą spespełłnione w stanie pocznione w stanie począątkowymtkowym
Start:Start: PRECONDITION: PRECONDITION: nullnullDELETE:DELETE: nullnullADD:ADD: SS00
FinishFinish:: ostatni operator w planie (zawsze!); brak efektostatni operator w planie (zawsze!); brak efektóów wykonania; w wykonania; warunkiem stosowalnowarunkiem stosowalnośści (lista PREci (lista PRE……) jest zbi) jest zbióór predykatr predykatóów, w, opisujopisująących stan docelowycych stan docelowy
FinishFinish:: PRECONDITION: PRECONDITION: SSgg
DELETE:DELETE: nullnullADD:ADD: nullnull
Plan zawsze zaczyna siPlan zawsze zaczyna sięę od predefiniowanego operatora od predefiniowanego operatora StartStart i koi końńczy predefiniowanym czy predefiniowanym FinishFinish..
©©AMAM
150150
Planowanie czPlanowanie częśęściowo uporzciowo uporząądkowane: dkowane: przykprzykłładad
Start: Start: PRECONDITION:PRECONDITION: nullnull FinishFinish:: PRECONDITION:PRECONDITION: RightShoeOnRightShoeOn LeftShoeOnLeftShoeOnDELETE:DELETE: nullnull DELETE:DELETE: nullnullADD:ADD: nullnull ADD:ADD: nullnull
RightSockRightSock:: PRECONDITION:PRECONDITION: nullnull LeftSockLeftSock:: PRECONDITION:PRECONDITION: nullnullDELETE:DELETE: nullnull DELETE:DELETE: nullnullADD:ADD: RightSockOnRightSockOn ADD:ADD: LeftSockOnLeftSockOn
RightShoeRightShoe:: PRECONDITION:PRECONDITION: RightSockOnRightSockOn LeftShoeLeftShoe:: PRECONDITION:PRECONDITION: LeftSockOnLeftSockOnDELETE:DELETE: nullnull DELETE:DELETE: nullnullADD:ADD: RightShoeOnRightShoeOn ADD:ADD: LeftShoeOnLeftShoeOn
Operatory:Operatory:
Operatory poczOperatory począątkowe/predefiniowane:tkowe/predefiniowane:
PrzykPrzykłład planowania czad planowania częśęściowo uporzciowo uporząądkowanego dla dkowanego dla zadania zadania ubierania skarpetek i butubierania skarpetek i butóóww
©©AMAM
152152
Planowanie czPlanowanie częśęściowo uporzciowo uporząądkowane: dkowane: przykprzykłładad
PLAN(PLAN(STEPS:{STEPS:{ SS11::StartStart()()SS22::FinishFinish(PRECOND: (PRECOND: LeftShoeOnLeftShoeOn RightShoeOnRightShoeOn)})}
ORDERINGS:{ORDERINGS:{SS11 SS22}}BINDINGS:{}BINDINGS:{}LINKS:{})LINKS:{})
Graf poczGraf począątkowy poszukiwania planu:tkowy poszukiwania planu:
StartStart
FinishFinishLeftShoeOnLeftShoeOn RightShoeOnRightShoeOn
Reprezentacja planuReprezentacja planu
©©AMAM
153153
Planowanie czPlanowanie częśęściowo uporzciowo uporząądkowane: dkowane: przykprzykłładadPlan Plan czczęśęściowociowo uporzuporząądkowany:dkowany:
StartStart
FinishFinish
LeftLeftShoeShoe
LeftLeftSockSock
StartStart
FinishFinish
LeftLeftSockSock
LeftLeftShoeShoe
StartStart
FinishFinish
LeftLeftShoeShoe
LeftLeftSockSock
StartStart
FinishFinish
LeftLeftSockSock
LeftLeftShoeShoe
StartStart
FinishFinish
LeftLeftShoeShoe
LeftLeftSockSock
StartStart
FinishFinish
LeftLeftSockSock
LeftLeftShoeShoe
Wszystkie plany Wszystkie plany cacałłkowiciekowicie uporzuporząądkowane:dkowane:
StartStart
FinishFinish
LeftShoeOnLeftShoeOn RightShoeOnRightShoeOn
LeftLeftSockSock
RightRightSockSock
RightRightShoeShoe
LeftLeftShoeShoe
RightShoeOnRightShoeOn RightShoeOnRightShoeOn
RightRightSockSock
RightRightSockSock
RightRightSockSock
RightRightShoeShoe
RightRightShoeShoe
RightRightShoeShoe
RightRightSockSock
RightRightShoeShoe
RightRightShoeShoe
RightRightSockSock
RightRightSockSock
RightRightShoeShoe
2828
©©AMAM
154154
Planowanie czPlanowanie częśęściowo uporzciowo uporząądkowane: dkowane: przykprzykłładad
•• Reprezentacja rozwiReprezentacja rozwiąązaniazaniaw postaci planu czw postaci planu częśęściowo ciowo uporzuporząądkowanego jest dkowanego jest bardziej zwibardziej zwięęzzłłaa
•• KaKażżdy nowy krok w dy nowy krok w czczęśęściowym planie powoduje ciowym planie powoduje wykwykłładniczy wzrost liczby adniczy wzrost liczby linearyzacji planulinearyzacji planu
•• PrzykPrzykłładad: dodanie dw: dodanie dwóóch ch nowych operacji (nowych operacji (HatHat i i CoatCoat) ) bbęędzie skutkowadzie skutkowaćć liczbliczbąą 180 180 linearyzacjilinearyzacji
StartStart
FinishFinish
LeftShoeOnLeftShoeOn RightShoeOnRightShoeOn
LeftLeftSockSock
RightRightSockSock
RightRightShoeShoe
LeftLeftShoeShoe
RightShoeOnRightShoeOn RightShoeOnRightShoeOn HatOnHatOn CoatOnCoatOn
Plan Plan czczęśęściowociowo uporzuporząądkowany:dkowany:
HatHat CoatCoat
©©AMAM
155155
Wynik planowania czWynik planowania częśęściowo uporzciowo uporząądkowanego, to dkowanego, to acykliczny graf skierowany, w ktacykliczny graf skierowany, w któórym porzrym porząądek nie dek nie wszystkich operacji jest zdeterminowany i nie wszystkie wszystkich operacji jest zdeterminowany i nie wszystkie zmienne majzmienne mająą okreokreśślonlonąą wartowartośćść, wi, więęc musi on byc musi on byćć::
•• planem kompletnymplanem kompletnym, w kt, w któórym karym każżdy warunek dy warunek cc kroku kroku OOjjjest osijest osiąągany przez zastosowanie pewnej operacji gany przez zastosowanie pewnej operacji OOii takiej, takiej, żże e OOiiOOjj i i ccADD(ADD(OOii) oraz ) oraz OOkk OOkkOOjj ccDELETE(DELETE(OOkk), gdzie ), gdzie OOiiOOkkOOjj jest jednjest jednąą z moz możżliwych liwych linearyzacji planulinearyzacji planu
•• planem spplanem spóójnymjnym, w kt, w któórym nie wystrym nie wystęępujpująą sprzecznosprzecznośści w ci w porzporząądku operacji lub widku operacji lub wiąązaniu zmiennych tzn. nie zaniu zmiennych tzn. nie zachodzi nigdy zachodzi nigdy OOiiOOjj OOjjOOii lub lub XX==aa i i XX==bb (dla dw(dla dwóóch ch rróóżżnych stanych stałłych ych aa i i bb))
Planowanie czPlanowanie częśęściowo uporzciowo uporząądkowane: dkowane: reprezentacja rozwireprezentacja rozwiąązaniazania
©©AMAM
156156
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowego
•• Zadanie:Zadanie:ZaplanowaZaplanowaćć zakupy mleka, gazety i wiertarki wraz z powrotem do zakupy mleka, gazety i wiertarki wraz z powrotem do domudomu..
•• ZaZałłoożżenia:enia:a. Wyruszamy na zakupy z domu i wracamy z nimi do domua. Wyruszamy na zakupy z domu i wracamy z nimi do domub. Mob. Możżemy wykonaemy wykonaćć tylko dwie operacje: Go (przemieszczanie) oraz tylko dwie operacje: Go (przemieszczanie) oraz BuyBuy (kupowanie)(kupowanie)c. W operacji kupowania ignorujemy kwestic. W operacji kupowania ignorujemy kwestięę kosztkosztóów (pieniw (pienięędzy)dzy)
©©AMAM
157157
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowegoPredykaty opisu stanu:Predykaty opisu stanu:
Start: Start: PRECONDITION:PRECONDITION: at(homeat(home) ) FinishFinish:: PRECONDITION:PRECONDITION: have(drillhave(drill) ) sells(hardware,drillsells(hardware,drill) ) have(milkhave(milk)) sells(cornershop,papersells(cornershop,paper) ) have(paperhave(paper)) sells(cornershop,milksells(cornershop,milk)) at(homeat(home))
DELETE:DELETE: nullnull DELETE:DELETE: nullnullADD:ADD: nullnull ADD:ADD: nullnull
Go(YGo(Y):): PRECONDITION:PRECONDITION: at(Xat(X) ) Buy(XBuy(X):): PRECONDITION:PRECONDITION: at(Sat(S) ) sells(S,Xsells(S,X))DELETE:DELETE: at(Xat(X)) DELETE:DELETE: nullnullADD:ADD: at(Yat(Y) ) ADD:ADD: have(Xhave(X))
Operatory:Operatory:
Operatory predefiniowane:Operatory predefiniowane:
at(Xat(X)) -- wskazuje aktualne powskazuje aktualne połłoożżenie jako X (enie jako X (npnp. . homehome, , cornershopcornershop itp.) itp.) sells(X,Ysells(X,Y) ) –– oznacza, oznacza, żże towar Y moe towar Y możżna zakupina zakupićć w Xw Xhave(Xhave(X) ) –– oznacza, oznacza, żże posiadamy Xe posiadamy X
2929
©©AMAM
158158
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowego
Graf poczGraf począątkowy poszukiwania planu:tkowy poszukiwania planu:
sells(cornershop,milksells(cornershop,milk))at(homeat(home))
StartStart
FinishFinish
sells(hardware,drillsells(hardware,drill))sells(cornershop,papersells(cornershop,paper))
have(paperhave(paper)) at(homeat(home))have(milkhave(milk))have(drillhave(drill))
©©AMAM
159159
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowego
Planowanie w przestrzeni planPlanowanie w przestrzeni planóów:w:
StartStart
FinishFinish
have(milkhave(milk)) at(homeat(home))have(paperhave(paper))have(drillhave(drill))
Buy(milkBuy(milk)) Buy(paperBuy(paper))Buy(drillBuy(drill))
at(S),sells(S,drillat(S),sells(S,drill)) at(S),sells(S,milkat(S),sells(S,milk)) at(S),sells(S,paperat(S),sells(S,paper))
SpeSpełłniony w stanieniony w staniepoczpocząątkowymtkowym
ZaleZależżnonośści przyczynoweci przyczynowe(relacja przyczynowo(relacja przyczynowośści) ci) chroni warunek chroni warunek have(Xhave(X)), , uniemouniemożżliwiajliwiająąc wstawienie c wstawienie w tym miejscu operatora w tym miejscu operatora negujnegująącego cego have(Xhave(X))
Ograniczenia kolejnoOgraniczenia kolejnośściowe ciowe (relacja porz(relacja porząądku)dku)
©©AMAM
160160
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowego
Planowanie w przestrzeni planPlanowanie w przestrzeni planóów: wybw: wybóór celr celóów w have(drillhave(drill), ), have(milkhave(milk) oraz ) oraz have(paperhave(paper))
StartStart
FinishFinish
have(milkhave(milk)) have(paperhave(paper))have(drillhave(drill))
Buy(milkBuy(milk)) Buy(paperBuy(paper))Buy(drillBuy(drill))
at(hrdwat(hrdw))
Brak operatorBrak operatoróów w osiosiąągajgająących cele cych cele sells(X,Ysells(X,Y)), wi, więęc muszc musząąbybyćć spespełłnione w stanie nione w stanie poczpocząątkowym!tkowym!
sells(hrdw,drillsells(hrdw,drill)) sells(crns,milksells(crns,milk)) at(crnsat(crns)) sells(crns,papersells(crns,paper))at(crnsat(crns))
SkrSkróóty: ty: crnscrnscornershopcornershop oraz oraz hrdwhrdwhardwarehardware ©©AMAM
161161
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowego
Planowanie w przestrzeni planPlanowanie w przestrzeni planóów: wybw: wybóór celr celóów w at(hardwareat(hardware) oraz ) oraz at(cornershopat(cornershop))
StartStart
FinishFinish
have(milkhave(milk)) have(paperhave(paper))have(drillhave(drill))
Buy(milkBuy(milk)) Buy(paperBuy(paper))Buy(drillBuy(drill))
at(Xat(X))
Go(hardwareGo(hardware))
at(hrdwat(hrdw)) sells(hrdw,drillsells(hrdw,drill)) sells(crns,milksells(crns,milk)) at(crnsat(crns)) sells(crns,papersells(crns,paper))at(crnsat(crns))
at(Xat(X))
Go(cornershopGo(cornershop))
3030
©©AMAM
162162
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowego
Planowanie w przestrzeni planPlanowanie w przestrzeni planóów: w: prpróóba speba spełłnienianienia celu celu at(Xat(X) przez ) przez X=homeX=home
StartStart
FinishFinish
have(milkhave(milk)) have(paperhave(paper))have(drillhave(drill))
Buy(milkBuy(milk)) Buy(paperBuy(paper))Buy(drillBuy(drill))
at(homeat(home))
Na podstawie stanu poczNa podstawie stanu począątkowego tkowego X=homeX=home !!
Go(hardwareGo(hardware))
at(hrdwat(hrdw)) sells(hrdw,drillsells(hrdw,drill)) sells(crns,milksells(crns,milk)) at(crnsat(crns)) sells(crns,papersells(crns,paper))at(crnsat(crns))
at(homeat(home))
Go(cornershopGo(cornershop))SS11:: SS22::
Relacja porzRelacja porząądkudkuSS00:at(home):at(home) SS11:at(hrdw):at(hrdw)jest sprzeczna z relacjjest sprzeczna z relacjąą::SS00:at(home):at(home) SS22:at(crns):at(crns)
©©AMAM
163163
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowego
Planowanie w przestrzeni planPlanowanie w przestrzeni planóów: prw: próóba speba spełłnienia celu nienia celu at(Xat(X) przez ) przez X=homeX=home
StartStart
FinishFinish
have(milkhave(milk)) have(paperhave(paper))have(drillhave(drill))
Buy(milkBuy(milk)) Buy(paperBuy(paper))Buy(drillBuy(drill))
at(homeat(home))
Na podstawie stanu poczNa podstawie stanu począątkowego tkowego X=homeX=home !!
Go(hardwareGo(hardware))
at(hrdwat(hrdw)) sells(hrdw,drillsells(hrdw,drill)) sells(crns,milksells(crns,milk)) at(crnsat(crns)) sells(crns,papersells(crns,paper))at(crnsat(crns))
at(homeat(home))
Go(cornershopGo(cornershop))
at(homeat(home)) at(homeat(home))
Krok Krok Go(hardwareGo(hardware) ) uniemouniemożżliwialiwia
zazaśś krok krok Go(cornershopGo(cornershop)))(
)(
cornershopGoStarthomeat
)()(
hardwareGoStarthomeat
©©AMAM
164164
Planowanie nieliniowe: obsPlanowanie nieliniowe: obsłługa tzw. zagrouga tzw. zagrożżeeńń
Planowanie w przestrzeni planPlanowanie w przestrzeni planóów: ochrona zagrow: ochrona zagrożżonych relacji przyczynowoonych relacji przyczynowośścici
conditionconditionSS11
Relacja przyczynowoRelacja przyczynowośścici
jest zagrojest zagrożżona przez krok ona przez krok SS33
conditioncondition
SS22
SS33
conditioncondition
21 SS condition
conditioncondition
SS11
conditioncondition
SS22
SS33
conditioncondition
SS11
conditioncondition
SS22
SS33
conditioncondition
Eliminacja zagroEliminacja zagrożżeeńń przez przez zmianzmianęę ograniczeograniczeńńkolejnokolejnośściowych:ciowych:promocjapromocja kroku kroku SS33
Eliminacja zagroEliminacja zagrożżeeńń przez przez zmianzmianęę ograniczeograniczeńńkolejnokolejnośściowych:ciowych:degradacjadegradacja kroku kroku SS33 ©©AMAM
165165
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowego
Planowanie w przestrzeni planPlanowanie w przestrzeni planóów: prw: próóba speba spełłnienia celu nienia celu at(Xat(X) dla ) dla Go(cornershopGo(cornershop) przez ) przez X=hrdwX=hrdw
StartStart
FinishFinish
have(milkhave(milk)) have(paperhave(paper))have(drillhave(drill))
Buy(milkBuy(milk)) Buy(paperBuy(paper))Buy(drillBuy(drill))
at(homeat(home))
Ani degradacja ani promocja nie eliminujAni degradacja ani promocja nie eliminująą wzajemnego zagrowzajemnego zagrożżenia Senia S11 i Si S22. Tylko pr. Tylko próóba ba osiosiąągnignięęcia w inny sposcia w inny sposóób jednego z warunkb jednego z warunkóów w at(Xat(X) mo) możże coe cośś zmienizmienićć ale ale ……
Go(hardwareGo(hardware))
at(hrdwat(hrdw)) sells(hrdw,drillsells(hrdw,drill)) sells(crns,milksells(crns,milk)) at(crnsat(crns)) sells(crns,papersells(crns,paper))at(crnsat(crns))
at(X=hrdwat(X=hrdw))
Go(cornershopGo(cornershop))SS11:: SS22::
……teraz relacjateraz relacja
jest zagrojest zagrożżona przez ona przez Go(crnsGo(crns) co rozwi) co rozwiąązujemy zujemy przez zmianprzez zmianęę ograniczeograniczeńńkolejnokolejnośściowych na:ciowych na:Buy(drillBuy(drill)) Go(crnsGo(crns))
)()()(
drillBuyhrdwGohrdwat
at(hrdwat(hrdw))
3131
©©AMAM
166166
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowego
Planowanie w przestrzeni planPlanowanie w przestrzeni planóów: w: Go(hrdwGo(hrdw) i ) i Go(crnsGo(crns) oznaczaj) oznaczająą, , żże mamy e mamy at(homeat(home) dla ) dla FinishFinish
StartStart
FinishFinish
have(milkhave(milk)) have(paperhave(paper))have(drillhave(drill))
Buy(milkBuy(milk)) Buy(paperBuy(paper))Buy(drillBuy(drill))
at(homeat(home))
Jedyny niespeJedyny niespełłniony jeszcze cel niony jeszcze cel momożże bye byćć spespełłniony tylko po niony tylko po wykonaniu wykonaniu Go(homeGo(home ) ale co) ale coz warunkiem z warunkiem at(Xat(X)?)?
Go(hardwareGo(hardware))
at(hrdwat(hrdw)) sells(hrdw,drillsells(hrdw,drill)) sells(crns,milksells(crns,milk)) at(crnsat(crns)) sells(crns,papersells(crns,paper))at(crnsat(crns))
at(hrdwat(hrdw))
Go(cornershopGo(cornershop))??
at(homeat(home))
at(homeat(home))
Go(homeGo(home))
at(Xat(X))
at(homeat(home))
©©AMAM
167167
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowego
Planowanie w przestrzeni planPlanowanie w przestrzeni planóów: prw: próóba speba spełłnienia nienia at(Xat(X) dla ) dla Go(homeGo(home) przez krok Start () przez krok Start (X=homeX=home))
StartStart
FinishFinish
have(milkhave(milk)) have(paperhave(paper))have(drillhave(drill))
Buy(milkBuy(milk)) Buy(paperBuy(paper))Buy(drillBuy(drill))
at(homeat(home))
Go(hardwareGo(hardware))
at(hrdwat(hrdw)) sells(hrdw,drillsells(hrdw,drill)) sells(crns,milksells(crns,milk)) at(crnsat(crns)) sells(crns,papersells(crns,paper))at(crnsat(crns))
at(hrdwat(hrdw))
Go(cornershopGo(cornershop))
at(homeat(home))
at(homeat(home))at(homeat(home))
Go(homeGo(home))
at(homeat(home))
Relacja przyczynowoRelacja przyczynowośści ci
jest zagrojest zagrożżona przez ona przez Go(crnsGo(crns) i ) i Go(hrdwGo(hrdw))
)()(
homeGoStarthomeat
ZagroZagrożżenia ze strony enia ze strony Go(crnsGo(crns) i ) i Go(hrdwGo(hrdw) nie ) nie momożżna uniknna uniknąćąć, wi, więęcc……
©©AMAM
168168
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowego
Planowanie w przestrzeni planPlanowanie w przestrzeni planóów: druga prw: druga próóba speba spełłnienia nienia at(Xat(X) dla ) dla Go(homeGo(home) przez ) przez X=hardwareX=hardware
StartStart
FinishFinish
have(milkhave(milk)) have(paperhave(paper))have(drillhave(drill))
Buy(milkBuy(milk)) Buy(paperBuy(paper))Buy(drillBuy(drill))
at(homeat(home))
Go(hardwareGo(hardware))
at(hrdwat(hrdw)) sells(hrdw,drillsells(hrdw,drill)) sells(crns,milksells(crns,milk)) at(crnsat(crns)) sells(crns,papersells(crns,paper))at(crnsat(crns))
at(hrdwat(hrdw))
Go(cornershopGo(cornershop))
at(homeat(home))
at(hrdwat(hrdw))
Go(homeGo(home))
at(hrdwat(hrdw))
Relacja przyczynowoRelacja przyczynowośści ci
jest zagrojest zagrożżona przez ona przez Go(crnsGo(crns), kt), któóryry……
)()()(
homeGohrdwGohrdwat
……musi wystmusi wystąąpipićć po po Go(hrdwGo(hrdw) wi) więęc c uniemouniemożżliwia zachowanie liwia zachowanie at(hrdwat(hrdw), zatem ), zatem …… ©©AMAM
169169
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowego
Planowanie w przestrzeni planPlanowanie w przestrzeni planóów: trzecia prw: trzecia próóba speba spełłnienia nienia at(Xat(X) dla ) dla Go(homeGo(home) przez ) przez X=cornershopX=cornershop
StartStart
FinishFinish
have(milkhave(milk)) have(paperhave(paper))have(drillhave(drill))
Buy(milkBuy(milk)) Buy(paperBuy(paper))Buy(drillBuy(drill))
at(homeat(home))
Go(hardwareGo(hardware))
at(hrdwat(hrdw)) sells(hrdw,drillsells(hrdw,drill)) sells(crns,milksells(crns,milk)) at(crnsat(crns)) sells(crns,papersells(crns,paper))at(crnsat(crns))
at(hrdwat(hrdw))
Go(cornershopGo(cornershop))
at(homeat(home))
Go(homeGo(home))
at(crnsat(crns))
Relacja przyczynowoRelacja przyczynowośści ci
nie jest zagronie jest zagrożżona, ale ona, ale ……)()(
)(
homeGocrnsGocrnsat
3232
©©AMAM
170170
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowego
Planowanie w przestrzeni planPlanowanie w przestrzeni planóów: trzecia prw: trzecia próóba speba spełłnienia nienia at(Xat(X) dla ) dla Go(homeGo(home) przez ) przez X=cornershopX=cornershop
StartStart
FinishFinish
have(milkhave(milk)) have(paperhave(paper))have(drillhave(drill))
Buy(milkBuy(milk)) Buy(paperBuy(paper))Buy(drillBuy(drill))
at(homeat(home))
Go(hardwareGo(hardware))
at(hrdwat(hrdw)) sells(hrdw,drillsells(hrdw,drill)) sells(crns,milksells(crns,milk)) at(crnsat(crns)) sells(crns,papersells(crns,paper))at(crnsat(crns))
at(hrdwat(hrdw))
Go(cornershopGo(cornershop))
at(homeat(home))
at(crnsat(crns))
Go(homeGo(home))
at(crnsat(crns))
Relacja przyczynowoRelacja przyczynowośści ci
nie jest zagronie jest zagrożżona, ale ona, ale ……)()(
)(
homeGocrnsGocrnsat
……zagrozagrożżone przez one przez Go(homeGo(home) s) sąą
co rozwico rozwiąązujemy przez zmianzujemy przez zmianęęograniczeograniczeńń kolejnokolejnośściowych na:ciowych na:Buy(milkBuy(milk//paperpaper)) Go(homeGo(home))
)/()()(
papermilkBuycrnsGocrnsat
©©AMAM
171171
StartStart
PrzykPrzykłład planowania nieliniowegoad planowania nieliniowegoPlanowanie w przestrzeni Planowanie w przestrzeni planplanóów: gotowy planw: gotowy plan
FinishFinish
have(milkhave(milk)) have(paperhave(paper))have(drillhave(drill))
Buy(milkBuy(milk)) Buy(paperBuy(paper))
Buy(drillBuy(drill))
at(homeat(home))Go(hardwareGo(hardware))
at(hrdwat(hrdw)) sells(hrdw,drillsells(hrdw,drill))
sells(crns,milksells(crns,milk)) at(crnsat(crns)) sells(crns,papersells(crns,paper))at(crnsat(crns))
at(hrdwat(hrdw))
Go(cornershopGo(cornershop))
at(homeat(home))
Go(homeGo(home))at(crnsat(crns))
©©AMAM
172172
Algorytm Algorytm POP POP –– Partial Order PlannerPartial Order Planner
•• Zaczynamy od szkieletu planu w postaci stanu poczZaczynamy od szkieletu planu w postaci stanu począątkowego i tkowego i kokońńcowegocowego
•• W kaW każżdym podejmowana jest prdym podejmowana jest próóba speba spełłnienia warunku nienia warunku precondprecondpewnego kroku pewnego kroku SSneedneed zawartego w planie poprzez wybzawartego w planie poprzez wybóór nowego r nowego operatora albo znalezienie odpowiedniego kroku w czoperatora albo znalezienie odpowiedniego kroku w częśęściowym planieciowym planie
•• Znaleziony operator generuje nowZnaleziony operator generuje nowąą relacjrelacjęę przyczynowoprzyczynowośścici•• Brak odpowiedniego operatora powoduje nawrBrak odpowiedniego operatora powoduje nawróótt•• Nowa relacja przyczynowoNowa relacja przyczynowośści wymaga sprawdzenia zagroci wymaga sprawdzenia zagrożżeeńń –– albo albo
nowy krok zagranowy krok zagrażża zapamia zapamięętanym relacjom przyczynowotanym relacjom przyczynowośści, albo ci, albo nowa relacja przyczynowonowa relacja przyczynowośści jest zagroci jest zagrożżona przez kroki juona przez kroki jużż bbęęddąącecew planiew planie
•• JeJeżżeli nie moeli nie możżna usunna usunąćąć zagrozagrożżenia mamy nawrenia mamy nawróótt•• Warunkiem stopu jest brak niespeWarunkiem stopu jest brak niespełłnionych warunknionych warunkóów w precondprecond w planiew planie
©©AMAM
173173
AlgorytmAlgorytm POP POP –– Partial Order PlannerPartial Order Plannerfunctionfunction POP(SPOP(Sinitinit,S,Sgoalgoal,operators,operators): plan): planplan plan MINIMALMINIMAL--PLAN(PLAN(SSinitinit,S,Sgoalgoal))looploop dodo
ifif ISIS--SOLUTION(planSOLUTION(plan) ) thenthen returnreturn planplanSSneedneed,c,c SELECTSELECT--SUBGOAL(planSUBGOAL(plan))CHOOSECHOOSE--OP(plan,operators,SOP(plan,operators,Sneedneed,c,c))RESOLVE_THREATS(planRESOLVE_THREATS(plan))
endend
procedureprocedure RESOLVERESOLVE--THREATSTHREATS(plan)(plan)for for eacheach SSthreatthreat suchsuch thatthat ccDDELEL((SSthreatthreat))
andand a linka link SSi i ccSSj j inin LINKLINKS(planS(plan)) dodochoosechoose eithereitherPromotionPromotion: add : add SSthreatthreatSSii to to ORDERINGS(planORDERINGS(plan))DemotionDemotion: add : add SSjjSSthreatthreat to to ORDERINGS(planORDERINGS(plan))ifif notnot CONSISTENT(planCONSISTENT(plan) ) thenthen failfail
endend
functionfunction SELECTSELECT--SUBGOAL(planSUBGOAL(plan): ): SSneedneed,c,cfind a plan step Sfind a plan step Sneedneed in STEPS(plan) in STEPS(plan)
with precondition c unsatisfiedwith precondition c unsatisfiedreturnreturn SSneedneed,c,c
eendnd
procedureprocedure CHOOSECHOOSE--OP(plan,operatorsOP(plan,operators,S,Sneedneed,c,c))choosechoose a step Sa step Saddadd from operators or STEPS(plan)from operators or STEPS(plan)
such that such that ccADD(ADD(SSaddadd))ifif therethere isis no no suchsuch stepstep thenthen failfailadd add casualcasual link link SSaddaddccSSneedneed to to LINKS(planLINKS(plan))add add thethe orderingordering constraintconstraint SSaddaddSSneedneed
to to ORDERINGS(planORDERINGS(plan))ifif SSaddadd isis newlynewly addedadded step step fromfrom operatorsoperators thenthen
add add SSaddadd to to STEPS(planSTEPS(plan))add add SSinitinitSSaddaddSSgoalgoal to to ORDERINGS(planORDERINGS(plan))
endend
3333
©©AMAM
174174
Algorytm Algorytm POP POP –– Partial Order PlannerPartial Order PlannerIstotne cechy algorytmu POPIstotne cechy algorytmu POP
•• Nawroty w procesie konstrukcji planu dotyczNawroty w procesie konstrukcji planu dotycząą tylko mechanizmu tylko mechanizmu wyboru operatorawyboru operatora oraz mechanizmu oraz mechanizmu eliminacji zagroeliminacji zagrożżeeńń (zmiany (zmiany ograniczeograniczeńń kolejnokolejnośściowych)ciowych)
•• Decyzje o wyborze warunkDecyzje o wyborze warunkóów w c c do spedo spełłnienia nienia nie snie sąą źźrróóddłłememnawrotnawrotóóww -- kakażżdy warunek musi bydy warunek musi byćć w kow końńcu specu spełłniony, winiony, więęc c kolejnokolejnośćść ich osiich osiąągania mogania możże miee miećć wpwpłływ tylko na wydajnoyw tylko na wydajnośćśćalgorytmu (ale nie na koalgorytmu (ale nie na końńcowy efekt!)cowy efekt!)
•• Planowanie jest Planowanie jest regresywneregresywne•• Procedura planowania jest Procedura planowania jest poprawnapoprawna i i pepełłnana –– kakażżdy wynik jest dy wynik jest
rozwirozwiąązaniem zadania planowania, dla kazaniem zadania planowania, dla każżdego zadania planowania dego zadania planowania zostanie znalezione rozwizostanie znalezione rozwiąązanie, o ile istniejezanie, o ile istnieje
•• Algorytm jest Algorytm jest niedeterministycznyniedeterministyczny –– operacje operacje choosechoose oraz oraz failfailodpowiadajodpowiadająą za decyzjza decyzjęę sterujsterująąccąą i nawri nawróótt
©©AMAM
175175PrzykPrzykłład tzw. potencjalnego zagroad tzw. potencjalnego zagrożżeniaeniaw trakcie planowanie nieliniowego POPw trakcie planowanie nieliniowego POP
Planowanie w przestrzeni planPlanowanie w przestrzeni planóów: w: Go(hrdwGo(hrdw) i ) i Go(crnsGo(crns) oznaczaj) oznaczająą, , żże mamy e mamy at(homeat(home) dla ) dla FinishFinish
StartStart
FinishFinish
have(milkhave(milk)) have(paperhave(paper))have(drillhave(drill))
Buy(milkBuy(milk)) Buy(paperBuy(paper))Buy(drillBuy(drill))
at(homeat(home))
Dla jedynego niespeDla jedynego niespełłnionego jeszcze nionego jeszcze celu po wykonaniu celu po wykonaniu Go(homeGo(home )b)bęędzie dzie at(Xat(X)), co stanowi zagro, co stanowi zagrożżenie dlaenie dla
Go(hardwareGo(hardware))
at(hrdwat(hrdw)) sells(hrdw,drillsells(hrdw,drill)) sells(crns,milksells(crns,milk)) at(crnsat(crns)) sells(crns,papersells(crns,paper))at(crnsat(crns))
at(hrdwat(hrdw))
Go(cornershopGo(cornershop))??
at(homeat(home))
at(Xat(X))
Go(homeGo(home))
at(Xat(X))
)/()()(
papermilkBuycrnsGocrnsat
Potencjalne zagroPotencjalne zagrożżenieenie, kt, któórego wystrego wystąąpienie pienie zalezależżeećć jednak bjednak bęędzie od widzie od wiąązania zmiennychzania zmiennych
©©AMAM
176176
Planowanie z czPlanowanie z częśęściowo ukonkretnionymi ciowo ukonkretnionymi operatoramioperatorami
•• W trakcie rozstrzygania zagroW trakcie rozstrzygania zagrożżeeńń ((RESOLVERESOLVE--THREATSTHREATS) wp) wpłływ yw wybranego operatora na relacje przyczynowowybranego operatora na relacje przyczynowośści w planie moci w planie możże zalee zależżeeććod wiod wiąązania zmiennych na jego listach PRECOND, ADD i DELzania zmiennych na jego listach PRECOND, ADD i DEL
•• ZagroZagrożżenie takie senie takie sąą okreokreśślane mianem lane mianem zagrozagrożżeeńń potencjalnychpotencjalnych•• ZagroZagrożżenia potencjalne moenia potencjalne możżna na eliminowaeliminowaćć jak najszybciejjak najszybciej wymuszajwymuszająąc c
przyjprzyjęęcie wicie wiąązania zmiennej, ktzania zmiennej, któóre likwiduje to zagrore likwiduje to zagrożżenie (enie (np.winp.wiąązaniezanieX=hrdwX=hrdw w w atat((XX) nie stanowi zagro) nie stanowi zagrożżenia dla enia dla atat((homehome))))
•• Poprzez rozszerzenie Poprzez rozszerzenie jjęęzyka opisu wizyka opisu wiąązazańń zmiennych o negacjzmiennych o negacjęę((np.np.XXhomehome) mo) możżna wykluczyna wykluczyćć pewne wartopewne wartośści w celu eliminacji ci w celu eliminacji zagrozagrożżenia bez nadawania konkretnej wartoenia bez nadawania konkretnej wartośści zmiennej ci zmiennej –– mniej mniej rygorystyczny mechanizm ograniczania rygorystyczny mechanizm ograniczania XX
•• NajNajłłagodniejsze podejagodniejsze podejśście cie opopóóźźnia obsnia obsłługugęę zagrozagrożżeeńń do momentu, gdy do momentu, gdy faktycznie one wystfaktycznie one wystąąpipiąą, ale wymaga ono najbardziej z, ale wymaga ono najbardziej złłoożżonej onej procedury weryfikacji poprawnoprocedury weryfikacji poprawnośści planuci planu
©©AMAM
177177
OpOpóóźźniona obsniona obsłługa zagrouga zagrożżeeńń potencjalnychpotencjalnychw algorytmie POPw algorytmie POP
OdkOdkłładanie obsadanie obsłługi potencjalnych zagrougi potencjalnych zagrożżeeńń do do momentu ich faktycznego wystmomentu ich faktycznego wystąąpienia wymaga pienia wymaga w kaw każżdym wywodym wywołłaniu procedury rozstrzygania aniu procedury rozstrzygania sprawdzania zawsze wszystkich relacji sprawdzania zawsze wszystkich relacji przyczyprzyczy--nowychnowych i wszystkich kroki wszystkich krokóów, ktw, któóre mogre mogąą im im zagrozizagrozićć po uwzglpo uwzglęędnieniu widnieniu wiąązazańń (SUBST)(SUBST)
procedureprocedure RESOLVERESOLVE--THREATSTHREATS(plan)(plan)for for eacheach linklink SSi i ccSSj j inin LINKLINKS(planS(plan)) dodo
for for eacheach SSthreatthreat inin STEPS(planSTEPS(plan)) dodofor for eacheach cc’’ suchsuch thatthat cc’’DDELEL((SSthreatthreat)) dodo
ifif SUBST(BINDINGS(plan),cSUBST(BINDINGS(plan),c)=)===SUBST(BINDINGS(plan),cSUBST(BINDINGS(plan),c’’) ) thenthen
choosechoose eithereitherPromotionPromotion: add : add SSthreatthreatSSii to to ORDERINGS(planORDERINGS(plan))DemotionDemotion: add : add SSjjSSthreatthreat to to ORDERINGS(planORDERINGS(plan))ifif notnot CONSISTENT(planCONSISTENT(plan) ) thenthen failfail
endend
ObsObsłługa wiuga wiąązazańń zmiennych opiera sizmiennych opiera sięęna algorytmie uzgadniania (UNIFY)na algorytmie uzgadniania (UNIFY)i wymaga ich zapamii wymaga ich zapamięętywania w planie tywania w planie pod polem BINDINGSpod polem BINDINGS
procedureprocedure CHOOSECHOOSE--OP(plan,operatorsOP(plan,operators,S,Sneedneed,c,c))choosechoose a step Sa step Saddadd from operators or STEPS(plan)from operators or STEPS(plan)
that has that has ccaddaddADD(ADD(SSaddadd))and such that and such that uu ==UNIFY(c,cUNIFY(c,caddadd,BINDINGS(plan,BINDINGS(plan))))ifif there is no such step there is no such step thenthen failfailadd add uu to to BINDINGS(planBINDINGS(plan))add casual link add casual link SSaddaddccSSneedneed to to LINKS(planLINKS(plan))add add SSaddaddSSneedneed to to ORDERINGS(planORDERINGS(plan))ifif SSaddadd is newly added step from operators is newly added step from operators thenthen
add add SSaddadd to STEPS(plan)to STEPS(plan)add add SSinitinitSSaddaddSSgoalgoal to to ORDERINGS(planORDERINGS(plan))
endend
3434
©©AMAM
178178
Definicja rozwiDefinicja rozwiąązania problemu planowania dla zania problemu planowania dla czczęśęściowo ukonkretnionych operatorciowo ukonkretnionych operatoróóww
•• Pojawienie siPojawienie sięę czczęśęściowo zwiciowo zwiąązanych operatorzanych operatoróów w planie wymaga w w planie wymaga uwzgluwzglęędnienia wpdnienia wpłływu wiywu wiąązazańń na mona możżliwoliwośćść osiosiąągnignięęcia rozwicia rozwiąązania zania jakim jest czjakim jest częśęściowo uporzciowo uporząądkowany plan, w ktdkowany plan, w któórym:rym:
kakażżdy warunek dy warunek cc kroku kroku OOjj jest osijest osiąągany przez zastosowanie pewnej gany przez zastosowanie pewnej operacji operacji OOii
1. takiej, 1. takiej, żże e OOiiOOjj i i cc’’ADD(ADD(OOii), kt), któóry ry koniecznie unifikuje sikoniecznie unifikuje sięę z z ccorazoraz2. 2. OOkk takie, takie, żże e OOiiOOkkOOjj w w jednej z mojednej z możżliwych linearyzacji planuliwych linearyzacji planu
i i ccDELETE(DELETE(OOkk), ),
•• W algorytmie POP za warunek 1 odpowiada procedura W algorytmie POP za warunek 1 odpowiada procedura CHOOSECHOOSE--OPERATOROPERATOR zazaśś za warunek 2 za warunek 2 –– procedura procedura RESOLVERESOLVE--THREATSTHREATS
©©AMAM
179179
Planowanie nieliniowe: Planowanie nieliniowe: podsumowaniepodsumowanie
•• System NONLIN System NONLIN ––casualcasual linkslinks, mechanizmy nawrotu, , mechanizmy nawrotu, wykrywanie zagrowykrywanie zagrożżeeńń/konflikt/konfliktóów (ang. w (ang. threatsthreats), ich ), ich eliminacja, nawroty typu eliminacja, nawroty typu dependencydependency--directeddirected, operatory , operatory modyfikacji planumodyfikacji planu
•• System TWEAK System TWEAK –– formalizacja planowania z formalizacja planowania z wykorzystaniem mechanizmwykorzystaniem mechanizmóów spew spełłniania ograniczeniania ograniczeńń(ang. (ang. constraintconstraint postingposting), gwarantuj), gwarantująąca poprawnoca poprawnośćść i i pepełłnonośćść algorytmualgorytmu
•• System SNLP/POP System SNLP/POP –– systematyczne czsystematyczne częśęściowe ciowe planowanie, wiplanowanie, więększa ekspresywnoksza ekspresywnośćść jjęęzyka opisu celzyka opisu celóóww
©©AMAM
180180
Systemy planowania: Systemy planowania: zarys rozwojuzarys rozwojuGPS (GPS (Newell&SimonNewell&Simon, 1957), 1957)
STRIPS (STRIPS (Fikes&NilssonFikes&Nilsson, 1972), 1972)
Hacker (Hacker (SussmanSussman, 1973), 1973)WarplanWarplan ((WarrrenWarrren, 1974), 1974) InterplanInterplan ((TateTate, 1974), 1974)
NOAH (NOAH (SacerdotiSacerdoti, 1975), 1975)
NonlinNonlin ((TateTate, 1976), 1976)
TweakTweak (Chapman, 1987)(Chapman, 1987)
SNLP/POP (SNLP/POP (Soderland&WeldSoderland&Weld, 1991), 1991)
UCPOP (UCPOP (WeldWeld, 1992), 1992)
CNLP (CNLP (Peot&SmithPeot&Smith, 1992), 1992)
BurdianBurdian ((Draper&Weld&HanksDraper&Weld&Hanks, 1993), 1993)
CC--BurdianBurdian ((Draper&Weld&HanksDraper&Weld&Hanks, 1994), 1994)