Gebruiken
description
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