• Nie Znaleziono Wyników

Planowanie

N/A
N/A
Protected

Academic year: 2021

Share "Planowanie"

Copied!
42
0
0

Pełen tekst

(1)
(2)

Problem planowania

painted

not painted

ceiling

(3)

Problem planowania

stir−paint

not painted

ceiling

ceiling

painted

paint

ceiling

get−paint

get−ladder

mount−ladder

(4)

Jezyk STRIPS: stany

Reprezentuj¡ hwilowe stany opisywanego ±wiata,

ka»dy stan opisany jest jako koniunk ja literaªów rela yjny h,

literaªy s¡ zawsze ustalone i bez wyra»e« funk yjny h,

w opisie wystpuj¡ tylko literaªy pozytywne,

o pozostaªy h zakªada si, »e s¡ nieprawdziwe

Np.

At(Spare, T runk) ∧ At(F lat, Axle)

(5)

Jezyk STRIPS: akcje

Reprezentuj¡ zynno± i zmieniaj¡ e stan opisywanego ±wiata,

ka»da ak ja ma warunki wstpne, które musz¡ by¢ speªnione

przed zastosowaniem ak ji, oraz efekty, które za hodz¡ po wykonaniu ak ji

(6)

Jezyk STRIPS: akcje

Reprezentuj¡ zynno± i zmieniaj¡ e stan opisywanego ±wiata,

ka»da ak ja ma warunki wstpne, które musz¡ by¢ speªnione

przed zastosowaniem ak ji, oraz efekty, które za hodz¡ po wykonaniu ak ji

Preconditions

Action

Effects

Warunki wstpne: koniunk ja pozytywny h literaªów rela yjny h,

mo»e zawiera¢ zmienne i staªe, ale bez wyra»e« funk yjny h

Efekty: koniunk ja negatywny h i pozytywny h literaªów rela yjny h, mo»e

zawiera¢ zmienne z war. wstpny h i staªe, ale bez wyr. funk yjny h

At(x,Trunk)

At(x,Ground)

At(x,Trunk)

Remove(x,Trunk)

(7)

Jezyk STRIPS: postawienie problemu

Stan po z¡tkowy

Wybrany stan reprezentuj¡ y warunki po z¡tkowe zadanego problemu

Cel

Zbiór faktów, tzn. pozytywny h literaªów rela yjny h

z ustalonymi warto± ami (tzn. bez zmienny h i wyra»e« funk yjny h)

At(Flat,Axle)

At(Spare,Trunk)

Start

At(Spare,Axle)

Finish

(8)

Plan jako rozwiazanie problemu

Plan

Cz± iowo uporz¡dkowany zbiór ak ji przeksztaªa aj¡ y stan po z¡tkowy

w stan speªniaj¡ y warunki do elowe

Ak je w planie s¡ ukonkretnione, tzn. zmienne wystpuj¡ e jako parametry

ak ji maj¡ przypisan e konkretne warto± i

Start

Remove(Spare,Trunk)

At(Spare,Trunk)

Remove(Flat,Axle)

At(Flat,Axle)

PutOn(Spare,Axle)

At(Spare,Ground)

At(Flat,Axle)

Finish

At(Spare,Axle)

At(Flat,Axle)

At(Spare,Trunk)

¬

Poprawno±¢ planu polega na tym, »e dla ka»dej ak ji stan poprzedzaj¡ y t¡

(9)

Plan jako rozwiazanie problemu

W prakty e poszukuje si liniowo uporz¡dkowany h planów

Start

Start

Start

Total-Order Plans:

Partial-Order Plan:

Start

Left

Sock

Start

Right

Sock

Start

Left

Sock

Left

Sock

Right

Sock

Right

Sock

LeftSockOn

RightSockOn

LeftShoeOn, RightShoeOn

Start

Right

Sock

Right

Shoe

Left

Sock

Left

Shoe

Left

Sock

Left

Sock

Right

Sock

Right

Shoe

Right

Sock

Left

Shoe

Right

Shoe

Left

Shoe

Right

Shoe

Left

Shoe

Left

Sock

Right

Sock

Left

Shoe

Right

Shoe

Left

Shoe

Right

Shoe

Left

Shoe

Right

Shoe

(10)

Redukcja przestrzeni planow

Przestrze« mo»liwy h planów jest zazwy zaj bardzo du»a,

dlatego stosuje si heurysty zne metody reduk ji przestrzeni stanów:

Linearyza j a

pomija plany, w który h ak je prowadz¡ e

do ró»ny h pod elów wystpuj¡ naprzemiennie

O hrona

pomija plany, w który h wystpuje ak ja eliminuj¡ a

jeden z w ze±niej osi¡gnity h pod elów

Uwaga: linearyza ja i o hrona s¡ w prakty e skute zne,

ale mog¡ spowodowa¢ wyklu zenie poprawny h planów,

w sz zególno± i mog¡ wyklu zy¢ wszystkie poprawne plany

(11)

Metody poszukiwania poprawnych planow

Przeszukiwanie wprzód  ForwardChainin g

Przeszukiwanie wste z  PopPlan  GraphPlan

Sprowadzenie do problemu speªnialn o± i  SatPlan

(12)

ForwardChaining

Poszukuje planu z liniowo uporz¡dkowanymi ak jami za zynaj¡ od stanu

po- z¡tkowego i dodaj¡ ak je w przód. Algorytm ofa si, je±li nie mo»e

za-stosowa¢ ju» »adnej ak ji w bie»¡ ym stanie lub bie»¡ y stan wyst¡piª ju»

(13)

ForwardChaining: algorytm

A2

Start

A1

A1

A2

A1

A2

A2

A1

A2

(14)

ForwardChaining: algorytm

matching

Start

A1

A1

A2

A1

A2

A2

A1

A2

A2

action

(15)

ForwardChaining: algorytm

enumerating possible

Start

A1

A1

A2

A1

A2

A2

A1

A2

A2

action

matching

substitutions

to preconditions

(16)

ForwardChaining: algorytm

enumerating possible

Start

A1

A1

A2

A1

A2

A2

A1

A2

A2

removing

repeated states

action

matching

substitutions

to preconditions

(17)

ForwardChaining: algorytm

enumerating possible

Start

A1

A1

A2

A1

A2

A2

A1

A2

A2

removing

repeated states

action

matching

substitutions

to preconditions

(18)

ForwardChaining: efektywna implementacja

Przegl¡danie mo»liwy h podstawie« do warunków wstpny h ak ji Najpi erw mo»na dopasowywa¢ fakty z warunków wstpny h ak ji

i ze stanu, a potem przegl¡da¢ pasuj¡ e podstawienia

Usuwanie powtarzaj¡ y h si stanów

Stany wyli zone w poprzedni h kroka h algorytmu mog¡ by¢

(19)

Polaczenia przyczynowe i wiezy porzadkujace

Poª¡ zenia przy zynowe

Poª¡ zenia w planie prowadz¡ e od efektu jednej ak ji

do warunku wstpnego innej ak ji

Wizy porz¡dkuj¡ e

Wizy midzy ak jami w planie wskazuj¡ e, »e jedna ak ja

wystpuje przed inn¡ ak j¡

Warunek otwarty = warunek wstpny jednej z ak ji nie posiadaj¡ y

poª¡ zenia przy zynowego prowadz¡ ego od efektu innej ak ji

Plan jest kompletny wtw kiedy ka»dy warunek wstpny jest osi¡gnity

Warunek wstpny jest osi¡gnity wtw je±li jest efektem w ze±niejszej ak ji

(20)

Polaczenia przyczynowe i wiezy porzadkujace

Start

Sells(SM,Milk)

Sells(HWS,Drill)

(21)

Polaczenia przyczynowe i wiezy porzadkujace

Buy(Drill)

Buy(Milk)

Go(SM)

Start

Sells(SM,Milk)

At(SM)

Sells(HWS,Drill)

At(HWS)

At(x)

Sells(SM,Milk)

Sells(HWS,Drill)

At(Home)

Sells(SM,Ban.)

(22)

Polaczenia przyczynowe i wiezy porzadkujace

At(SM)

At(Home)

At(HWS)

Buy(Drill)

Buy(Milk)

Buy(Ban.)

Go(Home)

Go(HWS)

Go(SM)

Start

Sells(SM,Milk)

At(SM)

At(SM)

Sells(SM,Ban.)

Sells(HWS,Drill)

At(HWS)

(23)

Kloberowanie oraz promocja/democja

Ak ja kloberuj¡ a jest poten jalnie przeszkadzaj¡ ¡ ak j¡, która

eliminuje warunek uzyskany z powi¡zania przy zynowego,

np.

Go

(Home)

kloberuje

At

(Supermarket)

:

At(Home)

At(Home)

Go(Home)

DEMOTION

PROMOTION

Go(Supermarket)

At(Supermarket)

Buy(Milk)

Demo ja: dodanie wizu porz¡dkuj¡ ego

Go

(Home) → Go(Supermarket)

Promo ja: dodanie wizu porz¡dkuj¡ ego

(24)

PopPlan: algorytm

Pomysª: Stopniowo kompletuje plan za zynaj¡ od pustego planu poprzez

dodawanie poª¡ ze« przy zynowy h, ak ji i wizów porz¡dkuj¡ y h

Cofa, gdy otwarty warunek jest nieosi¡ga ln y lub konikt jest nierozstrzygaln y

fun tion POP (initial,goal,operators) returns plan

plan

Make-Minimal-Plan(initial,goal) loop do

if Solution?(plan) then return plan

S

need

, c

Sele t-Subgoal(plan)

Choose-Operator(plan,operators,

S

need

, ) Resolve-Threats(plan)

end

fun tion Sele t-Subgoal(plan) returns

S

need

, c

pi k a plan step

S

need

from Steps(plan)

(25)

PopPlan: algorytm

pro edure Choose-Operator(plan,operators,

S

need

, )

hoose a step

S

add

from operators or Steps(plan) that has

c

as an ee t if there is no su h step then fail

add the ausal link

S

add

c

−→ S

need

to Links(plan)

add the ordering onstraint

S

add

≺ S

need

to Orderings(plan) if

S

add

is a newly added step from operators then

add

S

add

to Steps(plan)

add

Start

≺ S

add

≺ F inish

to Orderings(plan)

pro edure Resolve-Threats(plan)

for ea h

S

threat

that threatens a link

S

i

c

−→ S

j

in Links(plan) do hoose either

Demotion: Add

S

threat

≺ S

i

to Orderings(plan) Promotion: Add

S

j

≺ S

threat

to Orderings(plan) if not Consistent(plan) then fail

(26)

PopPlan: przyklad

Start State

Goal State

B

A

C

A

B

C

PutOn(x,y)

Clear(x) On(x,z) Clear(y)

~On(x,z) ~Clear(y)

Clear(z) On(x,y)

PutOnTable(x)

Clear(x) On(x,z)

~On(x,z) Clear(z) On(x,Table)

(27)

PopPlan: przyklad

B

A

C

A

B

C

FINISH

On(A,B) On(B,C)

START

(28)

PopPlan: przyklad

B

A

C

A

B

C

FINISH

START

On(C,A) On(A,Table) Cl(B) On(B,Table) Cl(C)

PutOn(B,C)

Cl(B) On(B,z) Cl(C)

(29)

PopPlan: przyklad

B

A

C

A

B

C

FINISH

On(A,B) On(B,C)

START

On(C,A) On(A,Table) Cl(B) On(B,Table) Cl(C)

PutOn(B,C)

PutOn(A,B)

PutOn(A,B)

clobbers Cl(B)

=> order after

PutOn(B,C)

On(A,z) Cl(B)

Cl(A)

On(B,z) Cl(C)

Cl(B)

(30)

PopPlan: przyklad

B

A

C

A

B

C

FINISH

On(A,B) On(B,C)

START

On(C,A) On(A,Table) Cl(B) On(B,Table) Cl(C)

PutOn(B,C)

Cl(B) On(B,z) Cl(C)

PutOn(A,B)

Cl(A) On(A,z) Cl(B)

PutOn(A,B)

clobbers Cl(B)

=> order after

PutOn(B,C)

PutOnTable(C)

PutOn(B,C)

clobbers Cl(C)

=> order after

PutOnTable(C)

Cl(C)

(31)

PopPlan: wlasnosci

Niedeterminiz m:

 wybór ak ji

S

add

do powi¡zania przy zynowego z

S

need

 wybór demo ji lub promo ji dla ak ji kloberuj¡ ej

(wybór

S

need

mo»e by¢ ustalony: ka»dy warunek wstpny musi zosta¢ osi¡gnity w ko« owym planie)

PopPlan jest peªny i systematy zny (wyklu za powtórzenia)

Mo»na efektywnie przyspiesz y¢ wybieraj¡ wªa± iw¡ heurystyke rozstrzygania

koniktów na podstawie opisu problemu

(32)

Graf planowania

Graf planowani a skªada si z poziomów:

 poziom

S

0

odpowiada stanowi po z¡tkowemu z opisu zadania,  kolejne poziomy odpowiadaj¡ kolejnym krokom zasu

Ka»dy poziom zawiera:

 zbiór literaªów: reprezentuje te, o mog¡ by¢ speªnione w danym kroku

 zbiór ak ji: reprezentuje ak je, które mog¡ by¢ u»yte w danym kroku;

opró z ak ji z opisu problemu, dla ka»dego literaªu dopusz zalna jest

ak ja za howuj¡ a stan tego literaªu

Poziomy s¡ rozwijane do momentu, kiedy dwa kolejne poziomy s¡ identy zne

(33)

Graf planowania: przyklad

Stan po z¡tkowy:

Have

(Cake)

Cel:

Have

(Cake) ∧ Eaten(Cake)

Ak je:



Eat

(Cake)

warunki wstpne:

Have

(Cake)

efekty:

¬Have

(Cake) ∧ Eaten(Cake)



Bake

(Cake)

warunki wstpne:

¬Have(Cake)

efekty:

Have

(Cake)

Bake(Cake)

Eat(Cake)

Have(Cake)

S

0

A

0

S

1

A

1

S

2

Have(Cake)

Have(Cake)

Have(Cake)

Have(Cake)

Eaten(Cake)

Eaten(Cake)

Eat(Cake)

¬

¬

¬

¬

(34)

Relacja wzajemnej wylacznosci (mutex)

Rela ja mutex za hodzi pomidzy dwoma ak jami, je±li wystpuj¡:

 albo sprze zne efekty ak ji

 albo interferen ja, tzn. efekt jednej z ak ji

jest nega j¡ warunku wstpnego drugiej ak ji

 albo ak je maj¡ sprze zne warunki wstpne

Rela ja mutex za hodzi pomidzy dwoma literaªami, je±li jeden jest nega j¡

(35)

Relacja mutex: przyklad

Ak je

Eat

(Cake)

i ak ja za howuj¡ a

Have

(Cake)

s¡ sprze zne, bo maj¡ sprze zny efekt

Have

(Cake)

Ak je

Eat(Cake)

i ak ja za howuj¡ a

Have(Cake)

s¡ sprze zne, bo efekt ak ji

Eat

(Cake)

jest zaprze zeniem warunku wstpnego ak ji za howuj¡ ej

Have

(Cake)

Ak je

Eat

(Cake)

i

Bake

(Cake)

s¡ sprze zne, bo maj¡ sprze zny warunek wstpny

Have

(Cake)

Literaªy

Have

(Cake)

i

Eaten

(Cake)

s¡ w rela ji mutex, bo wymagaj¡ u»y- ia wyklu zaj¡ y h si ak ji

Eat

(Cake)

i ak ji za howania

Have

(Cake)

Bake(Cake)

Eat(Cake)

Have(Cake)

S

0

A

0

S

1

A

1

S

2

Have(Cake)

Have(Cake)

Have(Cake)

Have(Cake)

Eat(Cake)

(36)

GraphPlan: algorytm

fun tion Graphplan(problem ) returns solution or failure

graph

Initial-Planning-Graph(problem ) goals

Goals [ problem ℄

loop do

if goals all non-mutex in last level of graph then do

solution

Extra t-Solution(graph,goals,Length(graph)) if solution

6=

failure then return solution

else if No-Solution-Possible(graph) then return failure

graph

Expand-Graph(graph,problem )

Funk ja Initial-Planning-Graph generuje literaªy na poziomie

S

0

grafu planowani a zyli literaªy ze stanu po z¡tkowego

W ka»dym kroku ptli funk ja Expand-Graph dodaje ak je z bie»¡ ego

(37)

GraphPlan: szukanie rozwiazania

Funk ja Extra t-Solution próbuje znale¹¢ plan na podstawie

doty h- zas wygenerowanego grafu planowania. Cofa si od ostatniego poziomu grafu

przeksztaª aj¡ bie»¡ y zbiór niespeªni ony h elów w nastpuj¡ y sposób:

 po z¡tkowy zbiór elów to wszystkie ele z zadania

na ostatnim bie»¡ ym poziomie

S

n

 dla elów na poziomie

S

i

algorytm wybiera podzbiór ak ji z poziomu

A

i−1

tak, »eby efekty ty h ak ji pokrywaªy zbiór elów na poziomie

S

i

i »adne dwie nie wyklu zaªy si wzajemnie,

funk ja zwra a pora»k, je±li takiego zbioru ak ji nie da si wybra¢

 warunki wstpne ak ji wybrany h na poziomie

A

i−1

staj¡ si bie»¡ ymi elami na poziomie

S

i−1

(38)

GraphPlan: przyklad

Cel:

At

(Spare, Axle)

S

0

A

1

S

2

At(Spare,Trunk)

At(Spare,Trunk)

At(Flat,Axle)

At(Flat,Axle)

At(Spare,Axle)

At(Flat,Ground)

At(Flat,Ground)

At(Spare,Ground)

At(Spare,Ground)

At(Spare,Trunk)

At(Spare,Trunk)

At(Flat,Axle)

At(Flat,Axle)

At(Spare,Axle)

At(Flat,Ground)

At(Flat,Ground)

At(Spare,Ground)

At(Spare,Ground)

At(Spare,Axle)

At(Spare,Trunk)

At(Flat,Axle)

At(Spare,Axle)

At(Flat,Ground)

At(Spare,Ground)

PutOn(Spare,Axle)

LeaveOvernight

Remove(Flat,Axle)

Remove(Spare,Trunk)

Remove(Spare,Trunk)

Remove(Flat,Axle)

LeaveOvernight

¬

¬

¬

¬

¬

¬

¬

¬

¬

¬

¬

¬

¬

A

0

S

1

W powy»szym przykªadzie zostaªy zazna zone tylko niektóre rela je mutex

(39)

GraphPlan: wybor celow i akcji

Koszt poziomowy literaªu : najni»s zy poziom w grae planowani a, na którym

dany literaª wystpuje po raz pierwszy

Funk ja Extra t-Solution u»ywa nastpuj¡ ej heurystyki wyboru elów

i ak ji na ka»dym poziomie:

 ele wybierane s¡ w kolejno± i od najwy»szego do najni»szego kosztu

poziomowego

 do osi¡gni ia danego elu wybierana jest ak ja z najmniejsz¡ sum¡ (lub

(40)

GraphPlan: wlasnosci

Twierdzenie

Dla ka»dego zadania planowania mo»na efektywnie wyzna zy¢ sko« zony

poziom grafu planowani a, od którego funk ja Extra t-Solution

(41)

SATPlan

Planowanie przez sprowadzenie do problemu speªnialn o± i w logi e zdaniowej

Problem

Algorithm

For SAT

Heuristic

Planning

Plan

decoding

Model

coding

Formula

Boolean

(42)

SATPlan: algorytm

fun tion Satplan(problem,T

max

) returns solution or failure inputs : problem , a planning problem

T

max

, an upper limit for plan length for T

= 0

to T

max

do

nf,mapping

Translate-To-SAT(problem,T) assignment

SAT-Solver( nf )

if assignment is not null then

return Extra t-Solution(assignment,mapping )

return failure

Funk ja Translate-To-S AT konwertuje problem planowania do formuªy

w posta i normalnej koniunk yjnej

Obraz

Graf planowania: przyklad

Cytaty

Powiązane dokumenty

89 zwingend geregelten Wirkungen der Ehe: die Pflicht zur ehelichen Lebensgemeinschaft, das Recht zur Berufstätigkeit und Unter- haltspflicht zusätzlich in dem gleich

W ramach Narodowych Funduszy Inwestycyjnych wylosowano niezale»nie 40 spóªek i przed- si¦biorstw, dla których zbadano wska¹nik pªynno±ci bie»¡cej oraz wska¹nik

Podkre±lmy wi¦c: podstawowy kurs analizy matematycznej to nie jest »adna specjalistyczna wiedza, która mo»e si¦ przy- da¢, ale nie musi.. To podstawowe poj¦cia i zwi¡zki

Podkre±lmy wi¦c: podstawowy kurs analizy matematycznej to nie jest »adna specjalistyczna wiedza, która mo»e si¦ przy- da¢, ale nie musi.. To podstawowe poj¦cia i zwi¡zki

Szereg (12.5) ma wi¦c dodatnie wyrazy, i jest zbie»ny (czyli jest zbie»na caªka po lewej stronie (12.5)) dokªadnie wtedy, gdy jest ograniczony.. Oszacujmy jeszcze

Szereg (12.5) ma wi¦c dodatnie wyrazy, i jest zbie»ny (czyli jest zbie»na caªka po lewej stronie (12.5)) dokªadnie wtedy, gdy jest ograniczony.. Oszacujmy jeszcze

wa»ne narz¦dzie i dla matematyków i dla in»ynierów (tak»e dla informatyków :-)).. Sprz¦»enie jest odbiciem wzgl¦dem osi poziomej, a moduª oznacza euklidesow¡ odlegªo±¢

Warunek (i) mówi, »e A jest ograniczony od góry i s jest ograniczeniem od góry, a warunek (ii) mówi, »e »adna liczba mniejsza od s nie jest ogranicze- niem A od góry, czyli, »e