Intelligente Systemen & Logica. Architectuur. Intelligent Systeem als Logische Theorie. Geschiktheid van Logica

Vergelijkbare documenten
Voorbeeld. TI1300: Redeneren en Logica. Skolemnormaalvorm. Voorbeeld. Wat is de Skolemnormaalvorm van. College 16: Resolutie en Prolog.

De Resolutiemethode (Logica, hoofdstuk 15) Robinson (1965) TI1300 Redeneren en Logica

Boommethode. TI1300: Redeneren en Logica. Oefenen, wat anders? Aanvullende regels (Logica, tabel 11.1, p. 159) A (B C),A C = B

Logica 1. Joost J. Joosten

Logica voor Informatica

Logica voor Informatica. Propositielogica. Normaalvormen en Semantische tableaux. Mehdi Dastani

Logica voor Informatica

Strategisch Redeneren. Halfbeslisbaarheid. Zoekstrategieën. Resolutie als zoeken. Redeneren (in logica):

Logica voor Informatica. Propositielogica. Bewijssystemen voor propositielogica. Mehdi Dastani

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie

Logica 1. Joost J. Joosten

Logica 1. Joost J. Joosten

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

Logica voor Informatica. Logica Toepassingen. PROLOG: Logische Programmeertaal. Mehdi Dastani

Logica voor Informatica

Logic for Computer Science

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

Artificiële intelligentie: les van 21 november 2002

Logica voor AI. Bewijstheorie en natuurlijke deductie. Antje Rumberg. 28 november Kripke Semantiek.

Inleiding Wiskundige Logica

Logica voor Informatica. Propositielogica. Syntax & Semantiek. Mehdi Dastani Intelligent Systems Utrecht University

Hoofdstuk 15. In dit hoofdstuk geven we een inleiding op het gebied van het automatisch bewijzen

Logic for Computer Science

Model-gebaseerd Redeneren. Ervaringsregels. Medische diagnostiek: facialisparese. Gebruik van modellen. Probleemoplossen op grond van ervaringsregels:

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

Logica voor AI. Responsiecollege. Antje Rumberg. 12 december Kripke Semantiek. Geldigheid. De bereikbaarheidsrelatie

Mededelingen. TI1300: Redeneren en Logica. Metavariabelen Logica, p Minder connectieven nodig

Logica voor Informatica. predikatenlogica. Syntax van predikatenlogica. Mehdi Dastani Intelligent Systems Utrecht University

College Logica voor CKI

Logica voor Informatica. predikatenlogica. Syntax van predikatenlogica. Mehdi Dastani Intelligent Systems Utrecht University

Samenvatting. TI1306 Redeneren & Logica Review Guide 2014 Door: David Alderliesten. Disclaimer

Inleiding logica Inleveropgave 3

Logica 1. Joost J. Joosten

behulp van een semantisch tableau en een daarmee geconstrueerd tegenvoorbeeld.

Logica 1. Joost J. Joosten

Logica voor AI. Bisimulatie en niet-karakteriseerbaarheid. Antje Rumberg. 21 november Correspondentie.

Logica 1. Joost J. Joosten

Inleiding Wiskundige Logica

Propositielogica. Onderdeel van het college Logica (2017) Klaas Landsman

Handout Natuurlijke Deductie

Logica voor AI. Verschillende modale systemen en correctheid. Antje Rumberg. 30 november 2012.

Practicumhandleiding. Intelligente Systemen. Doelstelling van het practicum. Peter Lucas icis, Radboud Universiteit Nijmegen.

Semantiek 1 college 10. Jan Koster

TW2020 Optimalisering

Semantiek 1 college 4. Jan Koster

Elfde college complexiteit. 23 april NP-volledigheid III

Mededelingen. TI1300: Redeneren en Logica. Waarheidstafels. Waarheidsfunctionele Connectieven

Logica voor Informatici najaar 2000 Opgaven en Oplossingen Hoofdstuk 2

Logica voor Informatici najaar 2000 Opgaven en Oplossingen Hoofdstuk 3

Redeneren met Onzekerheid II. Manipulatie van Onzekerheid. Kansverdeling. if E 2 then H y2 fi. if E 1 and E 2 then H z fi.

Voortgezette Logica, Week 2

Logica voor AI. Inleiding modale logica en Kripke semantiek. Antje Rumberg. 14 november 2012

Modelleren en Programmeren voor KI

Tegenvoorbeeld. TI1300: Redeneren en Logica. De truc van Gauss. Carl Friedrich Gauss, 7 jaar oud (omstreeks 1785)

Hoofdstuk 4. In dit hoofdstuk wordt een aantal uiteenlopende eigenschappen van de propositielogica

Semantiek van predicatenlogica en Tractatus

Opgaven bij Hoofdstuk 4 - Frames en Overerving

Negende college complexiteit. 9 april NP-volledigheid I: introductie

Logica voor Informatica

Propositielogica. Evert De Nolf Delphine Draelants Kirsten Storms Evelien Weyn. 24 augustus Universiteit Antwerpen

Inleiding Wiskundige Logica

Predicaten. Hoofdstuk 4

Logica 1. Joost J. Joosten

Termherschrijfsystemen en Propositie-Algebra

Meer oefenen. TI1300: Redeneren en Logica. Vertalen. Meerdere wegen leiden naar Rome

Honours projecten BSc Informatica: twee voorstellen

1. TRADITIONELE LOGICA EN ARGUMENTATIELEER

Wiskundige beweringen en hun bewijzen

Proposities. Hoofdstuk 2

Orakels in IDP Een implementatie voor epistemische logica

Logica en verzamelingen. Waarom predikatenlogica? Logica en verzamelingen. Representatie in propositielogica. Predikatenlogica: indeling colleges

Eerste-orde logica (= Predikaatlogica)

Practicumhandleiding. Intelligente Systemen

Tentamen AR , tijd: uur zaal: EDUC-gamma deeltent. 2 van 3 alle versies 1

Een bewijs van Boolos voor de onvolledigheid van de Peano rekenkunde

Propositionele logica

Andere grote namen van wiskundigen en/of filosofen: Plato, Socrates, Descartes (Cartesius), Spinoza, Kant, Russell, Hilbert, Tarski en Brouwer

Inleiding Logica voor CKI, 2013/14

Verzamelingen deel 3. Derde college

rh276a 0 We breiden nu bovenstaand programmafragment uit door assignments toe te voegen aan een nieuwe variabele m, aldus:

Inleiding Logica voor CKI

Formeel Denken 2014 Uitwerkingen Tentamen

De klasse van recursief opsombare talen is gesloten onder en. Dit bewijzen we met behulp van een recursieve opsomming

Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking

Hoofdstuk 5. In dit hoofdstuk behandelen we een methode waarmee op een eectieve wijze

TI1300: Redeneren en Logica, Practicum 2 Deadline: 1 oktober 2010, 10:45 uur

Practicumhandleiding. Intelligente Systemen. Peter Lucas icis, Radboud Universiteit Nijmegen. 30 september 2008

Logica 1. Joost J. Joosten

Ontwerp van Algoritmen: opgaven weken 3 en 4

Tentamen Grondslagen van de Wiskunde B met uitwerkingen

Toelichting bij geselecteerde opdrachten uit Betekenis en Taalstructuur

Credit cards, computationele complexiteit en consistentie uitspraken

Hoofdstuk 3. behandeld. In de paragrafen 3.1 en 3.2 worden de noties valuatie, model en

Antwoorden. Inductiestap: als A een propositieletter is en A begint met een p, dan begint A ook met een p.

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie

RAF belangrijk te onthouden

Practicumopgave 3: SAT-solver

Formeel Denken 2013 Uitwerkingen Tentamen

Talen & Automaten. Wim Hesselink Piter Dykstra Opleidingsinstituut Informatica en Cognitie 9 mei 2008

Automatisch redeneren. Week 51, Di , uur. Zaal: EDUC-α 1

Transcriptie:

Intelligente Systemen & Logica Architectuur Intelligent systeem als kennissysteem: kennisrepresentatie automatisch redeneren/inferentie acquisitie van kennis modelleren communicatie (systeem-gebruikersdialoog) INTELLIGENT SYSTEM Explanation GUI Trace Inference Engine KNOWLEDGE BASE Kennisrepresentatie: Logica: x(c(x) E(x)) Kansrekening: P(E C 1,...,C n ) USER Redeneren/inferentie: Deductie: KB Assumpties OBS Probabilistisch redeneren: P(E = e OBS) Intelligent Systeem als Logische Theorie p. 1/28 Geschiktheid van Logica p. 2/28 Domein 3 M 1 (wijnkeuze, belastingadvies, beleggingsadvies, vakantie advies, geneeskunde, wiskunde, informatica,...) 3 A 1 12 2 M 2 2 A 2 12 Logische Theorie propositielogica predicatenlogica resolutie Automatisch Redenerend Programma (ARP) 3 M 3 Representatie van een multiplier-adder: x((mul(x) in 1 (x) in 2 (x) = out(x)) x((add(x) in 1 (x) + in 2 (x) = out(x)) MUL(M 1 ), MUL(M 2 ), MUL(M 3 ), ADD(A 1 ), ADD(A 2 ) in 1 (A 1 ) = out(m 1 ), in 2 (A 1 ) = out(m 2 ), in 1 (A 2 ) = out(m 2 ), in 2 (A 2 ) = out(m 3 ), in 1 (M 1 ) = 3, in 2 (M 1 ) = 2, in 1 (M 2 ) = 3, in 2 (M 2 ) = 2, out(a 1 ) = out(a 2 ) = 12 p. 3/28 p. 4/28

Logisch Redeneren Crash Course in Propositielogica KB: logische kennisbank en F : feiten Oplossingsmethoden: Deductieve oplossing S: KB F S, met KB F, Abductie en inductie: KB S K F, met K contextuele kennis, dan Abductie: KB bevat causale kennis Inductie: KB is achtergrondkennis en S is een inductieve oplossing (geleerde regels) Consistentie-gebaseerde oplossing: KB S F Welgevormde formules FORM: atomen P, literals P en P, disjunctie (P Q), conjunctie (P Q), implicatie (P Q) Waardering (valuatie) of interpretatie w: w : FORM {true, false} Model van formule ϕ: waardering w met w(ϕ) = true; Notatie: w ϕ Crash Course in Propositielogica p. 5/28 Voorbeeld p. 6/28 Vervulbaarheid (satisfiability): een formule ϕ is vervulbaar als er een w bestaat, zodanig dat w ϕ Onvervulbaarheid (unsatisfiability): w : w ϕ Logisch (semantisch) gevolg (logical consequence): w: als w ϕ dan w ψ; Notatie: ϕ ψ Lege clause (hokje): als ϕ onvervulbaar is, dan ϕ (ook ϕ ) Omdat de VS te veel geld uitgeeft (S) èn banken zuinig zijn (Z), is Nederland in recessie (R) Formeel: ((S Z) R) Met w(s) = w(z) = w(r) = true, en dus w(((s Z) R)) = true, of w ((S Z) R) Ook: ((S Z) ((S Z) R)) R; andere (verzamelings)notatie: {S,Z, (S Z) R} R Met w (S) = w (Z) = true en w (R) = false: {S,Z, R, (S Z) R} Korte notatie: we laten haakjes weg... p. 7/28 p. 8/28

Syntactisch: Inferentieregels In plaats van met waarderingen (interpretaties) kunnen we ook syntactisch redeneren (let op de vorm...). Voorbeelden: modus ponens regel: ϕ,ϕ ψ ψ -introductieregel: ϕ,ψ ϕ ψ Vervang nu door syntactische manipulatie (afleidingsrelatie) Voorbeeld: Gegeven: P, Q en (P Q) R, dan {P,Q} P Q ( -introductie) {P,Q, (P Q) R} R ( -introductie en modus ponens) Soundness & Completeness Soundness (gezondheid, correctheid): de inferentieregels respecteren de semantiek, d.w.z. als ϕ ψ dan ϕ ψ Voorbeeld: {P,Q, (P Q) R} R via -introductie en modus ponens, ook {P,Q, (P Q) R} R Completeness (volledigheid): als wat volgt uit een verzameling formules ϕ, is ook afleidbaar als ϕ ψ dan ϕ ψ Voorbeeld: {P,Q, (P Q) R} R, en via -introductie en modus ponens: {P,Q, (P Q) R} R Automatisch gebruik van inferentieregels: er zijn er zoveel!! Resolutie p. 9/28 Voorbeelden Resolutie p. 10/28 Redeneer alleen met formules in clausevorm: L 1 L 2 L n met L i een literal, d.w.z. een atoom of negatie van een atoom; als n = 0, dan is de clause (lege clause) Complementaire literals: L en L, zodanig dat L L Resolutie(regel) R (J.A. Robinson, 1965): C L, C L D met C,C clauses, en D de (binaire) resolvente gelijk aan C C met verwijdering van dubbele literals Gegeven V = {P Q R,U Q}, dan P Q R, U Q P U R dus V R P U R na eenmalig toepassen van de resolutieregel R Als V R dan heet V inconsistent, en de afleiding heet dan een refutatie; anders, als V R, dan heet V consistent P Q, Q P Gegeven V = { P Q, Q,P }, dan P, P dus V R, V is inconsistent (als R sound is, dan is V ook onvervulbaar) p. 11/28 p. 12/28

Soundness & Completeness Resolutie Stelling: resolutie is sound (gezond, correct) (dus, V R C V C) met clause C. Resolutie(refutatie)boom P Q Q P Bewijs. C 1 = L C 1 en C 2 = L C 2, verder: {C 1, C 2 } R D met D gelijk aan C 1 C 2 na verwijdering van dubbele literals. Te bewijzen: P w (C 1 C 2 ) w D voor elke w. Verder: L of L is waar voor w. Stel L is waar, dan moet C 2 waar zijn, dus D is waar Analoog voor L is waar. Stelling: resolutie is refutatievolledig (refutation complete) (dus, V V R ) Gegeven V = { P Q, Q,P }, dan V R Opmerking: resolutiebomen zijn niet uniek p. 13/28 p. 14/28 Resolutie en Predicatenlogica Substitutie Probleem: gegeven S = { Vader(alex, amalia), x y( Vader(x, y) Ouder(x, y))} We weten S Ouder(alex, amalia) Zet om naar clausevorm (resolutie?): S = { Vader(alex, amalia), Vader(x,y) Ouder(x,y)} Oplossing: vul voor x in alex en voor y amalia substitutie σ = {alex/x, amalia/y} Toepassing van resolutie: Vader(alex, amalia), {Vader(x, y) Ouder(x, y)}σ Ouder(alex, amalia) dus S R Ouder(alex, amalia) Een substitutie σ is een eindige verzameling van de vorm σ = {t 1 /x 1,...,t n /x n }, met x i een variabele en t i een term; x i t i en x i x j, i j Eσ een expressie die uit E verkregen wordt door gelijktijdig alle voorkomens van de variabelen x i te vervangen door de termen t i. Eσ heet een instantiatie Als Eσ geen variabelen bevat, dan wordt Eσ een basisinstantiatie (ground instance) genoemd Voorbeelden voor C = P(x,y) Q(y,z): σ 1 = {a/x,b/y}, σ 2 = {y/x,x/y}: Cσ 1 = P(a,b) Q(b,z) en Cσ 2 = P(y,x) Q(x,z) σ 3 = {f(y)/x,g(b)/z}: Cσ 3 = P(f(y),y) Q(y,g(b)) p. 15/28 p. 16/28

Het Gelijkmaken Vergelijk Vader(alex, amalia) en Vader(x, y). Wat zijn de verschillen en overeenkomsten? complementaire tekens zelfde predicaatsymbool ( Vader ) constante alex versus variabele x en constante amalia versus variabele y Gelijkmaken via substitutie σ = {alex/x, amalia/y} Vergelijk P(x,f(x)) en P(g(a),f(g(a))); na weglaten tekens, gelijkmaken via σ = {g(a)/x} Unificatie Zij θ = {t 1 /x 1,...,t m /x m } en σ = {s 1 /y 1,...,s n /y n }, dan is de compositie, notatie θ σ of θσ, gedefinieerd als: {t 1 σ/x 1,...,t m σ/x m,s 1 /y 1,...,s n /y n } waarbij elk element t i σ/x i verwijderd wordt waarvoor x i = t i σ en tevens elk element s j /y j waarvoor y j {x 1,...,x m } Een substitutie σ heet een unifier van E en E als Eσ = E σ; E en E heten dan unificeerbaar Een unifier θ van expressies E en E heet de most general unifier (mgu) dan en slechts dan als voor elke unifier σ van E en E een substitutie λ bestaat, zodanig dat σ = θ λ maak zo algemeen (met variabelen) mogelijke expressies Voorbeelden unifiers Zij gegeven de volgende logische expressies R(x,f(a,g(y))) en R(b,f(z,w)) Enkele mogelijke unifiers: σ 1 = {b/x,a/z,g(c)/w,c/y} σ 2 = {b/x,a/z,f(a)/y,g(f(a))/w} σ 3 = {b/x,a/z,g(y)/w} (mgu) Merk op: σ 1 = σ 3 {c/y} σ 2 = σ 3 {f(a)/y} p. 17/28 Resolutie in Predicatenlogica Beschouw: {C 1 = P(x) Q(x),C 2 = P(f(y)) R(y)}; P(x) en P(f(y)) zijn niet complementair, wel unificeerbaar, bijvoorbeeld σ = {f(a)/x, a/y} Resultaat: C 1 σ = P(f(a)) Q(f(a)) en C 2 σ = P(f(a)) R(a) P(f(a)) en P(f(a)) zijn complementair Met de mgu θ = {f(y)/x} {C 1 σ,c 2 σ} R Q(f(a)) R(a) {C 1 θ,c 2 θ} R Q(f(y)) R(y) p. 18/28 p. 19/28 p. 20/28

Resolutie in Predicatenlogica Factoriseren Notatie: als L een literal is, dan is [L] het atoom Zij gegeven de twee clauses C 1 = C 1 L 1 en C 2 = C 2 L 2, met L 1 positief, en L 2 negatief (negatie) Stel [L 1 ]σ = [L 2 ]σ, met σ een mgu Binaire resolutieregel B voor predicatenlogica: (C 1 L 1)σ, (C 2 L 2)σ C 1 σ C 2 σ C 1 σ C 2σ is binaire resolvente, en {C 1,C 2 } B C 1σ C 2σ Als de literals L 1,...,L k, k 2, in een clause C de most general unifier σ hebben, dan heet de clause Cσ een factor van C Waarvoor nodig? Zij gegeven de clause met P(g(x),h(y)) Q(z) P(v,h(a)) σ = {g(x)/v,a/y} de most general unifier van P(g(x),h(y)) en P(v,h(a)), dan is P(g(x),h(a)) Q(z) P(g(x),h(a)) P(g(x),h(a)) Q(z) een factor van C Nodig voor verwijderen van dubbele literals p. 21/28 p. 22/28 Resolutie in Predicatenlogica Een resolvente van de (algemene) resolutieregel R in de predikatenlogica is: een binaire resolvente van C 1 en C 2, òf een binaire resolvente van C 1 en een factor van C 2, òf een binaire resolvente van een factor van C 1 en C 2, òf een binaire resolvente van een factor van C 1 en een factor van C 2 Notatie: S R C afleiding (eventueel refutatie) van C uit de verzameling clauses S in nul of meer stappen Algemene Syntax naar Clausevorm Resolutie snapt alleen clausevorm formules in predicatenlogica vertalen naar clausevorm, via: Schuif quantoren naar buiten (prenex-normaalvorm): Q 1 x 1 Q n x n M met elke Q i {, }, en M is een quantorvrije formule Q 1 x 1...Q n x n is de prefix en M is de matrix Skolem-normaalvorm: vervang x door termen met functiesymbolen van voorafgaande universeel gekwantificeerde variabelen (skolemiseren) x yp(x,y) wordt xp(x,f(x)) Een formule ϕ in skolem prenex-normaalvorm is in conjunctieve normaalvorm (clausevorm) als de matrix van de vorm C 1 C n met elke C i een clause p. 23/28 p. 24/28

Missionarissen en Kannibalen Kennisrepresentatie Drie missionarissen en drie kannibalen staan aan de westerlijke oever van een rivier. Er ligt een boot op de westerlijke oever waarmee men de rivier kan overvaren; de boot kan niet meer dan twee personen bevatten. De drie missionarissen willen de rivier oversteken naar de oosterlijke oever. Er is echter een probleem: als op één van de oevers meer kannibalen dan missionarissen zijn, zullen de kannibalen de missionarissen opeten. Bestaat er een manier voor de missionarissen om, zonder verlies van levens, op de oosterlijke oever te komen? Een kannibaal vaart met de boot van de westerlijke oever naar de oosterlijke oever, of omgekeerd: x y z w (Toestand(west(m(x), c(s(y))), boot_west, oost(m(z), c(w))) Toestand(west(m(x), c(y)), boot_oost, oost(m(z), c(s(w))))) Twee missionarissen varen met de boot van de westerlijke oever naar de oosterlijke oever, of omgekeerd: x y z w (Toestand(west(m(s(s(x))), c(y)), boot_west, oost(m(z), c(w))) Toestand(west(m(x), c(y)), boot_oost, oost(m(s(s(z))), c(w)))) etcetera Toepassing van ARP (Otter) p. 25/28 Vervolg... p. 26/28 ---------------- PROOF ---------------- 2 [] Toestand(west(m(x),c(s(y))),boot_west, oost(m(z),c(w))) -Toestand(west(m(x),c(y)),boot_oost, oost(m(z),c(s(w)))). 3 [] -Toestand(west(m(s(s(x))),c(y)),boot_west, oost(m(z),c(w))) Toestand(west(m(x),c(y)),boot_oost, oost(m(s(s(z))),c(w))). 6 [] Toestand(west(m(s(x)),c(s(y))),boot_west,oost(m(z),c(w))) -Toestand(west(m(x),c(y)),boot_oost,oost(m(s(z)),c(s(w)))). 9 [] -Toestand(west(m(x),c(s(s(y)))),boot_west, oost(m(z),c(w))) Toestand(west(m(x),c(y)),boot_oost, oost(m(z),c(s(s(w))))). 17 [] Toestand(west(m(s(s(s(0)))),c(s(s(s(0))))), boot_west,oost(m(0),c(0))). 18 [] -Toestand(west(m(0),c(x)),y,oost(m(s(s(s(0)))),c(z))). Stap 1: 3 missionarissen en 1 kannibaal west 19 [17,9] Toestand(west(m(s(s(s(0)))),c(s(0))), boot_oost,oost(m(0),c(s(s(0))))). 22 [19,2] Toestand(west(m(s(s(s(0)))),c(s(s(0)))), boot_west,oost(m(0),c(s(0)))). 23 [22,9] Toestand(west(m(s(s(s(0)))),c(0)), boot_oost,oost(m(0),c(s(s(s(0)))))). 24 [23,2] Toestand(west(m(s(s(s(0)))),c(s(0))), boot_west,oost(m(0),c(s(s(0))))). 25 [24,3] Toestand(west(m(s(0)),c(s(0))), boot_oost,oost(m(s(s(0))),c(s(s(0))))). 26 [25,6] Toestand(west(m(s(s(0))),c(s(s(0)))), boot_west,oost(m(s(0)),c(s(0)))). 27 [26,3] Toestand(west(m(0),c(s(s(0)))), boot_oost,oost(m(s(s(s(0)))),c(s(0)))). 28 [27.1,18.1] $F. ------------ end of proof ------------- Eind: 3 missionarissen en 1 kannibaal oost p. 27/28 p. 28/28