Gebruiken

59
1 Van planning naar SAT Oplossen van SAT Drie klassieke algoritmen Planning Gebruiken

description

Gebruiken. Opdracht 2. Deadline: Vandaag, om 12u!. Redeneren. Verwerven. Voorstellen. Gebruiken. Waar zijn we nu?. ?. Blokjeswereld. Blokjes: A, B, C Greep G die één blokje kan verplaatsen Wat moeten we doen om het doel te bereiken?. - PowerPoint PPT Presentation

Transcript of Gebruiken

Page 1: Gebruiken

1Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Gebruiken

Page 2: Gebruiken

2Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Opdracht 2

Deadline:

Vandaag, om 12u!

Page 3: Gebruiken

3Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Waar zijn we nu?

Page 4: Gebruiken

4Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Blokjeswereld

Blokjes: A, B, C

Greep G die één blokje kan verplaatsen

Wat moeten we doen om het doel te bereiken?

Page 5: Gebruiken

5Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Gebruiken van kennis om een doel te bereiken: planning

• Kennis:– I: initiële toestand(en)– D: doeltoestand(en)– acties (overgangregels tussen de toestanden)

• Vind: een plan = lineaire reeks acties die van (een van) I naar (een van) D leiden – een pad in een toestandsruimte

Page 6: Gebruiken

6Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Aannames: klassiek planning

• Toestandsruimte is– eindig– discreet– zichtbaar

• we hebben een volledige kennis over het toestand

• Toestandovergangen zijn– deterministisch– veroorzaakt alleen door het plan– momenteel

Page 7: Gebruiken

7Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Blokjeswereld: predicaten

• Blokjes– opTafel(X), op(X,Y), vrij(X)

• Greep– leeg(X)

• Greep en blokje– houdtVast(X,Y)

• Geen functiesymbolen

Page 8: Gebruiken

8Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Blokjeswereld

• Acties: naam + parameters

{opTafel(A), opTafel(B),

op(C, A), leeg(G),

vrij(C), vrij(B)}

• Verzameling van atomen zonder variabelen

Page 9: Gebruiken

9Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Naïeve aanpak

• Probeer alle mogelijke overgangen totdat het doel bereikt is!

Page 10: Gebruiken

10Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Beter idee: voor iedere actie

• naam: zetNeerOpTafel(X, Y)• parameters: X (greep), Y (blokje)

• literaal: atoom of negatie van een atoom

• pre: verzameling van literalen – {houdtVast(X,Y)}

• effect : verzameling van literalen– {houdtVast(X,Y), leeg(X), vrij(Y), opTafel(Y)}

Page 11: Gebruiken

11Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Toepassing van acties

• Voor een verzameling literalen : + - deelverzameling van atomen - - deelverzameling van de negaties van atomen

• Actie a is toepasbaar op toestand s als– pre+(a) s, pre-(a) s =

• Toepassing van a op s is

(s,a) = s \ effect-(a) effect+(a)

Page 12: Gebruiken

12Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Plan

• Plan = <a1, …, an>

– a1, …, an zijn acties

(s,<a1, …, an>) = – s, als n = 0 ((s, a1), <a2, …, an>), als n > 0 en a1 toepasbaar is op s

is toepasbaar op s als (s,) gedefinieerd is

Page 13: Gebruiken

13Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

(s) = { | is toepasbaar op s}

(s) = {(s,) | (s)}

Welke stelling is waar?

A. (s) is een eindige verzameling

B. (s) is een eindige verzameling

C. A en B zijn waar

D. Nog A nog B is waar

Page 14: Gebruiken

14Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Plan

• Gegeven I en D, er bestaat een plan als

• Dus, bereken (s) voor alle sI en controleer (*)

Is

sD )( (*)

Page 15: Gebruiken

15Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Het bestaan van een plan

• Toestandsruimte is eindig– het bestaan van een plan is beslisbaar

• Gegeven verzameling acties– Zonder negatieve effecten

• met negatieve pre: NP• alleen positieve pre: P

– Met negatieve effecten: PSPACE

Page 16: Gebruiken

16Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Page 17: Gebruiken

17Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Plan: Voorwaarts zoeken

Kies s uit I := lege planHerhaal

Als sD, stop, is een oplossingAnders,

Kies (niet deterministisch) aA toepasbaar op sAls er geen zijn, faal

Anders,s := (s,a) := .a

Invoer: A, I, D

Uitvoer:

Page 18: Gebruiken

18Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

I = {{waarde(v1,’Ma’), waarde(v2,’Di’), waarde(v3,’Wo’)}}

D = {{waarde(v1,’Di’), waarde(v2,’Ma’}}

A = {toekenning(v,w,x,y) | v,w{v1,v2,v3}, x,y {‘Ma’,’Di’,’Wo’}}, waar

• naam: toekenning(v,w,x,y)

• pre: waarde(v,x), waarde(w,y)

• effect: waarde(v,x), waarde(v,y)

Wat is het minimale aantal stappen die “V.z.” nodig heeft om een plan te vinden?

Page 19: Gebruiken

19Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Eindigheid van het “voorwaarts zoeken” is niet gegarandeerd:

Hoe passen jullie het algoritme aan om dit probleem te vermijden?

Page 20: Gebruiken

20Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Plan: Achterwaarts zoeken

Kies s uit D := lege planHerhaal

Als sI, stop, is een oplossingAnders,

Kies aA relevant is voor sAls er geen zijn, faal

Anders,s := -1(s,a) := a.

Invoer: A, I, D

Uitvoer:

Page 21: Gebruiken

21Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Relevant? -1?

• Herh: actie a is toepasbaar op toestand s als– pre+(a) s, pre-(a) s =

• Actie a is relevant op toestand s als– effect+(a) s ≠ , effect-(a) s =

• Herh: toepassing van een toepasbare a op s is

(s,a) = s \ effect-(a) effect+(a)• Regressie van s voor a is

-1(s,a) = s \ effect(a) pre(a)

Page 22: Gebruiken

22Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Als de niet deterministische keuze alle mogelijkheden doorloopt, dan

A. vindt “voorwaarts zoeken” alle plannen.

B. vindt “achterwaarts zoeken” alle plannen.

C. A en B zijn waar.

D. nog A nog B is waar.

Page 23: Gebruiken

23Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Probleem

• Zoekruimte kan enorm zijn

• Doel:– zoekruimte verkleinen– maar dan kunnen we ook sommige plans

missen…• volledigheid wordt opgeofferd

Page 24: Gebruiken

24Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

(1) Kies s uit D(2) := lege plan(3) Herhaal(4) Als sI, stop, is een oplossing(5) Anders, (6) Kies aA relevant voor s(7) Als er geen zijn, faal(8) Anders,(9) D’ := alle toestanden z.d. pre(a)

geldt(10) ’:= STRIPS(I,A,D’)(11) Als ’ faalt, faal(12) Anders(13) s := ((s, ’),a)(14) := . ’.a

Achterwaarts – volledigheid = STRIPS

Page 25: Gebruiken

25Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• Acties: blokje nemen, blokje neerzetten.

• Hoeveel stappen telt door STRIPS gevonden plan voor?

Page 26: Gebruiken

26Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Antwoord…

KBS/planningVideo.avi

Page 27: Gebruiken

27Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

STRIPS vs. Achterwaarts zoeken

• Recursieve oproep: één onderdeel van de doel-conjunctie.

• Eenmaal ’ gevonden is, kan die niet meer herzien worden.

• Beide:– beperken de zoekruimte – maar leiden tot onvolledigheid

Page 28: Gebruiken

28Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Probleem met STRIPS

Page 29: Gebruiken

29Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Page 30: Gebruiken

30Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Andere aanpakken

• Reducties– SAT: vervulbaarheid van prepositionele

formules – CSP veralgemening van SAT voor domeinen

andere dan {false, true}

• Planninggrafen• Heuristieken• en veel meer!

Page 31: Gebruiken

31Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Reductie naar SAT

• SAT: vervulbaarheid van CNF formules– CNF: C1 … Cn

– Ci: D1,i … D mi,i

– D: x of x– x – variabel

• SAT is NP-volledig

• Twee praktisch efficiënte algoritmen

Page 32: Gebruiken

32Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Reductie naar SAT

Plan

Oplossen

CNFcoderen

Variabel-toekenning

extraheren

Invoer:Acties,

Initiële Toestanden, Doeltoestanden

Page 33: Gebruiken

33Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• Atoom uniek variabel– opTafel(A) xopTafel(A).

• Toestand conjunctie van variabelen voor de geldige atomen– xopTafel(A) xopTafel(B) xop(C,A) …

CNFcoderenInvoer:Acties,

Initiële Toestanden, Doeltoestanden

Page 34: Gebruiken

34Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• xopTafel(A) betekent dat xop(A,B) xop(A,C).

• Hoe kunnen we het coderen? – Toestand = conjunctie

• van variabelen voor de geldige atomen• van negaties van variabelen voor de niet geldige

atomen

CNFcoderenInvoer:Acties,

Initiële Toestanden, Doeltoestanden

Page 35: Gebruiken

35Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• Hoeveel conjuncten telt de voorstelling van

CNFcoderenInvoer:Acties,

Initiële Toestanden, Doeltoestanden

{opTafel(A), opTafel(B),

op(C, A), vrij(C), vrij(B)}

als er geen andere predicaten en constanten zijn?

A. 6 B. 13 C. 20

Page 36: Gebruiken

36Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• Maar, wat betekent xopTafel(A)?

– nu? morgen?

• Stel dat onze plan n stappen telt…– uniek variabel per atoom en stap!

– dus: x(opTafel(A), 0), …, x(opTafel(A), n)

CNFcoderenInvoer:Acties,

Initiële Toestanden, Doeltoestanden

Page 37: Gebruiken

37Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• Initiële toestand: alle variabelen in 0.– x(opTafel(A), 0) x(opTafel(B), 0) x(opTafel(B), 0) …

• Doeltoestand– x(op(A,B), n) x(op(B,C), n) x(op(B,A), n) …

• Acties: unieke variabel per actie en per stap:– ai (pi ei+1)

– p pre(a), e effect(a)

CNFcoderenInvoer:Acties,

Initiële Toestanden, Doeltoestanden

Page 38: Gebruiken

38Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• zetNeerOpTafel(greep, blokje)

• Hoeveel variabelen hebben we nodig om deze actie voor te stellen?

A. n B. 2n C. 3n

CNFcoderenInvoer:Acties,

Initiële Toestanden, Doeltoestanden

Page 39: Gebruiken

39Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• Initiële en doeltoestanden en acties– het is niet voldoende!

• Twee extra eisen:– er is maar één actie per stap– atomen die niet bij de effecten horen veranderen

niet

CNFcoderenInvoer:Acties,

Initiële Toestanden, Doeltoestanden

Page 40: Gebruiken

40Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• Een actie per stap – Voor alle acties a, b en alle 0 i n-1:

ai bi

• Raamaxioom: atomen die niet bij de effecten horen veranderen niet x(atoom, i) x(atoom, i+1) ( ai) x(atoom,

i) x(atoom, i+1) ( bi).– a z.d. atoom effect+(a)– b z.d. atoom effect-(b)

CNFcoderenInvoer:Acties,

Initiële Toestanden, Doeltoestanden

Page 41: Gebruiken

41Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• Planningprobleem:

initiële toestanden doeltoestanden acties een actie per stap raamaxioom

CNF

code

ren

Page 42: Gebruiken

42Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• Aanname: plan heeft n stappen. Hoe weten we wat n is?

1. Als we een plan van lengte n weten te vinden, hoe kunnen we alle plannen vinden die niet langer zijn dan n?

Page 43: Gebruiken

43Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• Aanname: plan heeft n stappen. Hoe weten we wat n is?

2. Als we alle plannen kunnen vinden die niet langer zijn dan n, hoe vinden we alle plans?

Wat is de maximale lengte van een plan?

Page 44: Gebruiken

44Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Reductie naar SAT

Plan

Oplossen

CNFcoderen

Variabel-toekenning

extraheren

Invoer:Acties,

Initiële Toestanden, Doeltoestanden

Page 45: Gebruiken

45Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Hoe los je SAT op?

• Davis-Putnam– voor een probleem van lengte n

• geeft een oplossing desda een oplossing bestaat

• Stochastische procedure– “desda” geldt niet– soms beter geschikt voor grotere problemen

Page 46: Gebruiken

46Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Davis Putnam (1)

• Opmerking 1: x (x y z) – x is true en (y z)

• Opmerking 2: x (x y z) – x is false

• Opmerking 3: (x y) (x z)– of x is true en z– of x is false en y

Page 47: Gebruiken

47Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Davis Putnam (2)

Davis-Putnam(, oplossing)1. = true return oplossing

2. = false fail

3. = x ’ Davis-Putnam(’[x/true], oplossing {x/true})

4. = x ’ Davis-Putnam(’[x/false], oplossing {x/false})

5. anders kies een variabel y in ,a. Davis-Putnam(y , oplossing)

b. Davis-Putnam(y , oplossing)

Page 48: Gebruiken

48Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Davis Putnam: Boomx (x y z) (x y z) (x

y z) (x y)

(y z) ( y z) (y z)

{x/true}

y (y z) ( y z) (y

z)

y (y z) ( y z) (y

z)

z z

{y/true}

z

{y/false}

fail

{z/false}

true

{z/false}

Page 49: Gebruiken

49Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• Wat is de maximale diepte van zo’n Davis Putnam boom?

Page 50: Gebruiken

50Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Davis Putnam: voor- en nadelen

Een oplossing wordt gevonden desda er een bestaat.

Zoekproces kan te lang duren

Page 51: Gebruiken

51Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Stochastische processen

• Idee: probeer een oplossing te raden

• Dus, gegeven :– Kies een willekeurige toekenning – Als = true, stop.– Anders, herhaal.

• Niet praktisch…

Page 52: Gebruiken

52Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Beter idee (GSAT)

• Kies een willekeurige toekenning • Als = true, stop.

is een oplossing

• Anders pas aan:– m(x) = het aantal conjuncten c in zodanig dat

c[x/(x)] = false– kies x zodanig dat m(x) het kleinste is. ’ = [x/(x)]

• Herhaal

Page 53: Gebruiken

53Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

= x (x y z) (x y z) (x y z) (x y)

= {x/false, y/false, z/false}

Wat is ’?

A. {x/true, y/false, z/false}

B. {x/false, y/true, z/false}

C. {x/false, y/false, z/true}

Page 54: Gebruiken

54Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Stochastische methoden: voor- en nadelen

Zoekproces is meestal efficiënter

Oplossingen kunnen gemist wordenEindigheid is niet gegarandeerd

Page 55: Gebruiken

55Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Huiswerk 18

• In plaats van reductie naar SAT, kunnen we constraints satisfaction problems (CSP) gebruiken

• Wat is een constraints satisfaction problem?• Hoe stel je een planningprobleem als CSP?• Hoe los je een CSP op?• Geef voorbeeld van een planningprobleem en toon aan

hoe je die 1) naar CSP vertaald, 2) oplost en 3) een plan extraheert.

• In te leveren ten laatste op 19 juni 2007

Page 56: Gebruiken

56Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Wat hebben we gedaan?

• Planning• Rechtstreekse aanpakken:

– Voorwaarts zoeken,– Achterwaarts zoeken– STRIPS

• Reductie naar SAT– SAT:

• Davis Putnam• Stochastische methoden

Page 57: Gebruiken

57Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Opdracht 3: Procesmining

• Doel: integreren van MINEPI in ProM.• Middelen:

– MINEPI: • presentatie van Toon Calders• paper van Manilla, Toivonen en Verkamo• presentatie van Klemettinen en Moen

– ProM: Eric

• In te leveren tot 4 juli:– software + verslag

Page 58: Gebruiken

58Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Opdracht 3

• Lees het artikel– Beantwoord de vragen in de opgave

• Implementeer een ProM plugin– Besprek de implementatie

• Voer een reeks experimenten– Besprek de experimenten

• Is MINEPI geschikt voor procesmining?

Page 59: Gebruiken

59Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning