34
1 ©AM AM 1 Wprowadzenie do Sztucznej Wprowadzenie do Sztucznej Inteligencji Inteligencji Wyk Wykład 6 ad 6 Informatyka Studia In Informatyka Studia Inż ynierskie ynierskie ©AM AM 2 Systemy planowania dzia Systemy planowania działań Planowanie Planowanie to jest technik to jest techniką rozwi rozwiązywania problem zywania problemów z dziedziny w z dziedziny AI, polegaj AI, polegającą na okre na określeniu ci leniu ciągu akcji (operacji) jakie nale gu akcji (operacji) jakie należy y podj podj ąć ąć, aby przej , aby przej ść ść z zadanego stanu pocz z zadanego stanu początkowego do stanu tkowego do stanu ko końcowego b cowego będącego celem. cego celem. System System Planowania Planowania Dzia Działań Stan pocz Stan początkowy tkowy S 0 Stan ko Stan końcowy cowy S g Zbi Zbiór operator r operatorów {O i } P l a n P l a n ©AM AM 3 Reprezentacje wykorzystywane Reprezentacje wykorzystywane w algorytmach przeszukiwania w algorytmach przeszukiwania Reprezentacja akcji Reprezentacja akcji - realizowana przez mechanizm realizowana przez mechanizm generacji generacji nast następnik pników Reprezentacja stan Reprezentacja stanów - kompletny opis kompletny opis stanu; akcje dokonuj stanu; akcje dokonują transformacji transformacji ca cał ych stan ych stanów ; odwo ; odwoł anie do niej nast anie do niej następuje w: puje w: generatorze nast generatorze następnik pników, heurystycznej funkcji oceny, w funkcji w, heurystycznej funkcji oceny, w funkcji wykrywania celu wykrywania celu Reprezentacja celu Reprezentacja celu - wykorzystywana jedynie przy oszacowaniu wykorzystywana jedynie przy oszacowaniu heurystycznym i testowaniu celu, kt heurystycznym i testowaniu celu, które pe re pełni nią w algorytmie w algorytmie przeszukiwania wy przeszukiwania wyłą łącznie rol cznie rolę czarnych skrzynek czarnych skrzynek” - brak innych brak innych odwo odwołań do definicji celu do definicji celu Reprezentacja rozwi Reprezentacja rozwiązania zania - ci ciągł a, a, nieprzerwana nieprzerwana ście cieżka ka od stanu od stanu pocz początkowego do celu tkowego do celu ©AM AM 4 Przeszukiwanie w celu generowania planu? Przeszukiwanie w celu generowania planu? Przyk Przykł ad: ad: Zaplanowa Zaplanować zakupy mleka, gazety i wiertarki zakupy mleka, gazety i wiertarki. Przestrze Przestrzeń przeszukiwania: przeszukiwania: Start Start Iść ść_do_szko _do_szkoł y Iść ść_do_marketu _do_marketu pój ść ść_spa _spać siedzie siedzieć_dalej _dalej itd., itp. itd., itp. pój ść ść_na_wyk _na_wykł ad ad usi usi ąść ąść_w_fotelu _w_fotelu kupi kupić_mleko _mleko kupi kupić_makaron _makaron kupi kupić_chleb _chleb Cel Cel czyta czytać_ksi _ksi ąż ążkę W systemach planowania, gdy liczba dopuszczalnych akcji jest du W systemach planowania, gdy liczba dopuszczalnych akcji jest duża, a, przestrze przestrzeń mo może by e być ogromna!!! ogromna!!!

ą ż Wprowadzenie do Sztucznej ą Inteligencji · Wprowadzenie do Sztucznej Inteligencji Wykład 6 Informatyka Studia Inżynierskie ©AM 2 Systemy planowania działań ... Przykłady

  • Upload
    vukhanh

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

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

qq

CC

rrpp

AA

BB

qq

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

qq

CC

rrpp

AA

BB

qq

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)