De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT1 Gebruiken.

Verwante presentaties


Presentatie over: "PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT1 Gebruiken."— Transcript van de presentatie:

1 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT1 Gebruiken

2 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT2 Opdracht 2 Deadline: Vandaag, om 12u!

3 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT3 Waar zijn we nu?

4 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT4 Blokjeswereld Blokjes: A, B, C Greep G die één blokje kan verplaatsen Wat moeten we doen om het doel te bereiken?

5 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT5 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

6 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT6 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

7 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT7 Blokjeswereld: predicaten Blokjes –opTafel(X), op(X,Y), vrij(X) Greep –leeg(X) Greep en blokje –houdtVast(X,Y) Geen functiesymbolen

8 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT8 Blokjeswereld Acties: naam + parameters {opTafel(A), opTafel(B), op(C, A), leeg(G), vrij(C), vrij(B)} Verzameling van atomen zonder variabelen

9 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT9 Naïeve aanpak Probeer alle mogelijke overgangen totdat het doel bereikt is!

10 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT10 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)}

11 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT11 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)

12 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT12 Plan Plan  = –a 1, …, a n zijn acties  (s, ) = –s, als n = 0 –  (  (s, a 1 ), ), als n > 0 en a 1 toepasbaar is op s  is toepasbaar op s als  (s,  ) gedefinieerd is

13 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT13  (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

14 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT14 Plan Gegeven I en D, er bestaat een plan als Dus, bereken  (s) voor alle s  I en controleer (*)  (*)

15 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT15 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

16 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT16

17 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT17 Plan: Voorwaarts zoeken Kies s uit I  := lege plan Herhaal Als s  D, stop,  is een oplossing Anders, Kies (niet deterministisch) a  A toepasbaar op s Als er geen zijn, faal Anders, s :=  (s,a)  := .a Invoer: A, I, D Uitvoer: 

18 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT18 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?

19 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT19 Eindigheid van het “voorwaarts zoeken” is niet gegarandeerd: Hoe passen jullie het algoritme aan om dit probleem te vermijden?

20 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT20 Plan: Achterwaarts zoeken Kies s uit D  := lege plan Herhaal Als s  I, stop,  is een oplossing Anders, Kies a  A relevant is voor s Als er geen zijn, faal Anders, s :=  -1 (s,a)  := a.  Invoer: A, I, D Uitvoer: 

21 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT21 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)

22 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT22 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.

23 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT23 Probleem Zoekruimte kan enorm zijn Doel: –zoekruimte verkleinen –maar dan kunnen we ook sommige plans missen… volledigheid wordt opgeofferd

24 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT24 (1) Kies s uit D (2)  := lege plan (3) Herhaal (4)Als s  I, stop,  is een oplossing (5)Anders, (6)Kies a  A 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

25 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT25 Acties: blokje nemen, blokje neerzetten. Hoeveel stappen telt door STRIPS gevonden plan voor?

26 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT26 Antwoord… KBS/planningVideo.avi

27 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT27 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

28 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT28 Probleem met STRIPS

29 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT29

30 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT30 Andere aanpakken Reducties –SAT: vervulbaarheid van prepositionele formules –CSP veralgemening van SAT voor domeinen andere dan {false, true} Planninggrafen Heuristieken en veel meer!

31 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT31 Reductie naar SAT SAT: vervulbaarheid van CNF formules –CNF: C 1  …  C n –C i : D 1,i  …  D m i, i –D: x of  x –x – variabel SAT is NP-volledig Twee praktisch efficiënte algoritmen

32 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT32 Reductie naar SAT Plan Oplossen CNF coderen Variabel- toekenning extraheren Invoer: Acties, Initiële Toestanden, Doeltoestanden

33 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT33 Atoom  uniek variabel –opTafel(A)  x opTafel(A). Toestand  conjunctie van variabelen voor de geldige atomen –x opTafel(A)  x opTafel(B)  x op(C,A)  … CNF coderen Invoer: Acties, Initiële Toestanden, Doeltoestanden

34 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT34 x opTafel(A) betekent dat  x op(A,B)   x op(A,C). Hoe kunnen we het coderen? –Toestand = conjunctie van variabelen voor de geldige atomen van negaties van variabelen voor de niet geldige atomen CNF coderen Invoer: Acties, Initiële Toestanden, Doeltoestanden

35 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT35 Hoeveel conjuncten telt de voorstelling van CNF coderen Invoer: 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. 13C. 20

36 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT36 Maar, wat betekent x opTafel(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) CNF coderen Invoer: Acties, Initiële Toestanden, Doeltoestanden

37 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT37 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: –a i  (  p i   e i+1 ) –p  pre(a), e  effect(a) CNF coderen Invoer: Acties, Initiële Toestanden, Doeltoestanden

38 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT38 zetNeerOpTafel(greep, blokje) Hoeveel variabelen hebben we nodig om deze actie voor te stellen? A. nB. 2nC. 3n CNF coderen Invoer: Acties, Initiële Toestanden, Doeltoestanden

39 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT39 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 CNF coderen Invoer: Acties, Initiële Toestanden, Doeltoestanden

40 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT40 Een actie per stap –Voor alle acties a, b en alle 0  i  n-1:  a i   b i Raamaxioom: atomen die niet bij de effecten horen veranderen niet –  x (atoom, i)  x (atoom, i+1)  (  a i )  x (atoom, i)   x (atoom, i+1)  (  b i ). –a z.d. atoom  effect + (a) –b z.d. atoom  effect - (b) CNF coderen Invoer: Acties, Initiële Toestanden, Doeltoestanden

41 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT41 Planningprobleem: initiële toestanden  doeltoestanden  acties  een actie per stap  raamaxioom CNF coderen

42 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT42 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?

43 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT43 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?

44 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT44 Reductie naar SAT Plan Oplossen CNF coderen Variabel- toekenning extraheren Invoer: Acties, Initiële Toestanden, Doeltoestanden

45 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT45 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

46 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT46 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

47 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT47 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)

48 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT48 Davis Putnam: Boom x  (  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z {y/false} fail {z/false} true {z/false}

49 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT49 Wat is de maximale diepte van zo’n Davis Putnam boom?

50 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT50 Davis Putnam: voor- en nadelen  Een oplossing wordt gevonden desda er een bestaat.  Zoekproces kan te lang duren

51 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT51 Stochastische processen Idee: probeer een oplossing te raden Dus, gegeven  : –Kies een willekeurige toekenning  –Als  = true, stop. –Anders, herhaal. Niet praktisch…

52 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT52 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

53 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT53  = 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}

54 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT54 Stochastische methoden: voor- en nadelen  Zoekproces is meestal efficiënter  Oplossingen kunnen gemist worden  Eindigheid is niet gegarandeerd

55 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT55 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

56 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT56 Wat hebben we gedaan? Planning Rechtstreekse aanpakken: –Voorwaarts zoeken, –Achterwaarts zoeken –STRIPS Reductie naar SAT –SAT: Davis Putnam Stochastische methoden

57 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT57 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

58 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT58 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?

59 PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT59


Download ppt "PlanningDrie klassieke algoritmen Van planning naar SAT Oplossen van SAT1 Gebruiken."

Verwante presentaties


Ads door Google