Gebruiken

Post on 17-Jan-2016

36 views 0 download

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

1Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Gebruiken

2Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Opdracht 2

Deadline:

Vandaag, om 12u!

3Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Waar zijn we nu?

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?

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

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

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

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

9Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Naïeve aanpak

• Probeer alle mogelijke overgangen totdat het doel bereikt is!

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)}

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)

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

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

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 )( (*)

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

16Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

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:

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?

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?

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:

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)

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.

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

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

25Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• Acties: blokje nemen, blokje neerzetten.

• Hoeveel stappen telt door STRIPS gevonden plan voor?

26Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Antwoord…

KBS/planningVideo.avi

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

28Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

Probleem met STRIPS

29Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

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!

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

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

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

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

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

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

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

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

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

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

41Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

• Planningprobleem:

initiële toestanden doeltoestanden acties een actie per stap raamaxioom

CNF

code

ren

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?

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?

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

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

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

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)

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}

49Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning

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

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

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…

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

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}

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

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

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

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

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?

59Van planning naar SAT

Oplossen van SATDrie klassieke

algoritmen

Planning