1 / 50

Automatische Redeneer-systemen

Automatische Redeneer-systemen. Voor Eerste-orde Predicaten Logica. Is F een logisch gevolg van T ?. AR: algemene context. Gegeven is een kennisbank in predicaten logica: T. is een verzameling van eerste-orde formules formeel ook genoemd: een “Theorie’’.

kerry-dean
Download Presentation

Automatische Redeneer-systemen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automatische Redeneer-systemen Voor Eerste-orde Predicaten Logica

  2. Is F een logisch gevolg van T ? 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 • Notatie: T |=F (T impliceert F) • Vind afleidingstechnieken die dit uitmaken voor ELKE F en T. • Vereisten: • correctheid -- volledigheid -- efficientie

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

  4. 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. 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)

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

  6. gegronde Horn clause logica AR: algemene outline (2) . • We bestuderen verschillende subsets van predicaten 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 redenerendeResolutie … in een notedop

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

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

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

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

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

  13. Vb.: p(f(A),y) p(x, g(x)) • 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))) 3) Unificatie: • Gegeven 2 atomaire formules: • vind hun meest algemene gemeenschappelijke instantiatie. • Meest algemene unifier (mgu) : x -> f(A) • y -> g(f(A))

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

  15. 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 z-> f(A) De resolutie stap (2): • Predicaten logica: • Voorbeeld: = mgu toegepast opr(z) q(g(x)) De clausules waarop je resolutie uitvoert mogen geen variabelen gemeenschappelijk hebben.

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

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

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

  19. Alle formules in T zijn van de vorm: • x1 … xk A B1 B2 … Bn Horn clause logica • waarin A, B1, B2,…,Bnatomenzijn. • 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. Alternatief kan men een Horn Clause: • schrijven als: • x1 … xk A B1 B2 … Bn Q  P Q  ~P • x1 … xk A  ~B1  ~B2  …  ~Bn Implicatieve vorm Conjunctieve vorm Alternative notatie: • Is een bijzonder geval van de “conjunctieve normaal vorm” (alleen disjuncties en negaties), met slechts 1 positieve disjunct.

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

  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. 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. Dus voorlopig: Horn clauses zonder variabelen: • Voorbeeld: showmaster(Bosmans) rijk(Bosmans)  showmaster(Bosmans) groot(huis(Bosmans))  rijk(Bosmans) veel_werk(huis(Bosmans))  groot(huis(Bosmans)) • Bewijs: veel_werk(huis(Bosmans)) Beperking tot gegronde Horn clauses:

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

  27. Modus ponens is correct: B A  B Neem een interpretatie waarin zowel B als A  B waar zijn(= neem een model van {B , A  B} ) A Modus ponens in AR: 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. Verhoog het aantal conjuncten: B1 B2 … Bn A  B1  B2  …  Bn A Veralgemeende Modus ponens • Is evident nog steeds correct (waarheidstafels).

  29. Even een voorwaarstemodus ponens strategie

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

  31. 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)) 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))}

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

  34. Achterwaarts redeneren Voor gegronde Horn Clause logica

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

  36. Toon dat de theorie: Opnieuw het voorbeeld 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. We introduceren een nieuw predicaat symbool: false Refutatie bewijzen:het “false” predicaat • 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. In de Horn logica setting heeft F de vorm: x1 … xm B1  B2  … Bn “definiete” doelstellingen: • 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. Opnieuw: • x1 … xm false  B1  B2  … Bn x1 … xm false  ~B1  ~B2  …  ~Bn • is equivalent met: x1 … xm ~B1  ~B2  …  ~Bn • In het bijzonder is “false” de lege disjunctie: false  In conjunctieve normaalvorm: 0 positievedisjuncten! • Implicatieve en disjunctieve vorm blijven consistent • (een lege disjunctie is altijd onwaar)

  40. De uitgebreide theorie (inconsistent te bewijzen) is nu: 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)) Opnieuw het voorbeeld • een gegronde Horn clause theorie !

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

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

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

  44. Goal := false  B1  B2  …  Bn; Repeat Select someBiatom from the body of Goal Select some clauseBi  C1  C2  …  CmfromT ReplaceBiin the body of Goal byC1  C2  …  Cm UntilGoal = false  or no more Selections possible 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!

  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. p  q  r q  t q  s r  n r  o s o n 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. false q r false t r false  s r false r false n false o false  false  Zoekboom doorlopen door de achterwaartse procedure false p p  q  r q  t q  s r  n r  o s o n

  48. Achterwaartse procedure is efficiënter • Bewijs is nu doelgericht naar de te bewijzen stelling. • geen exploratie van irrelevante regelsmeer • Verschillende zoekmethodeskunnen 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)

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

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

More Related