Voorstellen en redeneren over kennis: diagnose en uitleg - PowerPoint PPT Presentation

About This Presentation
Title:

Voorstellen en redeneren over kennis: diagnose en uitleg

Description:

Dus Socrates was een kat. Eugene Ionesco Les Rhinoceros Bij de dokter Alle mensen die malaria hebben, hebben koortsaanvallen, hoofdpijn en braakneigingen ... – PowerPoint PPT presentation

Number of Views:75
Avg rating:3.0/5.0
Slides: 60
Provided by: Sere156
Category:

less

Transcript and Presenter's Notes

Title: Voorstellen en redeneren over kennis: diagnose en uitleg


1
Voorstellen en redeneren over kennis diagnose en
uitleg
2
Tot nu toe
Vandaag
A
A
B
als
dan
B
B
A
Abductief redeneren
3
Mag dat?
  • Alle katten zijn sterfelijk.
  • Socrates was sterfelijk.
  • Dus Socrates was een kat.
  • Eugene Ionesco Les Rhinoceros

Maar zo werken de dokters!
4
Bij de dokter
  • Alle mensen die malaria hebben, hebben
    koortsaanvallen, hoofdpijn en braakneigingen.
  • Socrates heeft koortsaanvallen, hoofdpijn en
    braakneigingen.
  • Dus, Socrates heeft malaria.

5
Vlugge Vraag
  • Wie nog werkt abductief?

B. Speurder die een dief probeert te vinden
A. Wetenschapper die nieuwe verbanden zoekt bij
de natuurverschijnselen
6
Let op!
Top-down
Abductief
Deductief
Bottom-up
7
Diagnose en uitleg
A
B
als
dan
B
A
is een diagnose of een uitleg voor
A
B
8
Voorbeeld
  • koorts ? malaria.
  • koorts ? ontsteking.
  • ontsteking ? pneumonie.
  • ontsteking ? artritis.
  • hoofdpijn ? malaria.

Wij zoeken een uitleg voor koorts
9
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 a voor een stelling ß (1)
a is voldoende voor ß KB ? a ² ß
10
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 a voor een stelling ß (2) a is
niet strijdig met KB KB ? a is consistent
11
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
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 a voor een stelling ß (3) a
moet zo weinig mogelijk termen hebben
13
Zo weinig mogelijk?
  • Minimaal ten opzichte van ?
  • geluk ? goede_gezondheid ? goede_loon
  • geluk ? zen
  • goede_gezondheid ? goede_loon en zen - beide zijn
    minimaal!

14
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 a voor een stelling ß (4) a is
over abductieve predicaten (diegene waarop we een
uitleg willen baseren)
15
Samenvatting
  • Gegeven KB en uit te leggen formule ß
  • Een abductieve uitleg a
  • a is voldoende voor ß KB ? a ² ß
  • KB ? a is consistent
  • a telt zo weinig mogelijk conjuncten/disjuncten
  • a is over abductieve predicaten

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

17
Doel berekenen van een abductieve uitleg
  • 1. Priemimplicaten
  • 2. Berekenen van een uitleg

18
Vereenvoudigende opmerkingen
  • Uit te leggen ß is een atoom
  • Een uitleg a is een conjunctie

19
Priemimplicaten
  • KB ? a ² ß equivalent met KB ² (?a ? ß)
  • Aanname a is een conjunctie
  • Dus, ?a is een disjunctie
  • Dus priemimplicaat is een disjunctie ?
  • KB ² ?
  • Voor ieder ? ? ?, KB ² ?
  • ? is over de abductieve predicaten
  • ? is, dus, ?a ? ß

20
Vlugge Vraag
  • Priemimplicaat p ? ?q ? r
  • Uit te leggen r
  • Uitleg voor r
  • p ? ?q
  • p ? ?q
  • ?p ? q
  • ?p ? q

21
Vlugge Vraag
  • 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
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?

23
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 as te
    genereren
  • inefficiënt

24
Vlugge Vraag
  • Hoeveel priemimplicaten houden En in?
  • Ei ? pi ? Oi1.
  • Ei ? qi ? Ei1
  • Oi ? pi ? Ei1
  • Oi ? qi ? Oi1.
  • E0
  • ?O0

25
Bereken priemimplicaten
  • Peter Jackson
  • PIG
  • (Prime Implicate Generator)

Computing Prime Implicates, ACM, 1992
26
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 c1c6?

c1 c2 c3 c4 c5 c6
Partners ? c6 c4 ? ? ?
27
PIG in de praktijk
c2 elleboogpijn ? golfelleboog ? golfspeler. c3
gewrichtspijn ? artritis ? ?behandeld. c4
elleboogpijn ? gewrichtspijn. c6 golfspeler.
Twee paren c2-c6 en c3-c4
  • Resolutiestap met c1c6

c1 c2 c3 c4 c5 c6
Partners ? c6 c4 c3 ? c2
28
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

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

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

31
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
Vlugge Vraag
  • 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.
1 B. 2 C. 3
33
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

34
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
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)
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.
out(a1) in2(o)
36
Voorbeeld
0 1
1 0 ----- 1
  • 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
Vlugge Vraag
  • 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.

38
1
x1
1
x2
0
a2
1
0
o
0
a1
39
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
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
Abductieve uitleg goede uitleg?
  • Doel verklaring voor een abnormaal gedrag.
  • Eis (3)
  • a telt zo weinig mogelijk
    conjuncten

abnormale
? Consistentiegebaseerde uitleg
42
Vlugge Vraag
  • Een abductieve uitleg x1 en o zijn foutief, a1
    is goed
  • Is dat ook een consistentiegebaseerde uitleg?
  • Ja
  • Nee

43
Foutieve x1 is voldoende!
0
1
1
0
0
1
0
0
44
Waarom is ab(x1) geenabductieve uitleg?
0
1
1
0
1
0
45
Samenvatting
abductieve consistentiegebaseerde
aanname geen wereld U, sommige elementen zijn abnormaal
formeel KB ? a ² ß KB ? Ab(a)a?a ? ?Ab(a)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
46
Berekenen van een consistentiegebaseerde uitleg
  • Stelling Reiter 1987
  • a is een consistentiegebaseerde uitleg desda KB ?
    ?Ab(a)a?a ? ß ² false
  • Algoritme (genereer en controleer)
  • Bereken alle mogelijke a ? U,
  • beginnend met kleine a
  • Controleer of KB ? ?Ab(a)a?a ? ß ² false

?
Ab(o)
Ab(a1)


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

48
Vlugge Vraag
  • Conflictverzameling ?
  • KB ? ß ? ? Ab(d) d?? ² false
  • Conflictverzameling?
  • A. x1, x2 B. x1, a1 C. x1, a1, a2, o

1
1
0
1
0
49
Uitleg vs. conflictverzameling
  • Uitleg ?
  • KB ? Ab(?)??? ? ?Ab(d)d?? ? ß ² false
  • Conflictverzameling ?
  • KB ? ß ? ?Ab(d) d?? ² false

50
Doorsnijdende verzameling
  • Doorsnijdende verzameling D voor een collectie
    van verzamelingen C
  • D ? ?S?C S
  • ?S?C D ? S ? ?

S1
S2
S3
D
51
Uitleg als een doorsnijdende verzameling van
conflicten
Vlugge Vraag
  • Stelling Ab(a) is een uitleg desda a is een

minimale doorsnijdende verzameling voor
een collectie van de minimale conflictverzamelinge
n van KB ? ß
x1, x2, x1, a2, o
x1
Is deze uitleg uniek? A. Ja B. Nee
x2,a2
x2,o
52
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
  • 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, , nS als kinderen van n
  • (n, ni) gemarkeerd door een unieke element van S
  • voor ieder ni
  • Bestaat er een S? C zodanig dat S?H(ni) ??
  • Markeer ni met S
  • Anders markeer ni met ?

collectie C van verzamelingen
54
C 2,4,5,1,2,3,2,4,6, 1,3,5,2,4,2,3,5
,1,6
Reiter
55
Vlugge Vraag
  • C 1,2, 1,3
  • Welke boom is een HS boom voor C?

56
C 2,4,5,1,2,3,2,4,6, 1,3,5,2,4,2,3,5
,1,6
Reiter
Een pad naar ? is een doorsnijdende verzameling
en alle minimale doorsnijdende verzamelingen
hebben zon pad!
57
  • HS boom alle minimale doorsnijdende
    verzamelingen voor een gegeven collectie
  • Kunnen we de boom kleiner maken?

58
Verbetering (1)
n8 is overbodig!
59
Verbetering (2)
De markering van n9 kan bepaald worden zonder
berekenen H(n9) ? H(n3).
60
Verbetering (3)
2,4 ?C 2,4,5 ?C 2,4,5 is overbodig
61
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)
  • markeer n met ? en stop!
  • 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
Kleinere boom
Reiter
63
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
Hulpfunctie TP
  • Aanname functie TP zodanig dat
  • TP(KB, Comp, ß) ? als
  • KB ? ß ? ?Ab(a)a?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
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,x2
x1
x2
TP(KB, x1, a1, a2, o,ß)
x1,a2, o
o
a2
x1
?
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.
Consistent!
Uitleg x1, x2, a2, x2, o
Overbodig prunningregel.
Consistent!
66
Vlugge Vraag
0
0
Halve aftrekker
x
1
0
a
n
  • Geef een consistentie-gebaseerde uitleg.

67
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
Wat hebben we gedaan?
  • Diagnose en uitleg
  • Twee soorten uitleg
  • consistentiegebaseerde
  • abductieve
  • Console, Torasso
  • Efficiënte algoritmen om ze te berekenen

Uitleg
Write a Comment
User Comments (0)
About PowerShow.com