©AM©AM
Wprowadzenie do Sztucznej Wprowadzenie do Sztucznej
Inteligencji Inteligencji
Wyk Wykł ład 6 ad 6 Informatyka Studia In
Informatyka Studia In żynierskie ż ynierskie
©AM©AM
22
Systemy planowania dzia Systemy planowania dział ła 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 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 dą ącego celem. cego celem.
System System Planowania Planowania
Dzia Dział ła ań ń Stan pocz
Stan począ ątkowy tkowy S S
00Stan ko Stan koń ńcowy cowy
S S
ggZbi Zbió ór operator r operatoró ów w
{ {O O
ii} }
P l a n
P l a n
©AM©AM
• • Reprezentacja akcji Reprezentacja akcji - - realizowana przez mechanizm realizowana przez mechanizm generacji generacji nast nastę ępnik pnikó ów w
• • Reprezentacja stan Reprezentacja stanó ów w - - kompletny opis kompletny opis stanu; akcje dokonują stanu; akcje dokonuj ą transformacji
transformacji ca cał łych stan ych stanó ów 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 ań ń do definicji celu do definicji celu
• • Reprezentacja rozwi Reprezentacja rozwią ązania zania - - ci cią ąg gł ła, a, nieprzerwana nieprzerwana ś ście cież żka ka od stanu od stanu pocz począ ątkowego do celu tkowego do celu
©AM©AM
44
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
IIśćść_do_szko_do_szkołłyy
IśćIść_do_marketu_do_marketu p
póójjśćść_spa_spaćć
siedzie siedziećć_dalej_dalej itd., itp.
itd., itp.
ppóójjśćść_na_wyk_na_wykłładad
usiusiąśćąść_w_fotelu_w_fotelu
kupikupićć_mleko_mleko kupikupićć_makaron_makaron
kupi kupićć_chleb_chleb
CelCel
czyta
czytaćć_ksi_książążkkęę
• • 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!!!
©AM©AM
• • W algorytmach przeszukiwani funkcja heurystyczna wskazuje W algorytmach przeszukiwani funkcja heurystyczna wskazuje potencjalnie najlepsze
potencjalnie najlepsze kierunki przeszukiwania kierunki przeszukiwania
• • Funkcja heurystyczne nie jest jednak nieomyln Funkcja heurystyczne nie jest jednak nieomylną ą wyrocznią wyroczni ą! !
• • Skoro wyb Skoro wybó ór odbywa si r odbywa się ę troch trochę ę na zasadzie na zasadzie „zgadywania „ zgadywania” ”, ka , każ żda da dopuszczalna zmiana (kierunek)
dopuszczalna zmiana (kierunek) musi by musi być ć przeanalizowana przeanalizowana
•
• Funkcja oceny heurystycznej Funkcja oceny heurystycznej nie pozwala wyeliminowa nie pozwala wyeliminować ć akcji w akcji w trakcie przeszukiwania, lecz pomaga jedynie je uporz
trakcie przeszukiwania, lecz pomaga jedynie je uporzą ądkowa dkować ć
•
• Okre Okreś ślona akcja jest analizowana jednak nie dlatego, lona akcja jest analizowana jednak nie dlatego, ż że prowadzi do e prowadzi do osi osią ągni gnię ęcia celu, lecz dlatego, cia celu, lecz dlatego, ż że jest dopuszczalna w danym stanie e jest dopuszczalna w danym stanie
©AM©AM
66
Planowanie: inna reprezentacja Planowanie: inna reprezentacja
• • Reprezentacja w systemach planowanie powinna: Reprezentacja w systemach planowanie powinna:
–
– dopuszczać dopuszcza ć analizę analiz ę częś cz ęści sk ci skł ładowych stan adowych stanó ów, akcji i celu w, akcji i celu –
– umoż umo żliwia liwiać ć dekompozycj dekompozycję ę stan stanó ó w, akcji i celu w, akcji i celu
•
• Mechanizm planowania powinien generowa Mechanizm planowania powinien generować ć plan niekoniecznie plan niekoniecznie w w spos sposó ób b przyrostowy przyrostowy poprzez dodawanie akcji po kolei, poczynaj poprzez dodawanie akcji po kolei, poczynają ąc od c od stanu inicjuj
stanu inicjują ącego cego
•
• Wi Wię ększo kszość ść obiektó obiekt ów w ś świata, z kt wiata, z któ órym planujmy jest rym planujmy jest niezale niezależ żna od na od siebie
siebie, wi , wię ęc nale c należ ży redukowa y redukować ć zł z ło oż żono oność ść zadania planowania poprzez zadania planowania poprzez jego dekompozycj
jego dekompozycję ę na podplany na podplany
• • Wniosek: tylko deklaratywny j Wniosek: tylko deklaratywny ję ęzyk opisu stan zyk opisu stanó ów, akcji i cel w, akcji i celó ów w pozwoli spe
pozwoli speł łni nić ć powyż powy ższe warunki sze warunki
©AM©AM
•
• Planowanie Planowanie w prz w przó ód d od stanu począ od stanu pocz ątkowego do stanu tkowego do stanu koń ko ńcowego cowego - - propagacja stanó propagacja stan ów w prz w w przó ó d (progresja) d (progresja)
• • Planowanie Planowanie w ty w tył ł od stanu ko od stanu koń ńcowego do stanu cowego do stanu począ pocz ątkowego tkowego - - propagacja stan propagacja stanó ó w wstecz (regresja) w wstecz (regresja) Systemy planowania w prz
Systemy planowania w przó ód maj d mają ą znaczenie tylko znaczenie tylko teoretyczne. Wi
teoretyczne. Wię ększo kszość ść praktycznych systemó praktycznych system ó w w planowania, to systemy planowania wstecz.
planowania, to systemy planowania wstecz.
©AM©AM
3838
Planowanie progresywne:
Planowanie progresywne: „ „generuj i testuj generuj i testuj” ”
1. 1. Pod stan aktualny podstaw stan począ Pod stan aktualny podstaw stan pocz ątkowy: tkowy:
s s
aktakt s s
002.
2. sprawdź sprawd ź, czy , czy s s
gg s s
aktakt: : je
jeż żeli tak, to koniec(sukces eli tak, to koniec(sukces – – plan gotowy) plan gotowy)
3. 3. utwó utw órz zbi rz zbió ór wszystkich L r wszystkich L
OOwszystkich operator wszystkich operatoró ów w O
Oii, dla któ , dla kt órych spe rych speł łnione s nione są ą warunki stosowalno
warunki stosowalnoś ści w stanie ci w stanie s s
aktakt; ; 4.
4. wybierz jeden operator wybierz jeden operator
11OOiiL L
OO, wygeneruj pró , wygeneruj pr óby stan s by stan s
i+1i+1, b , bę ęd dą ący efektem cy efektem zastosowanie tego operatora; je
zastosowanie tego operatora; jeż żeli L eli L
OO= = , to dokonaj nawrotu do poprzedniego , to dokonaj nawrotu do poprzedniego stanu; je
stanu; jeż żeli brak alternatyw do nawrot eli brak alternatyw do nawrotó ów, to koniec(pora w, to koniec(poraż żka ka – – brak planu) brak planu) 5.
5. a. a. sprawd sprawdź ź, czy w stanie s , czy w stanie s
i+1i+1pojawił pojawi ły si y się ę sprzeczne podcele; jeż sprzeczne podcele; je żeli tak, to powr eli tak, to powró ót t do kroku 4
do kroku 4 b.
b. sprawd sprawdź ź, czy w stanie s , czy w stanie s
i+1i+1pojawił pojawi ł się si ę cykl cykl
22; je ; jeż żeli tak, to nawr eli tak, to nawró ót do stanu t do stanu poprzedniego
poprzedniego
33s s
aktakti przejś i przej ście do kroku 4 cie do kroku 4 6. 6. podstaw: s podstaw: s
aktakt s s
i+1i+1i przejd i przejdź ź do kroku 2 do kroku 2
UWAGI:UWAGI: 1-1-trzeba zastosowatrzeba zastosowaććheurystyczny wybheurystyczny wybóór np. na podstawie rr np. na podstawie róóżżnic pominic pomięędzy stanami;dzy stanami;
2
2--cykl oznacza ponowne wystcykl oznacza ponowne wystąąpienie tego samego stanu;pienie tego samego stanu;
3-3-istnieje wiele sposobistnieje wiele sposobóów eliminacji cykli!w eliminacji cykli!
©AM©AM
Przyk Przykł ład ad
O O
ii: : move move- -up up( ( ) ) s
s
00s s
ggmove move- -down down( ( ) ) move move- -left left( ( ) ) move
move- -right right( ( ) ) Planowanie:
Planowanie:
00 11 22 33 44 55 66 77 88
00 11 22
33 44 55 66 77 88
0 0
0 0
3 3
4 4
5 5
8 8 2
2 5 5 4
4 3
3
movemove--rightright movemove--upup
move move--leftleft
move move--downdown
movemove--rightright
move move--downdown move-move-leftleft
move move--upup move move--downdown s
s00
ssgg cykl!
cykl!
cykl!
cykl!
cykl!
cykl!
cykl!
cykl!
sukces!
sukces!
©AM©AM
4040
Planowanie progresywne:
Planowanie progresywne: wady wady
•
• Proces generacji planu nie ukierunkowany stanem Proces generacji planu nie ukierunkowany stanem docelowym
docelowym – – groź gro źba kombinatorycznej eksplozji stan ba kombinatorycznej eksplozji stanó ów w
• • Ści Ś ciś ś le zdeterminowany porzą le zdeterminowany porz ądek generacji planu dek generacji planu – – zawsze zawsze od stanu pocz
od stanu począ ątkowego do stanu docelowego tkowego do stanu docelowego
• • Niska wydajność Niska wydajno ść metody generacji planó metody generacji plan ów w – – mo moż żliwe liwe zastosowanie tylko dla ma
zastosowanie tylko dla ma łych przestrzeni stan ł ych przestrzeni stanó ów w
• • Efektywność Efektywno ść silnie uzależ silnie uzale żniona od stopnia interakcji mi niona od stopnia interakcji mię ędzy dzy operatorami
operatorami – – im głę im g łębsze niejawne zale bsze niejawne zależ żno noś ści, tym wi ci, tym wię ększe ksze wymagania zasobowe algorytmu planowania
wymagania zasobowe algorytmu planowania
©AM©AM
• • Wykorzystywane metody Wykorzystywane metody – – Planowanie liniowe Planowanie liniowe
– – Dekompozycja problemu (częś Dekompozycja problemu (cz ęś ciowa lub cał ciowa lub ca łkowita) kowita) –
– Regresja operatoró Regresja operator ó w w
– – Strategia „ Strategia „least least- -commitment commitment” ” –
– Planowanie nieliniowe Planowanie nieliniowe –
– Planowanie hierarchiczne Planowanie hierarchiczne
©AM©AM
4242
Planowanie wstecz:
Planowanie wstecz: system STRIPS system STRIPS
• • Planowanie ukierunkowane stanem docelowym Planowanie ukierunkowane stanem docelowym z wykorzystaniem
z wykorzystaniem stosu cel stosu celó ów w
• • Reprezentacja stanó Reprezentacja stan ów i akcji oparta na w i akcji oparta na rachunku rachunku predykat
predykató ów w
• • Specyficzna dziedzina planowania – Specyficzna dziedzina planowania – świat klock ś wiat klockó ów w
©AM©AM
Za
Zał ło oż żenia enia ś świata klock wiata klockó ó w: w:
•
• powierzchnia/p powierzchnia/pł łaszczyzna/pod aszczyzna/pod ło ł o że, na kt ż e, na któ ó rym rym umieszczamy klocki jest g
umieszczamy klocki jest gł ładka i nieograniczona adka i nieograniczona
• • wszystkie klocki maj wszystkie klocki mają ą takie same rozmiary takie same rozmiary
• • klocki mog klocki mogą ą być by ć umieszczone jeden na drugim umieszczone jeden na drugim
•
• klocki mog klocki mogą ą tworzyć tworzy ć stosy stosy
•
• po poł ło oż żenie horyzontalne klock enie horyzontalne klockó ów jest nieistotne, liczy si w jest nieistotne, liczy się ę ich wertykalne po
ich wertykalne poł ło o żenie wzgl ż enie wzglę ędem siebie dem siebie
• • manipulujemy klockami tylko za pomoc manipulujemy klockami tylko za pomocą ą ramienia robota ramienia robota
• • w danej chwili w ramieniu robota mo w danej chwili w ramieniu robota moż że znajdowa e znajdować ć się si ę tylko jeden klocek
tylko jeden klocek
©AM©AM
4848
STRIPS:
STRIPS: zbi zbió ó r operatoró r operator ów w
STACK(x,y):
STACK(x,y):
umieszczenie klocka umieszczenie klocka x x na klocku na klocku y; w ramieniu robota musi y ; w ramieniu robota musi znajdowa
znajdować ć si się ę klocek klocek x, a na klocku x , a na klocku y y nie mo nie moż że znajdowa e znajdować ć si się ę ż
żaden klocek aden klocek
UNSTACK(x,y):UNSTACK(x,y):
zdję zdj ęcie klocka cie klocka x x z klocka y z klocka y; rami ; ramię ę robota musi by robota musi być ć puste/wolne a puste/wolne a na klocku
na klocku x x nie moż nie mo że znajdowa e znajdować ć się si ę inny klocek inny klocek
PICKUP(x):
PICKUP(x):
podniesienie klocka podniesienie klocka x x z pod z podł ło oż ża; rami a; ramię ę robota musi by robota musi być ć puste/wolne a na klocku
puste/wolne a na klocku x x nie mo nie moż że znajdowa e znajdować ć si się ę inny klocek inny klocek
PUTDOWN(x):
PUTDOWN(x):
umieszczenie klocka umieszczenie klocka x x na pod na podł ło oż żu; w ramieniu robota musi u; w ramieniu robota musi znajdowa
znajdować ć się si ę klocek klocek x x
©AM©AM
ON(x,y)
ON(x,y)
spe speł łniony, gdy klocek niony, gdy klocek x x znajduje się znajduje si ę na klocku na klocku y y
ONTABLE(x)ONTABLE(x)
spe speł łniony, gdy klocek niony, gdy klocek x x znajduje si znajduje się ę bezpo bezpoś średnio na pod rednio na podł ło oż żu u
CLEAR(x)CLEAR(x)
spe speł łniony, gdy powierzchnia klocka niony, gdy powierzchnia klocka x x jest pusta tzn. nie znajduje jest pusta tzn. nie znajduje si się ę na nim na nim ż żaden inny klocek aden inny klocek
HOLDING(x)
HOLDING(x)
spe speł łniony, gdy w ramieniu robota znajduje si niony, gdy w ramieniu robota znajduje się ę klocek x klocek x
ARMEMPTYARMEMPTY
speł spe łniony, gdy rami niony, gdy ramię ę robota jest puste/wolne robota jest puste/wolne Uniwersalne regu
Uniwersalne reguł ły rz y rzą ądz dzą ące ce ś światem klock wiatem klockó ów s w są ą reprezentowane z wykorzystaniem reprezentowane z wykorzystaniem tych predykat
tych predykató ów jako aksjomaty zapisane w postaci formu w jako aksjomaty zapisane w postaci formuł ł rachunku predykat rachunku predykató ów, w, np.:
np.:
[
[ x HOLDING(x)] x HOLDING(x)] ARMEMPTY ARMEMPTY
x 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)
©AM©AM
5050
STRIPS:
STRIPS: reprezentacja operator reprezentacja operatoró ó w w
Każ Ka żdy operatora zawiera: dy operatora zawiera:
• • listę list ę predykat predykató ów, kt w, któ óre musz re muszą ą być by ć prawdziwe, aby jego u prawdziwe, aby jego uż życie ycie by
był ło mo o moż żliwe liwe - - sekcja PRECONDITION - sekcja PRECONDITION - warunki warunki stosowalno
stosowalnoś ści operatora ci operatora
• • listę list ę predykat predykató ów, kt w, któ óre stan re staną ą się si ę prawdziwie po jego prawdziwie po jego wykonaniu
wykonaniu - - sekcja ADD sekcja ADD
• • listę list ę predykat predykató ów, kt w, któ óre przestan re przestaną ą być by ć prawdziwe po jego prawdziwe po jego wykonaniu
wykonaniu - - sekcja DELETE sekcja DELETE Problem t
Problem tł ła a (ang. frame problem (ang. frame problem) w systemie STRIPS rozwi ) w systemie STRIPS rozwią ązano zano stosuj
stosują ąc odpowiedni c odpowiednią ą formę form ę reprezentacji operatoró reprezentacji operator ów. w.
Wszystkie predykaty, kt
Wszystkie predykaty, któ óre re nie znalazł nie znalaz ły y się si ę na listach ADD i na listach ADD i DELETE
DELETE pozostaj pozostają ą niezmienione niezmienione po wykonaniu operatora. Listy po wykonaniu operatora. Listy ADD oraz DELETE opisuj
ADD oraz DELETE opisują ą łącznie efekty u łą cznie efekty uż życia operatora. ycia operatora.
©AM©AM
STACK(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) ARMEMPTYARMEMPTY DELETE:
DELETE: ON(x,y) ON(x,y) ARMEMPTYARMEMPTY ADD:
ADD: HOLDING(x) HOLDING(x) CLEAR(y)CLEAR(y)
PICKUP(x):
PICKUP(x):
PRECONDITION:
PRECONDITION: CLEAR(x)CLEAR(x)ONTABLE(x) ONTABLE(x) ARMEMPTYARMEMPTY DELETE:
DELETE: ONTABLE(x) ONTABLE(x) ARMEMPTYARMEMPTY ADD:
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
©AM©AM
5353
STRIPS:
STRIPS: algorytm planowania wstecz algorytm planowania wstecz
Przebieg planowania:
Przebieg planowania:
• • wykrywanie ró wykrywanie r óż żnic mi nic mię ędzy stanem aktualnym a celem dzy stanem aktualnym a celem – – umieszczenie podcel
umieszczenie podceló ów niespe w niespe łnionych w akt. stanie na stosie ł nionych w akt. stanie na stosie
•
• wybó wyb ór operatora redukuj r operatora redukują ącego r cego ró ó żnic ż nicę ę
• • zastą zast ąpienie podcelu wybranym operatorem na stosie pienie podcelu wybranym operatorem na stosie
• • umieszczenie na stosie warunkó umieszczenie na stosie warunk ów stosowalno w stosowalno ść ść wybranego wybranego operatora
operatora - - nowy (zł nowy (z ło oż żony) cel ony) cel
•
• rozkł rozk ład warunku stosowalno ad warunku stosowalnoś ści na podcele ci na podcele - - nowe cele nowe cele jednostkowe (proste) na stosie
jednostkowe (proste) na stosie Stos cel
Stos celó ów w - - podstawowa struktura danych generatora planu, podstawowa struktura danych generatora planu, zawieraj
zawierają ąca zar ca zaró ówno cele, jak i operatory s wno cele, jak i operatory sł łu użą żące do ich ce do ich osi
osią ągni gnię ęcia cia
©AM©AM
Stan pocz Stan począątkowy:tkowy:
ON(B,A) ON(B,A) ONTABLE(A) ONTABLE(A) ONTABLE(C) ONTABLE(C) ONTABLE(D) ONTABLE(D) ARMEPMTY ARMEPMTY
B B A
A CC DD
Stan ko
Stan 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
A A DD
B B
©AM©AM
5555
STRIPS:
STRIPS: przyk przyk ład planowania ł ad planowania
Stos cel Stos celóów:w:
BB A
A CC DD ON(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 stosie docelowy na stosie
©AM©AM
Stos cel Stos celóów:w:
BB A
A CC DD 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) ON(C,A) ON(C,A)
Stan docelowy:
Stan docelowy:
C C AA DD
B B
RRóóżżnica minica mięędzy stanem dzy stanem aktualnym a celem aktualnym a celem
©AM©AM
5757
STRIPS:
STRIPS: przyk przyk ład planowania ł ad planowania
Stos cel Stos celóów:w:
BB A
A CC DD 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) ON(C,A) ON(C,A) STACK(C,A)
STACK(C,A) Operator speOperator spełłniajniająący cy cel ze szczytu stosu cel ze szczytu stosu
©AM©AM
Stos cel Stos celóów:w:
BB A
A CC DD 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)
Warunek Warunek stosowalno stosowalnośści ci operatora operatora
©AM©AM
5959
STRIPS:
STRIPS: przyk przyk ład planowania ł ad planowania
Stos cel Stos celóów:w:
BB A
A CC DD 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)
Rozbicie warunku na Rozbicie warunku na podwarunki
podwarunki: : kolejno
kolejnośćśćwynika z wynika z wiedzy heurystycznej wiedzy heurystycznej (stan HOLDING (stan HOLDING łatwiej zniweczyłatwiej zniweczyćć)) HOLDING(C)
HOLDING(C) CLEAR(A) CLEAR(A)
©AM©AM
Stos cel Stos celóów:w:
B B A
A CC DD 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) CLEAR(A) CLEAR(A) UNSTACK(B,A)
UNSTACK(B,A) Operator spełOperator spełniajniająący cy cel ze szczytu stosu cel ze szczytu stosu
©AM©AM
6161
STRIPS:
STRIPS: przyk przyk ład planowania ł ad planowania
Stos cel Stos celóów:w:
B B A
A CC DD 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)
Warunek stosowalno Warunek stosowalnośści ci operatora
operatora ON(B,A)
ON(B,A) CLEAR(B) CLEAR(B) ARMEPMTYARMEPMTY UNSTACK(B,A)
UNSTACK(B,A)
©AM©AM
Stos cel Stos celóów:w:
BB A
A CC DD 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) CLEAR(A) CLEAR(A) UNSTACK(B,A) UNSTACK(B,A) ON(B,A)
ON(B,A) CLEAR(B) CLEAR(B) ARMEPMTYARMEPMTY ARMEPMTY
ARMEPMTY CLEAR(B) CLEAR(B) ON(B,A)
ON(B,A) Rozbicie warunku na Rozbicie warunku na podwarunki
podwarunki: kolejno: kolejnośćść heurystyczna
heurystyczna
©AM©AM
6363
STRIPS:
STRIPS: przyk przyk ład planowania ł ad planowania
Stos cel Stos celóów:w:
B B
AA CC DD 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) Ponownie sprawdzenie Ponownie sprawdzenie ca
całłego warunku ego warunku stosowalno stosowalnośścici ON(B,A)
ON(B,A) CLEAR(B) CLEAR(B) ARMEPMTYARMEPMTY
SpeSpełłnione nione podwarunkipodwarunki usuni
usunięęte ze stosute ze stosu (CLEAR(B) na podstawie (CLEAR(B) na podstawie regu
regułłśświata klockwiata klockóów)w) ARMEPMTY
ARMEPMTY CLEAR(B) CLEAR(B) ON(B,A) ON(B,A)
UNSTACK(B,A) UNSTACK(B,A)
©AM©AM
Stos cel Stos celóów:w:
B B
AA CC DD 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(B,A)
ON(B,A) CLEAR(B) CLEAR(B) ARMEPMTYARMEPMTY
Warunek spe Warunek spełłnionyniony usuwamy ze stosu usuwamy ze stosu UNSTACK(B,A)
UNSTACK(B,A)
©AM©AM
6565
STRIPS:
STRIPS: przyk przyk ład planowania ł ad planowania
Stos cel Stos celóów:w:
B B
C C DD 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) UNSTACK(B,A)
UNSTACK(B,A) UsuniUsunięęcie operatora ze cie operatora ze szczytu stosu i ...
szczytu stosu i ...
B B
UNSTACK(B,A) UNSTACK(B,A)
A A HOLDING(C)
HOLDING(C)
Plan aktualny:
Plan aktualny:
dodanie operatora do dodanie operatora do planu
planu
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...
©AM©AM
Stos cel Stos celóów:w:
ON(C,A)
ON(C,A) ON(B,D) ON(B,D) OTADOTAD**
Alternatywny stos cel Alternatywny 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 ARMEMPTY
ARMEMPTY 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 ARMEMPTY ARMEMPTY CLEAR(C) CLEAR(C) ON(C,x) ON(C,x)
UNSTACK(C,x) UNSTACK(C,x) Operator spe
Operator spełłniajniająący cy cel ze szczytu stosu cel ze szczytu stosu Warunek stosowalno
Warunek stosowalnośści operatoraci operatora Podwarunki
Podwarunkina stosie na stosie (CLEAR(C ) spe (CLEAR(C ) spełłnione!) nione!)
OTAD
OTAD* * ONTABLE(A) ONTABLE(A) ONTABLE(D)ONTABLE(D)
©AM©AM
6767
ON(C,x) ON(C,x)
STRIPS:
STRIPS: przyk przyk ład planowania ł ad planowania
Alternatywny stos cel Alternatywny 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 ARMEMPTY
ARMEMPTY CLEAR(x)
CLEAR(x) HOLDING(C)HOLDING(C)
UNSTACK(C,x) UNSTACK(C,x)
Warunek stosowalno
Warunek stosowalnośści operatoraci operatora Podwarunki
Podwarunkina stosiena stosie
STACK(C,x) STACK(C,x) HOLDING(C) HOLDING(C) CLEAR(x) CLEAR(x)
BB C C DD B B Operator spe
Operator spełłniajniająący cel ze szczytu stosucy cel ze szczytu stosu
A A Cykl
Cykl (zap (zapęętlenie!)tlenie!)
©AM©AM
HOLDING(C) HOLDING(C) Stos cel Stos 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 ARMEMPTY
ARMEMPTY CLEAR(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:
C C DD BB
A A Podwarunki
Podwarunkispespełłnionenione Niespe
Niespełłniony (z reguniony (z regułłświata klockświata klockóów)w)
©AM©AM
6969
STRIPS:
STRIPS: przyk przyk ład planowania ł ad planowania
Stos cel Stos 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 ARMEMPTY
ARMEMPTY
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:
C C DD B B
A A Operator spe
Operator spełłniajniająący cel ze szczytu stosucy cel ze szczytu stosu Warunek stosowalno
Warunek stosowalnośści operatoraci operatora CLEAR(D)
CLEAR(D) HOLDING(B)HOLDING(B)
Alternatywny operator PUTDOWN(B):
Alternatywny operator PUTDOWN(B):
taka sama liczba nie spe taka sama liczba nie spełłnionych nionych PRECONDITIONs
PRECONDITIONs(0),(0), mniejsza liczba spe
mniejsza 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)
©AM©AM
Stos cel Stos 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:
C C DD BB
A A Warunek stosowalno
Warunek stosowalnośści speci spełłnionyniony STACK(B,D)
STACK(B,D) UsunięUsunięcie operatora ze cie operatora ze szczytu stosu i jego szczytu stosu i jego wykonanie oraz wykonanie oraz…… CLEAR(D)
CLEAR(D) HOLDING(B)HOLDING(B)
ONTABLE(C)
ONTABLE(C) CLEAR(C) CLEAR(C) ARMEPMTYARMEPMTY PICKUP(C)
PICKUP(C)
B B
UNSTACK(B,A) UNSTACK(B,A) Plan aktualny:
Plan aktualny:
…
…dodanie operatora do dodanie operatora do planu
planu STACK(C,A)
STACK(C,A)
©AM©AM
7171
STRIPS:
STRIPS: przyk przyk ład planowania ł ad planowania
Stos cel Stos 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:
C C DD A
A Warunek stosowalno
Warunek stosowalnośści speci spełłnionyniony Usuni
Usunięęcie operatora ze cie operatora ze szczytu stosu i jego szczytu stosu i jego wykonanie oraz wykonanie oraz…… ONTABLE(C)
ONTABLE(C) CLEAR(C) CLEAR(C) ARMEPMTYARMEPMTY PICKUP(C)
PICKUP(C)
B B
UNSTACK(B,A) UNSTACK(B,A) Plan aktualny:
Plan aktualny:
…dodanie operatora do …dodanie operatora do planu
planu CLEAR(A)
CLEAR(A) HOLDING(C)HOLDING(C)
C C
PICKUP(C) PICKUP(C) STACK(C,A)
STACK(C,A)
©AM©AM
Stos cel Stos 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
D D A
A Warunek stosowalno
Warunek stosowalnośści speci spełłnionyniony Usuni
Usunięę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 operatora do planu
do planu CLEAR(A)
CLEAR(A) HOLDING(C)HOLDING(C)
C C
PICKUP(C) PICKUP(C) STACK(C,A)
STACK(C,A)
STACK(C,A) STACK(C,A) ON(B,D)
ON(B,D)
©AM©AM
7373
STRIPS:
STRIPS: przyk przyk ład planowania ł ad planowania
Stos cel Stos celóów:w:
STACK(B,D) STACK(B,D)
Stan aktualny:
Stan aktualny:
D D A
A Warunek spe
Warunek 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 g
Cel głłóówny spewny spełłnionyniony
©AM©AM
Stan pocz Stan począątkowy:tkowy:
ON(B,A) ON(B,A) ONTABLE(A) ONTABLE(A) ONTABLE(C) ONTABLE(C) ONTABLE(D) ONTABLE(D) ARMEPMTY ARMEPMTY
B B A
A CC DD
Stan ko
Stan 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
A A DD
B B
STACK(B,D) STACK(B,D) UNSTACK(B,A)
UNSTACK(B,A) Plan:
Plan:
PICKUP(C)
PICKUP(C) STACK(C,A)STACK(C,A)
©AM©AM
7575
STRIPS:
STRIPS: heurystyka heurystyka
Wiedza heurystyczna:
Wiedza heurystyczna:
•
• kolejno kolejność ść umieszczania ró umieszczania r óż żnic (warunk nic (warunkó ów) na stosie w) na stosie
• • wyb wybó ór operatora redukuj r operatora redukują ącego r cego ró óż żnic nicę ę Kolejno
Kolejność ść r ró óż żnic/warunk nic/warunkó ów: w:
•
• wiedza heurystyczna wiedza heurystyczna – – wiedza o trudnoś wiedza o trudno ści w osi ci w osią ąganiu warunk ganiu warunkó ów w (ten, kt
(ten, któ óry ry ł łatwo zniweczy atwo zniweczyć ć speł spe łniamy p niamy pó óź źniej) niej)
• • zapis wiedzy heurystycznej zapis wiedzy heurystycznej – – odpowiednia kolejno odpowiednia kolejność ść warunk warunkó ów w w w sekcji
sekcji PRECONDITIONs PRECONDITIONs operatora operatora Wyb
Wybó ór operatora: r operatora:
• • ten, kt ten, któ óry szybciej przybli ry szybciej przybliż ży stan aktualny do stanu docelowego y stan aktualny do stanu docelowego (ma mniejsz
(ma mniejszą ą licz liczę ę niespe niespeł łnionych warunk nionych warunkó ów stosowalno w stosowalnoś ści) ci)
•
• drugie kryterium: dodatkowo spe drugie kryterium: dodatkowo speł łnia inny cel ni nia inny cel niż żej na stosie (efekt ej na stosie (efekt uboczny)
uboczny)
©AM©AM
Stan pocz Stan począątkowy:tkowy:
ON(C,A) ON(C,A) ONTABLE(A) ONTABLE(A) ONTABLE(B) ONTABLE(B) ARMEPMTY
ARMEPMTY CC
A A BB
Stan ko
Stan końńcowy (docelowy):cowy (docelowy):
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C) ONTABLE(C)
B B C C A A
©AM©AM
7777
STRIPS:
STRIPS: anomalia anomalia Sussmana Sussmana’ ’a a
Stan aktualny:
Stan aktualny:
ON(C,A) ON(C,A) ONTABLE(A) ONTABLE(A) ONTABLE(B) ONTABLE(B) ARMEPMTY
ARMEPMTY CC
A A BB Stos cel
Stos celóów:w: Alternatywny stos celóAlternatywny 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)
©AM©AM
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) ARMEMPTY
ARMEMPTY CLEAR(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) ARMEPMTY ARMEPMTY
ON(A,B) ON(A,B)STACK(A,B) STACK(A,B) CLEAR(C) CLEAR(C)
CC AA BB Stos cel
Stos celóów:w:
©AM©AM
7979
STRIPS:
STRIPS: anomalia anomalia Sussman Sussman’ ’a a
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 cel Stos celóów:w:
CLEAR(C) CLEAR(C) ARMEPMTY ARMEPMTY ON(C,A) ON(C,A) CLEAR(C)
CLEAR(C) ARMEPMTY ARMEPMTY ON(C,A)ON(C,A) UNSTACK(C,A)
UNSTACK(C,A) ARMEMPTY ARMEMPTY
CC BB CC
AA
UNSTACK(C,A) UNSTACK(C,A) Plan aktualny:
Plan aktualny:
©AM©AM
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 cel Stos celóów:w:
ARMEMPTY ARMEMPTY
BB CC
AA PUTDOWN(C)
PUTDOWN(C) HOLDING(C)
HOLDING(C) Warunek stosowalnośWarunek stosowalnościci Wybrany, bo spe
Wybrany, bo spełłnia ONTABLE(C) poninia ONTABLE(C) poniżżejej
©AM©AM
8181
STRIPS:
STRIPS: anomalia anomalia Sussman Sussman’ ’a a
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 cel Stos celóów:w:
C C
BB CC AA
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)
©AM©AM
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 cel Stos celóów:w:
AA CC A A
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)
©AM©AM
8383
STRIPS:
STRIPS: anomalia anomalia Sussman Sussman’ ’a a
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 cel Stos celóów:w:
A A
C C A A B B
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)
©AM©AM
ON(A,B)
ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:
Stan aktualny:
Stos cel Stos celóów:w:
C C A A B B
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)
©AM©AM
8585
STRIPS:
STRIPS: anomalia anomalia Sussman Sussman’ ’a a
ON(A,B)
ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:
Stan aktualny:
Stos cel Stos 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)
A A
C C A A
B B 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)
©AM©AM
ON(A,B)
ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:
Stan aktualny:
Stos cel Stos 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)
A A
C C A A
B B CLEAR(B)
CLEAR(B) ARMEMPTY ARMEMPTY ONTABLE(B)ONTABLE(B)
UNSTACK(A,B) UNSTACK(A,B) PICKUP(B)
PICKUP(B) ARMEPMTY
ARMEPMTY Ponownie nie jest spePonownie nie jest spełłniony!niony!
©AM©AM
8787
STRIPS:
STRIPS: anomalia anomalia Sussman Sussman’ ’a a
ON(A,B)
ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:
Stan aktualny:
Stos cel Stos 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)
A A
C C A A
B B CLEAR(B)
CLEAR(B) ARMEMPTY ARMEMPTY ONTABLE(B)ONTABLE(B)
UNSTACK(A,B) UNSTACK(A,B) PICKUP(B)
PICKUP(B) ARMEPMTY
ARMEPMTY Nie STACK(A,B) bo byNie STACK(A,B) bo byłłby cyklby cykl HOLDING(A)
HOLDING(A) PUTDOWN(A) PUTDOWN(A)
©AM©AM
ON(A,B)
ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:
Stan aktualny:
Stos cel Stos 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)
A A
C C A
A 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)
©AM©AM
8989
STRIPS:
STRIPS: anomalia anomalia Sussman Sussman’ ’a a
ON(A,B)
ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:
Stan aktualny:
Stos cel Stos 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)
B B CC
B B
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)
©AM©AM
Stan aktualny:
Stan aktualny:
Stos cel Stos 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)
B B
C C B B 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)
©AM©AM
9191
STRIPS:
STRIPS: anomalia anomalia Sussman Sussman’ ’a a
Stan aktualny:
Stan aktualny:
Stos cel Stos 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)
B B
C C B B 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 spe Ponownie nie jest spełłnione!nione!
©AM©AM
Stan aktualny:
Stan aktualny:
Stos cel Stos 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)
A A CC A A
B B
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)
©AM©AM
9393
STRIPS:
STRIPS: anomalia anomalia Sussman Sussman’ ’a a
Stan aktualny:
Stan aktualny:
Stos cel Stos 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
C C A A B 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) 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!
©AM©AM
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:
• • niekt niektó óre operacje zaraz po wykonaniu re operacje zaraz po wykonaniu zostan
zostaną ą wycofane (bezpoś wycofane (bezpo średni nast redni nastę ępnik pnik w planie to operacja odwrotna)
w planie to operacja odwrotna)
•
• takie dope takie dopeł łniaj niają ące si ce się ę pary operacji moż pary operacji mo żna na wykry
wykryć ć i usunąć i usun ąć z planu w drodze analizy z planu w drodze analizy ko koń ńcowego planu, ale nie we wszystkich cowego planu, ale nie we wszystkich dziedzinach mo
dziedzinach moż żliwe jest okre liwe jest okreś ślenie, kt lenie, któ óra ra operacja niweluj
operacja niweluję ę inn inną ą; ;
•
• dodatkowo, zb dodatkowo, zbę ędne okaza dne okazał ło si o się ę ca cał łe e przetwarzanie, kt
przetwarzanie, któ óre zosta re został ło wykonane w o wykonane w trakcie planowania dla dope
trakcie planowania dla dopeł łniaj niają ących si cych się ę par operator
par operatoró ów w
©AM©AM
9696
STRIPS:
STRIPS: anomalia anomalia Sussman Sussman’ ’a a
Otrzymany plan nie jest optymalny:
Otrzymany plan nie jest optymalny:
•
• niekt niektó óre operacje zaraz po wykonaniu zostan re operacje zaraz po wykonaniu zostaną ą wycofane wycofane (bezpo
(bezpoś średni nast redni nastę ępnik w planie to operacja odwrotna) pnik w planie to operacja odwrotna)
•
• takie dope takie dopeł łniaj niają ące si ce się ę pary operacji moż pary operacji mo żna wykry na wykryć ć i usunąć i usun ąć z planu, z planu, ale nie we wszystkich dziedzinach mo
ale nie we wszystkich dziedzinach moż żliwe jest okre liwe jest okreś ślenie, kt lenie, któ óra ra operacj
operacją ą niweluję niweluj ę inn inną ą; ;
• • dodatkowo, zb dodatkowo, zbę ędne okaza dne okazał ło si o się ę ca cał łe przetwarzanie, kt e przetwarzanie, któ óre zosta re został ło o wykonane w trakcie planowania dla takich dope
wykonane w trakcie planowania dla takich dopeł łniaj niają ących si cych się ę par par operator
operatoró ów w
Czy za nieoptymalny plan odpowiada u
Czy za nieoptymalny plan odpowiada uż żyta heurystyka, czy sam yta heurystyka, czy sam algorytm planowania liniowego?
algorytm planowania liniowego?
Sprawd
Sprawdź źmy zatem skutki innych decyzji heurystycznych! my zatem skutki innych decyzji heurystycznych!
©AM©AM
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) ARMEPMTY ARMEPMTY
ON(B,C) ON(B,C)STACK(B,C) STACK(B,C) CLEAR(B) CLEAR(B)
CC AA BB Alternatywny stos cel
Alternatywny stos celóów:w:
Wszystkie warunki Wszystkie warunki spełspełnionenione
©AM©AM
9898
STRIPS:
STRIPS: anomalia anomalia Sussman Sussman’ ’a a
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 cel
Alternatywny stos celóów:w:
Warunek spe Warunek spełłnionyniony
PICKUP(B) PICKUP(B) CLEAR(C)
CLEAR(C) HOLDING(B)HOLDING(B) STACK(B,C)
STACK(B,C)
BB AA BB
C C
PICKUP(B) PICKUP(B) Alternatywny plan:
Alternatywny plan:
©AM©AM
ON(A,B)
ON(A,B) ON(B,C) ON(B,C) ONTABLE(C)ONTABLE(C)
Stan aktualny:
Stan aktualny:
Alternatywny stos cel Alternatywny stos celóów:w:
Warunek spe Warunek 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
A A B B C C
©AM©AM
100100
STRIPS:
STRIPS: anomalia anomalia Sussman Sussman’ ’a a
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 cel Alternatywny stos celóów:w:
itd. itd.
B B
A A B B C C
©AM©AM
Stan ko Stan 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
C C A A B 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) C
C A A BB Stan pocz
Stan począątkowy:tkowy:
PICKUP(B) PICKUP(B) STACK(B,C) STACK(B,C) PICKUP(A) PICKUP(A) STACK(A,B) STACK(A,B)
. . . . . .
. . . . . .
©AM©AM
102102
STRIPS:
STRIPS: anomalia anomalia Sussman Sussman’ ’a a
Alternatywny plan r
Alternatywny plan ró ównie wnież ż nie jest nie jest optymalny (a nawet jest gorszy!):
optymalny (a nawet jest gorszy!):
• • jest dł jest d łu uż ższy (o 4 operacje) szy (o 4 operacje)
•
• zawiera wię zawiera wi ęcej par niweluj cej par niwelują ących cych si
się ę operacji operacji
Za brak optymalno
Za brak optymalnoś ści planowania ci planowania nie odpowiada zatem u
nie 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) . . .
. . .
. . . . . .
©AM©AM
Stan ko
Stan końńcowy:cowy: Optymalny plan:Optymalny plan:
AA
CC A A B B
UNSTACK(C,A) UNSTACK(C,A) PUTDOWN(C) PUTDOWN(C)
C C A A BB Stan pocz Stan 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 u
Nieoptymalny plan nie jest jedynie efektem uż żytej heurystyki, lecz wynika z ytej heurystyki, lecz wynika z ogranicze
ograniczeń ń samego algorytmu planowania liniowego samego algorytmu planowania liniowego - - nie jest istotna nie jest istotna kolejno
kolejność ść osi osią ągania cel gania celó ów i porz w i porzą ądek wybierania operator dek wybierania operatoró ów, lecz fakt, i w, lecz fakt, iż ż metoda nie uwzgl
metoda nie uwzglę ędnia interakcji zachodz dnia interakcji zachodzą ących pomi cych pomię ędzy warunkami i dzy warunkami i operatorami.
operatorami.
©AM©AM
104104
Poszukiwanie planu: metoda regresji cel Poszukiwanie planu: metoda regresji celó ó w w
• • Planowanie opiera si Planowanie opiera się ę na zbiorze cel na zbiorze celó ów w, spo , spoś śr ró ó d d kt któ órych dowolny podcel mo rych dowolny podcel moż ż e być e by ć wybrany jako wybrany jako kolejny, kt
kolejny, któ óry nale ry należ ży osi y osią ągn gnąć ąć
• • Planowanie odbywa si Planowanie odbywa się ę wstecz wstecz (regresywnie) – (regresywnie) – od od stanu docelowego do stanu pocz
stanu docelowego do stanu począ ątkowego tkowego
• • Wybierany ze zbioru podcel jest traktowany tak Wybierany ze zbioru podcel jest traktowany tak jakby by
jakby był ł ostatnim, kt ostatnim , któ óry nale ry należ ży osi y osią ągn gnąć ąć (inaczej: (inaczej:
zak zakł ładamy, adamy, że reszta cel ż e reszta celó ów jest ju w jest już ż speł spe łniona i niona i szukamy tylko tych operacji, kt
szukamy tylko tych operacji, któ ó re mia re mia łyby dope ł yby dopeł łni nić ć plan poprzez spe
plan poprzez speł łnienie nienie „ „ostatniego ostatniego” ” podcelu) podcelu)
• • Wybrany operator Wybrany operator poszerza zbi poszerza zbió ór podcel r podceló ów w o swoje o swoje warunki stosowalno
warunki stosowalnoś ści ci
©AM©AM
Stan pocz Stan począątkowy:tkowy:
ON(C,A) ON(C,A) ONTABLE(A) ONTABLE(A) ONTABLE(B) ONTABLE(B) ARMEPMTY
ARMEPMTY CC
A A BB
Stan ko
Stan końńcowy (docelowy):cowy (docelowy):
ON(A,B) ON(A,B) ON(B,C) ON(B,C) ONTABLE(C) ONTABLE(C)**
B B C C A A
* -* -dla uproszczenia rozwadla uproszczenia rozważżaańńpodcel ONTABLE(C) nie bępodcel ONTABLE(C) nie będzie brany pod uwagdzie brany pod uwagęę
©AM©AM
107107
Regresja cel
Regresja celó ó w: w: przykł przyk ład ad
Drzewo przeszukiwania w przestrzeni zbior
Drzewo 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)
kk o on n ff l li i kk t t
©AM©AM
Drzewo przeszukiwania w przestrzeni zbior
Drzewo przeszukiwania w przestrzeni zbioróów celw celóów:w:
ON(x,B) ON(x,B) CLEAR(x) CLEAR(x) ARMEPMTY ARMEPMTY HOLDING(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)
k ko o nn ff l li i k kt t
kk o on n ff l l ii kk t t UNSTACK(A,x)
UNSTACK(A,x)
PICKUP(A) PICKUP(A)
STACK(B,C) STACK(B,C)
©AM©AM
109109
Regresja cel
Regresja celó ó w: w: przykł przyk ład ad
Drzewo przeszukiwania w przestrzeni zbior
Drzewo przeszukiwania w przestrzeni zbioróów celw celóów:w:
ON(x,B) ON(x,B) CLEAR(x) CLEAR(x) ARMEPMTY ARMEPMTY HOLDING(A) HOLDING(A) ON(B,C) ON(B,C)
ARMEPMTY ARMEPMTY CLEAR(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)
k ko o nn ff l li i k kt t
kk o on n ff l li i kk t t UNSTACK(A,x)
UNSTACK(A,x)
PICKUP(A) PICKUP(A)
STACK(B,C) STACK(B,C)