Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik...

42
Aussagenlogik: Syntax von Aussagen engl.: Propositional Logic A ::= X | (A A) | (A A) | (¬ A) | (A A) | (A A) | 0 | 1 A B : Konjunktion (Verundung). A B : Disjunktion (Veroderung). A B : Implikation . A B : ¨ Aquivalenz. ¬A: negierte Formel. A Atom, falls A eine Variable ist. A Literal, falls A Atom oder negiertes Atom. Priorit¨ atsreihenfolge (bzgl Klammerung): ¬, , , , ⇐⇒ . AD, SS 2014, Folien Aussagenlogik, Seite 1, 5. Mai 2014

Transcript of Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik...

Page 1: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Aussagenlogik: Syntax von Aussagen

engl.: Propositional Logic

A ::= X | (A ∧A) | (A ∨A) | (¬ A) | (A⇒ A) | (A⇔ A) | 0 | 1

A ∧B: Konjunktion (Verundung).A ∨B: Disjunktion (Veroderung).A⇒ B: Implikation .A⇔ B: Aquivalenz.¬A: negierte Formel.A Atom, falls A eine Variable ist.A Literal, falls A Atom oder negiertes Atom.

Prioritatsreihenfolge (bzgl Klammerung): ¬,∧,∨,⇒, ⇐⇒ .

AD, SS 2014, Folien Aussagenlogik, Seite 1, 5. Mai 2014

Page 2: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Aussagenlogik: Semantik

Zunachst pro Operation op ∈ {¬,∧,∨,⇒,⇔}eine Funktion fop gemaß folgender Tabelle.

∧ ∨ ⇒ NOR NAND ⇔ XOR1 1 1 1 1 0 0 1 01 0 0 1 0 0 1 0 10 1 0 1 1 0 1 0 10 0 0 0 1 1 1 1 0

AD, SS 2014, Folien Aussagenlogik, Seite 2, 5. Mai 2014

Page 3: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Interpretation

Definition

Eine Interpretation I ist eine Funktion:I : {aussagenlogische Variablen} → {0,1}.

I: Aussage → Wahrheitswert:

• I(0) := 0, I(1) := 1

• I(¬A) := f¬(I(A))

• I(A op B) := fop(I(A), I(B)), wobei op ∈ {∧,∨,⇒,⇔ . . .}

I(F ) = 1, entspricht I |= F . ( I ist ein Modell fur F , F gilt in I, I

macht F wahr)

AD, SS 2014, Folien Aussagenlogik, Seite 3, 5. Mai 2014

Page 4: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Definition: Tautologie usw.

• A ist eine Tautologie (Satz der Aussagenlogik, allgemeingultig in

der Aussagenlogik) gdw. fur alle Interpretationen I gilt: I |= A.

• A ist ein Widerspruch (widerspruchlich, unerfullbar) gdw. fur alle

Interpretationen I gilt: I(A) = 0.

• A ist erfullbar (konsistent) gdw. es eine Interpretationen I gibt mit:

I |= A.

• ein Modell fur eine Formel A ist eine Interpretation I mit I(A) = 1.

AD, SS 2014, Folien Aussagenlogik, Seite 4, 5. Mai 2014

Page 5: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Beispiele fur Tautologie usw.

• X ∨ ¬X ist eine Tautologie.

• (X ⇒ Y )⇒ ((Y ⇒ Z)⇒ (X ⇒ Z)) ist eine Tautologie.

• X ∧ ¬X ist ein Widerspruch.

• X ∨ Y ist erfullbar.

• I mit I(X) = 1, I(Y ) = 0 ist ein Modell fur X ∧ ¬Y

AD, SS 2014, Folien Aussagenlogik, Seite 5, 5. Mai 2014

Page 6: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Komplexitaten

Eingabe: Eine aussagenlogische Formel A

1. Ist A erfullbar? ist NP-vollstandig.

2. Ist A Tautologie ? ist co-NP-vollstandig.

D.h. Zur Beantwortung beider Fragen sind nur worst-case

EXPTIME-Algorithmen bekannt.

AD, SS 2014, Folien Aussagenlogik, Seite 6, 5. Mai 2014

Page 7: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Folgerungsbegriffe

• semantische Folgerung: |=.

A |= B gdw. fur alle Interpretationen I:

I(A) = 1⇒ I(B) = 1

• syntaktische Folgerung (`, Herleitung)

Regelsystem zum Herstellen von Aussagen ( Folgerungen)

A ` B

AD, SS 2014, Folien Aussagenlogik, Seite 7, 5. Mai 2014

Page 8: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Kalkul: Korrektheit und Vollstandigkeit

Kalkul: Ein (i.a. nicht-deterministischer) Algorithmus A, der aus einer

Menge von Formeln H eine neue Formel H berechnet. (H `A H)

• A ist korrekt (sound), gdw. H →A H impliziert H |= H

• A ist vollstandig (complete), gdw. H |= H impliziert, dass H `A H

Kalkule (z.B.): WahrheitstafelnBDDs und VariantenResolutionTableauDPLL-Verfahren

AD, SS 2014, Folien Aussagenlogik, Seite 8, 5. Mai 2014

Page 9: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Deduktionstheorem

Eine wichtige Eigenschaft der Aussagenlogik:

Satz {F1, . . . , Fn} |= G gdw. F1 ∧ . . . ∧ Fn ⇒ G ist Tautologie.

AD, SS 2014, Folien Aussagenlogik, Seite 9, 5. Mai 2014

Page 10: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Aquivalenz

F,G sind aquivalent (F ∼ G), gdw. wenn F ⇐⇒ G ist Tautologie

F ∼ G gdw fur alle I: I |= F gdw. I |= G gilt.

Beachte z.B. X ∧ Y 6∼ X ′ ∧ Y ′

AD, SS 2014, Folien Aussagenlogik, Seite 10, 5. Mai 2014

Page 11: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Aussagenlogische Satze

∧ und ∨ sind kommutativ, assoziativ, und idempotent:

F ∧ G ⇐⇒ G ∧ FF ∧ F ⇐⇒ F

F ∧ (G ∧H) ⇐⇒ (F ∧ G) ∧HF ∨ G ⇐⇒ G ∨ F

F ∨ (G ∨H) ⇐⇒ (F ∨ G) ∨HF ∨ F ⇐⇒ F

(F ,G,H sind aussagenlogische Formeln)

AD, SS 2014, Folien Aussagenlogik, Seite 11, 5. Mai 2014

Page 12: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Aquivalenzen:

¬(¬A)) ⇐⇒ A(A⇒ B) ⇐⇒ (¬A ∨B)(A ⇐⇒ B) ⇐⇒ ((A⇒ B) ∧ (B ⇒ A))¬(A ∧B) ⇐⇒ ¬A ∨ ¬B (DeMorgansche Gesetze)¬(A ∨B) ⇐⇒ ¬A ∧ ¬BA ∧ (B ∨ C) ⇐⇒ (A ∧B) ∨ (A ∧ C) DistributivitatA ∨ (B ∧ C) ⇐⇒ (A ∨B) ∧ (A ∨ C) Distributivitat(A⇒ B) ⇐⇒ (¬B ⇒ ¬A) KontrapositionA ∨ (A ∧B) ⇐⇒ A AbsorptionA ∧ (A ∨B) ⇐⇒ A Absorption

AD, SS 2014, Folien Aussagenlogik, Seite 12, 5. Mai 2014

Page 13: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Normalform DNF

disjunktive Normalform (DNF).

Disjunktion von Konjunktionen von Literalen.

(L1,1 ∧ . . . ∧ L1,n1) ∨ . . . ∨ (Lm,1 ∧ . . . ∧ Lm,nm)

AD, SS 2014, Folien Aussagenlogik, Seite 13, 5. Mai 2014

Page 14: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Normalform CNF

konjunktive Normalform (CNF) =Konjunktion von Disjunktionen von Literalen.

(L1,1 ∨ . . . ∨ L1,n1) ∧ . . . ∧ (Lm,1 ∨ . . . ∨ Lm,nm)

Auch: Klauselform oft:”

Menge von Mengen“-Schreibweise

Literal L z.B. X, ¬YKlausel (Lm,1 ∨ . . . ∨ Lm,nm) z.B. (X ∨ ¬Y )

{Lm,1, . . . , Lm,nm}

Klauselmenge(L1,1 ∨ . . . ∨ L1,n1

)∧ . . .∧ (Lm,1 ∨ . . . ∨ Lm,nm)

z.B. {{X,¬Y }, {Y }}

AD, SS 2014, Folien Aussagenlogik, Seite 14, 5. Mai 2014

Page 15: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Transformation in eine Klauselmenge

Notwendig fur Resolution und DPLL

1. Elimination von ⇔ und ⇒:

F ⇔ G → (F ⇒ G) ∧ (G⇒ F )F ⇒ G → ¬F ∨G

2. Negation ganz nach innen schieben:

¬¬F → F¬(F ∧G) → ¬F ∨ ¬G¬(F ∨G) → ¬F ∧ ¬G

3. Distributivitat (und Assoziativitat, Kommutativitat) iterativ an-wenden, um ∧ nach außen zu schieben (

”Ausmultiplikation“).

F ∨ (G∧H)→ (F ∨G)∧ (F ∨H) (Das duale Distributivgesetz wurdeeine disjunktive Normalform ergeben.)

AD, SS 2014, Folien Aussagenlogik, Seite 15, 5. Mai 2014

Page 16: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Transformation in eine Klauselmenge, Resultat

Konjunktion von Disjunktionen (Klauseln) von Literalen:

(L1,1 ∨ . . . ∨ L1,n1)

∧ (L2,1 ∨ . . . ∨ L2,n2)

∧. . .∧ (Lk,1 ∨ . . . ∨ Lk,nk

)

oder in (Multi-)Mengenschreibweise:

{{L1,1, . . . , L1,n1},

{L2,1, . . . , L2,n2},

. . .{Lk,1, . . . , Lk,nk

}}

AD, SS 2014, Folien Aussagenlogik, Seite 16, 5. Mai 2014

Page 17: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Transformation: Eigenschaften

Resultat-CNF ist aquivalent zur eingegebenen Formel

Dieser CNF-Algorithmus ist worst-case exponentiell

Anzahl der Literale in der Klauselform wachst exponentiell

Grunde:

• die Elimination von ⇔:Betrachte die Formel (A1 ⇔ A2)⇔ (A3 ⇔ A4)

• Ausmultiplikation mittels Distributivgesetz:

(A1∧. . .∧An)∨B2∨. . .∨Bm → ((A1∨B2)∧. . .∧(An∨B2))∨B3 . . .∨Bn

Dies verdoppelt B2 und fuhrt zum Iterieren des Verdoppelns, wennBi selbst wieder zusammengesetzte Aussagen sind.

AD, SS 2014, Folien Aussagenlogik, Seite 17, 5. Mai 2014

Page 18: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Schnelle CNF-Herstellung (Tseitin)

F → FCNF -transformation in Zeit O(n ∗ log(n)).

Eigenschaft: F erfullbar gdw. FCNF erfullbar!(Erfullbarkeits-Erhaltung)

Evtl: F 6∼ FCNF

AD, SS 2014, Folien Aussagenlogik, Seite 18, 5. Mai 2014

Page 19: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Schnelle CNF-Herstellung

Die Idee: komplexe Subformeln durch Variablen abkurzen.

F [G] −→ (A ⇐⇒ G) ∧ F [A] (A neue Variable)

Lemma F [G] ist erfullbar gdw. (G ⇐⇒ A) ∧ F [A] erfullbar ist.

Hierbei muss A eine Variable sein, die nicht in F [G] vorkommt.

AD, SS 2014, Folien Aussagenlogik, Seite 19, 5. Mai 2014

Page 20: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Schnelle CNF-Herstellung

Def: Tiefe einer Aussage :=

maximale Lange eines Pfades im Syntaxbaum

Def: Sub-Tiefe einer Unter-Aussage H in F :=

Lange des Pfades

von der Wurzel zur Subformel H im Syntaxbaum

AD, SS 2014, Folien Aussagenlogik, Seite 20, 5. Mai 2014

Page 21: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Schneller CNF-Algorithmus

• Die Formel sei H1 ∧ . . . ∧Hn

• Wenn Hj eine Tiefe ≥ 4 hat, dann ersetze alle Subfor-

meln G1, . . . , Gm von Hj mit Sub-Tiefe 3 in Hj, und die

keine Atome sind, durch neue Variablen Ai: D.h.

Hj = H ′j[G1, . . . , Gm] −→H ′j[A1, . . . , Am] ∧ (G1 ⇐⇒ A1) ∧ . . . ∧ (Gm ⇐⇒ Am)

• Iteriere diesen Schritt• Danach wandle die verbliebenen Formeln in CNF um.

AD, SS 2014, Folien Aussagenlogik, Seite 21, 5. Mai 2014

Page 22: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

SAT und k-SAT

• SAT ist das Erfullbarkeitsproblem fur Klauselmengen

• Die Problemklasse ist NP-vollstandig

• k-SAT ist das Erfullbarkeitsproblem fur Klauselmengen mit nur

Klauseln der Lange k.

• 2-SAT ist polynomiell entscheidbar,

• k-SAT fur k > 2 ist NP-hart.

AD, SS 2014, Folien Aussagenlogik, Seite 22, 5. Mai 2014

Page 23: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

SAT und Erfullbarkeit durch Abzahlen

Satz Wenn fur ein k ≥ 2 in der Klauselmenge S

alle Klauseln die Lange k haben,

und es sind h < 2k Klauseln,

dann ist S erfullbar.

Beweis durch Abzahlen der Interpretationen.

Beispiel k = 3 und maximal 7 Klauseln, dann ist die Klauselmenge

erfullbar.

AD, SS 2014, Folien Aussagenlogik, Seite 23, 5. Mai 2014

Page 24: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Resolutionsverfahren fur Aussagenlogik

statt Test auf Allgemeingultigkeit von F :

Testen von ¬F auf Widerspruch.

etwas allgemeiner:

Lemma

A1 ∧ . . . ∧An ⇒ F ist allgemeingultig

gdw.

A1 ∧ . . . ∧An ∧ ¬F widerspruchlich ist.

AD, SS 2014, Folien Aussagenlogik, Seite 24, 5. Mai 2014

Page 25: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Resolutionsverfahren fur Aussagenlogik

Resolution operiert auf Klauselmengenerzeugt aus zwei (Eltern-)Klauseln eine Resolventedie zur Klauselmenge hinzugefugt wird

A ∨B1 ∨ . . . ∨Bn

¬A ∨C1 ∨ . . . ∨ Cm

B1 ∨ . . . ∨Bn ∨ C1 ∨ . . . ∨ Cm

Resolution wird iteriert.

Falls leere Klausel als Resolvente: Erfolgreich beendet

Resolution auf Klauselmengen: als Menge von MengenC → C ∪ {R}

AD, SS 2014, Folien Aussagenlogik, Seite 25, 5. Mai 2014

Page 26: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Terminierung der aussagenlogischen Resolution

Satz Die Resolution auf einer aussagenlogischen Klauselmenge

terminiert, wenn ein Resolutionsschritt nur erlaubt ist

bei Vergroßerung der Klauselmenge.

Grund: Es gibt nur endlich viele mogliche Klauseln, da Resolution keine

neuen Variablen einfuhrt.

AD, SS 2014, Folien Aussagenlogik, Seite 26, 5. Mai 2014

Page 27: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Vollstandigkeit der Resolution

Satz Fur eine unerfullbare Klauselmenge findet Resolution nach endlich

vielen Schritten die leere Klausel.

Beweis: . . .

Die Komplexitat der Resolution im schlimmsten Fall:

Satz Es gibt eine Folge von Formeln (die sogenannten Taubenschlag-

formeln bzw. pigeon hole formula, Schubfach-formeln), fur die die

kurzeste Herleitung der leeren Klausel mit Resolution eine exponen-

tielle Lange (in der Große der Formel) hat.

(A. Haken 1985) (siehe auch E. Eder 1992))

AD, SS 2014, Folien Aussagenlogik, Seite 27, 5. Mai 2014

Page 28: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Davis-Putnam-Logemann-Loveland Algorithmus

DP (·)

1 a. Wenn leere Klausel in C: RETURN true.b. Wenn C leere Klauselmenge: RETURN false.

2. wenn 1-Klausel {P} (bzw. {¬P}) ex:a Losche Klauseln in denen P (bzw. ¬P ) vorkommt.b Losche Literale ¬P (bzw. P ) in Klauseln

ergibt Klauselmenge C′. RETURN DP (C′)3. Wenn isolierte Literale existieren:

Losche Klauseln, in denen isolierte Literale vorkommen.resultierende Klauselmenge: C′. RETURN DP (C′)

4 Sonst: wahle eine ex. Variable P aus.RETURN DP (C ∪ {P}) ∧DP (C ∪ {¬P})

AD, SS 2014, Folien Aussagenlogik, Seite 28, 5. Mai 2014

Page 29: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Beispiel fur DP

P, Q¬P, Q RP, ¬Q, R¬P, ¬Q, RP, Q, ¬R¬P, Q, ¬RP, ¬Q, ¬R¬P, ¬Q, ¬R

Fall 1: Addiere die Klausel {P}. nach einigen Schritten:

Q, R¬Q, RQ, ¬R¬Q, ¬R

AD, SS 2014, Folien Aussagenlogik, Seite 29, 5. Mai 2014

Page 30: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Fall 1.1: Addiere {Q}: ergibt die leere Klausel.

Fall 1.2: Addiere {¬Q}: ergibt die leere Klausel.

Fall 2: Addiere die Klausel {¬P}. Nach einigen Schritten:

Q¬Q RQ ¬R¬Q ¬R

Weitere Schritte fur Q ergeben

R¬R

ergibt leere Klausel.

Page 31: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Smullyan: Wer ist der Pfefferdieb?

Ratsel von Raymond Smullyan:

Es gibt drei Verdachtige: Den Hutmacher, den Schnapphasen und die

(Hasel-)Maus. Folgendes ist bekannt:

• Genau einer von ihnen ist der Dieb.

• Unschuldige sagen immer die Wahrheit

• Schnapphase: der Hutmacher ist unschuldig.

• Hutmacher: die Hasel-Maus ist unschuldig

AD, SS 2014, Folien Aussagenlogik, Seite 31, 5. Mai 2014

Page 32: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Kodierung: H,S,M

1. H ∨ S ∨M2. H ⇒ ¬(S ∨M)3. S ⇒ ¬(H ∨M)4. M ⇒ ¬(H ∨ S)5. ¬S ⇒ ¬H6. ¬H ⇒ ¬M

Klauselmenge:

{{H,S,M}, {¬H,¬S}, {¬H,¬M}, {¬S,¬M}, {S,¬H}, {H,¬M}}

pfefferdieb = dp

"((H \/ S \/ M) /\(H => -(S \/ M))

/\(S => -(H \/ M)) /\ (M => -(H \/ S))

/\(-S => -H) /\ (-H => -M))"

Modell: S, -M, -H"

AD, SS 2014, Folien Aussagenlogik, Seite 32, 5. Mai 2014

Page 33: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

DP-Implementierung Besonderheiten

Die Optimierung zu isolierten Literalen ist gut fur Widerspruchssuche,

aber nicht fur Modellsuche.

Beachte: die pureliterals-Optimierung ist nicht aktiviertin der dp-Implementierung, so dassdpalle eine exakte Losung angibt

AD, SS 2014, Folien Aussagenlogik, Seite 33, 5. Mai 2014

Page 34: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Eine Logelei aus der”

Zeit“

Abianer sagen die Wahrheit, Bebianer lugen. Aussagen:

1. Knasi: Knisi ist Abianer.2. Knesi: Wenn Knosi Bebianer, dann ist auch Knusi ein Abianer.3. Knisi: Wenn Knusi Abianer, dann ist Knesi Bebianer.4. Knosi: Knesi und Knusi sind beide Abianer.5. Knusi: Wenn Knusi Abianer ist, dann ist auch Knisi Abianer.6. Knosi: Entweder ist Knasi oder Knisi Abianer.7. Knusi: Knosi ist Abianer.

A <=> I

E <=> (-OE => U)

I <=> (U => -E)

O <=> (E /\ UE)

U <=> (UE => I)

OE <=> (A XOR I)

UE <=> O

AD, SS 2014, Folien Aussagenlogik, Seite 34, 5. Mai 2014

Page 35: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Logelei: Losung

Die Eingabe in den Davis-Putnam-Algorithmus ergibt:

abianer1Expr = "((A <=> I) /\ (E <=> (-OE => U)) /\ (I <=> (U => -E))

/\ (O <=> (E /\ UE)) /\ (U <=> (UE => I))

/\ (OE <=> -(A <=> I)) /\ (UE <=> O))"

abianer1 = dp abianer1Expr

Resultat:

"Modell: -OE, -O, -UE, E, U, -I, -A"

Damit sind Knesi und Knusi Abianer, die anderen sind Bebianer.

AD, SS 2014, Folien Aussagenlogik, Seite 35, 5. Mai 2014

Page 36: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Das n-Damen Problem: aussagenlogisch

n Damen auf ein Schachbrett der Seitenlange n

Bedingung: keine Bedrohung

Ein Programm zum Erzeugen der Klauselmenge erzeugt im Fall n = 4:

> generate_nqueens 4

[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [1, 5, 9, 13],

.....

davisPutnam (generate_nqueens 4)

davisPutnamAlle (generate_nqueens 4)

dpqueensAlle 4

dpqueensAlle 6

dpqueensAlle 8

AD, SS 2014, Folien Aussagenlogik, Seite 36, 5. Mai 2014

Page 37: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Das n-Damen Problem: aussagenlogisch

Der Aufruf dpqueens 8 ergibt:

- - D - - - - -

- - - - - - D -

- D - - - - - -

- - - - - - - D

- - - - D - - -

- - - - - - -

- - - D - - - -

- - - - - D - -

AD, SS 2014, Folien Aussagenlogik, Seite 37, 5. Mai 2014

Page 38: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

n-Damen Problem, Torus-Variante

Polya: es gibt eine Losung des n-Damen Torus-Problems wenn n ≥ 5

und n teilerfremd zu 6 ist. Losungen fur n = 5,7,11,13,17, ..

keine Losungen fur n = 4,6,8,9,10,12,14,15,16, . . ..

Eine Losung:

D - - - -

- - D - -

- - - - D

- D - - -

- - - D -

dpqueenscyl n

AD, SS 2014, Folien Aussagenlogik, Seite 38, 5. Mai 2014

Page 39: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

n-Damen Problem, Torus-Variante

Fur n = 11 werden 4 Losungen ermittelt undfur n = 13 werden 174 Losungen ermittelt (allerdings nach einer Sym-metrieoptimierung).Eine generische Losung ist (Nr 33.):

D - - - - - - - - - - - -

- - D - - - - - - - - - -

- - - - D - - - - - - - -

- - - - - - D - - - - - -

- - - - - - - - D - - - -

- - - - - - - - - - D - -

- - - - - - - - - - - - D

- D - - - - - - - - - - -

- - - D - - - - - - - - -

- - - - - D - - - - - - -

- - - - - - - D - - - - -

- - - - - - - - - D - - -

- - - - - - - - - - - D -

AD, SS 2014, Folien Aussagenlogik, Seite 39, 5. Mai 2014

Page 40: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Sudoku: Losen mittels DP-Algorithmus

• Texteingabe

• Parser: Texteingabe −→ Klauselmenge aus Units

• Generator: Klauselmenge, die alle Bedingungen beschreibt.

• DP-Lauf

• Interpretation −→ Losung als Text.

AD, SS 2014, Folien Aussagenlogik, Seite 40, 5. Mai 2014

Page 41: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Sudoku: Losen mittels DP-Algorithmus

sudokuex20100419 =

["3--5-4--1",

"-1-----7-",

"--9-1-5--",

"4--3-9--7",

"--3---9--",

"1--8-7--6",

"--5-6-2--",

"-8-----4-",

"2--4-5--9"]

> length (sudokucnf sudokuex20100419)

12016

> sudokuexam20100419loesung = sudokul sudokuex20100419

> sudokuexam20100419trace

> sudokuexam20100419loesung

AD, SS 2014, Folien Aussagenlogik, Seite 41, 5. Mai 2014

Page 42: Aussagenlogik: Syntax von Aussagen - uni-frankfurt.de · 2014. 5. 5. · Aussagenlogik: Semantik Zun achst pro Operation op 2f:;^;_;);,g eine Funktion fop gem aˇ folgender Tabelle.

Sudoku: Losen mittels DP-Algorithmus

> sudokuexam20100419loesung

326574891

514698372

879213564

468329157

753146928

192857436

945761283

681932745

237485619

DP-Rechenzeit: im Sekundenbereichspezialisierte Algorithmen Milli-Sekunden

AD, SS 2014, Folien Aussagenlogik, Seite 42, 5. Mai 2014