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

Vergelijkbare documenten
Practicumhandleiding. Intelligente Systemen

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

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

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

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

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

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

Constraint satisfaction. Computationele Intelligentie. Voorbeelden. Een constraint satisfaction probleem. Constraint Satisfaction

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

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

Constraint satisfaction. Zoekalgoritmen ( ) College 11: Constraint Satisfaction. Voorbeelden. Een constraint satisfaction probleem

Computationale Intelligentie Dirk Thierens

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

Computationele Intelligentie

Kosten. Zoekalgoritmen ( ) College 5: Zoeken met kosten. Een zoekprobleem met stapkosten. Een voorbeeld: het vinden van een route

Logica voor Informatica

Recapitulatie: Ongeïnformeerd zoeken. Zoekalgoritmen ( ) College 2: Ongeïnformeerd zoeken. Dynamische breadth-first search

Zoeken met beperkt geheugen. Zoekalgoritmen ( ) College 7: Zoeken met beperkt geheugen. Een representatie van het kleuringsprobleem

Logica 1. Joost J. Joosten

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

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

Computationele Intelligentie

Logica voor Informatica

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie

Duration: 2 hrs; Total points: 100 No documents allowed. Use of electronic devices, such as calculators, smartphones, smartwatches is forbidden.

In deze les. Eerste orde logica. Elementen van EOL. Waarom eerste orde logica? Combinatie met logica. Variabelen en Kwantoren

Zoekproblemen met tegenstanders. Zoekalgoritmen ( ) College 9: Zoeken met een tegenstander (I) Een zoekprobleem met een tegenstander

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Artificiële intelligentie: les van 21 november 2002

Kosten. Computationale Intelligentie. Een zoekprobleem met stapkosten. Een voorbeeld: het vinden van een route. Zoeken met kosten.

FP-theorie. 2IA50, Deel B. Inductieve definities 1/19. / department of mathematics and computer science

Logica 1. Joost J. Joosten

Vorig college. IN2505-II Berekenbaarheidstheorie College 4. Opsommers versus herkenners (Th. 3.21) Opsommers

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

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search

Inleiding logica Inleveropgave 3

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

Een voorbeeld. Computationele Intelligentie Zoeken met een tegenstander. Een voorbeeld vervolg. Een zoekprobleem met een tegenstander

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

Predikatenlogica: Normaalvormen

Voortgezette Logica, Week 2

3 De stelling van Kleene

Verzamelingen deel 3. Derde college

Hoorcollege Logica. Hans-Dieter A. Hiep

Automaten en Berekenbaarheid 2016 Oplossingen #4

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3

TENTAMEN Basismodellen in de Informatica VOORBEELDUITWERKING

Logica 1. Joost J. Joosten

VERZAMELINGEN EN AFBEELDINGEN

TW2020 Optimalisering

Semantiek (2IT40) Jos Baeten. HG 7.19 tel.: Hoorcollege 3 (12 april 2007)

Automaten & Complexiteit (X )

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

Logic for Computer Science

Opgaven Kunstmatige intelligentie 4 mei 2012

III.2 De ordening op R en ongelijkheden

De Minimax-Stelling en Nash-Evenwichten

Lokaal zoeken. Computationele Intelligentie. Een representatie van het kleuringsprobleem. Impliciete doeltoestanden. Lokaal zoeken

Getaltheorie I. c = c 1 = 1 c (1)

Inleiding Programmeren 2

verschil vervanging = (A A ) (A B ) distributie = U (A B ) inverse = A B identiteit

Automaten. Informatica, UvA. Yde Venema

College WisCKI. Albert Visser. 17 oktober, Department of Philosophy, Faculty Humanities, Utrecht University. Equivalentierelaties.

Semantiek (2IT40) Bas Luttik. HG 7.14 tel.: Hoorcollege 8 (7 juni 2007)

Inleiding Logica voor CKI, 2013/14

Inhoudsopgave. Relaties geordend paar, cartesisch product, binaire relatie, inverse, functie, domein, bereik, karakteristieke functies

2. Geef een voorbeeld van hoe datamining gebruikt kan worden om frauduleuze geldtransacties te identificeren.

College WisCKI. Albert Visser. 10 oktober, Department of Philosophy, Faculty Humanities, Utrecht University. Equivalentierelaties.

Tentamen Grondslagen van de Wiskunde A met uitwerking

Stabiele koppelingen (Engelse titel: Stable Matchings)

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

Tentamentips. Tomas Klos. 14 december 2010

Logica voor Informatica

Opgaven bij Hoofdstuk 3 - Productiesystemen

Tweede huiswerkopdracht Lineaire algebra 1 Uitwerking en opmerkingen

Uitwerking Tentamen Inleiding Kansrekening 11 juni 2015, uur Docent: Prof. dr. F. den Hollander

Hertentamen 8D040 - Basis beeldverwerking

We beginnen met de eigenschappen van de gehele getallen.

Orakels in IDP Een implementatie voor epistemische logica

Tentamen Inleiding Kansrekening 16 juni 2017, 14:00 17:00 Docent: Prof. dr. F. den Hollander

Uitwerking tentamen Algoritmiek 10 juni :00 13:00

Artificiële intelligentie 1 ( ) Voorbeelden van examenvragen

Logische functies. Negatie

Deel 2. Basiskennis wiskunde

behulp van een semantisch tableau en een daarmee geconstrueerd tegenvoorbeeld.

De enveloppenparadox

Hoofdstuk 3 (tot en met 3.4) van Russell/Norvig = [RN] Probleemoplossen en zoeken

Logic for Computer Science

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie

Geschiedenis van de informatica: Het ontstaan van logisch programmeren

Oplossingen Datamining 2II15 Juni 2008

Automaten & Complexiteit (X )

Niet-standaard analyse (Engelse titel: Non-standard analysis)

Derde serie opdrachten systeemtheorie

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

Oneindige spelen. Dion Coumans. Begeleider: dr. W. Veldman

Reguliere Expressies

Kunstmatige Intelligentie (AI) Hoofdstuk 6 van Russell/Norvig = [RN] Constrained Satisfaction Problemen (CSP s) voorjaar 2015 College 7, 31 maart 2015

Elfde college complexiteit. 23 april NP-volledigheid III

Transcriptie:

Redeneren (in logica): Strategisch Redeneren hoeft niet te eindigen kan zeer inefficiënt zijn hoeft de oplossingen niet altijd in de juiste volgorde op te leveren Otter: automatisch redenerend programma (voor clauses) Prolog: programmeertaal op basis van subset van predicatenlogica Halfbeslisbaarheid S: verzameling clauses in predicatenlogica Als S onvervulbaar is (en we weten dat), dan zal resolutie na eindige tijd afleiden (S R ) Echter alleen als alle mogelijke resolutiestappen ook in principe uitgevoerd kunnen worden... Als S vervulbaar is (en we weten dit niet), dan zal resolutie niet altijd termineren Kennis over vervulbaarheid van S belangrijk Keuze van volgorde van toepassen van resolutie belangrijk p. 1/2 p. 2/2 Resolutie als zoeken Resolutie(regel) R (J.A. Robinson, 1965): met C,C clauses, en C L, C L D Cl = C L en Cl = C L parent clauses D de (binaire) resolvente gelijk aan C C met verwijdering van dubbele literals Toestandsruimte: Cl = C L en Cl = C L zijn twee toestanden in de toestandsruimte D is een nieuwe toestand Zoekstrategieën Zoeken in een dynamisch gegenereerde toestandsruimte (vs. statische graaf) Ongeïnformeerde zoekstrategieën: depth-first strategie, backtracking breadth-first strategie bounded... Geïnformeerde (heuristische) zoekstrategieën: hill-climbing: kies de beste, vergeet de rest best-first strategie: kies de beste, onthoud de rest tabu search: kies de beste, onthoud wat gedaan p. 3/2 p. 4/2

Evaluatiefunctie f Evaluatiefunctie: f (v) = g (v) + h (v) b: begintoestand v b d i d i : een van de doeltoestanden g : optimale kosten van b naar v h : optimale heuristische kosten g (v) = k(b,v) h (v) = k(v,d i ) h (v) = min{ k(v,d i ) d i doeltoestand} Onbeperkte resolutie Beschouw de volgende verzameling clauses: S = {P, P Q, P Q R, R}; genummerd: 1. P 2. P Q 3. P Q R 4. R Via resolutie afgeleide clauses: 5. Q (via 1 en 2) 6. Q R (via 1 en 3) 7. P R (via 2 en 3) 8. P Q (via 3 en 4) p. 5/2 p. 6/2 Vervolg 9. R (via 1 en 7) 10. Q (via 1 en 8) 11. P R (via 2 en 6) 12. P (via 2 en 8) 13. P R (via 3 en 5) 14. Q (via 4 en 6) 15. P (via 4 en 7) 16. R (via 5 en 6) 17. R (via 5 en 6) 18. P (via 5 en 8) 19. R (via 1 en 11) 20. (via 1 en 12) 16 resolutiestappen Refutatiegraaf P P Q P Q R R Q Q R P R P Q R Q PR P PR Q P R P R Strategie: laag voor laag breadth-first strategie p. 7/2 p. 8/2

Semantische resolutie Voorbeeld S: verzameling clauses die inconsistent is ( S R ) Algemene idee: 1. definieer een waardering w voor clauses in S 2. splits de verzameling clauses S op in S 1 en S 2, met w S 1 en w S 2 3. kies één parent clause uit S 1 en één uit S 2 4. voeg resolvente toe aan S 1 of S 2 (afhankelijk van w) Voorbeelden: set-of-support strategie, en hyperresolutie Beschouw (opnieuw): S = {P, P Q, P Q R, R}, met w(p) = false w(q) = false w(r) = false Resulterende opsplitsing van S: S 1 = {P } S 2 = { P Q, P Q R, R} Resulterende resolventen (breadth-first): Q, Q R, P R, R en p. 9/2 p. 10/2 Set-of-support (SOS) strategie Voorbeeld S: startverzameling clauses Opzet: W : axiomaverzameling W = W {C } C C Resolvente T : SOS T = (T \{C }) {Resolvente} S : uitgebreide verzameling clauses S: een verzameling clauses T S set of support (SOS) W = S\T axiomaverzameling (usuable set) parent clauses: C T en C W resolvente wordt toegevoegd aan T KB = {Vader(Zeus, Ares), Moeder(Hera, Ares), Vader(Ares, Harmonia), Moeder(Aphrodite, Harmonia), x y(moeder(x,y) Ouder(x,y)) x y(vader(x,y) Ouder(x,y))} Grootouder(...) objecten: goden uit de Griekse mythologie relaties: Vader, Moeder, Ouder, Grootouder Vraag: Is Zeus een grootouder van Harmonia? p. 11/2 p. 12/2

Mogelijke opzet van W en SOS Typen clauses: assumpties: clauses die een bepaald probleem beschrijven in W speciale clauses: clauses die bepaalde eigenschappen van de te bewijzen vragen definiëren in W hypothesen of doelen in T (SOS) Familierelatie: W = {Vader(Zeus, Ares), Moeder(Hera, Ares), Vader(Ares, Harmonia), Moeder(Aphrodite, Harmonia), Moeder(x,y) Ouder(x,y), Vader(x,y) Ouder(x,y)} Grootouder(x,z) Ouder(x,y) Ouder(y,z)} met bijvoorbeeld T = { Grootouder(Zeus, Harmonia)} set(binary_res). Resultaat (via Otter) list(usable). 1 [] Vader(Zeus,Ares). 2 [] Moeder(Hera,Ares). 3 [] Vader(Ares,Harmonia). 4 [] Moeder(Aphrodite,Harmonia). 5 [] -Moeder(x,y) Ouder(x,y). 6 [] -Vader(x,y) Ouder(x,y). 7 [] Grootouder(x,z) -Ouder(x,y) -Ouder(y,z). list(sos). 8 [] -Grootouder(Zeus,Harmonia). p. 13/2 p. 14/2 Resultaat (via Otter) ---------------- PROOF ---------------- 1 [] Vader(Zeus,Ares). 3 [] Vader(Ares,Harmonia). 6 [] -Vader(x,y) Ouder(x,y). 7 [] Grootouder(x,z) -Ouder(x,y) -Ouder(y,z). 8 [] -Grootouder(Zeus,Harmonia). 9 [binary,8.1,7.1] -Ouder(Zeus,x) -Ouder(x,Harmonia). 10 [binary,9.1,6.2] -Ouder(x,Harmonia) -Vader(Zeus,x). 16 [binary,10.2,1.1] -Ouder(Ares,Harmonia). 17 [binary,16.1,6.2] -Vader(Ares,Harmonia). 18 [binary,17.1,3.1] $F. ------------ end of proof ------------- (hier staat $F voor ) Hyperresolutie Als S een eindige verzameling clauses is met waardering w dan heet {S 1,...,S n,n} S een semantisch conflict als: 1. w(s i ) = false, 1 i n 2. als R 1 = N, dan {S i,r i } B R i+1, i = 1,...,n 3. w(r n+1 ) = false Naamgeving: S i : satellieten (of electronen) N: de nucleus, en R n+1 : de hyperresolvente S 1,...,S n,n R n+1 is de hyperresolutieregel H; afleiding via hyperresolutie: S H C p. 15/2 p. 16/2

Positieve hyperresolutie S P Positieve hyperresolutie & SOS strategie A 2 A 1 A 2 A m B 1 B 2 B n A 1 A m C 1 E 1...... C p D q D q 1... E r Alle positieve literals L : w(l) = false, dan positieve hyperresolutie Satellieten en hyperresolvente: positief { P Q R, P, Q} H R In combinatie met de SOS-strategie: positieve hyperresolutie: levert alleen positieve resolventen op SOS met positieve hyperresolutie strategie: mogelijk onvolledig S = T W met T = { P R} W= {P, R Q, Q} waarin T de SOS; W is vervulbaar en T W p. 17/2 p. 18/2 list(usable). 1 [] p. 2 [] -q r. 3 [] q. list(sos). 4 [] -p -r. Otter voorbeeld =========== start of search =========== given clause #1: (wt=2) 4 [] -p -r. Search stopped because sos empty. ============ end of search ============ Negatieve hyperresolutie S N Alle positieve literals L : w(l) = true, dan negatieve hyperresolutie Satellieten en hyperresolvente: negatief S = { P Q R S, P S, Q R, R, S} 1. P Q R S 2. P S 3. Q R 4. R 5. S 6. P Q (via clause 1, 4 en 5) 7. Q (via clause 2, 5 en 6) 8. (via clause 3,4 en 7). Dus: S N p. 19/2 p. 20/2

Weg met de zwakke clauses! Subsumptie Beschouw: P(x) (clause, dus x universeel gekwantificeerd) Q(a) P(b) (a,b constanten) Als I xp(x) dan ook I Q(a) P(b) (voor interpretatie I), dus xp(x) Q(a) P(b) Welke clause moet weg? 1. P(x) en Q(a) P(b) samen in S: zinloos 2. P(x) is sterker dan Q(a) P(b) 3. Q(a) P(b) verwijderen Net als hyperresolutie, pruning/snoeien toestandsruimte Gegeven: S C : de verzameling literals in de clause C S C : verzameling literals in de clause C C subsumeert C er bestaat een substitutie σ: S C σ S C C wordt gesubsumeerd clause genoemd P(x) versus Q(a) P(b): {P(x)}σ {Q(a),P(b)}, met σ = {b/x} In de context van resolutie: S = {P(x),P(b) Q(a), P(y)}, dus P(b) Q(a) is overbodig p. 21/2 p. 22/2 Voor- en terugwaartse subsumptie Terugwaartse subsumptie (back subsumption): een nieuwe resolvente subsumeert clauses given clause #2: 6 [binary,5.1,2.3] -p -r. ** KEPT: 7 [binary,6.1,4.1] -r. ** KEPT: 8 [binary,6.2,3.2] -p -q. 7 back subsumes 6. given clause #3: 7 [binary,6.1,4.1] -r. ** KEP: 9 [binary,7.1,3.2] -q. 9 back subsumes 8. Voorwaartse subsumptie (forward subsumption): een resolvente wordt gesubsumeerd door een gegeven clause Speciale resolutiemethoden Rekening houdend met unit clauses, i.e. clauses bestaande uit één literal UR (unit-resulting) resolutieregel: U1,...,Un,N R n+1, met: U i zijn unit clauses als R 1 = N, dan {U i,r i } B R i+1, voor i = 1,...,n R n+1 is een unit clause of de lege clause S = { P Q V, P, Q} dan is U 1 = P,U 2 = Q, N = R 1 = P Q R en R 3 = V p. 23/2 p. 24/2

Speciale resolutiemethoden Horn clause: clause met maximaal één positieve literal A 1 A m B, ook genoteerd als B A 1,...,A m SLD (Selected, Linear, Definite) resolutie (voor Horn clauses): B A 1,...,A m, B A 1,...,A m met B een goal clause S = {R(g(x)) T(x,y,f(x)), T(a,b,f(a)), P(v,w) R(v)} en P(u,b). Hieruit is met SLD-resolutie af te leiden p. 25/2