AI Kaleidoscoop College 10 Theorem Proving Historisch Perspectief

  • Slides: 21
Download presentation
AI Kaleidoscoop College 10: Theorem Proving èHistorisch Perspectief Weak Methods Logic Theorist General Problem

AI Kaleidoscoop College 10: Theorem Proving èHistorisch Perspectief Weak Methods Logic Theorist General Problem Solver èResolution Theorem Proving Leeswijzer: Hoofdstuk 13. 0, 13. 1, 13. 2 AI 10 1

Historisch perspectief • Theorem proving = automatisch stellingen bewijzen = gebruik van wiskundig preciese

Historisch perspectief • Theorem proving = automatisch stellingen bewijzen = gebruik van wiskundig preciese representaties: – ondubbelzinnigheid – preciese afleidingsregels – algemene afleidingsregels + besturings-strategie (= zoek-heuristiek) • Ook wel genoemd: zwakke methodes, want: – weinig/geen domein-specifieke kennis • In tegenstelling tot sterke methodes, zoals kennissystemen: veel domein-specifieke kennis • Vb: – Logic Theorist (LT) – General Problem Solver (GPS) – Resolutie-bewijzers AI 10 2

Logic Theorist (1963) • Representatie: Logica • Besturing: Achterwaards (goal-driven) + breadth-first • Afleidingsregels

Logic Theorist (1963) • Representatie: Logica • Besturing: Achterwaards (goal-driven) + breadth-first • Afleidingsregels (Vb): – substitutie: vervang symbool door complexe formule: als (B Ú B) ® B dan (ØA Ú ØA) ® ØA – replacement: vervang connectief door definitie of equivalentie: als (A ® B) dan (ØA Ú B) – detachment: modus ponens als (A ® B) en A dan B AI 10 3

Logic Theorist (Vb) • Axiom: Theorem: (A ® A) (p Ú q) ® (q

Logic Theorist (Vb) • Axiom: Theorem: (A ® A) (p Ú q) ® (q Ú p) (1) (2) Œ Selecteer een axioma dat matched met theorem: Voer substitutie uit volgens de match (1) met (2): vervang A door (p Ú q): (p Ú q) ® (p Ú q) (3) Replacement: vervang (q Ú p) door equivalente (p Ú q) ® (q Ú p) (4) • Dus: (2) is verkregen uit (1) via (3) naar (4) AI 10 4

Probleem met LT: combinatorische explosie • Breadth-first search is niet efficient • Menselijk gedrag:

Probleem met LT: combinatorische explosie • Breadth-first search is niet efficient • Menselijk gedrag: “means-end analysis” (end = doel, means = middelen) = probeer steeds regel (“means”) te vinden die de afstand tot het doel (“end”) verkleint (= heuristische functie!) ð General Problem Solver (GPS) AI 10 5

General Problem Solver (Vb) • Start: (Ør Ú Øp) Ù (r Ú q) (1)

General Problem Solver (Vb) • Start: (Ør Ú Øp) Ù (r Ú q) (1) Doel: (p ® q) (2) • Match doel met (c): (p ® X) Ù (X ® q) (3) • Subdoel: (p ® X) (4) • Match (b) met (4): (Øp Ú X) (5) • Equivalentie: (Øp Ú X) Û (X Ú Øp) (6) ð Met X = Ør is subdoel (4) bereikt • Subdoel (Ør ® q) (7) • Match (b) met (7): (r Ú q) ð AI 10 Alle doelen bereikt 6

Moderne stellingenbewijzers • Resolutie-regel als AÚB en ØA Ú C dan B Ú C

Moderne stellingenbewijzers • Resolutie-regel als AÚB en ØA Ú C dan B Ú C als a(X, 1, U) Ú b(X, U) • Plus unificatie: en Øa(2, Y, V) Ú c(Y, V) dan b(X, U) Ú c(Y, V) met X/2, Y/1, U/V (Vb) = b(2, U) Ú c(1, U) • Unificatie=vind waarden voor zo min mogelijk variabelen zodat twee formules gelijk worden AI 10 7

Unificatie • Unificatie = vind waarden voor zo min mogelijk variabelen zodat twee formules

Unificatie • Unificatie = vind waarden voor zo min mogelijk variabelen zodat twee formules gelijk worden • Unificatie (Vb): – – AI 10 a(X) a(X, Y) a(X, X) a(2, X) + + a(1) a(U, 1) a(1, Y) a(X, 1) = = X/1 X/U, Y/1 X/1, Y/X = X/1, Y/1 X/2, X/1 = ý 8

Resolutie: bewijsmethode ΠVertaal probleem naar logica Zet logica in CNF (Clausal Normal Form)

Resolutie: bewijsmethode Œ Vertaal probleem naar logica Zet logica in CNF (Clausal Normal Form) Voeg negatie toe van te bewijzen formule Produceer een tegenspraak (= lege clause) Concludeer de te bewijzen formule CNF-omzetten (eenvoudig) (p ® q) = (Øp Ú q) (p 1 Ù p 2 ® q) = (Ø (p 1 Ù p 2) Ú q) = (Øp 1 Ú Øp 2 Ú q) AI 10 9

Resolutie (Vb 1): bewijs a uit Ax 1 -Ax 6 • a Ú Øb

Resolutie (Vb 1): bewijs a uit Ax 1 -Ax 6 • a Ú Øb Ú Øc • b • c Ú Ød Ú Øe Øa AI 10 • eÚf • d Ax 4 Ax 5 Ax 6 • Øf negatie: Øb Ú Øc Øc Ød Ú Øe Øe f ¨ Ax 1 Ax 2 Ax 3 7 1+ 7ð 8 2+ 8ð 9 3+ 9ð 10 5+10ð 11 4+11ð 12 6+12ð 13 inconsistentie 1 -7, maar 1 -6 zijn axioma’s ð 7 niet geldig ða geldt 10

Resolutie, Vb 1, andere notatie a Ú Øb Ú Øc (1) AI 10 Øb

Resolutie, Vb 1, andere notatie a Ú Øb Ú Øc (1) AI 10 Øb Ú Øc (8) Øc (9) Ød Ú Øe (10) Øe (11) f (12) ¨ (13) Øa (7) b (2) c Ú Ød Ú Øe (3) d (5) e Ú f (4) Øf (6) 11

Resolutie, Vb 2: “Slimme, rijke mensen zijn gelukkig. Mensen die lezen zijn slim. Lynda

Resolutie, Vb 2: “Slimme, rijke mensen zijn gelukkig. Mensen die lezen zijn slim. Lynda kan lezen en is rijk. Gelukkige mensen zijn tevreden. Vraag: Is er iemand tevreden? ” "x: slim(x) Ù rijk(x) ® gelukkig(x) "x: leest(x) ® slim(x) leest(lynda) rijk(lynda) "x: gelukkig(x) ® tevreden(x) Vraag: AI 10 $ x: tevreden(x) Øslim(x) Ú Ørijk(x) Ú gelukkig(x) Øleest(x) Ú slim(x) leest(lynda) rijk(lynda) Øgelukkig(x) Ú tevreden(x) Ø$ x: tevreden(x) = "x: Ø tevreden(x) = Ø tevreden(x) 12

Resolutie, Vb 2 Øtevreden(w) Øgelukkig(z) Ú tevreden(z) w/z Øgelukkig(z) z/x Øslim(x) Ú Ørijk(x) Ú

Resolutie, Vb 2 Øtevreden(w) Øgelukkig(z) Ú tevreden(z) w/z Øgelukkig(z) z/x Øslim(x) Ú Ørijk(x) Ú gelukkig(x) Øleest(y) Ú slim(y) x/y Ørijk(y) Ú Øleest(y) y/lynda Øleest(lynda) AI 10 ¨ rijk(lynda) leest(lynda) 13

Resolutie, Vb 2, andere oplossing Øgelukkig(z) Ú tevreden(z) Øslim(x) Ú Ørijk(x) Ú gelukkig(x) tevreden(x)

Resolutie, Vb 2, andere oplossing Øgelukkig(z) Ú tevreden(z) Øslim(x) Ú Ørijk(x) Ú gelukkig(x) tevreden(x) Ú Øslim(x) Ú Ørijk(x) Øleest(y) Ú slim(y) tevreden(x) Ú Øleest(x) Ú Ørijk(x) rijk(lynda) tevreden(lynda) Ú Øleest(lynda) tevreden(lynda) w/lynda AI 10 ¨ Øtevreden(w) 14

Resolutie is zoekproces Achterwaards Voorwaards AI 10 15

Resolutie is zoekproces Achterwaards Voorwaards AI 10 15

Clausal Form (= conjunctie van disjuncties) Œ Verwijder implicaties – (p ® q) =

Clausal Form (= conjunctie van disjuncties) Œ Verwijder implicaties – (p ® q) = (Øp Ú q) Negaties “naar binnen” – Ø(p Ú q) = Øp Ù Øq – Ø(p Ù q) = Øp Ú Øq conjunctie “naar buiten” – r Ú (p Ù q) = (r Ú p) Ù (r Ú q) (resultaat: conjunctie van clauses) Opsplitsen van clauses: – (p 1 Ú p 2 ) Ù (q 1 Ú q 2 ) = (p 1 Ú p 2 ), (q 1 Ú q 2 ) Geef elke clause unieke variabelen: – (p 1(x) Ú p 2(x)), (q 1(x) Ú q 2(x))= (p 1(x) Ú p 2(x)), (q 1(y) Ú q 2(y)) AI 10 16

Clausal Form (2) • Gebruik vereenvoudigingsregels: – (p Ú p) = (p Ù p)

Clausal Form (2) • Gebruik vereenvoudigingsregels: – (p Ú p) = (p Ù p) = Ø Ø p = p – (p Ú q) = (q Ú p), (p Ù q) = (q Ù p) – (p Ú q) Ú r = p Ú (q Ú r), (p Ù q) Ù r = p Ù (q Ù r) • Regels herhaald toepassen op resultaat: – Ø(Ø p Ù (q Ú Ør) = ØØ p Ú Ø(q Ú Ør) = p Ú (Øq Ù ØØr) = p Ú (Øq Ù r) • Soms meerdere mogelijkheden met zelfde resultaat ((p Ù q) Ú r) Ú s= ((p Ú r) Ù (q Ú r)) Ú s= ((p Ú r Ú s) Ù (q Ú r Ú s)) AI 10 ((p Ù q) Ú r) Ú s= ((p Ù q) Ú (r Ú s) = ((p Ú r Ú s) Ù (q Ú r Ú s)) 17

Zoekstrategiën voor resolutie • Unit resolution strategy: Minstens één van de ouders moet een

Zoekstrategiën voor resolutie • Unit resolution strategy: Minstens één van de ouders moet een unit clause zijn (= clause van lengte 1) » Door unit-resolutie worden clauses “kleiner” » gebruik aantal literals heuristische functie AI 10 18

Unit Resolution Strategie, Vb Ø gelukkig(x) Ú tevreden(x) Ø gelukkig(x) Øslim(x) Ú Ørijk(x) slim(lynda)

Unit Resolution Strategie, Vb Ø gelukkig(x) Ú tevreden(x) Ø gelukkig(x) Øslim(x) Ú Ørijk(x) slim(lynda) Øleest(lynda) AI 10 Øtevreden(y) Øslim(z) Ú Ørijk(z) Ú gelukkig(z) rijk(lynda) Øleest(w) Ú slim(w) leest(lynda) ! incomplete strategie! 19

Zoekstrategieën voor resolutie (2) Linear Input Form = gebruik alleen: doel (of afstammeling) +

Zoekstrategieën voor resolutie (2) Linear Input Form = gebruik alleen: doel (of afstammeling) + axioma gebruik niet: twee afstammelingen of twee axioma’s Axioma Axioma Doel wel toegestaan niet toegestaan AI 10 » backwards, goal-driven 20

Volgende keer Machinaal leren: 13. 0 -13. 2 + 13. 4 AI 10 21

Volgende keer Machinaal leren: 13. 0 -13. 2 + 13. 4 AI 10 21