Grundläggande logik och modellteori

Relevanta dokument
Grundläggande logik och modellteori

Grundläggande logik och modellteori (5DV102)

Hornklausuler i satslogiken

Grundläggande logik och modellteori

Grundläggande logik och modellteori

*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW

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

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

Grundläggande logik och modellteori

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

Grundläggande logik och modellteori (5DV102)

Grundläggande logik och modellteori

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet

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

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

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?

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret Lektion 4

Robin Stenwall Lunds universitet

Algoritmer, datastrukturer och komplexitet

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?

Robin Stenwall Lunds universitet

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

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

Föreläsning 8: Intro till Komplexitetsteori

Robin Stenwall Lunds universitet

Fixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x).

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

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet

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

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

Explorativ övning 7 KOMPLEXA TAL

MATEMATIKENS SPRÅK. Avsnitt 1

Explorativ övning 9 RELATIONER OCH FUNKTIONER

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

Logik och bevisteknik lite extra teori

Predikatlogik: Normalformer. Klas Markström

Induktionsprincipen Starka induktionsprincipen Välordningsprincipen Divisionsalgoritmen

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

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

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

PCP-satsen på kombinatoriskt manér

MS-A0409 Grundkurs i diskret matematik I

Övningshäfte 2: Komplexa tal

MS-A0409 Grundkurs i diskret matematik I

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

Kontinuitet och gränsvärden

K2 Något om modeller, kompakthetssatsen

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

(N) och mängden av heltal (Z); objekten i en mängd behöver dock inte vara tal. De objekt som ingår i en mängd kallas för mängdens element.

Algoritmer, datastrukturer och komplexitet

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

Formell logik Kapitel 5 och 6. Robin Stenwall Lunds universitet

MER TOPOLOGI OCH KONVERGENS

Semantik och pragmatik

Mängdlära. Kapitel Mängder

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

Uppgifter i TDDC75: Diskreta strukturer Kapitel 8 Ordning och oändlighet

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

Komplexitetsklasser och repetition

MA2047 Algebra och diskret matematik

1 Föreläsning I, Mängdlära och elementär sannolikhetsteori,

Om semantisk följd och bevis

TAMS79: Föreläsning 1 Grundläggande begrepp

Övningshäfte 2: Komplexa tal (och negativa tal)

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

Formell logik Kapitel 9. Robin Stenwall Lunds universitet

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

Filosofisk logik Kapitel 15 (forts.) Robin Stenwall Lunds universitet

Kapitel 1. betecknas detta antal med n(a). element i B; bet. A B. Den tomma mängden är enligt överenskommelsen en delmängd. lika; bet. A = B.

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht Block 5, översikt

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

1. Ekvationer 1.1. Ekvationer och lösningar. En linjär ekvation i n variabler x 1,..., x n är en ekvation på formen. 2x y + z = 3 x + 2y = 0

DD1361 Programmeringsparadigm HT15

Övningsmästarprov 2 + några NP-reduktioner. Algoritmer, datastrukturer och komplexitet

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002

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

Föreläsning 12+13: Approximationsalgoritmer

Formell logik Kapitel 7 och 8. Robin Stenwall Lunds universitet

INDUKTION OCH DEDUKTION

Grundläggande logik och modellteori

Sannolikhetsbegreppet

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

Diskret Matematik A för CVI 4p (svenska)

Mer om analytisk geometri

1 Suddig logik och gitter

Lösningar till Algebra och kombinatorik

Kaliningrad) låg vid bägge sidor av floden Pregel samt på

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

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

Formella metoder. Loop-program som statetransformers. Betrakta följande problem. specifikationen.

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet

Lösningar till Algebra och kombinatorik

PROV I MATEMATIK Automatateori och formella språk DV1 4p

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

Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1).

Relationer. 1. Relationer. UPPSALA UNIVERSITET Matematiska institutionen Erik Melin. Specialkursen HT07 23 oktober 2007

TENTAMEN: Algoritmer och datastrukturer. Läs detta!

Transkript:

Grundläggande logik och modellteori Kapitel 7: SAT-lösare Henrik Björklund Umeå universitet 29. september, 2014

SAT En instans av SAT är en mängd av mängder av literaler. Exempel: {{p, q, r}, {p, q, s}, {q}, {p, q, s}} Frågan är om det finns en tolkning v som gör minst en litteral per klausul sann. Fråga: Finns en sådan tolkning för exemplet ovan? Svar: Ja, det finns en sådan tolkning: v(p) = T v(q) = T v(r) = F v(s) = F

Satisfierbarhetsekvivalens Låt S och S vara mängder av klausuler. De är satisfierbarhetsekvivalenta om S är satisfierbar om och endast om S är satisifierbar. Vi skriver S S. Exempel: {{p, q}, {p}} {q} Notera: {{p, q}, {p}} {q}!

Rena litteraler Definition: Låt S vara en mängd klausuler. En ren litteral i S är en litteral l som förekommer i någon klausul i S men sådan att dess komplement l c inte förekommer i någon klausul i S. Exempel: q är en ren litteral i {{p, q}, {p}}.

Eliminera rena litteraler Sats: Låt S vara en mängd klausuler och låt l vara en ren litteral i S. Låt S vara mängden av klausuler vi får från S genom att ta bort alla klausuler som innehåller l. Då gäller S S. Exempel: {{p, q}, {p} {p}

Eliminera rena litteraler Bevis: Om S är satisfierbar så är S satisifierbar eftersom S S. Antag att S är satisfierbar. Då finns en tolkning v sådan att v(c) = T för alla C S. Utåka v till v så att v (l) = T och v (p) = v(p) för alla atomer utom den som ingår i l. Ta en godtycklig klausul C i S. Om C S så har vi v (C) = v(c) = T. Om, å andra sidan, C S så gäller l C. Eftersom v (l) = T har vi v (C) = T. Alltså satisfierar v varje klausul i S och därmed S.

Singeltonklausuler Definition: En singeltonklausul är en klausul som innehåller exakt en litteral. Sats: Låt {l} S vara en singeltonklausul. Låt S vara den mängd klausuler vi får från S genom att ta bort alla klausuler som innehåller l och ta bort l c från alla kvaravarande klausuler där den förekommer. Då gäller S S. Exempel: {{p}, {p, q}, {p, q, r}} {{q, r}} När vi använder oss av denna sats säger vi att vi använder singeltonklausulregeln.

Singeltonklausuler Bevis: Antag att S är satisifierbar och att v är en modell för S. Då måste v(l) = T. Låt C vara en godtycklig klausul i S. Om C S så v(c) = T. Om, å andra sidan, C S så tillhör klausulen C {l c }S. Vi vet att v(l) = T och därmed att v(l c ) = F. Alltså måste det finnas en annan litteral l i C sådan att v(l ) = T och vi får att v(c) = T. Alltså är S satisfierbar.

Singeltonklausuler Bevis (forts.): Antag att S är satisfierbar och att v är en modell för S. Utåka v till en tolkning för S sådan att v(l) = T och v (p) = v(p) för alla atomer som förekommer i S. Låt C vara en godtycklig klausul i S. Om C S så v (C) = T. Om C = C {l c }, för någon C S så v (C) = v(c ) = T. Den enda återstaände möjligheten är att C innehåller l. I så fall gäller v (C) = v (l) = T.

Superklausuler Vi har redan tidigare sett att vi kan ta bort klausuler som är superklausuler till någon annan klausul i formeln: Sats: Låt S vara en mängd av klausuler. Låt C, C S vara sådana att C C. Då gäller att S S {C }.

Komplementering Definition: Låt S vara en mängd klausuler och U en delmängd av de atomer som förekommer i S. Då är R U (S) den mängd klausuler vi får från S genom att ersätta varje literal l vars atom tillhör U med l c. Sats: För varje mängd S av klausuler och varje mängd U av atomer gäller att S R U (S). Bevis: Antag att S är satisfierbar och att tolkningen v är en modell för S. Låt v vara en tolkning som definieras genom v (p) = v(p) om p inte tillhör U v (p) = v(p) om p tillhör

Komplementering Bevis (forts).: Låt C vara en godtycklig klausul i S och C = R U ({C}). Eftersom v är en modell för S vet vi att v(c) = T och därmed att v(l) = T för någon litteral l C. Om atomen p i l inte tillhör U har vi att l tillhör R U ({C}) och att v (l) = v(l) = T. Om p tillhör U så tillhör l c klausulen R U ({C}). Vi har också v (l c ) = v(l) = T. Alltså tillfredsställs R U ({C}) av v. Eftersom klausulen C var godtycklig kan vi sluta oss till att alla klausuler i R U (S) tillfredsställs av v och därmed att R U (S) är satisfierbar. Beviset för den andra rikningen är symmetriskt.

Variabeleliminering genom resolution Sats: Låt S vara en mängd klausuler och p en atom i S. Låt S vara den mängd klausuler vi får från S genom att utföra resolution på alla par av klausuler C, C sådana att p C och p C, lägga till alla resolventer och sedan ta bort alla klausuler som innehåller p eller p. Då gäller S S. Bevis: Övning. När vi använder oss av detta resultat säger vi att vi eliminerar atomen p genom resolution.

Davis-Putnams algoritm Input: En mängd A av klausuler. Upprepa: Upprepa: Applicera singeltonklausulregeln Applicera regeln för rena litteraler Tills det inte finns någon singeltonklausul eller ren litteral Välj en atom p och eliminera den genom resolution. Terminera om den tomma klausulen produceras returnera ej satisfierbar om ingen av reglerna (singeltonklausul, ren litteral, resolution) går att tillämpa returnera satisfierbar

Davis-Putnam: problem Att välja ut en atom i taget och eliminera dem en i taget är för det mesta ineffektivt.

Singeltonpropagering och partiella tolkningar Låt S är en mängd klausuler och {l} en singeltonklausul i S. Låt S vara den mängd klausuler vi får genom att använda singeltonregeln på S med avseende på l. Om S har en modell v så är tolkningen v sådan att v (l) = T och v i ovrigt är identisk med v en modell för S. Att så länge det går använda sineltonregeln och samtidigt bygga upp en partiell tolkning kallas för singeltonpropagering.

Partiella tolkningar och atomeliminering Låt S vara en mängd klausuler och v en partiell tolkning för S. Låt p vara en atom sådan att v(s) är definerad. Konstruera S från S som följer. Låt l vara den litteral (p eller p) som innehåller p och sådan att v(l) = T. Ta bort alla klausuler som innehåller l. Ta bort l c från alla återstaände klausuler. Då gäller att S kan satisfieras av en utökning av v om och endast om S kan det. Vi säger att vi eliminerar atomen p med avseende på v.

DPLL-algoritmen Input: En mängd S av klausuler och en partiell tolkning v. DPLL(S,v) Konstruera S och v genom singeltonpropagering Evaluera v (S ). Om v (S ) = T returnera v. Om v (S ) = F, returnera ej satisifierbar. Annars, fortsätt. Välj en atom p. Välj ett sanningsvärde V för p. Låt v vara v utökad med v (p) = V. S fås från S genom att eliminera p med avseende på v (p). resultat DPLL(S,v ) om resultat inte är ej satisfierbar, returnera resultat v är v utökad med v = V, där V är komplementet till V. S fås från S genom att eliminera p med avseende på v (p). resultat DPLL(S,v ) returnera resultat

Hornklausuler Definition: En Hornklausul är en klausul där högst en litteral är en icke-negerad atom. Exempel på Hornklausuler: {p, q, r, s} {q, r, s} {p}

Hornklausuler Vi kan se en Hornklausul som en implikation: (p q r s) (q r s) p ( q r s) (q r s) p p Ofta skrivs de andra vägen: (p q r s) p (q r s) ( q r s) (q r s) p p (Känns igen från PROLOG.)

HORN-SAT Sats: Satisfierbarhetsproblemet för mängder av Hornklausuler (HORN-SAT) är avgörbart i polynomiell tid. Algoritm: Utför singeltonpropagering så långt det går. Om vi någon gång under processen har både en singeltonklausul {p} och dess komplement {p} så är formeln ej satisfierbar. Annars är den satisfierbar genom att sätta alla återstaände atomer till F.