De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Automatische Redeneer-systemen

Verwante presentaties


Presentatie over: "Automatische Redeneer-systemen"— Transcript van de presentatie:

1 Automatische Redeneer-systemen
Voor Eerste-orde Predicaten Logica

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 AR: beslisbaarheid. Stelling Church ‘36: MAAR: semi-beslisbaar!
Er kan GEEN ENKEL ALGORITME bestaan dat beslist of T |= F, voor elke theorie T en elke formule F. MAAR: semi-beslisbaar! Volledigheidsstelling van Goedel ‘31: 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.

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

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 2) Clausale vorm: = Normaliseer de formules tot een (eenvoudigere) standaard vorm. 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(…)  alleen links;  alleen rechts geen ~ ; geen  die inconsistent is als en slechts als het originele stel inconsistent was. Merk op: je kan “x y … z“ weglaten.

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

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 4) De resolutie stap Propositie logica: P  Q P Q ~Q ~P Q  P P  true
Modus ponens Modus tollens P  Q P Q ~Q ~P Q  P P  true Q  true Q  P false  Q false  P P1  P2  …  Pn  Q1  ...  Qm R1  …  Rk  P1  S1  …  Sl P2 …  Pn  R1  …  Rk  Q1  ...  Qm  S1  …  Sl Resolutie

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

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 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  y -> u Dus: inconsistent !

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

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

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 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 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 Eenvoudig met modus ponens !
3 toepassingen van modus ponens: showm(Bos) rijk(Bos)  showm(Bos) rijk(Bos) groot(huis(Bos))  rijk(Bos) groot(huis(Bos)) geeft de gewenste conclusie. veel_werk(huis(Bos))  groot(huis(Bos)) veel_werk(huis(Bos))

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

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

34 Achterwaarts redeneren
Voor gegronde Horn Clause logica

35 Inconsistentie: 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: 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

36 Opnieuw het voorbeeld Toon dat de theorie: inconsistent is.
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 Refutatie bewijzen: het “false” predicaat
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 “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 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 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)) false  veel_werk(huis(Bos)) De uitgebreide theorie (inconsistent te bewijzen) is nu: een gegronde Horn clause theorie !

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

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

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 Achterwaartse procedure
Goal := false  B1  B2  …  Bn ; Repeat Select some Bi atom from the body of Goal 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 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 Nog een voorbeeld (propositioneel)
p  q  r q  t q  s r  n r  o s o n Bewijs: p Bemerk: non-determinisme zowel op atoom selectie ALS op clause selectie ! we illustreren het alleen op clause selectie hier

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

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)

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

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"

Verwante presentaties


Ads door Google