AR: clausale logica De stap naar: resolutie. 2 Clausale vorm  Veralgemeende vorm van de formules:  x1 …  xk A1  A2 …  Am  B1  B2 …  Bn  Horn.

Slides:



Advertisements
Verwante presentaties
SINT LUKAS HOGESCHOOL BRUSSEL
Advertisements

BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
28 juni 2009 Paëllanamiddag 1 Paëllanamiddag 28 juni 2009 Voorbereiding vrijdagavond (Loopt automatisch - 7 seconden)
Differentie vergelijkingen differentie vergelijkingen
“ff Anders”.  Het thema van dit jaar is “ff Anders” 2.
BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
ZIEHIER 36 REDENEN WAAROM BIER
OPSLAG.
Verkoop- en debiteurenproces
27 februari 2014 Bodegraven 1. 1Korinthe 12 1 Ten aanzien van de uitingen des geestes, broeders, wil ik u niet onkundig laten. 2.
 Deel 1: Introductie / presentatie  DVD  Presentatie enquête  Ervaringen gemeente  Pauze  Deel 2 Discussie in kleinere groepen  Discussies in lokalen.
AR voor Horn clause logica Introductie van: Unificatie.
Ronde (Sport & Spel) Quiz Night !
prNBN D addendum 1 Deel 2: PLT
Basisgeheugenschakelingen
Start.
1. 3 Indien iemand een andere leer verkondigt en zich niet voegt naar de gezonde woorden van onze Here Jezus Christus*... * = de woorden die de Here Jezus.
Kb.1 Ik leer op een goede manier optellen en aftrekken
Datastructuren Analyse van Algoritmen en O
Mijn kind, Ik ben de Roos van Saron Hooglied 2,1 Zang : Betty Middler
Leiden University. The university to discover. ICLON, Interfacultair Centrum voor Lerarenopleiding, Onderwijsontwikkeling en Nascholing Denkgereedschap.
Automatisch redeneren en stellingen bewijzen
9 januari 2013 Bodegraven 1. 1Korinthe 11 1 Wordt mijn navolgers, gelijk ook ik Christus navolg. 2.
© GfK 2012 | Title of presentation | DD. Month
Automatische Redeneer-systemen
Automatisch Redeneren in de praktijk
Passie - Verrijzenis Arcabas
1 Datastructuren Zoekbomen II Invoegen en weglaten.
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Neurale Netwerken Kunstmatige Intelligentie Rijksuniversiteit Groningen April 2005.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
13 maart 2014 Bodegraven 1. 1Korinthe Want gelijk het lichaam één is en vele leden heeft, en al de leden van het lichaam, hoe vele ook, een lichaam.
1 19 dec Rijnsburg 19 dec Rijnsburg. 2 Hebreeën 8 1 De hoofdzaak VAN ONS ONDERWERP is, dat wij zulk een hogepriester hebben, die gezeten is.
Werken aan Intergenerationele Samenwerking en Expertise.
De FFT spectrumanalyzer
Inkomen les 7 27 t/m 37.
2009 Tevredenheidsenquête Resultaten Opleidingsinstellingen.
PLAYBOY Kalender 2006 Dit is wat mannen boeit!.
ribwis1 Toegepaste wiskunde Lesweek 2
ribwis1 Toegepaste wiskunde Lesweek 01 – Deel B
ribwis1 Toegepaste wiskunde, ribPWI Lesweek 01
ribWBK11t Toegepaste wiskunde Lesweek 02
1 Controleplan 2005 Raadgevend comité Hotel President – donderdag 21 april 2005.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
Fractale en Wavelet Beeldcompressie
De financiële functie: Integrale bedrijfsanalyse©
NIEMAND IETS SCHULDIG 12 oktober 2014 Zoetermeer.
tafel van 1 tafel van 1 x 1 = 1 x 1 = 1 2 x 1 = 2 3 x 1 = 3 4 x 1 = 4
aangename ont - moeting
1 Week /11/ Dalende beurzen Blijkbaar is de macht van de centrale banken in de wereld overroepen Men kan niet blijven de mensen.
31 okt Urk 1. 2 tegenover traditie en kerkleer ALLEEN DE SCHRIFT tegenover verdiensten: ALLEEN GENADE tegenover werken van de mens: ALLEEN GELOOF.
Tellen van Stemmen … FEB, Studiedag Leraren Wiskunde, 6 mei 2010 Luc Lauwers.
Toets 1 Examen Reinder Reen.
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
12 sept 2013 Bodegraven 1. 2  vooraf lezen: 1Kor.7:12 t/m 24  indeling 1Korinthe 7  1 t/m 9: over het huwelijk  10 t/m 16: over echtscheiding  16.
Strijd tegen de zonde?.
ZijActief Koningslust
AI101  Historisch Perspectief Weak Methods Logic Theorist General Problem Solver  Resolution Theorem Proving Leeswijzer: Hoofdstuk 13.0, 13.1, 13.2 AI.
1 Jeroen de Vries Topologie. 2  Historische basis  Belangrijkste concepten  Topologie in de praktijk Inhoud:
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
Automatisch redeneren en stellingen bewijzen
Automatische Redeneer-systemen
De stap naar: resolutie
AR voor Horn clause logica
Transcript van de presentatie:

AR: clausale logica De stap naar: resolutie

2 Clausale vorm  Veralgemeende vorm van de formules:  x1 …  xk A1  A2 …  Am  B1  B2 …  Bn  Horn clauses is het bijzonder geval met m = 1  We veronderstellen dat S = T  {~F} alleen bestaat uit clausale formules.  Doel: bewijs dat S inconsistent is.

3 Voorbeeld: Moore’s probleem BlauwofRood Blauw of Rood  Gegeven 3 blokken:  Bewijs dat er een blauw blok naast een rood blok staat!

4 Moore’s probleem (2): Dit zou een geval-analyse vereisen!  In clausale vorm: blauw(Blok1)rood(Blok3) blauw(Blok2)  rood(Blok2) naast(Blok1,Blok2)naast(Blok2,Blok1)naast(Blok2,Blok3)naast(Blok3,Blok2)  Bewijs:  of false  naast(b1,b2)  blauw(b1)  rood(b2) is inconsistent.  b1  b2 naast(b1,b2)  blauw(b1)  rood(b2)  PROBLEEM: Modus ponens is niet geschikt voor blauw(Blok2)  rood(Blok2)

5 hoog_gequalificeerd(x)  phd(x) vroeg_verdienen(x)  ~phd(x) rijk(x)  hoog_gequalificeerd(x) rijk(x)  vroeg_verdienen(x) (1)(2)(3)(4) Introductie van negatie in bodies is equivalent:  Voorbeeld:  Bewijs: rijk(Ik)  Waarom equivalent?  (2) is equivalent met verdienen(x)  phd(x) vanwege A  ~B  A  B

6 Disjunctie versus negatie in het algemeen:  x1 …  xk A1  A2 …  Am  B1  B2 …  Bn  is equivalent aan:  x1 …  xk A1  B1  B2 …  Bn  ~A2  …  ~Am  of ook aan:  x1 …  xk Ai  B1  B2 …  Bn  ~A1 ....  ~Am  Bewijs: A  ~B  A  B en basis relaties tussen ,  and ~ A  ~B  A  B

7 Het resolutie principe A1  A2  …  Am  B1  …  B  …  Bn C1 ...  B  …  Ck  D1  D2  …  Dl A1  A2  …  Am  C1 ....  Ck  B1 ....  Bn  D1  D2  …  Dl B1 ....  Bn  D1  D2  …  Dl  Propositie geval:  Correctheid: duidelijk want:  maak van alle andere disjuncten genegeerde body- atomen,  pas dan veralgemeende modus ponens toe,  breng al die genegeerde body-atomen terug als disjuncten in het hoofd.

8 Resolutie: predicaten logica  waarbij  = mgu(B,B’).  Correctheid:  door correctheid van het gegronde geval, toegepast op alle instantiaties van deze regel A1  A2  …  Am  B1  …  B  …  Bn C1 ...  B’  …  Ck  D1  D2  …  Dl (A1  A2  …  Am  C1 ....  Ck)   (B1 ....  Bn  D1  D2  …  Dl)  (B1 ....  Bn  D1  D2  …  Dl) 

9 Kan ook in andere vormen:  In conjunctieve normaal vorm:  met  = mgu(B,B’). A1  A2  …  Am  ~B1  …  ~B  …  ~Bn C1 ...  B’  …  Ck  ~D1  ~D2  …  ~Dl (A1  A2  …  Am  C1 ....  Ck)   (~B1 ....  ~Bn  ~D1  ~D2  …  ~Dl)  (~B1 ....  ~Bn  ~D1  ~D2  …  ~Dl) 

10 Opnieuw Moore’s voorbeeld blauw(Blok2)  rood(Blok2) rood(Blok2)  naast(Blok2,b2)  rood(b2) blauw(Blok1)rood(Blok3) blauw(Blok2)  rood(Blok2) naast(Blok1,Blok2)naast(Blok2,Blok1)naast(Blok2,Blok3)naast(Blok3,Blok2) rood(Blok2)  naast(Blok2,Blok3) rood(Blok3) rood(Blok2) naast(Blok2,Blok3) false  naast(b1,Blok2)  blauw(b1) false  naast(b1,b2)  blauw(b1)  rood(b2) false  naast(Blok1,Blok2) blauw(Blok1) false  naast(Blok1,Blok2) false  naast(b1,b2)  blauw(b1)  rood(b2)

11 Phd voorbeeld rijk(x) false  rijk(Ik) false  factoring vroeg_verdienen(x)  hoog_gequal(x) rijk(y)  hoog_gequal(y) rijk(x)  rijk(x) vroeg_verdienen(x)  rijk(x) rijk(y)  vroeg_verdienen(y) hoog_gequal(y)  phd(y) vroeg_verdienen(x)  phd(x) hoog_gequal(x)  phd(x) vroeg_verdienen(x)  phd(x) rijk(x)  hoog_gequal(x) rijk(x)  vroeg_verdienen(x) (1)(2)(3)(4) false  rijk(Ik)

12 Factoring: algemeen  Zowel:  met:  is mgu(B,B’) A1  A2  …  Am  B1  …  B  …  B’ …  Bn (A1  A2  …  Am  B1  …  B  …  …  Bn)   als:  met:  is mgu(A,A’). A1  …  A  …  A’ …  Am  B1  …  Bn (A1  …  A  …  …  Am  B1  …  Bn) 

13 De nood aan factoring p  q p  q false  p q false  p  q q  p (p  q)  (p  ~q)  (~p  q)  (~p  ~q)  Zonder factoring is resolutie niet volledig !  Voorbeeld: bewijs {(p  ~p)  (q  ~q)} inconsistent  Normalizatie:  Clausale vorm: p  p q  q p  q q  p Je kan nooit false  krijgen !!!!

14 Reden?  De lengte van een formule = het aantal atomen (false niet meegerekend): A1  A2  …  Am  B1  …  B  …  Bn C1 ...  B’  …  Ck  D1  D2  …  Dl (A1  A2  …  Am  C1 ....  Ck)   (B1 ....  Bn  D1  D2  …  Dl)  (B1 ....  Bn  D1  D2  …  Dl) LengteNM N + M - 2  In het vorige voorbeeld hadden alle formules lengte 2 Je kan NOOIT false  (lengte 0) krijgen !

15 De resolutie procedure :=initial theory (inconsistent te bewijzen); S:= initial theory (inconsistent te bewijzen); Consistent:= false; Inconsistent:= false; While not(Consistent) and not(Inconsistent) do If false   S Then Inconsistent := true Else If S contains no pair (F,G) resolvable and not yet resolved yet resolved Then Consistent:= true Then Consistent:= true Else SELECT a pair (F,G) from S, resolvable and not yet resolved; and not yet resolved; H:= factor( resolvent (F,G) ); H:= factor( resolvent (F,G) ); S:= S  H S:= S  H End-while

16 Gedrag onder Horn clause resolutie : false ... … ... false  false ... … ... false ... …  Lineaire resolutie !

17 Gedrag onder Algemene resolutie : Algemene resolutie ! … ... false 

18 Lineaire resolutie:  De belangrijkste verschillen met Horn clauses:  Bij Horn clauses waren de bewijzen altijd LINEAIR !  we starten met de “goal”  dan gebruiken we een Horn clause om een nieuwe goal te berekenen  enz.  Clausale resolutie is NIET lineair  Ook: factoring is soms nodig  Lineair resolutie (een bewijs is een lineaire opeenvolging van resolutie stappen, startend van de goal) is één van de belangrijkste strategieen om resolutie efficient te maken.

19 Non-determinisme in de resolutie procedure  SELECT a pair (F,G) : maakt het een ERG non- deterministische procedure.  Het controle probleem voor resolutie is bijzonder moeilijk.  Een bewijs is niet meer 1 (lineaire) tak in een boom, maar een subgraaf van de graaf van alle resoluties.  Is het correct? Is het volledig? ? Bestaat er een strategie die volledig is???

20 Correctheid / Volledigheid ?  Volledigheid: Er bestaat een volledige strategie (standaard vb: de Herbrand stellingenbewijzer).  Correctheid:  Als de procedure Inconsistent teruggeeft:  Dan is false  toegevoegd  Dan is false  een logisch gevolg van S (want de resolutie stap is correct).  Dus in alle modellen van S is ook false  waar  Dus S heeft geen modellen

21 … ... Correctheid / Volledigheid (2) ?  Als de procedure Consistent teruggeeft:  Dan zijn ALLE MOGELIJKE resolutie stappen uitgevoerd, zonder false  te bereiken.  Stel toch inconsistent.  Er bestaat een VOLLEDIGE strategie: die levert na eindige tijd wél false   Maar die doet (een deel van) dezelfde resolutie stappen !! Oorspronkelijke gaf ook Oorspronkelijke gaf ook false  … ... …  … false 

AR voor volledige predicaten logica Normalizatie naar clausale form

23 Wat is er meer nodig voor volledige predicaten logica? NIETS!  Clausale logica is equivalent aan volledige predicaten logica:  elke theorie T in FOL (first order predicate logic) kan automatisch omgezet worden in een clausale theorie T’, zo dat: T is inconsistent asa T’ is inconsistent

24 Propositioneel: via conjunctieve normal form:  Elke formule is equivalent aan een formule van de vorm: (A1 ...  An)  (B1  …  Bm)  …  (C1  …  Ck)  waarin alle Ai, Bi, …, Ci ofwel atomair of ~atomair.  Idee: p  q p  q breng alle ~ zo ver mogelijk naar binnen gebruik de distributiviteit van  en  p  q  q  p q  ~p  Uiteindelijk: p1  …  pn  ~q1  … ~qm p1  …  pn  q1  …  qm

25 Predicaten geval: hoofd-stappen Dit vereist soms nieuwe namen voor variabelen. Vb.:  x p(x)   x q(x)  x  z p(x)  q(z) Merk:  x bewolkt(x)   x zonnig(x) is niet equivalent met  x bewolkt(x)  zonnig(x)  Prenix normaal vorm (Q1 x) (Q2 y) …(Qn z) F  or  heeft geen quantoren!  Conjunctieve normaal vorm: (Q1 x) (Q2 y) …(Qn z) (.. .. )  (.. .. ) ..  (.. .. )  Die 2 stappen worden vermengd.

26 Predicaten geval: vervolg Skolem functies: zoveel argumenten als omsluitende  -variabelen  Skolem normaal vorm: transformeer naar: (  x) (  y) …(  z) (.. .. )  (.. .. ) ..  (.. .. )   x rich(x) wordt rich(Sk), met Sk een nieuwe constante (‘skolem constante’) die nog niet in het alphabet voorkomt.  Moeilijker: indien  genest voorkomt binnen  :  ‘Everyone has a heart’  x person(x)   y heart(y)  has(x,y)  Niet correct:  x person(x)  heart(H)  has(x,H)  Correct:  x person(x)  heart(H(x))  has(x,H(x))

27 Predicaten geval: vervolg  Clausale vorm:  x  y  z (p(x)  ~q(y)  ~r(y))  (r(A)  q(z))  (r(A)  q(z))  ~s(x,y)  ~s(x,y) S = {  x  y (p(x)  ~q(y)  ~r(y)),  z (r(A)  q(z)),  z (r(A)  q(z)),  x  y ~s(x,y) }  x  y ~s(x,y) } S = {p(x)  q(y)  r(y), r(A)  q(z)), r(A)  q(z)), false  s(x,y) } false  s(x,y) }  Disjuncties:

28 Expliciete Procedure: 1. Elimineer  en . 2. Breng de negaties naar binnen: ~(~p)  p, ~(p  q)  ~p  ~q, (analoog voor  ) ~  x   x ~, ~  x   x ~ 3. Standardizeer variabele namen (maak verschillend). PRENEX NORMAAL VORM 4. Breng quantoren naar voor. SKOLEMS INTRODUCEREN 5. Elimineer . CONJUNCTIEVE VORM 6. Disjuncties naar binnen. VERZAMELING DISJUNC. 7. Laat  weg. 8. Laat  weg. CLAUSALE VORM 9. ~atomen naar andere kant.

29 Marcus voorbeeld:  x  y ~(man(x)  heerser(y)  probeerverm(x,y))  ~loyaalaan(x,y)  x  y ~man(x)  ~heerser(y)  ~probeerverm(x,y)  ~loyaalaan(x,y) false  man(x)  heerser(y)  probeerverm(x,y)  loyaalaan(x,y)  x loyaalaan(x,f(x)) loyaalaan(x,f(x))  Feiten 1., 2., 4. en 8. waren al o.k.:  ex.: heerser(Cesar)  3.  x Pompeier(x)  Romein(x) : o.k. !  6.  x  y loyaalaan(x,y)  7.  x  y man(x)  heerser(y)  probeerverm(x,y)  ~loyaalaan(x,y)

30 Axioma’s in Normaal vorm:  1. man(Marcus)  2. Pompeier(Marcus)  3. Romein(x)  Pompeier(x)  4. heerser(Cesar)  5. loyaalaan(x,Cesar)  haat(x,Cesar)  Romein(x)  6. loyaalaan(x,f(x))  7. false  man(x)  heerser(y)  probeerverm(x,y)  loyaalaan(x,y)  8. probeerverm(Marcus,Cesar) Te bewijzen: haat(Marcus,Cesar) Negatie: ~haat(Marcus,Cesar) Normaal Vorm: false  haat(Marcus,Cesar)

31 Resolutie bewijs (1): false  haat(Marcus,Cesar) loyaalaan(x,Cesar)  haat(x,Cesar)  Romein(x) loyaalaan(Marcus,Cesar)  Romein(Marcus) {x/Marcus}5. Romein(x)  Pompeier(x) loyaalaan(Marcus,Cesar)  Pompeier(Marcus) {x/Marcus}3. Pompeier(Marcus) loyaalaan(Marcus,Cesar) {}2.

32 Resolutie bewijs (2) loyaalaan(Marcus,Cesar) false  man(x)  heerser(y)  probeerverm(x,y)  loyaalaan(x,y) false  man(Marcus)  heerser(Cesar)  probeerverm(Marcus,Cesar) 7.{x/Marcus,y/Cesar} man(Marcus) false  heerser(Cesar)  probeerverm(Marcus,Cesar) 1. {} heerser(Cesar) false  probeerverm(Marcus,Cesar) 4.{} probeerverm(Marcus,Cesar) false  8.{}

33 Een voorbeeld uit groepentheorie:  Stel:  een groepsoperatie.  Noteer prefix: p(x,y,z)  x  y = z  Definitie van een monoide, met linker-neutraal en linker-invers element:   is overal gedefinieerd:  x  y  z p(x,y,z)   is associatief:(x  y)  z = x  (y  z) uv  x  y  z  u  v  w (p(x,y,u)  p(y,z,v))  (p(u,z,w)  p(x,v,w)) (1) (2)

34 Een voorbeeld uit groepentheorie (2):   heeft een linker-neutraal en linker-invers element:  x (  y p(x,y,y)   y  z p(z,y,x)  De stelling: er bestaat ook een rechter-invers ! (3)  x (  y p(x,y,y)   y  z p(y,z,x) (4)  Automatisch te bewijzen met resolutie.

35 Normalisatie: (1)  x  y  z p(x,y,z)  Stappen: 1,2,3,4: o.k.  Stap 5: skolemisatie:  x  y p(x,y,m(x,y))  Stappen: 6,7: o.k.  Stap 8: clausale vorm: p(x,y,m(x,y))

36 Normalisatie (vervolg): (2)  x  y  z  u  v  w (p(x,y,u)  p(y,z,v))  (p(u,z,w)  p(x,v,w))  Stap 1: elimineer  en  :  x  y  z  u  v  w (p(x,y,u)  p(y,z,v))  ((p(u,z,w)  p(x,v,w))  (p(x,v,w)  p(u,z,w))) ((p(u,z,w)  p(x,v,w))  (p(x,v,w)  p(u,z,w)))  x  y  z  u  v  w (p(x,y,u)  p(y,z,v))  ((~p(u,z,w)  p(x,v,w))  (~p(x,v,w)  p(u,z,w))) ((~p(u,z,w)  p(x,v,w))  (~p(x,v,w)  p(u,z,w)))  x  y  z  u  v  w ~(p(x,y,u)  p(y,z,v))  ((~p(u,z,w)  p(x,v,w))  (~p(x,v,w)  p(u,z,w))) ((~p(u,z,w)  p(x,v,w))  (~p(x,v,w)  p(u,z,w)))

37 Normalisatie (vervolg):  x  y  z  u  v  w ~(p(x,y,u)  p(y,z,v))  ((~p(u,z,w)  p(x,v,w))  (~p(x,v,w)  p(u,z,w))) ((~p(u,z,w)  p(x,v,w))  (~p(x,v,w)  p(u,z,w)))  x  y  z  u  v  w (~p(x,y,u)  ~p(y,z,v))  ((~p(u,z,w)  p(x,v,w))  (~p(x,v,w)  p(u,z,w))) ((~p(u,z,w)  p(x,v,w))  (~p(x,v,w)  p(u,z,w)))  Stap 2: breng negaties naar binnen:  Stappen: 3,4,5 o.k.  Stap 6: breng disjuncties naar binnen:  x  y  z  u  v  w ((~p(x,y,u)  ~p(y,z,v))  (~p(u,z,w)  p(x,v,w)))  ((~p(x,y,u)  ~p(y,z,v))  (~p(x,v,w)  p(u,z,w))) A  (B  C) A  (B  C) = (A  B)  (A  C) A  B A  C

38 Normalisatie (vervolg):  x  y  z  u  v  w ((~p(x,y,u)  ~p(y,z,v))  (~p(u,z,w)  p(x,v,w)))  ((~p(x,y,u)  ~p(y,z,v))  (~p(x,v,w)  p(u,z,w)))  x  y  z  u  v  w ((~p(x,y,u)  ~p(y,z,v))  (~p(u,z,w)  p(x,v,w)))  ((~p(x,y,u)  ~p(y,z,v))  (~p(x,v,w)  p(u,z,w)))  + verwijder redundante haakjes: ( )  x  y  z  u  v  w (~p(x,y,u)  ~p(y,z,v)  ~p(u,z,w)  p(x,v,w))  (~p(x,y,u)  ~p(y,z,v)  ~p(x,v,w)  p(u,z,w))  Stappen 7,8: elimineer  en  : ~p(x,y,u)  ~p(y,z,v)  ~p(x,v,w)  p(u,z,w) ~p(x,y,u)  ~p(y,z,v)  ~p(u,z,w)  p(x,v,w)