Automatische Redeneer-systemen

Slides:



Advertisements
Verwante presentaties
Les 2 klassediagrammen II
Advertisements

Natuurlijke-Taalinterfaces
AR voor Horn clause logica Introductie van: Unificatie.
PM zijn de Principia Mathematica. Deze vormen een formeel systeem voor de wiskunde. Ze zijn beschreven door A.N. Whitehead and B. Russell. Gödel bepaalt.
Automatisch redeneren en stellingen bewijzen
Automatische Redeneer-systemen
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.
 - congruentie -regel:
NP-volledigheid Algoritmiek © Hans Bodlaender, Oktober 2002.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen (II) College 6.
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
Processing Unknown Words Wouter Schellekens Merlijn Hutteman.
Assenstelsels en het plotten van Functies in LOGO
Natuurlijke-Taalinterfaces week 3 1. evaluatie van een formule in een model 2. vraag-antwoord dialogen 3. Modellen en applicaties.
1. Parsing (epsilon’s, tabellen) 2. Unificatie grammatica Natuurlijke taalverwerking week 7.
Categoriale Grammatica
Natuurlijke-Taalinterfaces week 5 Lambda-termen en Lambda-conversie.
PARADOXEN EN ONBEWIJSBAARHEID
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 5 Cees Witteveen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 Oplossing Langste Pad Probleem Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 5 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3005 Deel 2 College 3 Cees Witteveen
Designing Knowledge Systems b Hoofdstuk 11 van Knowledge Engineering and Management. The CommonKADS Methodology. b A.Th. Schreiber, J.M. Akkermans, A.A.Anjewierder,
ProblemenRedeneren met verstekwaarden Gesloten wereld CircumscriptieLogica met verstekwaarden Autoepistemis che logica Redeneren over kennis: herbekeken.
Introductie/Agenda 1 Cor Verbaas 1.Business Analist. 2.Werkzaam bij AEP sinds juni Verantwoordelijk voor de business applicaties binnen AEP. 4.MFGPro.
Een Module over Model Checking voor het VWO Frits Vaandrager1, David Jansen1 & Els Koopmans2 1Radboud Universiteit Nijmegen 2Olympus College Arnhem.
, 17h30Recursie 1 Inleiding tot recursie Karel Popelier.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 3 Cees Witteveen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 2 Cees Witteveen.
TU Delft Groep Parallelle en Gedistribueerde Systemen Fundamentele Informatica IN3120 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit EWI,
Hoofdstuk 4 Argumentatieleer
ANW - inductie & deductie
Algoritme Inhoud: Definitie algoritme Recursieve algoritmes Opgaven
Een entingsprotocol in Veterin stap voor stap. Doelstelling gebruiker interactief een combinatie-enting laten samenstellen logische en eenduidige prijsstelling.
“De theorie van het inventief oplossen van problemen”
Sparkle een bewijssysteem voor Clean Maarten de Mol Katholieke Universiteit Nijmegen 11 januari 2002.
AI101  Historisch Perspectief Weak Methods Logic Theorist General Problem Solver  Resolution Theorem Proving Leeswijzer: Hoofdstuk 13.0, 13.1, 13.2 AI.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 4 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
MBR AtT1 College 9 Diagnose met correctmodellen. Verdieping in de formalisatie. In reader: Characterizing diagnoses and Systems J. de Kleer, A.
MBR AtT1 College 7 : covering theorie (Deel 2) model MAB-diagnose: College 6: Covering theorie College 7: Algoritme voor covering theorie werkelijk.
Gevorderde PROGRAMMeer Les
Taal en logica Over het gebruik van eerste orde propositie/predikatenlogica voor de analyse van natuurlijke taal.
Oneindig E. Vanlommel NWD 2016.
Rekenen en Redeneren met Oneindig Jeroen Spandaw NWD, 5 februari 2016.
1 februari 2016 PHP expressie statement. 1 februari 2010 Titel van de presentatie 2 Boole logica? Definitie De booleaanse operatoren zijn genoemd naar.
Inloggen >> Gegevensaanlevering en controle in Peridos In Release 3.3 van Peridos is er een nieuwe module gebouwd voor het aanleveren en bekijken van gegevens.
NP-volledigheid Algoritmiek.
Programmeren met Reeksen
18 Evalueren van Beweringen en Redenen. Scenariotest
KRITISCH DENKEN 13 Deductieve redeneringen
16 Evalueren Introductie & Overzicht
Modelleren en Programmeren voor KI Practicumopdracht 4: SAT Solver
HOGE RAAD VOOR DE JUSTITIE | CONSEIL SUPERIEUR DE LA JUSTICE
Praegus B.V.. .
De grafiek van een lineair verband is ALTIJD een rechte lijn.
M A R T X I W K U N E D S 2 M31 Bewijs: de eigenschap van de basis- hoeken in een gelijkbenige driehoek © André Snijers.
Kostprijsberekening in het kader van persoonsvolgende financiering
Modderdorp UNPLUGGED Bron: csunplugged.org.
Bewijs: de eigenschap van de som van de hoeken in een driehoek
SQL Les February 2019.
Automatisch redeneren en stellingen bewijzen
De stap naar: resolutie
AR voor Horn clause logica
Opleiding Technicus / Certyfying Staff
Coëfficiënt: 4 4 NH3.
[Voer de titel van de overtuigende toespraak hier in]
Welkom!.
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.

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

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

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)

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

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