Automatische Redeneer-systemen

Slides:



Advertisements
Verwante presentaties
Sudoku puzzels: hoe los je ze op en hoe maak je ze?
Advertisements

‘SMS’ Studeren met Succes deel 1
Paulus' eerste brief aan Korinthe (20) 23 januari 2013 Bodegraven.
28 juni 2009 Paëllanamiddag 1 Paëllanamiddag 28 juni 2009 Voorbereiding vrijdagavond (Loopt automatisch - 7 seconden)
Differentie vergelijkingen differentie vergelijkingen
Werkwoorden d t dt.
NEDERLANDS WOORD BEELD IN & IN Klik met de muis
Beter afspelen.
WAAROM? Onderzoek naar het meest geschikte traject voor de verlenging tot in Sint-Niklaas van het bestaande fietspad naast de Stekense Vaart en de Molenbeek.
BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
ZIEHIER 36 REDENEN WAAROM BIER
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
7 april 2013 Zoetermeer 1. 1Korinthe Maar, zal iemand zeggen, hoe worden de doden opgewekt? En met wat voor lichaam komen zij? 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.
STAPPENPLAN GRAMMATICUS.
Ronde (Sport & Spel) Quiz Night !
Basisgeheugenschakelingen
Een optimale benutting van vierkante meters Breda, 6 juni 2007.
Start.
Datastructuren Analyse van Algoritmen en O
Leiden University. The university to discover. ICLON, Interfacultair Centrum voor Lerarenopleiding, Onderwijsontwikkeling en Nascholing Denkgereedschap.
Automatisch redeneren en stellingen bewijzen
Nooit meer onnodig groen? Luuk Misdom, IT&T
BZ voor de Klas 3 juni 2010.
Automatisch Redeneren in de praktijk
AR: clausale logica De stap naar: resolutie. 2 Clausale vorm  Veralgemeende vorm van de formules:  x1 …  xk A1  A2 …  Am  B1  B2 …  Bn  Horn.
Hoofdstuk 6: Controle structuren
FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 1 Kwaliteit en Patiëntveiligheid in de Belgische ziekenhuizen anno 2008 Rapportage over.
Elke 7 seconden een nieuw getal
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
Wie het kleine niet eert ... (quarks, leptonen,….)
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 Datastructuren Heapsort (2e deel) College 5. 2 Vandaag  Heaps en Heapsort  (eind)  Nog sneller sorteren:  Ondergrenzen  Linair sorteren.
Afrika: Topo nakijken en leren.
ProblemenRedeneren met verstekwaarden Gesloten wereld CircumscriptieLogica met verstekwaarden Autoepistemis che logica Redeneren over kennis: herbekeken.
2009 Tevredenheidsenquête Resultaten Opleidingsinstellingen.
ribwis1 Toegepaste wiskunde Lesweek 2
ribwis1 Toegepaste wiskunde Lesweek 01 – Deel B
ribwis1 Toegepaste wiskunde – Differentieren Lesweek 7
ribWBK11t Toegepaste wiskunde Lesweek 02
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 3 Cees Witteveen.
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 9 Het eerste bijbod 1Contract 1, hoofdstuk 9.
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
De financiële functie: Integrale bedrijfsanalyse©
Samen-bouwen … over paneelbouw en de rest!
1 Week /11/ Dalende beurzen Blijkbaar is de macht van de centrale banken in de wereld overroepen Men kan niet blijven de mensen.
Middeleeuwen De antwoorden in deze powerpoint komen van (naam en klas invullen a.u.b.)
Centrummaten en Boxplot
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.
13 november 2014 Bodegraven 1. 2 de vorige keer: 1Kor.15:29-34 indien er geen doden opgewekt worden...  vs 29: waarom dopen?  vs.30-32: waarom doodsgevaren.
1 Week /03/ is gestart in mineur De voorspellingen van alle groten der aarden dat de beurzen zouden stijgen is omgekeerd uitgedraaid.
1 DE ADVIEZEN VAN BEURSMAKELAAR BERNARD BUSSCHAERT Week Us$ stijgt en de VS markten en grondstoffen markten+ obligatie markten storten ineen.
1 DE ADVIEZEN VAN BEURSMAKELAAR BERNARD BUSSCHAERT Week
AI101  Historisch Perspectief Weak Methods Logic Theorist General Problem Solver  Resolution Theorem Proving Leeswijzer: Hoofdstuk 13.0, 13.1, 13.2 AI.
Parsing 1. Situering Contextvrije grammatica’s Predictive (of recursive-descent) parsing LR-parsing Parser generator: Yacc Error recovery 2.
23 mei 2013 Bodegraven vanaf hoofdstuk 6: hoofdst.1: de wijsheid van de wereld hoofdst.2: de wijsheid van God hoofdst.3: Gods akker en Gods bouwwerk.
MBR AtT1 College 9 Diagnose met correctmodellen. Verdieping in de formalisatie. In reader: Characterizing diagnoses and Systems J. de Kleer, A.
Automatisch redeneren en stellingen bewijzen
Automatische Redeneer-systemen
De stap naar: resolutie
AR voor Horn clause logica
Transcript van de presentatie:

Automatische Redeneer-systemen Voor Eerste-orde Predicaten Logica

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

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.

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)

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

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 .

Achterwaarts redenerende Resolutie … in een notedop

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.

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?

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

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.

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 !

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

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

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.

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

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 !

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

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.

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

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 !

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.

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

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

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:

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

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)?

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

Even een voorwaarste modus ponens strategie

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.

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

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.

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

Achterwaarts redeneren Voor gegronde Horn Clause logica

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

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 !?

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

“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 !!

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)

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 !

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

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

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

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!

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 

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

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 

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)

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.

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