De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Gebruiken.

Verwante presentaties


Presentatie over: "Gebruiken."— Transcript van de presentatie:

1 Gebruiken

2 Opdracht 2 Deadline: Vandaag, om 12u!

3 Waar zijn we nu? Verwerven Redeneren Voorstellen Gebruiken Verwerven:
bron  interne representatie Redeneren: Interne representatie  interne representatie Gebruiken: Interne representatie  doel Voorbeeld van 29 oktober 2006 (begin wintertijd) Nog ten minste 3 seconden wachten tot dat iedereen het hele plaatje gezien heeft

4 Blokjeswereld ? Blokjes: A, B, C
Greep G die één blokje kan verplaatsen Wat moeten we doen om het doel te bereiken?

5 Gebruiken van kennis om een doel te bereiken: planning
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 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 Blokjeswereld: predicaten
opTafel(X), op(X,Y), vrij(X) Greep leeg(X) Greep en blokje houdtVast(X,Y) Geen functiesymbolen

8 Blokjeswereld Verzameling van atomen zonder variabelen
{opTafel(A), opTafel(B), op(C, A), leeg(G), vrij(C), vrij(B)} Vraag: wie weet nog wat een literaal betekent? Acties: naam + parameters

9 Naïeve aanpak Probeer alle mogelijke overgangen totdat het doel bereikt is!

10 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 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 Plan Plan  = <a1, …, an> (s,<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

13 Vlugge Vraag (s) = { |  is toepasbaar op s}
(s) = {(s,) |   (s)} Welke stelling is waar? (s) is een eindige verzameling (s) is een eindige verzameling A en B zijn waar Nog A nog B is waar B is waar, het volgt uit onze basisaanname dat de hele toestandsruimte eindig is,

14 Plan Gegeven I en D, er bestaat een plan als (*) 
Dus, bereken (s) voor alle sI en controleer (*) (*) FS = Forward search

15 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 ALC, neg eff pos eff, pos pre pos eff, pos/neg pre SHOIN PSPACE NP RE
NEXPTIME P EXPTIME Vraag aan de studenten – wat kennen ze nog en wat kennen ze niet meer. P – polynomiaal oplosbare problemen, NP - -”- maar met een niet deterministische Turing machine coNP – complement van een probleem zit in NP PSPACE – polynomiale geheugen en onbeperkte tijd EXPTIME – exponentiele tijd NEXPTIME – niet deterministische exponentiele tijd ELEMENTARY – eindig hoge toren van machten PR – primitief recursieve functie (recursie en compositie van de functies zijn toegelaten) RE – recursively enumerable (recursief opsombaar) – verificatie is mogelijk in eindige tijd (“ja”); ontkrachting kan oneindig lang duren coRE – ontkrachting is in eindige tijd mogelijk; verificatie kan oneindig lang duren, ALL – alle functies coNP coRE ALL

17 Plan: Voorwaarts zoeken
Invoer: A, I, D Uitvoer:  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 s := (s,a)  := .a

18 Vlugge Vraag 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? Antwoord: 3

19 Vlugge Vraag Eindigheid van het “voorwaarts zoeken” is niet gegarandeerd: B is waar, het volgt uit onze basisaanname dat de hele toestandsruimte eindig is, Hoe passen jullie het algoritme aan om dit probleem te vermijden?

20 Plan: Achterwaarts zoeken
Invoer: A, I, D Uitvoer:  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 s := -1(s,a)  := a.

21 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 Als de niet deterministische keuze alle mogelijkheden doorloopt, dan
Vlugge Vraag Als de niet deterministische keuze alle mogelijkheden doorloopt, dan vindt “voorwaarts zoeken” alle plannen. vindt “achterwaarts zoeken” alle plannen. A en B zijn waar. nog A nog B is waar.

23 Probleem Zoekruimte kan enorm zijn Doel: zoekruimte verkleinen
maar dan kunnen we ook sommige plans missen… volledigheid wordt opgeofferd

24 Achterwaarts – volledigheid = STRIPS
(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 Eerste deel is gewoon “Achterwaarts zoeken”

25 Vlugge Vraag ? Acties: blokje nemen, blokje neerzetten.
Hoeveel stappen telt door STRIPS gevonden plan voor? ? Antwoord is 6.

26 Antwoord… KBS/planningVideo.avi

27 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 Probleem met STRIPS 3 1 2 5 4 Wij moeten het torentje afbreken om
verder te gaan!

29

30 Andere aanpakken Reducties Planninggrafen Heuristieken en veel meer!
SAT: vervulbaarheid van prepositionele formules CSP veralgemening van SAT voor domeinen andere dan {false, true} Planninggrafen Heuristieken en veel meer!

31 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

32 Reductie naar SAT Invoer: Acties, CNF coderen Initiële Toestanden,
Doeltoestanden CNF coderen Oplossen Plan extraheren Variabel- toekenning

33 Toestand  conjunctie van variabelen voor de geldige atomen
Invoer: Acties, Initiële Toestanden, Doeltoestanden CNF coderen Atoom  uniek variabel opTafel(A)  xopTafel(A). Toestand  conjunctie van variabelen voor de geldige atomen xopTafel(A)  xopTafel(B)  xop(C,A)  …

34 xopTafel(A) betekent dat xop(A,B)  xop(A,C).
Invoer: Acties, Initiële Toestanden, Doeltoestanden CNF coderen 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

35 Vlugge Vraag Hoeveel conjuncten telt de voorstelling van
Invoer: Acties, Initiële Toestanden, Doeltoestanden CNF coderen Vlugge Vraag Hoeveel conjuncten telt de voorstelling van {opTafel(A), opTafel(B), op(C, A), vrij(C), vrij(B)} als er geen andere predicaten en constanten zijn? A B. 13 C. 20 B

36 Maar, wat betekent xopTafel(A)?
Invoer: Acties, Initiële Toestanden, Doeltoestanden CNF coderen 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)

37 Initiële toestand: alle variabelen in 0. Doeltoestand
Invoer: Acties, Initiële Toestanden, Doeltoestanden CNF coderen 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)

38 Vlugge Vraag zetNeerOpTafel(greep, blokje)
Invoer: Acties, Initiële Toestanden, Doeltoestanden CNF coderen Vlugge Vraag zetNeerOpTafel(greep, blokje) Hoeveel variabelen hebben we nodig om deze actie voor te stellen? A. n B. 2n C. 3n C (we hebben drie blokjes)

39 Initiële en doeltoestanden en acties
Invoer: Acties, Initiële Toestanden, Doeltoestanden CNF coderen 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

40 Raamaxioom: atomen die niet bij de effecten horen veranderen niet
Invoer: Acties, Initiële Toestanden, Doeltoestanden CNF coderen 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)

41 Planningprobleem: initiële toestanden  doeltoestanden  acties 
CNF Planningprobleem: initiële toestanden  doeltoestanden  acties  een actie per stap  raamaxioom coderen

42 Vlugge Vraag 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? 1. Voeg een “dummy” actie die altijd kan plaatsvinden en niets doet.

43 Vlugge Vraag 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? De maximale lengte van een plan is een aantal toestanden (onpraktisch, te hoog). Praktisch: probeer eerst plannen niet langer dan 2, dan niet langer dan 4, …)

44 Reductie naar SAT Invoer: Acties, CNF coderen Initiële Toestanden,
Doeltoestanden CNF coderen Oplossen Plan extraheren Variabel- toekenning

45 Hoe los je SAT op? Davis-Putnam Stochastische procedure
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 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 Davis Putnam (2) Davis-Putnam(, oplossing)
 = true  return oplossing  = false  fail  = x  ’  Davis-Putnam(’[x/true], oplossing  {x/true})  = x  ’  Davis-Putnam(’[x/false], oplossing  {x/false}) anders kies een variabel y in , Davis-Putnam(y  , oplossing) Davis-Putnam(y  , oplossing)

48 Davis Putnam: Boom x  (x  y  z)  (x  y  z)  (x  y  z)  (x  y) {x/true} (y  z)  ( y  z)  (y  z) y  (y  z)  ( y  z)  (y  z) y  (y  z)  ( y  z)  (y  z) {y/true} {y/false} z  z z {z/false} {z/false} fail true

49 Vlugge Vraag Wat is de maximale diepte van zo’n Davis Putnam boom?
tweemaal het aantal variabelen

50 Davis Putnam: voor- en nadelen
Een oplossing wordt gevonden desda er een bestaat. Zoekproces kan te lang duren

51 Stochastische processen
Idee: probeer een oplossing te raden Dus, gegeven : Kies een willekeurige toekenning  Als  = true, stop. Anders, herhaal. Niet praktisch…

52 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 veranderen van een variabel

53 Vlugge Vraag = x  (x  y  z)  (x  y  z)  (x  y  z)  (x  y) = {x/false, y/false, z/false} Wat is ’? {x/true, y/false, z/false} B. {x/false, y/true, z/false} C. {x/false, y/false, z/true} A m(x) = 0 (m(y) = 1, m(z) = 2)

54 Stochastische methoden: voor- en nadelen
Zoekproces is meestal efficiënter Oplossingen kunnen gemist worden Eindigheid is niet gegarandeerd

55 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 Wat hebben we gedaan? Planning Rechtstreekse aanpakken:
Voorwaarts zoeken, Achterwaarts zoeken STRIPS Reductie naar SAT SAT: Davis Putnam Stochastische methoden

57 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 Opdracht 3 Lees het artikel Implementeer een ProM plugin
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 ProM


Download ppt "Gebruiken."

Verwante presentaties


Ads door Google