Grundläggande logik och modellteori

Relevanta dokument
Grundläggande logik och modellteori (5DV102)

Grundläggande logik och modellteori

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

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

Grundläggande logik och modellteori

Predikatlogik: Normalformer. Klas Markström

Grundläggande logik och modellteori (5DV102)

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

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

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

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

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

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

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?

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet

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?

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

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet

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

Kap. 7 Logik och boolesk algebra

7, Diskreta strukturer

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

7, Diskreta strukturer

Algoritmer, datastrukturer och komplexitet

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

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

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

Robin Stenwall Lunds universitet

Grundläggande logik och modellteori

Robin Stenwall Lunds universitet

Föreläsning 8: Intro till Komplexitetsteori

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Algoritmer, datastrukturer och komplexitet

MA2047 Algebra och diskret matematik

Grundläggande logik och modellteori

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

Formell logik Kapitel 5 och 6. Robin Stenwall Lunds universitet

MATEMATIKENS SPRÅK. Avsnitt 1

Robin Stenwall Lunds universitet

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

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

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

Grundläggande logik och modellteori

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

Övningshäfte 1: Logik och matematikens språk

Introduktion till predikatlogik. Jörgen Sjögren

Algoritmer, datastrukturer och komplexitet

EDA Digital och Datorteknik 2009/2010

Tentamen i TDDC75 Diskreta strukturer , lösningsförslag

Semantik och pragmatik

D. x 2 + y 2 ; E. Stockholm ligger i Sverige; F. Månen är en gul ost; G. 3 2 = 6; H. x 2 + y 2 = r 2.

F. Drewes Datavetenskapens grunder, VT02. Lite logik

Hornklausuler i satslogiken

K2 Något om modeller, kompakthetssatsen

Jesper Carlström 2008 (reviderad 2009)

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

EDA Digital och Datorteknik 2010/2011

Logik och bevisteknik lite extra teori

Logik och kontrollstrukturer

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

PCP-satsen på kombinatoriskt manér

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW

DD1350 Logik för dataloger

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

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

Komplexitetsklasser och repetition

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

Semantik och pragmatik (Serie 4)

Föreläsning 12+13: Approximationsalgoritmer

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

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

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

Digital- och datorteknik

Grundläggande logik och modellteori

ANDREAS REJBRAND NV3ANV Matematik Matematiskt språk

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

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

MA 11. Hur starkt de binder. 2 Reella tal 3 Slutledning 4 Logik 5 Mängdlära 6-7 Talteori 8 Diofantiska ekvationer 9 Fördjupning och kryptografi

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

Föreläsning 6. pseudokod problemlösning logik algoritmer

Logik. Dr. Johan Hagelbäck.

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Föreläsningsanteckningar och övningar till logik mängdlära

En introduktion till logik

TENTAMEN: Algoritmer och datastrukturer. Läs detta!

Semantik och pragmatik (Serie 3)

Om semantisk följd och bevis

Begreppen "mängd" och "element" är grundläggande begrepp i matematiken.

Elementär logik och mängdlära

Logik: sanning, konsekvens, bevis

Diskret matematik. Gunnar Bergström

Tentamen i Digitalteknik, EIT020

Semantik och pragmatik

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

Viktiga frågor att ställa när ett argument ska analyseras och sedan värderas:

Finns det tillräckligt med information för att bestämma hur många av eleverna som fick 1 poäng? Vad tycker du?

Tentamen i TTIT07 Diskreta Strukturer

Transkript:

Grundläggande logik och modellteori Kapitel 4: Konjunktiv och disjunktiv normalform Henrik Björklund Umeå universitet 15. september, 2014

CNF och DNF Konjunktiv normalform (CNF) Omskrivning av en formel till CNF Disjunktiv normalform (DNF) Lite om komplexitet

Konjunktiv normalform Definition En litteral är en atom eller en negerad atom. En klausul är en formel på formen l 1 l m där m N and l 1,..., l m är litteraler. En formel är på konjunktiv normalform (Conjunctive Normal Form CNF) om den är på formen A 1 A n där n N och A 1,..., A n är klausuler. En formel i CNF är alltså en konjunktion av disjunktioner av litteraler. Exempel: (p r s) (q q) (p r s t) q.

Uppgift 1 Vilka av följande formler är på konjunktiv normalform? A 1 = p q A 5 = p A 2 = (p r) q A 6 = p q r A 3 = (p r) q A 7 = p q r A 4 = p q A 8 = ( p p) (p p)

Lösning 1 A 1 är på CNF då den har två klausuler med en litteral i varje. A 2 är på CNF. A 3 är inte på CNF då den är en disjunktion av konjunktioner. A 4 är på CNF då den består av en enda klausul. A 5 är på CNF då även den består av en enda klausul. A 6 är inte på CNF, även om de implicit parenteserna läggs till (för då får man p (q r) eftersom binder hårdare än. A 7 är på CNF med tre klausuler om vardera en litteral. A 8 är på CNF, en klausul kan innehåller samma litteral flera gånger, även om det är onödigt.

Två specialfall Den tomma formeln är en formel på CNF med 0 klausuler. Den tomma klaususlen (kursboken använder ) är en klausul med 0 litteraler. Är satisfierbar? Är? Svar: Den tomma formeln är en tautologi, eftersom varje tolkning satisfierar alla ingående klausuler. Den tomma klausulen är inte satisfierbar, eftersom ingen tilldelning gör någon av de ingående litteralerna sanna.

Ett exempel på omskrivning till CNF Varje formel kan skrivas om till en ekvivalent formel på CNF. Exempel: (p ( (q r))) ( (r (p s))) ( p ( (q r))) ( (r (p s))) ( p ( q r)) ( r (p s)) ( p ( q r)) ( r ( p s)) ( p ( q r)) (( r p) ( r s)) (A A A A ) (de Morgan) (de Morgan, dubbelneg.) (distr.) (parenteser) ( p q r) ( r p) ( r s)

1. Använd ekvivalenserna samt Omskrivning till CNF i allmänhet A A (A A ) ( A A ) A A A A för att få en formel som endast innehåller, och. 2. Använd de Morgans regler samt A A för att flytta alla negationer in till atomerna. 3. Använd distributivlagen A (A A ) (A A ) (A A ) för att eliminera disjunktioner av konjunktioner. 4. Snygga till formeln genom att ta bort överflödiga parenteser. Formeln kan ev också förenklas, t ex genom att ta bort dubbla litteraler i klausuler. OBS! Kom ihåg att upprepa stegen 2 och 3 tills formeln är på den önskade formen (dvs tills det inte längre går att fortsätta).

Disjunktiv normalform Definition En formel är på disjunktiv normalform (DNF) om den är på formen A 1 A n där n N and A 1,..., A n är konjunktioner av litteraler (dvs på formen l 1 l m där m N and l 1,..., l m är litteraler). Exempel: (p r s) (q q) (p r s t) q. Omskrivning av godtyckliga formler till DNF Funkar på samma sätt som när det gäller CNF men i steg 3 används den duala distributivlagen A (A A ) (A A ) (A A ) istället.

Uppgift 2 Vilka av följande formler är på disjunktiv normalform? A 1 = p q A 5 = p A 2 = (p r) q A 6 = (p q) r A 3 = p r q A 7 = p r A 4 = p q r A 8 = ( p p) (p p)

Lösning 2 A 1 är på DNF då den består av en enda konjunktion. A 2 är inte på DNF då den är en konjunktion av disjunktioner. A 3 är på DNF eftersom den består av en enda konjunktion med tre litteraler. A 4 är på DNF om de implicita parenteserna som följer av prioritetsreglerna läggs till kring p q. A 5 är på DNF och består av en enda konjunktion. A 6 är DNF. A 7 är på DNF och har två konjunktioner, p och r. A 8 är på DNF; en konjunktion kan innehåller samma litteral flera gånger.

Lite om komplexitet (1) Satisfierbarhet av formler i CNF (problemet SAT) är NP-komplett. Satisfierbarhet av formler i DNF (problemet DNF-SAT) är mycket enklare: Säg att två litteraler l, l är komplementära om de är varandras komplement, dvs om en av dem är en atom och den andra är dess negation. En konjunktion av litteraler är satisfierbar om och endast om den inte innehåller komplementära litteraler. Dessutom är en disjunktion A 1 A n satisfierbar om och endast om en av A 1,..., A n är satisfierbar. En formel A 1 A n på DNF är alltså satisfierbar omm någon A i inte innehåller komplementära litteraler. Slutsats: Satisfierbarhet av formler i DNF kan avgöras på linjär tid.

Lite om komplexitet (2) Varför kan SAT inte lösas genom att först konvertera formeln till DNF och sedan lösa DNF-SAT (dvs med hjälp av en reduktion)? Jovisst, det går men... Problemet är att distributivlagen fördubblar den del av formeln som distribueras: A (A A ) ( A A ) ( A A ). Dess iterativa tillämpning kan därmed leda till en formel vars längd är 2 n (exaktare: Ω(2 n )), där n är formelns ursprungliga längd. Den här algoritmen skulle alltså ta exponentiell tid. Det här innebär inget bevis på att det inte går att lösa SAT inom polynomisk tid. Det enda vi för närvarande kan säga är att det inte går på det här viset (samt att P=NP om det skulle gå på något annat sätt).

CNF i praktiken Omvandling av en formel till en logiskt ekvivalent formel på CNF kan också leda till exponentiellt större formler på grund av distributivlagens beteende. Hur ska vi i praktiken kunna undvika detta? Lösningen är att bevara satisfierbarhet snarare än att bevara logisk ekvivalens.

Exempel p q (p q) (( (p q)) ( (q p))) p q q p

Exempel, y 1, y 2, y 3 p q, y 4, y 5, y 6, y 7 φ = (p q) (( (p q)) ( (q p))) p q q p φ = y 1 (y 1 (y 2 y 3 )) (y 2 (p q)) (y 3 (y 4 y 5 )) (y 4 y 6 ) (y 5 y 7 ) (y 6 (p q) (y 7 (q p)

Example φ = y 1 (y 1 (y 2 y 3 )) (y 2 (p q)) (y 3 (y 4 y 5 )) (y 4 y 6 ) (y 5 y 7 ) (y 6 (p q) (y 7 (q p) Notera att φ är en konjunktion av formler som innehåller högst tre litteraler. För varje sådan formel finns en logiskt ekvivalent formel på CNF som har högst tre litteralerper klausul. Till exempel: y 1 (y 2 y 3 ) ( y 1 y 2 y 3 ) ( y 1 y 2 y 3 ) (y 1 y 2 y 3 ) (y 1 y 2 y 3 )

Hur hittar vi dessa formler? Exempel Svar: Genom att titta på sanningstabellen: y 1 y 2 y 3 (y 1 (y 2 y 3 )) T T T T T T F F (y 1 y 2 y 3 ) T F T F (y 1 y 2 y 3 ) T F F T F T T F ( y 1 y 2 y 3 ) F T F T F F T T F F F F ( y 1 y 2 y 3 ) (y 1 (y 2 y 3 )) (y 1 y 2 y 3 ) (y 1 y 2 y 3 ) ( y 1 y 2 y 3 ) ( y 1 y 2 y 3 )

Exempel (y 1 (y 2 y 3 )) (y 1 y 2 y 3 ) (y 1 y 2 y 3 ) ( y 1 y 2 y 3 ) ( y 1 y 2 y 3 ) Detta ger oss (y 1 (y 2 y 3 )) ((y 1 y 2 y 3 ) (y 1 y 2 y 3 ) ( y 1 y 2 y 3 ) ( y 1 y 2 y 3 )) Använd De Morgans lag: (y 1 (y 2 y 3 )) (y 1 y 2 y 3 ) (y 1 y 2 y 3 ) ( y 1 y 2 y 3 ) ( y 1 y 2 y 3 )) Och De Morgan igen: (y 1 (y 2 y 3 )) ( y 1 y 2 y 3 ) ( y 1 y 2 y 3 ) (y 1 y 2 y 3 ) (y 1 y 2 y 3 )

CNF i praktiken Notera: Varje konnektiv i orginalformeln ger upphov till en formel med tre litteraler. Varje sådan formel ger upphov till max åtta klausuler med max tre litteraler var. Den nya formeln är alltså linjär i orginalformeln.