Voorstellen en redeneren over kennis: diagnose en uitleg

Slides:



Advertisements
Verwante presentaties
Startbijeenkomst Leren Leren in een professionele oefencultuur
Advertisements

HET CSE NEDERLANDS. Je spreekt toch al jaren
Sudoku puzzels: hoe los je ze op en hoe maak je ze?
Digitaal wedstrijd formulier Presentatie scheidsrechters.
LRP PASTORALE EENHEID release 2.1 Koos Willemse.
Welke kenmerken schrijven jij of anderen aan God toe? Roept u maar!
AR voor Horn clause logica Introductie van: Unificatie.
Een manier om problemen aan te pakken
Levensvragen Over geluk…..
Wat maakt het leven zinvol?
1 Tentamen 21 januari 2008 uitleg Algemene kennisvragen a)“Wat verstaan we onder de complexiteit van een algoritme?” –Cruciaal: wat gebeurt er met.
Automatische Redeneer-systemen
Automatisch Redeneren in de praktijk
AR: clausale logica De stap naar: resolutie. 2 Clausale vorm  Veralgemeende vorm van de formules:  x1 …  xk A1  A2 …  Am  B1  B2 …  Bn  Horn.
Jan Talmon Medische Informatica Universiteit Maastricht
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen (II) College 6.
Coordinated path planning for Multiple Robots Siu-Siu Ha.
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)
Communicatie bij ingenieurs
Deze les wordt verzorgd door de Kansrekening en statistiekgroep Faculteit W&I TU/e.
Gebruiken.
Natuurlijke-Taalinterfaces week 5 Lambda-termen en Lambda-conversie.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 5 Cees Witteveen.
Divide and Conquer in Multi-agent Planning Multi-Agent Planning as the Process of Merging Distributed Sub-plans Eithan Ephrati and Jeffrey S. Rosenschein.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3005 Deel 2 College 3 Cees Witteveen
MBR AtT1 College 10: Berekenen van diagnoses Derivation from Normal Structure and Behaviour diagnosis DNSB-diagnose-model nieuwe formalisatie Hittingsets.
ProblemenRedeneren met verstekwaarden Gesloten wereld CircumscriptieLogica met verstekwaarden Autoepistemis che logica Redeneren over kennis: herbekeken.
Hoofdstuk 5 De stelling van Pythagoras
Klik ergens op het witte deel van deze pagina om verder te gaan
1 Datastructuren Een informele inleiding tot Skiplists Onderwerp 13.
Wat willen we vandaag doen?
Opbrengsten van onderwijs
Academic Search Premier Zoeken op onderwerp met de thesaurus (trefwoordenlijst) Universiteitsbibliotheek verder = klikken.
Telproblemen Wanneer gebruik je wat ?.
MBR AtT1 College 8 Model-based reasoning: Troubleshooting R. Davis, W. Hamscher College : Derivation from Normal Structure and Behaviour.
Rogier van der Linde & Davy De Winne, 2014
Samenvatten Klas 4A de Foorakker.
Intermezzo: Queries op zoekbomen Datastructuren. Queries: hoe op te lossen We hebben: – Een zoekboom (gewoon, rood-zwart, AVL,…) – Een vraag / querie.
Representatie & Zoeken
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
De dag vóór het examen Schrijf de data en uren waarop je examen moet doen op een groot vel papier en hang het goed zichtbaar op! Leg alles wat je voor.
MBR AtT1 College 9 Diagnose met correctmodellen. Verdieping in de formalisatie. In reader: Characterizing diagnoses and Systems J. de Kleer, A.
Thema 2: Hoe geld verdienen?
MBR AtT1 College 7 : covering theorie (Deel 2) model MAB-diagnose: College 6: Covering theorie College 7: Algoritme voor covering theorie werkelijk.
PSO. Praktisch school onderzoek.
Rekenen.
Docentinstructie: Het is aan te bevelen de eerste dia’s klassikaal te tonen en met uitleg te bespreken. Als na zes dia’s een korte demo van Celsius/Fahrenheit.
Loopbaan oriëntatie en begeleiding
Een tikkeltje f i l o s o f i e (niet klikken).
Rotterdam, 00 januari 2007 Praktijk(gericht) onderzoek Bijeenkomst 3 (week 5) Hafida El-Gharbaoui
Rekenen & Tekenen sciencmc2.nl.
Stelsels van vergelijkingen H5 deel 3 Hoofdstuk 10 Opgave 61, 62, 63.
Reactievergelijkingen Een kwestie van links en rechts kijken.
Expertiseteam Toetsenbank 1. Doel van vragen stellen 2. Welke soorten vragen zijn er 3. Veel voorkomende fouten 4. Zelf een vraag maken 5. Zelf een vraag.
Minimum Opspannende Bomen Algoritmiek. 2 Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee.
Doorzoeken van grafen Algoritmiek. Algoritmiek: Divide & Conquer2 Vandaag Methoden om door grafen te wandelen –Depth First Search –Breadth First Search.
Procentuele verandering berekenen. Hoe doe ik dat?! T2 JUNI 2016.
Uitleg bij de vragenlijst Veiligheidsbeleving
KRITISCH DENKEN 10 Co-premissen I © Kritisch Denken.
Minimum Opspannende Bomen
Hoofdstuk 9 M&O + in groepjes Havo3 iPad.
Modelleren en Programmeren voor KI Practicumopdracht 4: SAT Solver
Modderdorp UNPLUGGED Bron: csunplugged.org.
Welkom 8 mei 2018.
De grafiek van een lineair verband is ALTIJD een rechte lijn.
Modderdorp UNPLUGGED Bron: csunplugged.org.
Software Development fundamentals
Transcript van de presentatie:

Voorstellen en redeneren over kennis: diagnose en uitleg

Tot nu toe Vandaag A B als A dan B A B Abductief redeneren

Mag dat? Maar… zo werken de dokters! Alle katten zijn sterfelijk. Socrates was sterfelijk. Dus Socrates was een kat. Eugene Ionesco “Les Rhinoceros” Maar… zo werken de dokters!

Bij de dokter Alle mensen die malaria hebben, hebben koortsaanvallen, hoofdpijn en braakneigingen. Socrates heeft koortsaanvallen, hoofdpijn en braakneigingen. Dus, Socrates heeft malaria. Herinneren jullie Gideon nog?

B. Speurder die een dief probeert te vinden Vlugge Vraag Wie nog werkt abductief? Juiste antwoord: B. De speurder begint met aanwijzingen en door die te gebruiken probeert hij een dief te vinden. De wetenschapper kijkt naar de natuur, hij ziet A en hij ziet B en hij concludeert dat B vanuit A volgt. Dat is inductief rederen. B. Speurder die een dief probeert te vinden A. Wetenschapper die nieuwe verbanden zoekt bij de natuurverschijnselen

Let op! Top-down Abductief Deductief Bottom-up Deductief redeneren: hetgeen wat we tot nu toe gezien hebben Deductief of abductief onafhankelijk van top-down of bottom-up; we kunnen beide technieken gebruiken in beide gevallen. Er bestaat trouwens een derde vorm van redenen: inductief redeneren, maar het is voor later. Bottom-up

is een diagnose of een uitleg voor Diagnose en uitleg B als A dan B A A is een diagnose of een uitleg voor B

Wij zoeken een uitleg voor koorts Voorbeeld koorts ← malaria. koorts ← ontsteking. ontsteking ← pneumonie. ontsteking ← artritis. hoofdpijn ← malaria. Wij zoeken een uitleg voor koorts

Wij zoeken een goede uitleg voor koorts koorts ← malaria. koorts ← ontsteking. ontsteking ← pneumonie. ontsteking ← artritis. hoofdpijn ← malaria. Is hoofdpijn een goede uitleg? Nee. Koorts kan niet verklaard worden door deze aanname! Een goede uitleg α voor een stelling β: (1) α is voldoende voor β: KB  {α} ² β

Wij zoeken een goede uitleg voor koorts koorts ← malaria. koorts ← ontsteking. ontsteking ← pneumonie. ontsteking ← artritis. hoofdpijn ← malaria. Is false een goede uitleg? Nee. De gegevens worden inconsistent! Een goede uitleg α voor een stelling β: (2) α is niet strijdig met KB: KB  {α} is consistent

Wij zoeken een goede uitleg voor koorts koorts ← malaria. koorts ← ontsteking. ontsteking ← pneumonie. ontsteking ← artritis. hoofdpijn ← malaria. Is malaria  artritis een goede uitleg? Nee. Malaria alleen is voldoende

Wij zoeken een goede uitleg voor koorts koorts ← malaria. koorts ← ontsteking. ontsteking ← pneumonie. ontsteking ← artritis. hoofdpijn ← malaria. Bijkomende aanname: kind. Is malaria  kind een goede uitleg? Nee. kind is overbodig! Een goede uitleg α voor een stelling β: (3) α moet zo weinig mogelijk termen hebben

Zo weinig mogelijk? Minimaal ten opzichte van  geluk ← goede_gezondheid  goede_loon geluk ← zen goede_gezondheid  goede_loon en zen - beide zijn minimaal!

Wij zoeken een goede uitleg voor koorts koorts ← malaria. koorts ← ontsteking. ontsteking ← pneumonie. ontsteking ← artritis. hoofdpijn ← malaria. Is ontsteking een goede uitleg? Nee. Te algemeen! Een goede uitleg α voor een stelling β: (4) α is over abductieve predicaten (diegene waarop we een uitleg willen baseren) Abductieve predicaten

Samenvatting Gegeven: KB en uit te leggen formule β Een abductieve uitleg α α is voldoende voor β: KB  {α} ² β KB  {α} is consistent α telt zo weinig mogelijk conjuncten/disjuncten α is over abductieve predicaten

Een abductieve uitleg voor elleboogpijn is: Vlugge Vraag elleboogpijn ← tenniselleboog  tennisser. elleboogpijn ← golfelleboog  golfspeler. elleboogpijn ← gewrichtspijn. gewrichtspijn ← artritis  behandeld. tennisser. golfspeler. Een abductieve uitleg voor elleboogpijn is: golfelleboog  tenniselleboog. gewrichtspijn. artritis  behandeld. Abductieve predicaten staan in cursief. Het juiste antwoord is C. A past niet omdat “tenniselleboog” overbodig is (in strijd met eis 3: α telt zo weinig mogelijk conjuncten/disjuncten). B past ook niet, omdat gewrichtspijn geen abductief predicaat is. C voldoet aan alle eisen.

Doel: berekenen van een abductieve uitleg 1. Priemimplicaten 2. Berekenen van een uitleg

Vereenvoudigende opmerkingen Uit te leggen β is een atoom Een uitleg α is een conjunctie Desda = dan en slechts dan als Uit te leggen β is een atoom Anders, neem een nieuwe atoom b α is een uitleg voor β tov KB desda α is een uitleg voor β tov KB  {b ← β, β ← b} Een uitleg α is een conjunctie Anders neem aan dat DNF[α] = γ1  …  γn Dan is ten minste een van de γi‘s een uitleg γi telt minder termen dan α!

Priemimplicaten KB  {α} ² β equivalent met KB ² (α  β) Aanname: α is een conjunctie Dus, α is een disjunctie Dus: priemimplicaat is een disjunctie γ: KB ² γ Voor ieder γ’  γ, KB ² γ’ γ is over de abductieve predicaten γ is, dus, α  β

Vlugge Vraag Priemimplicaat: p  q  r Uit te leggen: r Uitleg voor r: p  q p  q p  q p  q Abductieve predicaten staan in cursief. Het juiste antwoord is D. “γ is, dus, α  β”

Vlugge Vraag Stelling: p  p is altijd een priemimplicaat ongeacht het KB Waar Niet waar Abductieve predicaten staan in cursief. De stelling is niet waar. Het is “bijna” waar: als KB |= p dan is p  p niet minimaal; ook als KB |=  p dan is p  p niet minimaal; in alle andere gevallen is de stelling wel waar. Daarom zijn triviale priemimplicaten ook niet zo interessant. We nemen aan dat impicaten dus niet triviaal zijn.

Berekenen van een uitleg Bereken alle priemimplicaten met β Schrap β van de priemimplicaten Voor alle restanten over abductieve predicaten, bereken hun negaties. Hoe kunnen we de priemimplicaten berekenen?

Berekenen van de priemimplicaten Resolutie gebaseerd! Als KB ² c dan KB ` c Naïef: bereken alle implicaten mbv resolutie kies de priemimplicaten gegeven β gebruik de priemimplicaten om α’s te genereren inefficiënt

Vlugge Vraag n-1 2 Hoeveel priemimplicaten houden En in? Ei  pi → Oi+1. Ei  qi → Ei+1 Oi  pi → Ei+1 Oi  qi → Oi+1. E0 O0 E0 Ei Ei+1 Oi+1 Oi En … pi qi Abductieve predicaten staan in cursief. Uitleg is een pad in een graaf rechts: we moeten met E0 beginnen en in En eindigen. Ieder pad heeft een vorm {x0, …, x{n-1}} waar xi of pi of qi is en het totale aantal van de pi-en even is. Er zijn 2^{n-1} paden (en dus 2^{n-1} priemimplicaten). 2 n-1

Bereken priemimplicaten Peter Jackson: PIG (Prime Implicate Generator) Genereer onmiddellijk de priemimplicaten Iteratief Probeer heuristieken toe te passen Meer details: PIG (Prime Implicate Generator) Peter Jackson “Computing Prime Implicates”, ACM, 1992 “Computing Prime Implicates”, ACM, 1992

PIG in de praktijk c1 = elleboogpijn ← tenniselleboog  tennisser. c2 = elleboogpijn ← golfelleboog  golfspeler. c3 = elleboogpijn ← gewrichtspijn. c4 = gewrichtspijn ← artritis  behandeld. c5 = tennisser. c6 = golfspeler. Welke clausules hebben als hoofd een atoom uit het lichaam van c1…c6? c1 c2 c3 c4 c5 c6 Partners  {c6} {c4}

PIG in de praktijk Resolutiestap met c1…c6 Twee paren: c2-c6 en c3-c4 c2 = elleboogpijn ← golfelleboog  golfspeler. c3 = gewrichtspijn ← artritis  behandeld. c4 = elleboogpijn ← gewrichtspijn. c6 = golfspeler. Twee paren: c2-c6 en c3-c4 Resolutiestap met c1…c6 c1 c2 c3 c4 c5 c6 Partners  {c6} {c4} {c3} {c2}

PIG in de praktijk c1 = elleboogpijn ← tenniselleboog  tennisser. c2 = elleboogpijn ← golfelleboog  golfspeler. c3 = elleboogpijn ← gewrichtspijn. c4 = gewrichtspijn ← artritis  behandeld. c5 = tennisser. c6 = golfspeler. Begin met een clausule met partner en gooi die weg: c2. Resolvent van c2 en c6: c7 = elleboogpijn ← golfelleboog. Voeg c7 toe aan het programma. Het lichaam van c7 is alleen over abductieve predicaten Voeg c7 aan de antwoordenverzameling

PIG in de praktijk c3 = gewrichtspijn ← artritis  behandeld. c4 = elleboogpijn ← gewrichtspijn. Herhaal het proces met c3 (en c4). Bereken: c8 = elleboogpijn ← artritis  behandeld. Voeg c8 toe aan het programma en aan de antwoordverzameling.

PIG in de praktijk c7 = elleboogpijn ← golfelleboog. c8 = elleboogpijn ← artritis  behandeld. c7 en c8 hebben geen partners. alle partners zijn afgehandeld Het proces stopt. Antwoorden vanuit de antwoordverzameling: golfelleboog. artritis  behandeld.

Wat hebben we gedaan? Kandidaten = clausules met partners. Kies één van de kandidaten (heuristiek) Neem een van zijn partners Voeg een resolvent toe aan het programma. als het een goede uitleg is, voeg toe aan de antwoordverzameling. Herhaal het proces. Er zijn wel nog addertjes onder het gras… Addertjes: subsumptie check om eindigheid te garanderen

Vlugge Vraag Kies één van de kandidaten Neem een van zijn partners Voeg een resolvent toe aan het programma. als het een goede uitleg is, voeg toe aan de antwoordverzameling. Herhaal het proces. koorts ← malaria. koorts ← ontsteking. ontsteking ← pneumonie. ontsteking ← artritis. hoofdpijn ← malaria. Juiste antwoord is B: 1) (koorts <- ontsteking) + (ontsteking <- pneumonie) en 2) (koorts <- ontsteking) + (ontsteking <- artritis) Hoeveel resolventen worden door PIG aan het programma toegevoegd tot dat het proces stopt? A. 1 B. 2 C. 3

Vlugge Vraag Kandidaten = clausules met partners. Kies één van de kandidaten Neem een van zijn partners Bereken een resolvent Voer de subsumptie-controle uit Als die slaagt voeg het aan de verzameling clausules. Anders neem een andere partner. Herhaal het proces. Zonder de subsumptie-controle stopt het algoritme altijd? Ja Nee Het juiste antwoord is “Nee”, neem clausules a <- b en b <- b, c. We produceren resolventen a <- b,c; a <- b,c,c; etc – de subsumptie-controle lost dit probleem op.

PIG is leuk maar… Kunnen we meer dan een uitleg genereren? Efficiëntie? Wat gebeurt als de formules variabelen inhouden? En wat als r(b) een deel uitmaakt van een uitleg voor r(a)? En wat als we het in Prolog doen? negatie als eindig falen ipv de echte negatie

Voorbeeld met variabelen xor-poort(x1). xor-poort(x2). xor-poort(p)  ab(p) → out(p) = xor(in1(p), in2(p)) xor-poort(p)  ab(p) → out(p) = in2(p) x1 x2 a1 a2 o or-poort(o). or-poort(p)  ab(p) → out(p) = or(in1(p), in2(p)) or-poort(p)  ab(p) → out(p) = in2(p) and-poort(a1). and-poort(a2). and-poort(p)  ab(p) → out(p) = and(in1(p), in2(p)) Wat gebeurt er als een and slecht is weten we niet. Full adder a.k.a. een volledig opteller: 2 XOR-poorten, 2 AND-poorten en een OR-poort Voor ieder poort geven we aan wat voor gedrag we verwachten als het poort goed is en als het poort foutief is (als we het ten minste weten; voor or en xor – wel, voor and - niet). Voor alle draden geven we aan de relaties tussen in- en out-waarden. out(a1) = in2(o)

Voorbeeld 0 1 1 + 0 ----- x1 x2 a2 o a1 Gegeven (KB): A = 1, B = 0, Cin = 1. Uit te leggen (β): S = 1, Cout = 0. Ergens is er een fout… x1 x2 a1 a2 o Stel x2 foutief is, dan Cin = in(x2) = out(x2) = S = 1. Stel o foutief is en a1 goed. Dan out(a1) = 0 en Cout = 0. A = 1, B = 0, Cin = 1. Dus S moet 0 zijn en Cout 1. Onze opteller zegt S = 1, Cout = 0. Een abductieve uitleg (α): x1 en o zijn foutief, a1 is goed. x1 is foutief, a1 en a2 zijn goed. x2 en o zijn foutief, a1 is goed.

Vlugge Vraag x1 x2 a2 o a1 Wat betekent “Een abductieve uitleg: x2 en o zijn foutief, a1 is goed” voor andere poorten? Alle andere poorten zijn goed. Alle andere poorten zijn foutief. Het maakt niet uit of andere poorten goed of foutief zijn. Het juiste antwoord is C.

1 x1 1 x2 a2 1 x2 en o zijn foutief, a1 is goed o a1

Er zijn ook andere mogelijkheden x1 en o zijn foutief, a1 is goed. x1 is foutief, a1 en a2 zijn goed. x2 en o zijn foutief, a1 is goed. x1 x2 a1 a2 o

Huiswerk 10 Kies een van de bestaande technieken voor het berekenen van een abductieve uitleg. Wat de techniek samen. Wat is de complexiteit van het algo? Sterke en zwakke punten? Aanbevolen: Eiter, Makino, “Generating all abductive explanations from a propositional Horn theory”. Denecker, De Schreye, “SLDNFA: an abductive procedure for normal abductive programs”. Deadline: 8 mei 2007

Abductieve uitleg = goede uitleg? Doel: verklaring voor een abnormaal gedrag. Eis (3) “α telt zo weinig mogelijk conjuncten” abnormale  Consistentiegebaseerde uitleg

Vlugge Vraag Een abductieve uitleg: x1 en o zijn foutief, a1 is goed Is dat ook een consistentiegebaseerde uitleg? Ja Nee Antwoord is Nee. waarom – zie volgende transparant

Foutieve x1 is voldoende! x1 x2 a1 a2 o 1 1 1 x1 is foutief, dus x1 geeft de waarde van de tweede invoer als een uitvoer door. x2 is goed, dus S is 1. a2 is goed dus out(a2) = 0. a1 is goed, dus 0 is de waarde van out(a1). o is goed dus Cout is 0.

Waarom is ab(x1) geen abductieve uitleg? x1 x2 a1 a2 o 1 1 1 De waarde van x2 is inderdaad overbodig, het maakt niet uit of x2 foutief of goed is. We weten niets over het foutief gedrag van de and-poorten, We weten wel dat als o foutief is, dan out(a1) = 0. Dus of moeten we aannemen dat a1 goed is en o – foutief, of dat o, a1 en a2 goed zijn. Maw uitleg is afhankelijk van het feit of o goed of foutief is.

Samenvatting abductieve consistentiegebaseerde aanname geen wereld U, sommige elementen zijn abnormaal formeel KB  α ² β KB  {Ab(a)|aα}  {Ab(a)|aα}  {β} ² false atomen in de uitleg abnormaal en normaal abnormaal andere atomen maakt niet uit normaal problemen zwak zonder een model van een abnormaal gedrag kan te veel diagnoses opleveren

Berekenen van een consistentiegebaseerde uitleg Stelling [Reiter 1987]: α is een consistentiegebaseerde uitleg desda KB  {Ab(a)|aα}  {β} ² false Algoritme (genereer en controleer): Bereken alle mogelijke α  U, beginnend met kleine |α| Controleer of KB  {Ab(a)|aα}  {β} ² false  Ab(o) Ab(a1) … desda = dan en slechts dan als U – het universum, alle atomen … U

Iets beters? Gebaseerd op de noties van Conflictverzameling Doorsnijdende verzameling HS boom

Vlugge Vraag 1 1 x1 x2 a2 1 o a1 Conflictverzameling : KB  {β}  { Ab(d) | d} ² false Conflictverzameling? A. {x1, x2} B. {x1, a1} C. {x1, a1, a2, o} 1 x1 x2 a1 a2 o 1 Juiste antwoorden zijn A en C. Bovendien, A is minimaal, C is niet minimaal.Wat zijn de minimale conflictverzamelingen in C? Er is maar een: {x1,a2,o} 1

Uitleg vs. conflictverzameling KB  {Ab()|}  {Ab(d)|d}  {β} ² false Conflictverzameling : KB  {β}  {Ab(d) | d} ² false

Doorsnijdende verzameling Doorsnijdende verzameling D voor een collectie van verzamelingen C D  SC S SC D  S   S1 S2 S3 D

Uitleg als een doorsnijdende verzameling van conflicten Vlugge Vraag Stelling: Ab(α) is een uitleg desda α is een minimale doorsnijdende verzameling voor een collectie van de minimale conflictverzamelingen van KB  {β} Het juiste antwoord is nee. {x2,o} en {x2,a2} zijn andere mogelijkheden. {{x1, x2}, {x1, a2, o}} {x1} Is deze uitleg uniek? A. Ja B. Nee {x2,a2} {x2,o}

Berekenen van een minimale doorsnijdende verzameling Gegeven een collectie C van verzamelingen HS boom knopen gemarkeerd met of met  of met een verzameling uit C kanten gemarkeerd met een element van de verzamelingen uit C Doorsnijdende verzameling = hitting set, HS dus vandaan.

collectie C van verzamelingen wortel: gemarkeerd met  als C leeg is anders, een verzameling uit C voor een knoop n H(n) – markeringen van het pad vanuit de wortel n gemarkeerd met ? geen kinderen anders n gemarkeerd met SC voeg knopen n1, …, n|S| als kinderen van n (n, ni) gemarkeerd door een unieke element van S voor ieder ni: Bestaat er een Σ C zodanig dat ΣH(ni) = ? Markeer ni met Σ Anders markeer ni met  collectie C van verzamelingen

C = {{2,4,5},{1,2,3},{2,4,6}, {1,3,5},{2,4},{2,3,5},{1,6}} Reiter

A B Vlugge Vraag C = {{1,2}, {1,3}} Welke boom is een HS boom voor C?  1 3 2 A {1,3} {1,2}  1 2 3 B Beide

C = {{2,4,5},{1,2,3},{2,4,6}, {1,3,5},{2,4},{2,3,5},{1,6}} Reiter Let op: niet alle doorsnijdende verzamelingen hebben zo’n pad. Voor ons is het voldoende dat de minimale zo’n pad hebben. Een pad naar  is een doorsnijdende verzameling en alle minimale doorsnijdende verzamelingen hebben zo’n pad!

HS boom = alle minimale doorsnijdende verzamelingen voor een gegeven collectie Kunnen we de boom kleiner maken?

Verbetering (1) n8 is overbodig!

De markering van n9 kan bepaald worden zonder berekenen H(n9)  H(n3). Verbetering (2) De markering van n9 kan bepaald worden zonder berekenen H(n9)  H(n3).

Verbetering (3) {2,4} C {2,4,5} C {2,4,5} is overbodig

Verbetering algo Breedte eerst Als n met S gemarkeerd is, en H(n’)  S = , markeer n’ met S. Pruning: H(n) = H(n’) markeer n’ met  en stop! n gemarkeerd met  en H(n)  H(n’) Als markering(n’)  markering(n) markeer (n,n’’) als overbodig )( voor alle n’’ zodanig dat markering((n,n’’)) markering(n)\markering(n’). verwijder de hele boom onder n’’ )( betekent overbodigheid

Kleinere boom Reiter

Berekenen van een consistentiegebaseerde uitleg Bereken alle minimale conflictverzamelingen Bereken een doorsnijdende verzameling met behulp van een HS boom Het berekenen van een Do het tegelijkertijd!

Hulpfunctie TP Aanname: functie TP zodanig dat Opmerking: voor C  U TP(KB, Comp, β) = Δ als KB  {β}  {Ab(α)|αComp} ² false en Δ  Comp is een conflictverzameling TP(KB, Comp, β) = , anders. Opmerking: voor C  U TP(KB, U – C, β) = Δ als Δ  U is een conflictverzameling en ΔC =  TP(KB,U - C, β) = , anders

Eindelijk het algoritme x1 x2 a1 a2 o 1 Bereken de HS boom gebruik TP(KB, U – H(n), β) om n te markeren Geef H(n) terug voor een met gemarkeerde n. TP(KB, {x1,x2, a1, a2, o}, β) {x1,x2} x1 x2 TP(KB, {x1, a1, a2, o},β) {x1,a2, o} o x1 a2 TP(KB, {x2, a1, a2, o}, β)     TP(KB, {x1,a1,o}, β) Niet consistent. Aanname: TP(KB, {x1,x2, a1, a2, o}, β) = {x1, x2}. Niet consistent. Aanname: TP(KB, {x1, a1, a2, o}, β) = {x1, a2, o}. Uitleg: {x1}, {x2, a2}, {x2, o} Consistent! Overbodig – prunningregel. Consistent!

Vlugge Vraag x 1 a n x n a Halve aftrekker x Halve aftrekker 1 a n x n a  {x} {n,a} Geef een consistentie-gebaseerde uitleg. Als ze niet antwoorden: vragen wat zijn de conflictverzamelingen? ({x}, {n,a})

Huiswerk 11 Abnormale wezens Lees het artikel van Reiter Doet denken aan verstekregels Lees het artikel van Reiter Bespreek de relatie tussen consistentiegebaseerde uitleg en verstekregels. Deadline: 8 mei 2007

Wat hebben we gedaan? Diagnose en uitleg Twee soorten uitleg consistentiegebaseerde abductieve Console, Torasso: Efficiënte algoritmen om ze te berekenen Uitleg