De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Voorstellen en redeneren over kennis: diagnose en uitleg.

Verwante presentaties


Presentatie over: "Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Voorstellen en redeneren over kennis: diagnose en uitleg."— Transcript van de presentatie:

1 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Voorstellen en redeneren over kennis: diagnose en uitleg

2 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Tot nu toe Vandaag Abductief redeneren

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

4 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Bij de dokter Alle mensen die malaria hebben, hebben koortsaanvallen, hoofdpijn en braakneigingen. Socrates heeft koortsaanvallen, hoofdpijn en braakneigingen. Dus, Socrates heeft malaria.

5 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Wie nog werkt abductief? A. Wetenschapper die nieuwe verbanden zoekt bij de natuurverschijnselen B. Speurder die een dief probeert te vinden

6 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Let op!

7 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Diagnose en uitleg is een diagnose of een uitleg voor

8 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Voorbeeld koorts ← malaria. koorts ← ontsteking. ontsteking ← pneumonie. ontsteking ← artritis. hoofdpijn ← malaria. Wij zoeken een uitleg voor koorts

9 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg 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  {α} ² β

10 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg 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

11 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg 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

12 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg 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

13 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Zo weinig mogelijk? Minimaal ten opzichte van  geluk ← goede_gezondheid  goede_loon geluk ← zen goede_gezondheid  goede_loon en zen - beide zijn minimaal!

14 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg 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)

15 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Samenvatting Gegeven: KB en uit te leggen formule β Een abductieve uitleg α 1)α is voldoende voor β: KB  {α} ² β 2)KB  {α} is consistent 3)α telt zo weinig mogelijk conjuncten/disjuncten 4)α is over abductieve predicaten

16 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg elleboogpijn ← tenniselleboog  tennisser. elleboogpijn ← golfelleboog  golfspeler. elleboogpijn ← gewrichtspijn. gewrichtspijn ← artritis   behandeld.  tennisser. golfspeler. Een abductieve uitleg voor elleboogpijn is: A. golfelleboog  tenniselleboog. B. gewrichtspijn. C. artritis   behandeld.

17 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Doel: berekenen van een abductieve uitleg 1. Priemimplicaten 2. Berekenen van een uitleg

18 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Vereenvoudigende opmerkingen Uit te leggen β is een atoom Een uitleg α is een conjunctie

19 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg 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,  α  β

20 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Priemimplicaat: p   q  r Uit te leggen: r Uitleg voor r: A.p   q B.p   q C.  p  q D.  p  q

21 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Stelling: p   p is altijd een priemimplicaat ongeacht het KB –Waar –Niet waar Daarom zijn triviale priemimplicaten ook niet zo interessant. We nemen aan dat impicaten dus niet triviaal zijn.

22 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Berekenen van een uitleg 1.Bereken alle priemimplicaten met β 2.Schrap β van de priemimplicaten 3.Voor alle restanten over abductieve predicaten, bereken hun negaties. Hoe kunnen we de priemimplicaten berekenen?

23 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg 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

24 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Hoeveel priemimplicaten houden E n in? –E i  p i → O i+1. –E i  q i → E i+1 –O i  p i → E i+1 –O i  q i → O i+1. –E 0 –  O 0 E0E0 EiEi E i+1 O i+1 OiOi EnEn … … pipi pipi qiqi qiqi

25 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Bereken priemimplicaten Peter Jackson: PIG (Prime Implicate Generator) “Computing Prime Implicates”, ACM, 1992

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

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

28 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg PIG in de praktijk 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 c1 = elleboogpijn ← tenniselleboog  tennisser. c2 = elleboogpijn ← golfelleboog  golfspeler. c3 = elleboogpijn ← gewrichtspijn. c4 = gewrichtspijn ← artritis   behandeld. c5 =  tennisser. c6 = golfspeler.

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

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

31 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg 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…

32 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg koorts ← malaria. koorts ← ontsteking. ontsteking ← pneumonie. ontsteking ← artritis. hoofdpijn ← malaria. 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. Hoeveel resolventen worden door PIG aan het programma toegevoegd tot dat het proces stopt? A. 1B. 2C. 3

33 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg ?Zonder de subsumptie- controle stopt het algoritme altijd? A.Ja B.Nee 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.

34 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg 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

35 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Voorbeeld met variabelen or-poort(o). or-poort(p)   ab(p) → out(p) = or(in1(p), in2(p)) or-poort(p)  ab(p) → out(p) = in2(p) out(a1) = in2(o) 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) 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.

36 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Voorbeeld Gegeven (KB): A = 1, B = 0, Cin = 1. Uit te leggen (β): S = 1, Cout = 0. Ergens is er een fout… 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.

37 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Wat betekent “Een abductieve uitleg: x2 en o zijn foutief, a1 is goed” voor andere poorten? A.Alle andere poorten zijn goed. B.Alle andere poorten zijn foutief. C.Het maakt niet uit of andere poorten goed of foutief zijn.

38 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg

39 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg 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.

40 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg 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

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

42 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Een abductieve uitleg: x1 en o zijn foutief, a1 is goed Is dat ook een consistentiegebaseerde uitleg? A.Ja B.Nee

43 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Foutieve x1 is voldoende!

44 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Waarom is ab(x1) geen abductieve uitleg?

45 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Samenvatting abductieveconsistentiegebaseerde aannamegeenwereld 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 uitnormaal problemenzwak zonder een model van een abnormaal gedrag kan te veel diagnoses opleveren

46 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg 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 U  Ab(o)Ab(a1) … …

47 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Iets beters? Gebaseerd op de noties van Conflictverzameling Doorsnijdende verzameling HS boom

48 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Conflictverzameling   {β}  {  Ab(  ) |  } ² false Conflictverzameling? A. {x1, x2} B. {x1, a1} C. {x1, a1, a2, o}

49 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Uitleg vs. conflictverzameling Uitleg  KB  {Ab(  )|  }  {  Ab(  )|  }  {β} ² false Conflictverzameling   {β}  {  Ab(  ) |  } ² false

50 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Doorsnijdende verzameling D voor een collectie van verzamelingen C –D   S  C S –  S  C D  S  Doorsnijdende verzameling S1 S2 S3 D

51 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Uitleg als een doorsnijdende verzameling van conflicten Stelling: Ab(α) is een uitleg desda α is een minimale doorsnijdende verzameling voor een collectie van de minimale conflictverzamelingen van KB  {β} {{x1, x2}, {x1, a2, o}} {x1} Is deze uitleg uniek? A. Ja B. Nee{x2,a2} {x2,o}

52 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg 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

53 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg 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 n 1, …, n |S| als kinderen van n (n, n i ) gemarkeerd door een unieke element van S voor ieder n i : –Bestaat er een Σ  C zodanig dat Σ  H(n i ) =  ? »Markeer n i met Σ »Anders markeer n i met  collectie C van verzamelingen

54 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg C = {{2,4,5},{1,2,3},{2,4,6}, {1,3,5},{2,4},{2,3,5},{1,6}} Reiter

55 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg C = {{1,2}, {1,3}} Welke boom is een HS boom voor C? {1,2} {1,3}    A {1,2}    B

56 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg C = {{2,4,5},{1,2,3},{2,4,6}, {1,3,5},{2,4},{2,3,5},{1,6}} Een pad naar  is een doorsnijdende verzameling en alle minimale doorsnijdende verzamelingen hebben zo’n pad! Reiter

57 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg HS boom = alle minimale doorsnijdende verzamelingen voor een gegeven collectie Kunnen we de boom kleiner maken?

58 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Verbetering (1) n8 is overbodig!

59 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Verbetering (2) De markering van n9 kan bepaald worden zonder berekenen H(n9)  H(n3).

60 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Verbetering (3) {2,4}  C {2,4,5}  C {2,4,5} is overbodig

61 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Verbetering algo Breedte eerst Als n met S gemarkeerd is, en H(n’)  S = , markeer n’ met S. Pruning: 1)H(n) = H(n’)  markeer n’ met  en stop! 2)n gemarkeerd met  en H(n)  H(n’)  markeer n’ met  en stop! 3)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’’

62 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Kleinere boom Reiter

63 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Berekenen van een consistentiegebaseerde uitleg 1.Bereken alle minimale conflictverzamelingen 2.Bereken een doorsnijdende verzameling met behulp van een HS boom Do het tegelijkertijd!

64 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Hulpfunctie TP Aanname: functie TP zodanig dat –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

65 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Eindelijk het algoritme 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 a2x1 x2 Niet consistent. Aanname: TP(KB, {x1,x2, a1, a2, o}, β) = {x1, x2}. {x1,x2} TP(KB, {x2, a1, a2, o}, β) Consistent! TP(KB, {x1, a1, a2, o},β) Niet consistent. Aanname: TP(KB, {x1, a1, a2, o}, β) = {x1, a2, o}. {x1,a2, o} o Overbodig – prunningregel. TP(KB, {x1,a1,o}, β) Consistent!  Uitleg: {x1}, {x2, a2}, {x2, o}

66 Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Geef een consistentie- gebaseerde uitleg. Halve aftrekker  {x} {n,a}

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

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


Download ppt "Diagnose en uitlegAbductieve uitlegConsistentiegebaseerde uitleg Voorstellen en redeneren over kennis: diagnose en uitleg."

Verwante presentaties


Ads door Google