De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Automatische Redeneer-systemen Voor Eerste-orde Predicaten Logica.

Verwante presentaties


Presentatie over: "Automatische Redeneer-systemen Voor Eerste-orde Predicaten Logica."— Transcript van de presentatie:

1 Automatische Redeneer-systemen Voor Eerste-orde Predicaten Logica

2 2 AR: algemene context.  Gegeven is een kennisbank in predicaten logica: T  is een verzameling van eerste-orde formules  formeel ook genoemd: een “Theorie’’  Gegeven een bijkomende eerste-orde formule: F  Is F een logisch gevolg van T ?  Notatie: T |= F (T impliceert F)  Vind afleidingstechnieken die dit uitmaken voor ELKE F en T.  Vereisten:  correctheid -- volledigheid -- efficientie

3 3 AR: beslisbaarheid.  Er kan GEEN ENKEL ALGORITME bestaan dat beslist of T |= F, voor elke theorie T en elke formule F.  Stelling Church ‘36:  Er bestaat een redeneertechniek, zo dat voor elke theorie T en formule F, waarvoor T |= F, de redeneer- techniek bewijst dat T |= F.  DUS: als F volgt uit T, dan kunnen we dat bewijzen, anders is het mogelijk dat onze procedure niet eindigt.  MAAR: semi-beslisbaar!  Volledigheidsstelling van Goedel ‘31:

4 4 Even uittesten...  Fout !  Stel: T = {slim(Kelly)} en F = sterk(Kelly)  Alhoewel sterk(Kelly)  ~sterk(Kelly) altijd waar is, hebben we:  noch: {slim(Kelly)} |= sterk(Kelly)  noch: {slim(Kelly)} |= ~sterk(Kelly)  De stellingen van Church en Goedel zijn contradic- torisch: We kunnen in parallel F en ~F proberen te bewijzen en volgens de stelling van Goedel moet na eindige tijd 1 van de twee lukken.

5 5 AR: algemene outline (1).  Eerst schetsen we de meest algemeen gebruikte aanpak voor automatisch redeneren in eerste-orde:  achterwaartse resolutie  De verschillende technische componenten worden pas later in volledig technisch detail uitgewerkt (outline (2)).

6 6 AR: algemene outline (2).  We bestuderen verschillende subsets van predicaten logica:  gegronde Horn clause logica  Horn clause logica  Clausale logica  volledige predicaten logica  Voor elk geval bestuderen we semi-beslissende procedures.  Elke uitbreiding vereist de introductie van nieuwe technieken.

7 Achterwaarts redenerende Resolutie … in een notedop

8 8 Achterwaartse resolutie:  0) De taak: een voorbeeld.  1) Bewijs door inconsistentie.  2) Conversie naar clausale vorm.  3) Unificatie.  4) De resolutie stap.  5) (Achterwaartse) resolutie bewijzen.

9 9 0) De TAAK (voorbeeld):  Zijn axioma’s: beschrijven kennis over een of andere wereld.  z ~ q(z)  y p(f(y))  x p(x)  q(x)  r(x) T  Hoe in het algemeen zo’n stelling bewijzen?  u r(f(u))  Is in deze wereld:steeds waar ? F p = parent f = father r = rich q = old

10 10 1) Bewijs door inconsistentie  u r(f(u)) F  Niet F rechtstreeks bewijzen:  Maar de negatie van F toevoegen aan de axioma’s een bewijzen dat de uitbreiding inconsistent is. ~  u r(f(u))  z ~ q(z)  y p(f(y))  x p(x)  q(x)  r(x)  NIEUWE TAAK:  is inconsistent.  de 4 axioma’s zijn nooit samen waar is één interpretatie

11 11 2) Clausale vorm: = Normaliseer de formules tot een (eenvoudigere) standaard vorm. Merk op: je kan “  x  y …  z “ weglaten.  Elke verzameling axioma’s kan getransformeerd worden in een verzameling die alleen formules bevat van de vorm:  x  y…  z p(…)  q(…)  … r(…)  t(…)  s(…)  …  u(…) die inconsistent is als en slechts als het originele stel inconsistent was.  alleen links; alleen rechts   alleen links;  alleen rechts  geen ~ ; geen 

12 12 Voorbeeld: Ps: vereist meestal veel meer werk ! : is al in clausale vorm: ( P  P  true )  ~  u r(f(u))  u false  r(f(u))   z ~ q(z)  z false  q(z)   y p(f(y))   x p(x)  q(x)  r(x)  x q(x)  r(x)  p(x)

13 13 3) Unificatie:  Gegeven 2 atomaire formules:  Vb.: p(f(A),y) p(x, g(x))  vind hun meest algemene gemeenschappelijke instantiatie.  Vb.: x moet worden: f(A)  g(x) moet worden: g(f(A))  y moet worden: g(f(A)) p(f(A), g(f(A)))  Meest algemene unifier (mgu) : x -> f(A)  y -> g(f(A))

14 14 4) De resolutie stap  Propositie logica: P  Q P Q ~Q ~Q~P P1  P2  …  Pn  Q1 ...  Qm R1  …  Rk  P1  S1  …  Sl P2  …  Pn  R1  …  Rk  Q1 ...  Qm  S1  …  Sl Q  P P  true Q  true Q  P false  Q false  P

15 15 De resolutie stap (2):  Predicaten logica:  Voorbeeld: p(x,f(A))  q(g(x)) r(z)  p(B,z) r(f(A))  q(g(B)) mgu(p(x,f(A)), p(B,z)) = x -> B x -> B z -> f(A) z -> f(A) = mgu toegepast op r(z)  q(g(x)) De clausules waarop je resolutie uitvoert mogen geen variabelen gemeenschappelijk hebben.

16 16 5) Resolutie bewijzen:  Om een stel clauses inconsistent te bewijzen:  selecteer er 2 uit, waarop resolutie mogelijk is  pas resolutie toe en voeg het resultaat toe aan de set  als je de clause false  vindt: STOP ! Betekent inconsistentie van de laatste set EN inconsistentie van de oorspronkelijke EN dat F geïmpliceerd was door T

17 17 Voorbeeld: q(x)  r(x)  p(x) false  r(f(u)) false  q(z) p(f(y)) q(f(u))  p(f(u)) x -> f(u) false  p(f(u)) z -> f(u) false  false  y -> u Dus: inconsistent !

18 Een diepere studie Modus ponens Gegronde Horn Logica Unificatie Horn Logica Resolutie Clausale Logica Clausale Logica Normalizatie Volledige Predicaten Logica

19 19 Horn clause logica  x1 …  xk A  B1  B2 …  Bn  Alle formules in T zijn van de vorm:  waarin A, B1, B2,…,Bn atomenzijn.  waarin A, B1, B2,…,Bn atomen zijn.  Een atoom is een formule van de vorm p(t1,…,tm), met p een predicaat symbool en t1,…,tm termen.  Horn clause formules zijn universeel gequantificeerd over alle variabelen die erin voorkomen.  B1,…,Bn noemen we body-atomen van de Horn clause; A is het hoofd van de Horn clause.  n mag ook nul zijn: in dat geval noemen we de Horm clause een feit.

20 20 Alternative notatie: Implicatieve vorm Conjunctieve vorm  x1 …  xk A  B1  B2 …  Bn  x1 …  xk A  ~B1  ~B2  …  ~Bn  Alternatief kan men een Horn Clause:  schrijven als: Q  P  Q  ~P Q  ~P  Is een bijzonder geval van de “conjunctieve normaal vorm” (alleen disjuncties en negaties), met slechts 1 positieve disjunct.

21 21 Welke soort van formules kunnen we bewijzen?  x1 …  xk B1  B2  …  Bn  In Horn clause logica, beperken we ons tot formules F van de vorm:  waarin B1, B2, …, Bn opnieuw atomen zijn.  Alle variabelen zijn existentieel gequantificeerd !

22 22 Een heel simpel voorbeeld:  Bosmans is showmaster (1)  Showmasters zijn rijk (2)  Rijke mensen hebben grote huizen (3)  Grote huizen vereisen veel onderhoud (4)  Doel: automatisch afleiden dat Bosmans’ huis veel onderhoud vereist.

23 23 Representatie in Horn logica:  Bosmans is showmaster (1)  Showmasters zijn rijk (2)  Rijke mensen hebben grote huizen (3)  Grote huizen vereisen veel onderhoud (4)  Te bewijzen: showmaster(Bosmans)  p rijk(p)  showmaster(p)  p groot(huis(p))  rijk(p)  p veel_werk(huis(p))  groot(huis(p)) veel_werk(huis(Bosmans))

24 AR voor gegronde Horn clause logica Achterwaarts (en voorwaarts) redenerenende bewijsprocedures gebaseerd op veralgemeende Modus ponens

25 25 Beperking tot gegronde Horn clauses: showmaster(Bosmans) rijk(Bosmans)  showmaster(Bosmans) groot(huis(Bosmans))  rijk(Bosmans) veel_werk(huis(Bosmans))  groot(huis(Bosmans))  Dus voorlopig: Horn clauses zonder variabelen:  Voorbeeld: veel_werk(huis(Bosmans))  Bewijs:

26 26 Eenvoudig met modus ponens ! groot(huis(Bos))  rijk(Bos) groot(huis(Bos))  3 toepassingen van modus ponens: showm(Bos) rijk(Bos)  showm(Bos) rijk(Bos)  geeft de gewenste conclusie. veel_werk(huis(Bos))  groot(huis(Bos)) veel_werk(huis(Bos))

27 27 Modus ponens in AR: B A  B A Neem een interpretatie waarin zowel B als A  B waar zijn (= neem een model van {B, A  B} )  Modus ponens is correct: Dan: A is ook waar in die interpretatie (zie waarheidstafels)  Probleem: hoe dit organizeren in een procedure zodat het ook volledig wordt (voor gegronde Horn clauses)?

28 28 Veralgemeende Modus ponens B1 B2 … Bn A  B1  B2  …  Bn A  Verhoog het aantal conjuncten:  Is evident nog steeds correct (waarheidstafels).

29 Even een voorwaarste modus ponens strategie

30 30 Een voorwaartse bewijs- procedure Een voorwaartse bewijs- procedure Derived := { }; Repeat Select some A  B1  B2  …  Bn from T, such that all B1, B2, …, Bn  Derived, and A  Derived; and A  Derived; Derived:= Derived  {A}; Derived:= Derived  {A}; Until all atoms of F = C1  C2  …  Cm are in Derived or no more Selection are possible or no more Selection are possible  Gegeven theorie T en formule F:  Indien alle atomen uit F in Derived zitten bij terminatie, dan T impliceert F, anders niet.

31 31 Uitgebreid voorbeeld:  Eén mogelijke afleiding: Stap 0: Derived := { } Stap 1: Derived := {showm(Bos)} Stap 2: Derived := Derived  {belg(Bos)} Stap 3: Derived := Derived  {europeaan(Bos)} Stap 4: Derived := Derived  {rijk(Bos)} Stap 5: Derived := Derived  {groot(huis(Bos))} Einde : Derived := Derived  {veel_werk(huis(Bos))} europeaan(Bos)  belg(Bos) rijk(Bos)  showm(Bos)  europeaan(Bos) groot(huis(Bos))  rijk(Bos) veel_werk(huis(Bos))  groot(huis(Bos)) showm(Bos) belg(Bos)

32 32 Bemerkingen:  Correctheid: veralgemeende modus ponens is correct  Volledigheid: intuitie:  voor een eindige gegronde Horn clause theorie, zijn er maar een eindig aantal atomaire gevolgen  die worden allemaal afgeleid na eindige tijd  Efficientie:  kan bijzonder traag zijn!  Als T veel Horn clauses omvat die niet aan F gerelateerd zijn, dan worden veel voor F irrelevante atomen afgeleid.

33 33 Relatie tot fix-point theorie:  Stel Atoms de verzameling van alle atomen in de taal.  Definieer T P : 2 Atoms  2 Atoms : T P (S) = {A | A  B1  B2  …  Bn alle Bi  S } alle Bi  S }  T P  0 = , T P  1 = T P (T P  0), etc.  Voorbeeld: T P  0 = , T P  1 = {showm(Bos), belg(Bos)} T P  2 = T P  1  {europeaan(Bos)}, T P  3 = T P  2  {rijk(Bos)}, etc.  Het fix-point voor T P is een (het kleinste) model for T

34 Achterwaarts redeneren Voor gegronde Horn Clause logica

35 35 Inconsistentie: T impliceert F asa Elk model van T maakt F waar asa Elk model van T maakt ~F onwaar asa T  {~F} heeft geen model asa T  {~F} is inconsistent  Een theorie T is inconsistent als ze geen enkel model heeft. Stel T een theorie en F een formule. T impliceert F als en slechts als T  {~F} inconsistent is.  Stelling:  Bewijs:

36 36 Opnieuw het voorbeeld  Toon dat de theorie: showm(Bos) belg(Bos) europeaan(Bos)  belg(Bos) rijk(Bos)  showm(Bos)  europeaan(Bos) groot(huis(Bos))  rijk(Bos) veel_werk(huis(Bos))  groot(huis(Bos)) ~ veel_werk(huis(Bos))  inconsistent is.  Probleem: dit is geen Horn clause theorie !?

37 37 Refutatie bewijzen: het “false” predicaat false  We introduceren een nieuw predicaat symbool:  We spreken af dat false de waarheidswaarde ‘onwaar’ heeft onder elke interpretatie.  Stel je voor dat false gedefinieerd is als : false  p  ~p voor één of ander predicaat p

38 38 “definiete” doelstellingen:  In de Horn logica setting heeft F de vorm:  x1 …  xm B1  B2  …  Bn  Wat is dan de vorm van ~F? ~(  x1 …  xm B1  B2  …  Bn)   x1 …  xm ~(B1  B2  …  Bn)   x1 …  xm false  ~(B1  B2  …  Bn)   x1 …  xm false  B1  B2  …  Bn A  ~B  A  B  Merk op: ~F is nu opnieuw een Horn clause !!

39 39 In conjunctieve normaalvorm:  Opnieuw:  x1 …  xm false  B1  B2  …  Bn  is equivalent met:  x1 …  xm false  ~B1  ~B2  …  ~Bn  x1 …  xm ~B1  ~B2  …  ~Bn 0 positieve disjuncten !  In het bijzonder is “false” de lege disjunctie: false   Implicatieve en disjunctieve vorm blijven consistent  (een lege disjunctie is altijd onwaar)

40 40 Opnieuw het voorbeeld  een gegronde Horn clause theorie ! showm(Bos) belg(Bos) europeaan(Bos)  belg(Bos) rijk(Bos)  showm(Bos)  europeaan(Bos) groot(huis(Bos))  rijk(Bos) veel_werk(huis(Bos))  groot(huis(Bos)) false  veel_werk(huis(Bos))  De uitgebreide theorie (inconsistent te bewijzen) is nu:

41 41 Modus ponens verder veralgemeend:  Gewone Modus ponens is het bijzonder geval met:  n = i = 1 and m =0  Correctheid: via waarheidstafels A  B1  B2  …  Bi  …  Bn Bi  C1  C2  …  Cm A  B1  B2  …  C1  C2  …  Cm  …  Bn

42 42 Enkele achterwaartse stappen met ons voorbeeld:  en zo verder... false  veel_werk(huis(Bos)) veel_werk(huis(Bos))  groot(huis(Bos)) false  groot(huis(Bos)) groot(huis(Bos))  rijk(Bos) false  rijk(Bos)

43 43 De achterwaartse procedure: het idee  Converteer F in een definiete doelstelling: false  B1  B2  …  Bi  …  Bn  Pas veralgemeende modus ponens toe op de body- atomen Bi van de doelstelling, gebruik makend van de Horn clauses in T  totdat: wordt afgeleid. false   Dus: een onware formule is logisch gevolg van T  {~F} we hebben inconsistentie van T  {~F} bewezen

44 44 Achterwaartse procedure  Hier bovenop moet je backtracking toelaten over de geselecteerde clauses en geselecteerde body atomen.  Als het algoritme stopt omdat het al deze alter- natieven heeft geprobeerd: F was geen gevolg! Goal := false  B1  B2  …  Bn ; Repeat Select some Bi atom from the body of Goal Select some clause Bi  C1  C2  …  Cm from T Select some clause Bi  C1  C2  …  Cm from T Replace Bi in the body of Goal by C1  C2  …  Cm Until Goal = false  or no more Selections possible

45 45 Opnieuw het voorbeeld Stap 0: Goal := false  veel_werk(huis(Bos)) select: veel_werk(huis(Bos))  groot(huis(Bos)) Stap 1: Goal := false  groot(huis(Bos)) select: groot(huis(Bos))  rijk(Bos) Stap 2: Goal := false  rijk(Bos) select: rijk(Bos)  showm(Bos)  europeaan(Bos) Stap 3: Goal := false  showm(Bos)  europeaan(Bos) select: showm(Bos) Stap 4: Goal := false  europeaan(Bos) select: europeaan(Bos)  belg(Bos) Stap 5: Goal := false  belg(Bos) select: belg(Bos) Stap 6: Goal := false 

46 46 p  q  r q  t q  s r  n r  o son Nog een voorbeeld (propositioneel)  Bewijs: p  Bemerk: non-determinisme zowel op atoom selectie ALS op clause selectie !  we illustreren het alleen op clause selectie hier

47 47 Zoekboom doorlopen door de achterwaartse procedure p  q  r q  t q  s r  n r  o son false  p false  q  r false  t  r false  s  r false  r false  n false  o false 

48 48 Achterwaartse procedure is efficiënter  Bewijs is nu doelgericht naar de te bewijzen stelling.  geen exploratie van irrelevante regels meer  Verschillende zoekmethodes kunnen gebruikt worden om deze zoekboom te doorlopen.  Atoom-selectie kan ook de efficiëntie beïnvloeden:  bv.: door het sneller detecteren van een falende tak  maar heeft geen effect op het vinden van een oplossing (in het geval er maar eindig veel ground Horn clauses zijn) (in het geval er maar eindig veel ground Horn clauses zijn)

49 49 Volledigheid:  Voorbeeld: false  p p  p (1) p (2)  Mogelijke afleidingen: false  p (1) (1) ……(1) false  (2)  Is alleen volledig indien de zoekboom wordt doorzocht met een volledige zoekstrategie.

50 50 Representie-kracht van gegronde Horn clauses  Is  een subset van propositie logica. showm(Bos) showm_Bos groot(huis(Bos)) groot_huis_Bos  Voorbeeld:  In het algemeen zijn expressievere logica’s nodig.  Essentie: met variabelen kan 1 formule equivalent zijn aan een heel groot aantal propositie logica formules


Download ppt "Automatische Redeneer-systemen Voor Eerste-orde Predicaten Logica."

Verwante presentaties


Ads door Google