Gebruiken.

Slides:



Advertisements
Verwante presentaties
Simultaan Tafelrondje
Advertisements

Sudoku puzzels: hoe los je ze op en hoe maak je ze?
Menno Karres Lead Auditor
Bedrijfsverbetering met de Code
Leer de namen van de noten 1
Ontwikkeld door Anne Coppens en Carlo Verhaar les Navigatie I-C1#, datum.
Programmeren met Alice
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen
1 Hashtabellen Datastructuren. 2 Dit onderwerp Direct-access-tabellen Hashtabellen –Oplossen van botsingen met “ketens” (chaining) –Analyse –Oplossen.
Datastructuren Analyse van Algoritmen en O
Datastructuren Analyse van Algoritmen en O
Advanced Algorithms Groep: EII7AAb
‘Inleiding programmeren in Java’ SWI cursus: ‘Inleiding programmeren in Java’ 4e college Woe 19 januari 2000 drs. F. de Vries.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3005 deel 2 College 2 Cees Witteveen
Leer de namen van de noten 2
Blogs Annette Ficker Tim Oosterwijk Opdrachtgever: Matthieu Jonckheere
Hoofdstuk 6: Controle structuren
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
NP-volledigheid Algoritmiek © Hans Bodlaender, Oktober 2002.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen (II) College 6.
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
De grafiek van een lineair verband is ALTIJD een rechte lijn.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
Deze les wordt verzorgd door de Kansrekening en statistiekgroep Faculteit W&I TU/e.
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 1 Opdracht 2: Clustering.
Voorstellen en redeneren over kennis: diagnose en uitleg
Genetische algoritmen3SAT en GA1 Genetische algoritmen.
Media & Creativiteit / Pia Terstroet (wiki)
MEDMEC02 – periode 1 – jaar 1 Creative Tools VAKGROEP MEDIA EN CREATIVITEIT Mail: Aanwezig: di/wo/do/vr Lokaal: PH Elske Revelman de.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 5 Cees Witteveen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 Oplossing Langste Pad Probleem Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 5 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3005 Deel 2 College 3 Cees Witteveen
Inleidend probleem Data structuur (hiërarchie van classes)
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit –Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische.
Path planning voor elastische objecten Robin Langerak Planning paths for elastic objects under manipulation constraints LamirauxKavraki.
Dr. Patrick De Causmaecker, KaHo St.-Lieven, Agententechnologie Les 4: praktisch redeneren dr. Patrick De Causmaecker.
ProblemenRedeneren met verstekwaarden Gesloten wereld CircumscriptieLogica met verstekwaarden Autoepistemis che logica Redeneren over kennis: herbekeken.
Datastructuren Sorteren, zoeken en tijdsanalyse
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 3 Cees Witteveen.
TU Delft Groep Parallelle en Gedistribueerde Systemen Fundamentele Informatica IN3120 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit EWI,
MET DANK AAN COLLEGA’S IN DEN LANDE ! vee 2012
Onderzoek doen een methodische aanpak
Momenten Havo: Stevin 1.1 van deel 3.
Planning Algemene Ondernemers Vaardigheden (AOV)
Docent: Ans Sarianamual - oktober 2014
Neurale Netwerken Genetische Algorithmen
AI101  Historisch Perspectief Weak Methods Logic Theorist General Problem Solver  Resolution Theorem Proving Leeswijzer: Hoofdstuk 13.0, 13.1, 13.2 AI.
Intermezzo: Queries op zoekbomen Datastructuren. Queries: hoe op te lossen We hebben: – Een zoekboom (gewoon, rood-zwart, AVL,…) – Een vraag / querie.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
Loopbaan oriëntatie en begeleiding
Onderzoeksvaardigheden 3
Plancyclus, les 4  Actualiteit  Vragen naar aanleiding van vorige les  Vragen over hoofdstuk 4 en 5  Observeren met een plan; het verschil tussen observeren.
Naar een leerlijn ‘onderzoekende houding’ ECENT conferentie, 5 juni 2009 Ton van der Valk, Universiteit Utrecht FIsme; Junior College Utrecht.
Wetenschap & Technologie en zaakvakonderwijs [naam trainer]
Minimum Opspannende Bomen Algoritmiek. 2 Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee.
STAPPENPLAN VOOR HET MAKEN VAN EEN LEESTOETS LEESRONDE 1 - ORIENTEREND: -Lees titel, tussenkopjes etc. -Lees eerste en laatste alinea -Formuleer hoofdgedachte.
CONTEXT VAN EEN PROJECT Waarom en waarvoor doen we het?
PLANNING MAKEN Stap één bij projecten. HOE MAAK JE EEN ANALYSE? Wat is het verschil tussen een planning en een plan?
Een vergadering organiseren
Modelleren en Programmeren voor KI Practicumopdracht 4: SAT Solver
Vergadering Personeelsdienst
Slim tellen.
3 vmbo-KGT Samenvatting Hoofdstuk 10
Modderdorp UNPLUGGED Bron: csunplugged.org.
Methoden om te werken aan continue verbetering
Methodisch handelen Week 1. Methodisch handelen Week 1.
Hoe speel je de Pizza Game?
Slim tellen.
Software Development fundamentals
Transcript van de presentatie:

Gebruiken

Opdracht 2 Deadline: Vandaag, om 12u!

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

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

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

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

Blokjeswereld: predicaten opTafel(X), op(X,Y), vrij(X) Greep leeg(X) Greep en blokje houdtVast(X,Y) Geen functiesymbolen

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

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

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

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)

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

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,

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

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

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

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

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

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?

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.

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)

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.

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

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”

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

Antwoord… KBS/planningVideo.avi

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

Probleem met STRIPS 3 1 2 5 4 Wij moeten het torentje afbreken om verder te gaan!

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!

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

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

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)  …

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

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. 6 B. 13 C. 20 B

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)

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)

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)

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

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)

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

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.

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, …)

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

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

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

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)

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

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

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

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

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

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)

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

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

Wat hebben we gedaan? Planning Rechtstreekse aanpakken: Voorwaarts zoeken, Achterwaarts zoeken STRIPS Reductie naar SAT SAT: Davis Putnam Stochastische methoden

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

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?

ProM