Normalisering av meningar inför resolution 3. Steg 1: Eliminera alla och. Steg 2: Flytta alla negationer framför atomära formler

Relevanta dokument
Predikatlogik: Normalformer. Klas Markström

Grundläggande logik och modellteori (5DV102)

Grundläggande logik och modellteori (5DV102)

Grundläggande logik och modellteori

Robin Stenwall Lunds universitet

Robin Stenwall Lunds universitet

Grundläggande logik och modellteori

Robin Stenwall Lunds universitet

DD1350 Logik för dataloger

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska kunnas?

Satslogik grundläggande definitioner 3. Satslogik. Uppgift 1. Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar)

Logik och bevisteknik lite extra teori

Grundläggande logik och modellteori

Innehåll. Föreläsning 7. Satslogiken är för grov. Samma sak i predikatlogik: Första ordningens predikatlogik. Logik med tillämpningar

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik

En introduktion till predikatlogik

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik

Föreläsning 8. Innehåll. Satisfierbarhet hos en formel. Logik med tillämpningar

*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW

Logik för datavetare DVK:Log Tisdagen 28 oktober Institutionen för dataoch systemvetenskap David Sundgren

DD1350 Logik för dataloger

Tommy Färnqvist, IDA, Linköpings universitet. 1 Kursadministration 1. 2 Introduktion Varför logik? Satslogik... 2

FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska ni kunna?

FÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS

F. Drewes Datavetenskapens grunder, VT02. Lite logik

Kunskapsbaserad agent. Kunskapsrepresentation. Wumpus-världen. Wumpusvärlden. Bris. Bris. Bris. Bris. Bris. Bris. Stank. Stank.

Grundläggande logik och modellteori

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer Domäner Tolkningar... 3

Artificiell Intelligens Lektion 4

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Innehåll. Föreläsning 4-5. Logiska system. Alfabet. Calculus. Well-formed formulas. Vanliga termer i logik Satslogik. Första ordningens predikatlogik

DD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion

Lite om bevis i matematiken

Varför är logik viktig för datavetare?

Hornklausuler i satslogiken

9. Predikatlogik och mängdlära

Semantik och pragmatik

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan.

Logik I. Åsa Hirvonen Helsingfors universitet. Våren 2013

Grundläggande logik och modellteori

Föreläsning 9: NP-fullständighet

Om modeller och teorier

Substitution och unifiering

Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf

7, Diskreta strukturer

Artificiell Intelligens

Formell logik Kapitel 9. Robin Stenwall Lunds universitet

Semantik och pragmatik (Serie 4)

Primitivt rekursiva funktioner och den aritmetiska hierarkin

8. Naturlig härledning och predikatlogik

Detta är ett ofärdigt utdrag ur ovanstående text. Vänligen sprid inte!

Vad är det? Översikt. Innehåll. Vi behöver modeller!!! Kontinuerlig/diskret. Varför modeller??? Exempel. Statiska system

Probabilistisk logik 1

Grundläggande logik och modellteori

DD1361 Programmeringsparadigm HT15

Grundläggande logik och modellteori

Om semantisk följd och bevis

Semantik och pragmatik

DD1361 Programmeringsparadigm HT17

Kap. 7 Logik och boolesk algebra

Introduktion till predikatlogik. Jörgen Sjögren

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

DD1361 Programmeringsparadigm HT16

729G43 Artificiell intelligens Kunskapsrepresentation. Arne Jönsson HCS/IDA

Booleska variabler och översättning mellan programuttryck och booleska variabler

729G06 Logik FÖRELÄSNING 1 ANDERS MÄRAK LEFFLER IDA/HCS

Anna: Bertil: Cecilia:

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt,

7, Diskreta strukturer

ÖVN 6 - DIFFERENTIALEKVATIONER OCH TRANSFORMMETODER - SF Nyckelord och innehåll. a n (x x 0 ) n.

TATM79: Föreläsning 1 Notation, ekvationer, polynom och olikheter

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor

Semantik och pragmatik (Serie 3)

Artificiell Intelligens Övningsuppgifter

Formell logik Kapitel 10. Robin Stenwall Lunds universitet

Switchnätsalgebra. Negation, ICKE NOT-grind (Inverterare) Konjunktion, OCH AND-grind. Disjunktion, ELLER OR-grind

MATEMATIKENS SPRÅK. Avsnitt 1

Första ordningens logik

EDA Digital och Datorteknik 2010/2011

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt, lära oss

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

K3 Om andra ordningens predikatlogik

K2 Något om modeller, kompakthetssatsen

Tentamen i logik 729G06 Programmering och logik

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.

Tentamenskod: Inga hjälpmedel är tillåtna

Försättsblad till skriftlig tentamen vid Linköpings universitet TER1

Föreläsning 3: Ekvationer och olikheter

Föreläsning 7+8: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

Andragradspolynom Några vektorrum P 2

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Logik och kontrollstrukturer

Föreläsning 8+9: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

Induktion, mängder och bevis för Introduktionskursen på I

Jesper Carlström 2008 (reviderad 2009)

Transkript:

Normalisering av meningar inför resolution På samma sätt som i satslogiken är resolution i predikatlogiken en process vars syfte är att vederlägga att en klausulmängd är satisfierbar. Det förutsätter dock att godtyckliga meningar (!) kan skrivas om till en form motsvarande satslogikens CNF. Omskrivningen är betydligt mer komplicerad och består av 8 olika steg (enligt beskrivningen som ges i det följande). OBS! Omskrivningen funkar endast för meningar. Inga fria variabler får förekomma! Normalisering av meningar inför resolution 1 Steg 1: Eliminera alla och Det här görs på precis samma sätt som i satslogiken, dvs ϕ ϕ ersätts med ϕ ϕ och ϕ ϕ med (ϕ ϕ ) ( ϕ ϕ ). Steg 2: Flytta alla negationer framför atomära formler Det görs som i satslogiken så länge inga kvantifierare är involverade. För att handskas med kvantifierare används ekvivalenserna ( x)(ϕ) ( x)( ϕ) och ( x)(ϕ) ( x)( ϕ). Normalisering av meningar inför resolution 2 Steg 3: Ge varje variabel ett unikt namn Byt namn på variabler som förekommer i samband med fler en en kvantifierare, så att varje kvantifierare får sitt unika variabelnamn. T ex ( x)(p(x) ( y)(q(x) ( x)(r(x,y)))) ( x 1 )(P(x 1 ) ( x 2 )(Q(x 1 ) ( x 3 )(R(x 3, x 2 )))). Normalisering av meningar inför resolution 3

Steg 4: Skriv om formeln till prenex normalform En formel är på prenex normalform (PNF) om den består av en prefix som endast innehåller kvantifierare och en efterföljande formel utan kvantifierare. T ex ( x)( y)( x)(p(f(x, y)) Q(x)). (Fr.o.m. nu utelämnas parenteser om kvantifierare följer direkt på varandra.) Efter steg 1 3 kan varje mening skrivas om till en mening på PNF genom att flytta alla kvantifierare till vänster utan att byta ordning på dem. T ex ( x 1 )(P(x 1 ) ( x 2 )(Q(x 1 ) ( x 3 )(R(x 3, x 2 )))) ( x 1 )( x 2 )( x 3 )(P(x 1 ) (Q(x 1 ) R(x 3, x 2 ))). Normalisering av meningar inför resolution 4 Steg 5: Konvertera formelns efterled till CNF ( x 1 )( x 2 )( x 3 )(P(x 1 ) (Q(x 1 ) R(x 3, x 2 ))) Det här går på samma sätt som när det gäller satslogiska formler. Normalisering av meningar inför resolution 5 Steg 1-5: Exempel ( x)( P(x, c 0) (( y)(p(f(x, y), c 1)) ( y)( P(y, c 0) P(f(x, y), c 0)))) ( x)(p(x, c 0) (( y)(p(f(x, y), c 1)) ( y)( P(y, c 0) P(f(x, y), c 0)))) ( x)( P(x, c 0) (( y)( P(f(x, y), c 1)) ( y)( P(y, c 0) P(f(x, y), c 0)))) ( x)( P(x, c 0) (( y)( P(f(x, y), c 1)) ( z)( P(z, c 0) P(f(x, z), c 0)))) ( x)( y)( z)( P(x, c 0) ( P(f(x, y), c 1) ( P(z, c 0) P(f(x, z), c 0)))) ( x)( y)( z)( P(x, c 0) (( P(f(x, y), c 1) P(z, c 0)) ( P(f(x, y), c 1) P(f(x, z), c 0)))) ( x)( y)( z)( P(x, c 0) ( P(f(x, y), c 1) P(z, c 0)) ( P(f(x, y), c 1) P(f(x, z), c 0))) Normalisering av meningar inför resolution 6

Vi har nu en mening på formen Steg 6: Skolemisering (1) (K 1 ) (K m )(ϕ 1 ϕ n ) där K 1,...,K m är kvantifierare och ϕ 1,...,ϕ n är disjunktioner av litteraler. Kvantifierarna gör att ϕ 1,...,ϕ n inte kan betraktas var för sig. Målet är att bryta upp kopplingen genom att flytta kvantifierarna in till ϕ 1,...,ϕ n. Det kan dock endast göras med allkvantifieraren eftersom den distribuerar över medan existenskvantifieraren inte gör det. Det gäller alltså att först bli av med existenskvantifierarna bland K 1,...,K m. Processen kallas skolemisering efter logikern Thoralf Skolem. Normalisering av meningar inför resolution 7 Steg 6: Skolemisering (2) Skolemisering skapar en mening som är satisfierbar om och endast om originalmeningen är det. OBS! Syftet är inte att skapa en ekvivalent formel. Betrakta t ex ϕ = ( x)( y)( z)( z )(ϕ ) och en tolkning J där ϕ J = 1. Man ska alltså för alla d x, d y dom(j) kunna välja något d z dom(j) som gör att ( z )(ϕ ):s värde blir 1 under J-värderingarna som tilldelar x, y, z värdena d x, d y, d z. Värdet d z beror på d x och d y (men inte på d z ). Man kan alltså se det som en funktion choose z som väljer rätt värde beroende på d x, d y, dvs d z = choose z (d x, d y ). Vi kan därför utöka logiken med en ny (!) funktionssymbol f z (2) och ersätta formeln med ψ = ( x)( y)( z )(ϕ ) där ϕ fås genom att ersätta alla förekomster av z i ϕ med f z (x, y). Om J utökas på så sätt att f z tolkas som choose z så gäller ψ J = 1. Normalisering av meningar inför resolution 8 Exempel ϕ = ( x)( y)( z)((x < y) ((z < y) z 1 < x)) (där infixnotation används för att öka läsbarheten). Om dom(j) = N och alla funktions- och relationssymboler tolkas som vanligt är ϕ J = 1: För varje d x N finns det ett d y N, nämligen d x + 1, som uppfyller d x < d y samtidigt som d z < d y implicerar d z d x, alltså d z 1 < d x. Vi kan alltså lägga till funktionssymbolen f (1) y och konvertera formeln till ψ = ( x)( z)((x < f y (x)) ((z < f y (x)) z 1 < x)). Om vi sedan definierar f J y (d) = d + 1 gäller igen ψ J = 1. Normalisering av meningar inför resolution 9

Steg 6: Skolemisering (3) Generellt introduceras för varje existenskvantifierare ( x) en ny funktionssymbol f x (n) där n är antalet allkvantifierare ( x 1 ) ( x n ) till vänster om ( x). (Om n = 0 blir f x en konstant istället.) Sedan ersätts varje förekomst av x med f x (x 1,...,x n ) (respektive f x om n = 0). Teorem Skolemiseringen av en mening som har förenklats enligt steg 1 5 är satisfierbar om och endast om originalmeningen är satisfierbar. Normalisering av meningar inför resolution 10 Steg 7: Skapa en mängd av klausuler Formeln är nu på formen (K 1 ) (K m )(ϕ 1 ϕ n ) där K 1,...,K m är allkvantifierare. Pga att distribuerar över kan meningen skrivas om till (K 1 ) (K m )(ϕ 1 ) (K 1 ) (K m )(ϕ n ) vilket i sin tur kan skrivas som en mängd Φ av klausuler: Φ = { (K 1 ) (K m )(ϕ 1 ),. (K 1 ) (K m )(ϕ n ) }. Som en notationell förenkling nämns allkvantifierarna inte längre explicit, dvs Φ skrivs som {ϕ 1,...,ϕ n }. OBS! Kom ihåg att variablerna inte är fria nu kvantifierarna är fortfarande där fast de inte explicit skrivs ned. Normalisering av meningar inför resolution 11 Steg 8: Byt namn på variablerna än en gång Till slut byts namnen på variablerna i var och en av ϕ 1,...,ϕ n på så sätt att ϕ i och ϕ j inte längre innehåller några gemensamma variabelnamn, för 1 i < j n. Omskrivningen är klar nu! Normalisering av meningar inför resolution 12

Steg 6-8: Exempel ( x)( y)( z)( P(x, c 0) ( P(f(x, y), c 1) P(z, c 0)) ( P(f(x, y), c 1) P(f(x, z), c 0))) ( y)( P(f x, c 0) ( P(f(f x, y), c 1) P(f z(y), c 0)) ( P(f(f x, y), c 1) P(f(f x, f z(y)), c 0))) ( y)( P(f x, c 0)) ( y)( P(f(f x, y), c 1) P(f z(y), c 0))... { P(f x, c 0), P(f(f x, y), c 1) P(f z(y), c 0), P(f(f x, y), c 1) P(f(f x, f z(y)), c 0)} { P(f x, c 0), P(f(f x, y 2), c 1) P(f z(y 2), c 0), P(f(f x, y 3), c 1) P(f(f x, f z(y 3)), c 0)} Normalisering av meningar inför resolution 13