620 likes | 833 Views
Redeneren over kennis: herbekeken. vliegt(victor). vliegt(X) :- vogel(X). vogel(victor). vogel(victor). . Vorige keer…. Gegeven: Alle vogels vliegen. Victor is een vogel. Bewijs dat Victor vliegt. x.(vogel(x) vliegt(x)). vogel(victor). Bijkomende informatie. Ik heet Victor!.
E N D
vliegt(victor) vliegt(X) :- vogel(X). vogel(victor) vogel(victor). Vorige keer… • Gegeven: • Alle vogels vliegen. • Victor is een vogel. • Bewijs dat Victor vliegt. • x.(vogel(x) vliegt(x)). • vogel(victor)
Bijkomende informatie Ik heet Victor!
vliegt(victor) vliegt(X) :- vogel(X). vogel(victor) niet_vliegt(X) :- struisvogel(X). struisvogel(victor) struisvogel(victor). struisvogel(victor). Victor vliegt? niet_vliegt(victor) vogel(X) :- struisvogel(X). struisvogel(victor)
Redeneren: monotoon en niet-monotoon • Oud redeneren blijft altijd geldig! • ` is monotoon: als Δ `φ dan voor iederΓ,ΔΓ`φ • Menselijk redeneren is niet monotoon. • We kunnen onze beslissingen herzien. • Hoe weten we welke kennisonderdeel het meest geschikt is?
Oplossing: Redeneren met verstekwaarden • Neemaan dat een vogel vliegt tenzij het bekend is dat hij niet vliegt. • Neemaan dat de maximale snelheid 50 km/u is tenzij het anders aangegeven is.
Internationale handel • “Free-on-Board” betekent o.a. • koper is aansprakelijk voor schade ontstaan op zee; • tenzij, verkoper de spullen niet goed ingepakt heeft; • tenzij, de verkoper door de koper niet geïnformeerd was over de extreme vervoersomstandigheden waardoor de schade ontstaan is
Verstekwaarden • uitzonderingen • gewoontes, richtlijnen, normale gang van zaken • vaak: impliciete kennis • Kees is een jongensnaam • maar Kees Flodder
Vlugge Vraag • Verstekwaarden of geen verstekwaarden? A. Jan is 43 jaar oud. B. Uilen jagen ‘s nachts.
Formalisering van het redeneren met de verstekwaarden • Aanname van een gesloten wereld (Closed-world assumption, CWA) • Circumscriptie • Logica met verstekwaarden • Autoepistemische logica a:b/d
Aanname van een gesloten wereld • Opmerkingen: • minder ware stellingen dan valse, • vals = niet in het lijstje van de ware stellingen Zijn er vluchten vanuit Eindhoven naar Turijn?
Aanname van een gesloten wereld (CWA) • Neem aan dat atomaire pfalse is tenzij het bekend is dat ptrue is. • Formeel: KB+ = KB {p | p is atomaire en KB ²p} KB – kennisbank, gegeven kennis
Aanname van een gesloten wereld Nee Omdat we niet weten dat ze er zijn! Zijn er vluchten vanuit Eindhoven naar Turijn?
Vlugge Vraag KB = “Het is een vaas of het zijn twee gezichten.” KB+ = KB {p | p is atomaire en KB ²p}
Inconsistente KB+ KB+ = KB {p | p is atomaire en KB ²p} • KB = vaas Ç gezichten • KB+ = {vaasÇgezichten, :vaas, :gezichten} • Let op: (vaasÇgezichten)Æ (:vaas)Æ (:gezichten) = false. • KB+ is inconsistent • “² als zodra de formules van waar zijn, is ook waar” • Waar voor iedere , o.a. voor vaas en:vaas!
Gesloten wereld: voor- en nadelen • Eenvoudig en intuïtief. • KB+ kan inconsistentzijn in de aanwezigheid van disjuncties. • Makkelijk uit te breiden voor de proposities • Veel moeilijker voor de predikatenlogica • Meer: Brachman, Levesque 11.2.
Huiswerk 3 • Soms: Prolog = de aanname van een gesloten wereld. • NIET JUIST! • Prolog = negatie als eindig falen (negation as finite failure). • Zoek uit wat het verschil is tussen de twee, besprek de voor- en de nadelen. • Deadline: 24 april 2007.
Abnormaal Circumscriptie Struisvogels zijn niet de enige vogels die niet vliegen… • pinguins • speelgoed • kakapo Doel: Trek conclusies die de verzameling van de abnormale objecten zo klein mogelijk maken
Intuïtie Gegeven 8x ((vogel(X) ab(X))! vliegt(x)) Ævogel(vincent) Æ vogel(victor) Æ ab(victor) Dus 8x ((vogel(x) Æ :vliegt(x))Ç (x = victor)! ab(x)). CIRC vervangt ! door ´ Dus 8x [ab(x)´ (x=victor Ç (vogel(x)Æ:vliegt(x)))]
Circumscriptie 8x (vogel(X) ab(X))! vliegt(x) Ævogel(vincent) Æ vogel(victor) Æ ab(victor) • Predikaatab • Neem aan dat pfalse is tenzij het ab “kleiner” maakt. • p·q: • 8x (p(x)! q(x)) • p´q: • 8x (p(x)$ q(x)) • p<q: • (p·q)Æ: (p´q) Neem aan: ab(vincent) anders is ab “groter”. Dus vliegt(vincent)!
Circumscriptie CIRC[;P] = (P) Æ:9p [(p)Æ p<P] • formule • P te minimaliseren predikaat • p predikaatvariabel met evenveel argumenten als P • Abnormale dingen zijn alleen diegene die echt abnormaal moeten zijn!
Vlugge Vraag • Groep A: CIRC[P(a)ÆP(b); P] • a en b zijn de enige waarden van P: 8x [P(x)´ x = a Ç x = b] • Groep B: CIRC[:P(a); P] • er zijn geen P: 8x :P(x)
Vlugge Vraag Nogmaals… • Groep A: CIRC[8x P(x); P] • alle x zijn P: 8x P(x) • Groep B: CIRC[9x P(x); P] • er is maar één xdat P:9x 8y [P(y)´ x = y]
Te kort door de bocht? voorbeeld´8x ((vogel(X) ab(X))! vliegt(x)) Æ vogel(vincent)Æ 8x (struisvogel(x) ! (vogel(x)Æ:vliegt(x)) • CIRC[voorbeeld;ab] ² 8x (struisvogel(x) ! ab(X)) • CIRC[voorbeeld;ab] ²:9x struisvogel(x) Dat willen we niet! Struisvogels bestaan wel…
Variabele en vaste predikaten • Doel: maak de verzameling van de abnormale objecten zo klein mogelijk • Maar behoudsommige predikaten vast! • CIRC[(P,Z);P;Z] = (P,Z)Æ:9p,z[(p,z)Æ p<P] • , P, p – zoals eerder • Z lijst van de variabele predikaten • z lijst van de predikaatvariabelen voor de variabele predikaten
Variabele en vaste predikaten • CIRC[(P,Z);P;Z] = (P,Z)Æ:9p,z[(p,z)Æ p<P] • In ons geval: • CIRC[voorbeeld; ab; vogel, vliegt]: 8x [ab(x)´ struisvogel(x)] • Struisvogels zijn enige abnormale wezens…
Vlugge Vraag • CIRC[P(a)ÆP(b); P] • a en b zijn de enige waarden van P: • 8x [P(x)´ x = a Ç x = b] • CIRC[P(a)ÆP(b); P; a, b] - ??? • Hetzelfde als CIRC[P(a) Æ P(b); P] • Niet hetzelfde.
CIRC vs. CIRC • Stelling CIRC[(P,Z);P;Z] = (P,Z)Æ CIRC[9z (P,z);P] • Bij ons
Circumscriptie: voor- en nadelen • Expliciet redeneren over “abnormale” objecten • Formules zijn van tweede orde logica • Moeilijk mee te rekenen • Resultaten zijn niet altijd uitdrukbaar in de eerste orde logica • CIRC(P(a)Æ8x[P(x)!P(f(x))];P) = {a, f(a), f(f(a)), …}
http://www.mpi-inf.mpg.de/ departments/d2/ software/SCAN/circ_form.html SCAN Execution Protocol Input file for the translation program … circ(['all x (((vogel(x) & -vliegt(x)) | (x = victor)) -> ab(x))'],['ab'],[]). Activation of the translation and SCAN … result (all x0 (-ab(x0) | (vogel(x0) & -vliegt(x0)) | x0 = victor))
Huiswerk 4 • Hoe moeilijk is het berekenen van CIRC? Bespreek de complexiteit van de prepositionele circumscriptie. • Th. Eiter, G. Gottlob: Propositional Circumscription and Extended Closed-World Reasoning are Pp2-Complete. Theor. Comput. Sci. 114(2): 231-245 (1993) • L. M. Kirousis, Ph. G. Kolaitis: A Dichotomy in the Complexity of Propositional Circumscription. Theory Comput. Syst. 37(6): 695-715 • Wat is een prepositionele circumscriptie? Wat is Pp2? Over welke dichotomie gaat het? • Deadline: 24 april 2007.
Als vandaag de laatste werkdag is voor de vakantie Skiprobleem a en er is geen reden om aan te nemen dat er niet genoeg sneeuw ligt b dan gaat Johan skiën g
Logica met verstekwaarden a:b/g • :/g als • geldt en • het is consistent om te geloven • dan g • 8x (struisvogel(x)! ab(x)) 8x (struisvogel(x)! vogel(x)) vogel(x): :ab(x)/vliegt(x) • Struisvogels vliegen niet, andere vogels wel.
EOL Logica met verstekwaarden a:b/g • 8x (struisvogel(x)! ab(x)) 8x (struisvogel(x)! vogel(x)) struisvogel(victor) vogel(x): :ab(x)/vliegt(x) • Uitbreiding: KB+ = { | EOL [ {g | :/g2 Verstekregels, 2 KB+, :2 KB+} ²} Verstekregel
KB0 = KB KB1 = { | EOL [ {g | :/g2 Verstekregels, 2 KB0, :2 KB0} ²} KB2 = { | EOL [ {g | :/g2 Verstekregels, 2 KB1, :2 KB1} ²} … Tot aan de vaste punt! KB+ = { | EOL [ {g | :/g2 Verstekregels, 2 KB+, :2 KB+} ²}
grasIsNat grasIsNat : regen / regen grasIsNat (regen sprinkler) : regen / regen KB+ a:b/g • KB0 = {grasIsNat} • KB1 = { | EOL [ {g | :/g2 Verstekregels, 2 KB0, :2 KB0} ²} • Alleen de eerste verstekregel is van toepassing: KB1 = {grasIsNat, regen} • KB2: De tweede regel is niet van toepassing (regen 2 KB1). Dus KB+ = KB1
Vlugge Vraag a:b/g bierliefhebber(x): :sportief(x)/bierbuikje(x) 8x (student(x)! bierliefhebber(x)) 8x (student(x)! sportief(x)) student(martijn) • bierbuikje(martijn) 2 KB+ • bierbuikje(martijn) 2 KB+
Vlugge Vraag a:b/g • Wat betekent:/ ? • Altijd true • Altijd false • Als (x) waar is, neem aan ook dat (x) zolang (x)consistent is. • Als (x) waar is, neem aan ook dat (x) zolang (x)inconsistent is.
Verstekwaarden? a:b/g Republikeinen zijn gewoonlijk geen pacifisten. Kwakers zijn gewoonlijk pacifisten Richard Nixon, Kwaker en republikein
Vlugge Vraag a:b/g Republikein(x): :Pacifist(x) /:Pacifist(x) Kwaker(x):Pacifist(x) /Pacifist(x) Kwaker(nixon) Republikein(nixon) • Wat denken jullie? Waarom? • Pacifist(nixon) • :Pacifist(nixon)
Er zijn dus twee verschillende KB+’s! Een met Nixon – pacifist en een met Nixon – geen pacifist…
a:b/g Kwaker(nixon) Republikein(nixon) Pacifist(nixon) • Goedgelovig redeneren: kies éénKB+ en geloof erin::Pacifist(nixon) of Pacifist(nixon) • Sceptisch redeneren: geloof in als in alle mogelijke KB+ voorkomt::Pacifist(nixon)
Problemen: goedgelovig • De keuze van KB+ lijkt willekeurig…
Problemen: sceptisch grasIsNat grasIsNat : regen / regen grasIsNat (regen sprinkler) : regen / regen Niet echt intuïtief: • KB={grasIsNat} • gelooft in regen en regen sprinkler • KB = {grasIsNat,regen sprinkler} • gelooft in regen niet meer.
http://www.kr.tuwien.ac.at/students/ dls/StudentSimulation.html
Huiswerk 5 • Veel verschillende varianten van verstekregels • Kies er één van, bestudeer en vat samen! • Zoek bijvoorbeeld: priorities, quasi-default, cautious semantics, justified semantics, cumulative default logics, … • Deadline: 24 april 2007.
Verstekregels:voor- en nadelen a:b/g • Expliciet gebruik maken van de verstekwaarden • … maar geen mogelijkheden om over de regels zelf te redeneren • “Als :/g dan :g:/ :” is niet uit te drukken! • Meestal intuïtief • …maar niet altijd • true:p/:p (probeer thuis)
Autoepistemische logica • • ikweet j [Moore] • ik geloof in j [Marek, Truszczyński] • Let op! • : “ik weet niet of waar is” • : “ik weet dat niet waar is”
Vlugge Vraag Formaliseer het leerproces volgens de onderwijskunde • Onbewust onbekwaam: ik weet niet dat ik nietweet. • :: • Bewust onbekwaam: ik weet dat ik niet weet. • : • Bewust bekwaam: ik weet dat ik weet. • • Onbewust bekwaam: ik weet niet dat ik weet. • :
Wat heeft het met verstekwaarden te maken? • KB+ is eenstabiele uitbreiding van KB als • KB+²)2 KB+ • 2KB+)2 KB+ • KB+):2 KB+ • KB* zodanig dat • als KB*` dan 2 KB+ voor alle stabieleuitbreidingen KB+ . • als KB*` dan ja!