Logik. c Javier Esparza und Michael Luttenberger 2018/02/06
|
|
- Damian Boer
- vor 6 Jahren
- Abrufe
Transkript
1 Logik c Javier Esparza und Michael Luttenberger Chair for Foundations of Software Reliability and Theoretical Computer Science Technische Universität München 2018/02/06
2 Logik und Inferenzen 2 Logik ist die Wissenschaft des Schließens. Sie untersucht, welche Inferenzen korrekt sind. Unter Inferenz (oder logischer Schluss) verstehen wir (informell) eine Aussage der Form: Wenn A wahr ist, dann ist auch B wahr. Umgangssprachlich sagen wir auch: Wenn A gilt, dann gilt B Wenn A, dann B A impliziert B A ist die Annahme (Prämisse, Antezedens, Hypothese). B die Konklusion (Konsequenz).
3 Inferenzen 3 Eine korrekte Inferenz, ca Jahre alt: Wenn alle Menschen sterblich sind und Sokrates ein Mensch ist, dann ist Sokrates sterblich Aus der Korrektheit von wenn A, dann B folgt nicht, dass A wahr ist! Wenn die Inferenz korrekt ist, und A wahr ist, dann ist B wahr, mehr wissen wir nicht! Wenn bestochene Ministerpräsidenten ins Gefängnis müssen und Herr Seehofer bestochen wurde, dann muss er ins Gefängnis ist eine korrekte Inferenz.
4 Inferenzen 4 Eine inkorrekte Inferenz: Wenn einige Männer klug sind und alle Fußballer Männer sind, dann sind alle Fußballer klug. Derselbe Fehler, aber versteckt : Wenn einige vererbte Variationen dem Gesetz der Selektion unterliegen und alle menschlichen Unterschiede vererbte Variationen sind, dann unterliegen alle menschlichen Unterschiede dem Gesetz der Selektion.
5 Noch zwei korrekte Inferenzen... 5 Wenn alle Guldräber untreßig und alle Untreßigen filzig sind dann sind alle Guldräber filzig. Diese Inferenz erkennen wir als korrekt, auch wenn wir nicht wissen, was Guldräber, untreßig, oder filzig bedeutet!! Die Inferenz ist eine Instanz von: Wenn (alle X sind Y und alle Y sind Z) dann (alle X sind Z)
6 Noch zwei korrekte Inferenzen... 6 Wenn Anna ein Enkelkind hat dann ist Anna eine Mutter. Die Inferenz kann nur als korrekt erkannt werden, wenn man Wissen über die Bedeutung von Anna, Mutter und Enkelkind hat.
7 Logische Inferenzen 7 Eine logische Inferenz ist eine Inferenz mit Variablen (Platzhalter für Aussagen oder Objekte). Eine logische Inferenz ist korrekt, wenn alle ihre Instanzen korrekt sind. Logiker sagen: die Inferenz ist (allgemein)gültig oder eine Tautologie. Beispiele: Wenn (alle X sind Y und alle Y sind Z) dann (alle X sind Z) ist gültig. Wenn (alle X sind Y) dann (alle Y sind X) ist nicht gültig. Wenn (A und B und (wenn A dann C)) dann (B und C) ist gültig. Die Logik untersucht die gültigen Inferenzen Wie kann man sie (automatisch) erkennen? Welche sind die nützlichsten?
8 Logiken 8 Es gibt zahlreiche Logiken Aussagenlogik, Prädikatenlogik, Temporallogik, deontische Logik... Verschiedene Logiken studieren die gültigen Inferenzen in verschiedenen Sprachfragmenten. Aussagenlogik: und, oder, nicht, wenn... dann Wenn (X und Y) dann Y Syllogistische Logik: und, alle, einige, kein Wenn (alle A sind B und kein B ist ein C ) dann (ist kein A ein C) Temporallogik: und, oder, nicht, heute, morgen, irgendwann, nie,... Wenn (heute A gilt), dann (es war gestern wahr, dass morgen A gelten wird)
9 Logiken 9 In DS zwei Logiken: Aussagenlogik und Prädikatenlogik (erster Stufe) Englisch: propositional logic bzw. first-order logic (FOL) Basis für viele andere Logiken. Aussagenlogik recht erfolgreich, z.b.: Rechnerarchitektur (Boolesche Funktionen), Programmiersprachen (Verzweigungs-,Schleifenbedingungen), Beschreibungssprache (Datenbanken, KI, Verfikation, Synthese)
10 Überblick 10 1 Logik, formale Logik im Allgemeinen 2 Einführung in die Aussagenlogik Syntax Semantik Syntaktischer Zucker Beispiel
11 1 Einführung 2 Aussagenlogik Syntax und Semantik Gültige, widersprüchliche, und erfüllbare Formeln Semantische Äquivalenzumformungen Normalformen Basen DPLL: Davis-Putnam-Logemann-Loveland Resolution 3 Prädikatenlogik
12 Syntax und Semantik
13 Aussagenlogik: Formale Einführung 13 Die Aussagenlogik (wie jede Logik) verwendet eine künstliche Sprache, definiert durch ihre Syntax und ihre Semantik. Die Syntax der Sprache legt durch Regeln fest, welche Zeichenketten wohlgeformte Ausdrücke sind. Die wohlgeformten Ausdrücke einer Logik heißen Formeln. Die Semantik legt die Bedeutung der Formeln fest. Eine formale Semantik ordnet jeden Ausdruck einem mathematischen Objekt zu, welchem als Bedeutung des Ausdrucks interpretiert wird.
14 Aussagenlogik: Syntax 14 Eine formale Syntax besteht aus einem Vokabular und einer Menge von Formationsregeln. Das Vokabular legt fest, welche Zeichen in Ausdrücken vorkommen dürfen Die Formationsregeln legen fest, welche Zeichenketten über dem Vokabular zulässig oder wohlgeformt sind und welche nicht.
15 Syntax: Vokabular und Formationsregeln 15 Das Vokabular setzt sich aus folgenden Zeichenklassen zusammen: Wahrheitskonstanten: true, false Unendliche Menge V von Aussagenvariablen: p, q, r, s, t,... Logische Operatoren:,,, Hilfssymbolen: (, ) Die Formationsregeln sind: Regel 0: true und false sind Formeln. Regel 1: Eine Aussagenvariable ist eine Formel. Regel 2: Ist F eine Formel, dann ist auch F eine Formel. Regel 3: Sind F und G Formeln, dann sind (F G), (F G) und (F G) ebenfalls Formeln. (Regel 4: Ein Ausdruck ist nur dann eine Formel, wenn er durch Anwendung der obenstehenden Regeln konstruiert werden kann. )
16 Syntax: Formationsregeln 16 Die Definitionen kann man kurz schreiben als F ::= true false p F (F F ) (F F ) mit p V was man als Konstruktionvorschrift bzw. rekursives Programm liest. In null Schritten (bzw. Rekursionstiefe 0) lassen sich true und false und alle atomaren Formeln p, q, r,... konstruieren. In einem Schritt konstruiert man z.b.: In zwei Schritten z.b.: Weitere Formeln: p q r (p q) (q p) (p q) (q p)... p (p q) ((p p) r) ( p q)... ((p q) r) ((p (false q)) r) (( p q) (q p))
17 Syntax: Ableitungsbeispiel 17 (1) p Regel 1 (2) q Regel 1 (3) (p q) Regel 3a, (1), (2) (4) (p q) Regel 2, (3) (5) q Regel 2, (2) (6) (q q) Regel 3b, (2), (5) (7) ( (p q) (q q)) Regel 3c, (4), (6)
18 Syntax: Syntaxbaum 18 Die Konstruktion einer Formel stellt man als Syntaxbaum dar. Der Syntaxbaum von true, false und einer atomaren Formel p ist einfach: true false p Der Syntaxbaum einer Formel G ergibt sich aus dem Syntaxbaum T G von G: Der Syntaxbaum einer Formel F = (G H) bzw. F = (G H) bzw. F = (G H) ergibt sich aus den Syntaxbäumen T G, T H von G, H: T G T G T H T G T H T G T H
19 Syntax: Syntaxbaum 19 Bsp.: Syntaxbaum zu (( (p q)) (q r)) q p q r Strikte Klammerung gibt bereits Konstruktion vollständig vor.
20 Syntax: Teilformel 20 Sind F, G aussagenlogische Formeln, so bezeichnet man G als Teilformel von F, wenn G als Zeichenkette vollständig und zusammenhängend in F vorkommt. Alternativ: Der Syntaxbaum zu G ist (isomorph zu) einem Teilbaum von F. Die in F vorkommenden Variablen sind gerade alle atomaren Teilformeln von F. V F bezeichnet die Menge aller in F vorkommenden Variablen. Beispiel: Alle Teilformeln zu F = ((p q) (q r)) p q q (p q) r r r (q r) (q r) ((p q) (q r))
21 Syntax: Bindungsregeln 21 Formeln, die strikt nach der Syntax gebaut sind, können für Menschen schwer zu parsen sein: Zu viele Klammern. Bindungsregeln zur Vereinfachung von Klammerausdrücken Beispiele: bindet stärker als bindet stärker als bindet stärker als p q steht für ( p q), nicht für (p q) p q r steht für ((p q) r), nicht für (p (q r)) p q r s steht für ((p q) (r s)) In den Folien: Weder p q r s noch ((p q) (r s)), sondern (p q) (r s)
22 Aussagenlogik: Semantik (Intuition) 22 Was ist die Bedeutung einer Formel? Die Formel F = (p q) kann in vier Welten ausgewertet werden Welt 1: p und q sind beide wahr. F ist wahr. Welt 2: p ist wahr, q ist falsch. F ist falsch. Welt 3: p ist falsch, q ist wahr. F ist falsch. Welt 4: p ist falsch, q ist falsch. F ist falsch. Die Bedeutung einer Formel ist die Funktion, die jede mögliche Welt dem Wahrheitswert der Formel in dieser Welt zuordnet: 1 (die Formel ist wahr), oder 0 (die Formel ist falsch). Man nennt 1, 0 die Booleschen Werte.
23 Belegungen 23 Def.: Eine Belegung ist eine Funktion β : V {0, 1} mit v V. Die Belegung β : V {0, 1} passt zu einer aussagenlogischen Formel F, falls jede in F vorkommende Variable in V enthalten ist. Eine zu F passende Belegung β : V {0, 1} heißt minimal, falls V = V F gerade die Menge aller in F vorkommenden Variablen ist Def.: Sei F eine aussagenlogische Formel, β eine zu F passende Belegung. Der Wahrheitswert [F ](β) von F unter β ist definiert durch: 1 falls F = true 0 falls F = false β(p) falls F = p für p V [F ](β) := 1 [G](β) falls F = G max{[g](β), [H](β)} falls F = (G H) min{[g](β), [H](β)} falls F = (G H) max{1 [G](β), [H](β)} falls F = (G H)
24 Wahrheitstabellen 24 Die Definition der Funktion [F ] kann mit Hilfe von Wahrheitstabellen visualisiert werden. Die Tabelle gibt den Wahrheitswert der Formel für jede Kombination von Wahrheitswerten der Operanden an. Wahrheitstabellen der Grundoperatoren Negation, Konjuktion, Disjunktion, Implikation: Negation G G Konjunktion G H G H Disjunktion G H G H Implikation G H G H
25 Semantik einer Formel 25 Die Funktion [F ]( ): {0, 1} V {0, 1} ist die Semantik von F. Gilt [F ](β) = 1, so sagt man: F wertet sich unter β zu wahr aus, oder kurz F ist unter β wahr. Gilt [F ](β) = 0, so sagt man: F wertet sich unter β zu falsch aus, oder kurz F ist unter β falsch.
26 Semantik der Implikation 26 Die formale Semantik der Implikation ist sehr unterschiedlich von dem Gebrauch von wenn... dann in der Alltagssprache. p q sagt nicht, dass p eine Ursache für q ist. Pinguine schwimmen Pferde wiehern ist wahr in unserer Welt. p q sagt nichts darüber, ob p wahr oder falsch ist. Frau Merkel wurde bestochen Frau Merkel gehört hinter Gitter ist wahr in unserer Welt. Wenn in einer Welt p falsch ist, dann ist in dieser Welt p q wahr, unabhängig davon, was q sagt. Pinguine fliegen Pferde sprechen ist wahr in unserer Welt. p q sagt nichts darüber, ob p q wahr ist. In der Alltagssprache aus Wenn du brav bist, dann bekommst Du ein Bonbon folgt implizit Wenn Du nicht brav bist, dann bekommst Du kein Bonbon.
27 Implikation: Wahr oder falsch in unserer Welt? =6 Merkel ist Kanzlerin Deutschland ist größer als Spanien die Sonne ist heute aufgegangen Dienstag ist ein Tag der Woche Trump ist ein Pinguin. Der Mond ist aus grünem Käse Frankreich hat einen König
28 Syntaktischer Zucker 28 In der Praxis macht man die Aussagenlogik benutzerfreundlich: Üblicherweise gibt man einfach explizit an, welche Zeichen(ketten) als Variablen im Weitern aufzufassen sind. (Vgl. Variablendeklaration.) Zusätzlich erweitert man die Syntax um weitere Operatorsymbole z.b.: Ausschließendes-Oder:, XOR. Entspricht dem sprachlichen Konstrukt entweder... oder genau einer der beiden Operanden muss wahr sein, die Möglichkeit, dass beide Operanden wahr sind, wird ausgeschlossen. Bikonditional. Entspricht dem sprachlichen Konstrukt genau dann... wenn If-Then-Else-Operator ITE(F, G, H) (der Arität 3). Entspricht dem sprachlichen Konstrukt wenn F, dann G, sonst H
29 Syntaktischer Zucker 29 Und erweitert die Semantik entsprechend für diese neuen Operatoren, hier mittels Warheitstabellen: F G F G F G F G F G H ITE(F, G, H) Allgemein kann jede Wahrheitstabelle als Definition eines Operators aufgefasst werden. Aufgabe: Wieviele mögliche binäre Operatoren gibt es? Und wie viele der Arität n?
30 Berechnung von [F ] für eine gegebene Formel F 30 p q r ((p q) r) r
31 Berechnung von [F ] für eine gegebene Formel F 31 p q r ((p q) r) r
32 Berechnung von [F ] für eine gegebene Formel F 32 p q r ((p q) r) r
33 Berechnung von [F ] mit KV-Diagrammen 33 Sei F eine Formel. Sei B F die Menge aller minimalen Belegungen β : V F {0, 1} von F. Wir nehmen B F als Universum, d.h. X = B F \ X. Für jede Teilformel G von F sei Erf G = {β B F β(g) = 1} (Menge der minimalen Belegungen, die G erfüllen). Für jede Teilformel G von F gilt: Wenn G = G 1 G 2 dann Erf G = Erf G1 Erf G2. Wenn G = G 1 G 2 dann Erf G = Erf G1 Erf G2. Wenn G = H dann Erf G = Erf H. Wenn G = G 1 G 2 dann Erf G = Erf G1 Erf G2. Wenn G = G 1 G 2 dann Erf G = (Erf G1 Erf G2 ) (Erf G1 Erf G2 ). Damit kann die Menge Erf F mit Hilfe eines KV-Diagramms berechnet werden
34 Berechnung von [F ] mit KV-Diagrammen 34 p p q p r p q r q r q r r p p q p (p q) r p q r q r q r ((p q) r) r p q r
35 1 Einführung 2 Aussagenlogik Syntax und Semantik Gültige, widersprüchliche, und erfüllbare Formeln Semantische Äquivalenzumformungen Normalformen Basen DPLL: Davis-Putnam-Logemann-Loveland Resolution 3 Prädikatenlogik
36 Gültige, widersprüchliche, und erfüllbare Formeln
37 Gültige Formeln 37 Eine Formel F ist (allgemein)gültig wenn für jede Belegung β, die zu F passt, gilt: [F ](β) = 1. Intuitiv: eine Formel ist gültig, wenn sie überall ( in allen Welten ) wahr ist. Wir sagen auch: F ist eine Tautologie. Achtung!: Eine Formel ist gültig ist nicht dasselbe wie Eine Formel ist wahr. Lemma: Eine Formel F ist gültig genau dann, wenn für jede minimale Belegung β, die zu F passt, gilt: [F ](β) = 1. Tautologietest: berechne die Wahrheitstabelle und prüfe, ob die Spalte für F ausschließlich Einsen enthält. Beispiele von Tautologien: p p (p q) p (p (q r)) ((p q) (p r)) p (p q) p (q p)
38 Widersprüchliche Formeln 38 Eine Formel F ist widersprüchlich, wenn für jede Belegung β, die zu F passt, gilt: [F ](β) = 0. Intuitiv: eine Formel ist widersprüchlich, wenn sie überall ( in allen Welten ) falsch ist. Wir sagen auch: F ist ein Widerspruch. Achtung!: Eine Formel ist widersprüchlich ist nicht dasselbe wie Eine Formel ist falsch. Lemma: Eine Formel F ist widersprüchlich, wenn für jede minimale Belegung β, die zu F passt, gilt: [F ](β) = 0. Widerspruchstest: berechne die Wahrheitstabelle und prüfe, ob die Spalte für F ausschließlich Nullen enthält. Beispiele von Widersprüchen: p p p (p p) p p
39 Erfüllbare Formeln 39 Eine Formel F ist erfüllbar, wenn es eine Belegung β gibt, die zu F passt, und [F ](β) = 1 erfüllt. Intuitiv: eine Formel ist erfüllbar, wenn sie in mindestens einer Welt wahr ist. Erfüllbarkeitsstest: berechne die Wahrheitstabelle und prüfe, ob die Spalte für F mindestens eine Eins enthält. Beispiele von erfüllbaren, aber nicht gültigen Formeln: p p q p p
40 Aufgabe 40 gültig erfüllbar unerfüllbar p p q p p p p p p p q p (q p) p (p q)
41 Gültige, erfüllbare, und unerfüllbare Formeln 41 Aussagenlogische Formeln teilen sich auf in gültige, unerfüllbare und erfüllbare, aber nicht gültige Formeln. G gültig F F erfüllbar, aber nicht gültig G unerfüllbar F gültig gdw. F unerfüllbar bzw. F unerfüllbar gdw. F gültig F nicht gültig gdw. F erfüllbar bzw. F erfüllbar gdw. F nicht gültig F nicht gültig, aber erfüllbar gdw. F nicht gültig, aber erfüllbar F G gdw. (F G) gültig
42 Das Erfüllbarkeitsproblem SAT 42 Das Erfüllbarkeitsproblem (satisfiability problem, SAT) ist eines der am meisten untersuchten Problemen der ganzen Informatik: Gegeben: Entscheiden: eine aussagenlogische Formel F ob F erfüllbar ist (und, wenn ja, eine erfüllende Belegung finden). Viele Probleme lassen sich auf SAT reduzieren: Äquivalenz von Schaltkreisen, Korrektheit von Programmen, Plannungsprobleme, automatisches Beweisen u.v.m. Auch ein NP-vollständiges Problem. Trotzdem enorme Fortschritte im Bereich der SAT-Solver seit 2000.
43 Modellierung des Sudoku-Problems mit SAT 43 Problem: Gegeben ein Sudoku S, konstruiere eine Formel F S, die folgende (noch nicht formal definierte) Eigenschaft erfüllt: Eine minimale, zu F S passender Belegung, macht F S wahr, genau dann, wenn sie die Lösung des Sudokus entspricht
44 Modellierung des Sudoku-Problems mit SAT 44 Aussagenlogische Variablen: {X Y Z X, Z, S [9]} Bedeutung von X Z,S ( intended meaning ): Auf dem Feld Z, S liegt die Zahl X. Anforderungen: Jede Zahl kommt in jeder Zeile vor. Jede Zahl kommt in jeder Spalte vor. Jede Zahl kommt im jedem Quadrat vor. Jedes Feld enthält höchstens eine Zahl (!)
45 Modellierung des Sudoku-Problems mit SAT 45 Jede Zahl kommt in jeder Zeile vor Formel für Zahl X kommt in Zeile Z vor : (X 1,Z X 2,Z X 9,Z ) Formel für Zahl X kommt in jede Zeile vor : 9 (X 1,Z X 2,Z X 9,Z ) Z=1 Formel für Jede Zahl kommt in jede Zeile vor : 9 9 (X 1,Z X 2,Z X 9,Z ) X=1 Z=1
46 Modellierung des Sudoku-Problems mit SAT 46 Jede Zahl kommt in jeder Spalte vor 9 9 (X Z,1 X Z,2 X Z,9 ) X=1 Z=1 Jede Zahl kommt im jedem Quadrat vor ( ( 9 3 ) ( 3 3 ) ( 6 3 ) 9 X Z,S X Z,S X Z,S X=1 ( Z=1 S=1 Z=1 S=4 Z=1 S=7 6 ) ( 3 6 ) ( 6 6 ) 9 X Z,S X Z,S X Z,S ( Z=4 S=1 Z=4 S=4 Z=4 S=7 9 ) ( 3 9 ) ( 6 9 ) ) 9 X Z,S X Z,S X Z,S Z=7 S=1 Z=7 S=4 Z=9 S=7
47 Modellierung des Sudoku-Problems mit SAT 47 Jedes Feld enthält höchstens eine Zahl Formel für Feld Z, S enthält nicht X und Y : (X Z,S Y Z,S ) Formel für Feld Z, S enthält höchstens eine Zahl : 9 X=1 9 Y = 1 Y X (X Z,S Y Z,S ) Formel für Jedes Feld enthält höchstens eine Zahl : Z=1 S=1 X=1 Formel für die Anfangskonfiguration: 9 Y = 1 Y X 4 1,1 9 1, ,9 (X Z,S Y Z,S )
48 Modellierung des Sudoku-Problems mit SAT 48 Sei F S die Formel, die aus der Konjuktion der Formeln für die Anforderungen und für die Anfangskonfiguration. In F S kommen 729 (9 3 ) Variablen vor. Eine Belegung β dieser Variablen entspricht eine Lösung des Sudokus genau dann, wenn [F S ](β) = 1. Wenn das Sudoku wohlformuliert ist, dann hat F S genau eine erfüllende Belegung. SAT-Solver benutzen, um eine erfüllende Belegung (und damit Zuteilung) zu finden.
49 Noch ein Beispiel Gegeben Stud Menge von Studierenden VL Menge der Vorlesungen Grp v Menge der Übungsgruppen zu Vorlesung v Start Menge der Startzeiten für Übungsgruppen Ziel: Ordne jedem Studenten eine Übungsgruppe jeder der VL zu, ohne dass es zu einem Terminkonflikt kommt (wenn denn möglich). Anforderungen: Jeder Student wird für jede VL einer Gruppe zugeordnet. Kein Student hat einen Terminkonflikt
50 Aussagenlogik: Modellierung mit SAT 50 Aussagenvariablen: Variable Bedeutung ( intended meaning ) Z s,v,g B v,g,t Student s wird für die VL v der Gruppe g zugeordnet Gruppe g zu VL v beginnt um t Anforderung: Jeder Student wird für jede VL einer Gruppe zugeordnet. Anforderung: Kein Student hat einen Terminkonflikt.
51 Logische Äquivalenz 51 Zwei Formeln F und G sind logisch äquivalent (symbolisch: F G) genau dann, wenn für jede Belegung β, die zu F und zu G passt, gilt: [F ](β) = [G](β). Intuitiv: wenn F und G äquivalent sind, dann sind sie zwei verschiedene Schreibweisen der selben Aussage. Lemma: Sei V F,G die Menge der Variablen, die in F oder G vorkommen. F und G sind äquivalent genau dann, wenn für jede Belegung β : V F,G {0, 1} gilt: [F ](β) = [G](β). Äquivalenztest: Konstruiere die Wahrheitstabelle von F G und prüfe, ob die Spalte für F G ausschliesschlich Einsen enthält.
52 Aufgabe 52 F G Gilt F G? p (p q) p Ja (p q) ( p q) p Nein p (q r) (p q) r Nein p (q r) (p q) (p r) Ja
53 Aussagenlogik: Logische Inferenzen 53 Eine logische Inferenz ist eine Formel der Gestalt F G. Dabei ist F die Annahme und G die Konklusion. Eine logische Inferenz ist korrekt wenn sie gültig ist. Notation: F = G (in Worten: G folgt aus F ) bezeichnet, dass F G gültig ist. Oft schreibt man F 1,..., F n = G statt F 1 F n = G. Achtung! In der Alltagssprache haben G folgt aus F und F impliziert G oft dieselbe Bedeutung. In dieser Vorlesung F impliziert G bezeichnet die Formel F G. G folgt aus F bezeichnet, dass die Formel F G gültig ist.
54 Aufgabe 54 F G F = G? p p q Ja p p q Nein p, q p q Ja p, q p q Ja p q p Ja p q p Nein p (p q) q Ja
55 Einige Beziehungen 55 F ist gültig (eine Tautologie) genau dann, wenn F ist ein Widerspruch. F true true = F (Notation: = F ) F ist ein Widerspruch genau dann, wenn F ist gültig. F false F = false F G gilt, genau dann, wenn F G ist eine Tautologie
56 1 Einführung 2 Aussagenlogik Syntax und Semantik Gültige, widersprüchliche, und erfüllbare Formeln Semantische Äquivalenzumformungen Normalformen Basen DPLL: Davis-Putnam-Logemann-Loveland Resolution 3 Prädikatenlogik
57 Semantische Äquivalenzumformungen
58 Äquivalenzumformungen 58 Bereits bekannt: Umformen von arithmetischen oder mengentheoretischen Termen (Ausdrücken) unter Verwendung von Assoziativität, Kommutativität, Distributivität,... Beispiel: Für x, y R: ( Schul )Beweis: (x 3 + x 2 y + xy 2 + y 3 )(x y) = (x 4 y 4 ) (x 3 + x 2 y + xy 2 + y 3 )(x y) = x 4 + x 3 y + x 2 y 2 + xy 3 x 3 y x 2 y 2 xy 3 y 4 = x 4 y 4 Verwendet ein Distributivgesetz: für beliebige Ausdrücke e, f, g gilt e(f g) = ef eg.
59 Äquivalenzumformungen 59 Beispiel: Für x, y R (x 3 + x 2 y + xy 2 + y 3 )(x y) = (x 4 y 4 ) Wenn = nur für dieselbe Zeichenkette verwendet werden dürfte, dann wäre die Behauptung falsch. Die Bedeutung von = ist jedoch: Egal mit welchen reellen Zahlen man x und y ersetzt (belegt), die so gewonnen arithmetischen Ausdrücke werten sich (unter der üblichen Interpretation von + und ) zu derselben reellen Zahl aus. Vergleiche mit F G für aussagenlogische Formeln F, G: Unter jeder zu F und G passenden Belegung β werten sich beide Formeln zum selben Wahrheitswert aus, kurz [F ](β) = [G](β).
60 Äquivalenzen 60 Standardäquivalenzen I: Für beliebige aussagenlogische Formeln F, G, H gilt: (F F ) F (Idempotenz) (F F ) F (F G) (G F ) (Kommutativität) (F G) (G F ) ((F G) H) (F (G H)) (Assoziativität) ((F G) H) (F (G H)) (F (F G)) F (Absorption) (F (F G)) F (F (G H)) ((F G) (F H)) (Distributivität) (F (G H)) ((F G) (F H))
61 Äquivalenzen 61 Standardäquivalenzen II: Für beliebige aussagenlogische Formeln F, G, H gilt: F F (Doppelnegation) (F G) ( F G) (demorgan) (F G) ( F G) (F F ) false (Triviale Kontradiktion) (F F ) true (Triviale Tautologie) (F false) false (Dominanz) (F true) true (F true) F (Identität) (F false) F
62 Äquivalenzen 62 Standardäquivalenzen III: Für beliebige aussagenlogische Formeln F, G, H gilt: (F G) ( F G) (Implikation) (F G) ((F G) (G F )) (Bikonditional) (F G) (F G) ((F G) ( F G)) (XOR) ((F G) ( F G)) Bemerkung: Häufig verwendet man diese Äquivalenzen auch, um direkt Implikation, Bikonditional und XOR zu definieren. Die Äquivalenz für die Implikation ist extrem nützlich!
63 Äquivalenzen 63 Beachte: Die Äquivalenzen gelten für beliebige aussagenlogische Formeln. Vergleiche: Distributivitätsgesetz auf R x(y + z) = xy + xz gilt natürlich auch noch, wenn man x := (z + 5) 2, y := (u v), z = u + 3 durch beliebige arithmetische Ausdrücke ersetzt: (z + 5) 2 ((u v) + (u + 3)) = (z + 5) 2 (u v) + (z + 5) 2 (u + 3) Ganz analog für aussagenlogische Formeln. Instanziieren von (F F ) F mit F := (p (q r)): ((p (q r)) (p (q r)) ) (p (q r)) }{{}}{{}}{{} =:F =:F =:F
64 Beweis von Standardäquivalenzen 64 Nach Behauptung muss z.b. (F (F G)) F für beliebige Formeln F, G gelten. Also auch für Instanz mit F := p und G := q, d.h. für (p (p q)) q Überprüft man einfach mittels Wahrheitstafel (oder KV-Diagramm): p q (p (p q)) Alle Standardäquivalenzen lassen sich mittels Wahrheitstafeln sehr einfach überprüfen, da maximal drei aussagenlogische Variablen. Warum reicht es, die Äquivalenzen für atomare Formeln F := p, G := q, H := r zu überprüfen? Deckt bereits alle möglichen Kombinationen von Wahrheitswerten [F ](β), [G](β), [H](β) unter jeder passenden Belegung β ab egal welche Formeln F, G, H konkret sind.
65 Äquivalenzumformungen 65 Äquivalenzumformung: Ersetzen einer Teilformel F von F durch eine zu F äquivalente Formel G um eine neue Formel G zu gewinnen. Notation: G = F [G /F ]. Äquivalenzumformungen macht man bei arithmetischen Ausdrücken ganz automatisch. Für den Beweis von geht man folgendermaßen vor: (x + (y (z z))) = x 1 Ersetze (z z) durch 0, da (z z) R 0: (x + (y (z z))) R (x + (y 0)) 2 Ersetze (y 0) durch 0, da (y 0) R 0: (x + (y 0)) R (x + 0) 3 Ersetze (x + 0) durch x, da (x + 0) R x: (x + 0) R x
66 Äquivalenzumformungen 66 Dass man semantisch äquivalente (Teil-)Formeln rein syntaktisch gegeneinander austauschen darf, bezeichnet man in der Aussagenlogik als Ersetzbarkeitstheorem: Seien F, G, H aussagenlogische Formeln mit F G und F eine Teilformel von H. Sei H eine aussagenlogische Formel, welche aus H entsteht, indem man ein beliebiges Vorkommen von F in H durch G ersetzt. Dann gilt H H. ist eine Kongruenz auf den aussagenlogischen Formeln: eine Äquivalenzrelation, für die das Ersetzbarkeitstheorem gilt. Ersetzbarkeitstheorem erlaubt Nebenrechnungen, wie von arithmetischen Ausdrücken gewohnt. Vereinfache in Nebenrechnung erst eine Teilformel mittels Äquivalenzumformungen.
67 Äquivalenzumformungen: Beispiel 67 (p (p q)) (p ( p q)) mit ((p p) (p q)) mit (false (p q)) mit ((p q) false) mit (p q) mit
68 Äquivalenzumformungen: Noch ein Beispiel 68 ((p q) ( p r) (s s)) (q r) ((p q) ( p r) true) (q r) mit F F true ((p q) ( p r)) (q r) mit F true F ((p q) ( p r)) (q r) mit F G F G ( (p q) ( p r)) (q r) mit (F G) F G ( p q) ( p r) q r mit (F G) F G ( p q) (p r) q r mit F F ( p q) q (p r) r mit F G G F (( p q) ( q q)) ((p r) ( r r)) mit (F G) H (F H) (G H) (( p q) true) ((p r) true) mit F F true p q p r mit F true F p p q r mit F G G F true q r mit F F true true mit true F true
69 Äquivalenzumformungen 69 Wann zeigt man F G mittels Wahrheitstafeln, wann mittels Äquivalenzumformungen? Wahrheitstafeln für Menschen bis maximal 5 Variablen noch praktikabel. Wie viele Variablen für Computer möglich? Für V F = n, z.b. V F = {A 1, A 2,..., A n }, muss man 2 n Belegungen auswerten. Annahme: 1ms zum Auswerten von F pro Belegung (Länge egal). In einer Minute Belegungen; maximal 15 Variablen. In einer Stunde 86, Belegungen; maximal 26 Variablen. In einem Jahr 31, Belegungen; maximal 34 Variablen. Äquivalenzumformungen daher ab spätestens 5 Variablen meist der bessere Ansatz, um Äquivalenzen zu zeigen.
70 1 Einführung 2 Aussagenlogik Syntax und Semantik Gültige, widersprüchliche, und erfüllbare Formeln Semantische Äquivalenzumformungen Normalformen Basen DPLL: Davis-Putnam-Logemann-Loveland Resolution 3 Prädikatenlogik
71 Normalformen
72 KNF und DNF Normalformen 72 Normalform: Form ( Schablone ) für Formeln mit der Eigenschaft, dass es für jede Formel F eine Formel G F dieser Form gibt,. Notation: Die Menge der Literale ist {p, p p V } Eine Formel F ist in disjunktiver Normalform (DNF), falls F folgende Struktur hat: m m i i=1 j=1 wobei L i,j {p, p p V F } Literale. Eine Formel F ist in konjunktiver Normalform (KNF), falls F folgende Struktur hat: m m i i=1 j=1 wobei L i,j {p, p p V F } Literale. L i,j L i,j
73 KNF und DNF Normalformen 73 Eine Formel in DNF: (p q) ( p q r) q. Eine Formel in KNF: (p q) ( p q r) q. Eine DNF-Formel ist erfüllbar gdw. mindestens ein Konjunkt erfüllbar ist. Führt zu einem effizienten Algorithmus für Erfüllbarkeit von DNF-Formeln. Eine KNF-Formel ist gültig gdw. alle Disjunkte gültig sind. Führt zu einem effizienten Algorithmus für Gültigkeit von KNF-Formeln.
74 DNF 74 Satz: Für jede Formel F gibt es eine Formel G in DNF mit F G. Beweis: Folgendes Verfahren berechnet die Formel G: 1,, auflösen, d.h. mittels Äquivalenzen bzw. Definitionen durch,, ausdrücken. 2 mittels demorgan und Doppelnegation im Syntaxbaum soweit nach unten schieben, bis jedes nur noch an eine Variable bindet. 3 Mittels Distributivität von über (F (G H)) ((F G) (F H)) Formeln ausmultiplizieren, bis DNF erreicht. ( wandert im Syntaxbaum nach oben, nach unten.) Liefert Formeln D F F.
75 DNF Beispiele 75 F = ((p q) r) ((p q) r) (( p q) r) ( ( p q) r) (( p q) r) ((p q) r) G := (p (q r)) (p (q r) (p ( q r)) ( p ( q r)) ( p q r) =: D G =: D F Normalform für eine Äquivalenklasse von Formeln nicht eindeutig, z.b. p (p q) (p q)
76 Kanonische DNF 76 Brute-force Bestimmung einer kanonischen Formel in DNF für F : Notation: Ist p eine aussagenlogische Variable, so ist p 1 := p das positive Literal von p, und p 0 := p das negative Literal von A. 1 Stelle Wahrheitstafel zu F auf. 2 Bestimme alle minimalen erfüllenden Belegungen von F. 3 Für jede minimale erfüllende Belegung β, bilde die Konjunktion p V F p β (p) Beispiel: (p q r) wenn V F = {p, q, r} und β(p) = 1, β(q) = 0, β(r) = 0. (Die Konjunktion hat genau eine erfüllende minimale Belegung: β.) 4 Bilde die Disjunktion über alle diese Konjunktionen. Meist kürzere DNF mittels Äquivalenzen oder KV-Diagramm.
77 Kanonische DNF 77 Beispiel: If-Then-Else-Operator Wahrheitstafel: DNF: ITE(p, q, r) := ((p q) ( p r)) p q r ((p q) ( p r)) ITE(p, q, r) D F =
78 Kanonische DNF 78 Beispiel: If-Then-Else-Operator Wahrheitstafel: ITE(p, q, r) := ((p q) ( p r)) p q r ((p q) ( p r)) DNF: ITE(p, q, r) D F = ( p q r) ( p q r) (p q r) (p q r)
79 KNF 79 Satz: Für jede Formel F gibt es eine Formel G in KNF mit F G. Beweis: Vertausche und in dem Verfahren für die Berechnung einer Formel in DNF (Schritte 1 und 2 ändern sich nicht). Brute-force Bestimmung von kanonischer KNF : Stelle Wahrheitstafel zu F auf. Bestimme alle minimalen nicht-erfüllenden Belegungen von F. Für jede minimale nicht-erfüllende Belegung β, bilde die Disjunktion p V F p (1 β(p)) Beispiel: ( p q r) wenn V F = {p, q, r} und β(p) = 1, β(q) = 0, β(r) = 0. (Die Disjunktion hat genau eine nicht-erfüllende minimale Belegung: β.) Bilde die Konjunktion über alle diese Disjunktionen. Intuition: die KNF sagt : β 1 ist keine erfüllende Belegung und β 2 ist keine erfüllende Belegung und...
80 Kanonische DNF 80 Beispiel: If-Then-Else-Operator Wahrheitstafel: ITE(p, q, r) := ((p q) ( p r)) p q r ((p q) ( p r)) KNF: ITE(p, q, r) K F = (p q r) (p q r) ( p q r) ( p q r)
81 KNF nützlicher als DNF 81 Viele Formeln aus der Praxis sind in KNF (oder fast in KNF): Eine Menge von Anforderungen wird durch eine Konjunktion von Formeln modelliert. Daher in der Praxis KNF häufiger verwendet als DNF. Für jede Formel F gibt es eine zu F erfüllbarkeitsäquivalente Formel G in KNF, die nicht viel länger als F ist. Das ist für viele Anwendungen wichtig. F e G kurz für erfüllbarkeitsäquivalent, d.h. es gibt eine erfüllende Belegung β F für F genau dann, wenn es eine erfüllende Belegung β G für G gibt. Beachte: β F muss nicht zu G passen, und β G nicht zu F! Beispiel: F = (p 1 p 2 ) (p 3 p 4 )... (p 2k 1 p 2k ) KNF zu F besteht aus 2 k verschiedenen Klauseln, ist exponentiell länger als F. Erfüllbarkeitsäquivalente Formel mittels Hilfsvariablen wird nur um konstanten Faktor länger.
82 Aufstellen einer KNF-Formel erfüllbarkeitsäquivalent zu F 82 Sei T F die Menge aller Teilformeln von F (mit F T F ). Führe für jede Teilformel G T F eine neue Hilfsvariable q G ein. Falls G atomar, setze q G := G, ansonsten sei q G eine noch nicht verwendete Variable. Definiere für jede Teilformel G T F eine Formel K G wie folgt: Wenn G = p, dann sei K G := p Wenn G = H, dann sei K G in KNF mit K G (q G q H). Wenn G = (H op H ), dann sei K G in KNF mit K G (q G (q H op q H )). Definiere E F := q F K G. G T F Es gilt: F e E F. Intuition: E F sagt gerade aus, dass alle Hilfsvariablen q G den Wahrheitswerten der zugeordneten Teilformeln G entsprechen und zusätzlich F selbst erfüllt sein soll (vgl. z = uy u = x 2 mit z = x 2 y).
83 Aufstellen einer KNF-Formel erfüllbarkeitsäquivalent zu F : Beispiel 83 Gegeben F = (p 1 p 2) (p 3 p 4). Einführen der Hilfsvariablen für die Teilformeln führt auf: q 0 (q 0 (q 1 q 2)) (q 1 (p 1 p 2)) (q 2 (p 3 p 4)) Für KNF müssen nur noch die Formeln (q 0 (q 1 q 2)), (q 1 (p 1 p 2)) und (q 2 (p 3 p 4)) unabhängig von einander in KNF überführt werden. Jede dieser Formeln ist über maximal 3 Variablen, minimale KNF kann maximal 4 Klauseln besitzen. Führt auf: E F := q 0 ( q 0 q 1 q 2) (q 0 q 1) (q 0 q 2) (q 1 p 1 p 2) ( q 1 p 1) ( q 1 p 2) (q 2 p 3 p 4) ( q 2 p 3) ( q 2 p 4) Jede erfüllende Belegung von E F ist erfüllende Belegung von F ; jede erfüllende Belegung von F lässt sich zu erfüllender, aber auch unerfüllender Belegung von E F erweitern: F e E F, F E F!
84 1 Einführung 2 Aussagenlogik Syntax und Semantik Gültige, widersprüchliche, und erfüllbare Formeln Semantische Äquivalenzumformungen Normalformen Basen DPLL: Davis-Putnam-Logemann-Loveland Resolution 3 Prädikatenlogik
85 Basen
86 Operator-Basis 86 Konsequenz aus kanonischer DNF: Zu jeder Wahrheitstafel lässt sich eine Formel in DNF konstruieren, d.h. zu jeder beliebigen Booleschen Funktion f : {0, 1} n {0, 1} gibt es eine Formel F in DNF mit V F = {p 1, p 2,..., p n }, so dass ( ) [F ](β) = f β(p 1 ), β(p 2 ),..., β(p n ) für jede zu F passende Belegung β. Mit,, lässt sich jede Boolesche Funktion/jeder beliebige n-stellige Junktor beschreiben. Wir sagen: {,, } bildet eine (Operator-)Basis der Aussagenlogik bzw. {,, } ist eine vollständige Menge von Operatoren.
87 Operator-Basis 87 Wichtig für Prozessoren: Muss nur {,, } physikalisch realisieren. Noch wichtiger: Die Mengen { } und { } sind vollständig. (F G) := (F G) (NAND) (F G) := (F G) (NOR) Beachte: beide nicht assoziativ. Folgt für { } z.b. aus: F (F F ) (F G) ((F F ) (G G)) (F G) ((F G) (F G)) Damit sind auch {, }, {, }, {, } und {, false} vollständig. { } und {, } sind z.b. nicht vollständig.
88 1 Einführung 2 Aussagenlogik Syntax und Semantik Gültige, widersprüchliche, und erfüllbare Formeln Semantische Äquivalenzumformungen Normalformen Basen DPLL: Davis-Putnam-Logemann-Loveland Resolution 3 Prädikatenlogik
89 DPLL: Davis-Putnam-Logemann-Loveland
90 DPLL: Davis-Putnam-Logemann-Loveland 90 Grundlage der meisten aktuell verwendeten Löser für das Erfüllbarkeistproblem der Aussagenlogik (kurz: SAT). Gegeben: eine aussagenlogische Formel F. Entscheide: ob F erfüllbar ist. Anwendungen: Viele Optimierungsproblem, aber auch Programme mit endlichem Variablenbereich, lassen sich sehr einfach mittels Aussagenlogik beschreiben (siehe Übungen). Beschreibungen sind häufig schon in KNF, ansonsten erfüllbarkeitsäquivalente Formel in KNF verwenden. SAT-Solver häufig besser als Neuentwicklungen problemspezifischer Algorithmen.
91 Klauseldarstellung von KNF-Formeln 91 Eine Klausel ist eine Disjunktion von Literalen. Beispiele: (p q), (p q r), p Eine Klausel wird durch die Menge ihrer Literale dargestellt, z.b. Die Menge {p, q, r} stellt die Klausel (p q r) dar. Die leere Menge von Literalen stellt die Formel false dar. Beachte: p (p p) und (p q) (q p) folgen automatisch aus {p, p} = {p} und {p, q} = {q, p}. Eine KNF-Formel wird durch die Menge ihrer Klauseln (genauer: die Menge der Darstellungen ihrer Klauseln) dargestellt. Die Klauselmenge {{ p}, {p, q, r}} stellt die Formel p (p q r) dar. Die leere Menge von Klauseln stellt die Formel true dar.
92 DPLL: Davis-Putnam-Logemann-Loveland 92 Basisidee: Fallunterscheidung zzgl. Aufräumen Gegeben F in KNF, fixiere beliebige Variable x in F Für die Übungen wird meistens vorgegeben, in welcher Reihenfolge die Variablen zu überprüfen sind, um Lösung zu vereinheitlichen! Bestimme F 1 := F [x := true], d.h. ersetze jedes Vorkommen von x in F durch true; dann räume auf mittels der Äquivalenzen (links durch rechts ersetzen): true G true true G G true false false G G false G false false true und überprüfe, ob F 1 erfüllbar ist; falls ja, fertig, ansonsten selbes Spiel mit F 0 := F [x := false] Beispiel: F = ((p q r) ( p q s)) F 1 := F [p := true] = (q s) F 0 := F [p := false] = (q r) F 0/1 hat mindestens eine Variable weniger als F ; sobald Formel keine Variablen mehr hat, ist Erfüllbarkeit direkt ablesbar.
93 DPLL: Davis-Putnam-Logemann-Loveland 93 Klauselmengendarstellung erlaubt sehr einfache Implementierung: Die Klauselmenge zu F [x := true] erhält man, indem man zunächst alle Klauseln verwirft, die x als Element enthalten, und aus den verbleibenden Klauseln jeweils x entfernt: K F [x:=true] = {C \ { x} C K F, x C}. Entsprechend: K F [x:=false] = {C \ {x} C K F, x C}. Beispiel: K F = {{p, q, r}, { p, q, s}} K F [p:=true] = {{q, s}} K F [p:=false] = {{q, r}} In Klauselmengendarstellung sind die einzigen Formeln ohne Variablen gerade {} (leere Klauselmenge, nichts zu erfüllen, trivial erfüllt) und { {} } (Klauselmenge mit leerer Klausel, unerfüllbar).
94 DPLL: Basisversion 94 Basiversion: Gegeben Klauselmenge K, totale Ordnung auf den Variablen Falls {} K, gib unerfüllbar zurück. Falls K =, gib erfüllbar zurück. Ansonsten fixiere die bzgl. erste in K vorkommende Variable x. Prüfe rekursiv, ob {C \ { x} C K, x C} erfüllbar ist; falls ja, gib erfüllbar zurück; ansonsten gib Ergebnis der Rekursion zu {C \ {x} C K, x C} zurück.
95 DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.
96 DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.
97 DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.
98 DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.
99 DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.
100 DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.
101 DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.
102 DPLL: Davis-Putnam-Logemann-Loveland 95 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} p := true {{q, r, s}, { q, r, s}, {r}, { s}} q := false q := true p := false {{ q, r, s}, {r}} q := true {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}, { s}} r := true r := false {{ r, s}, {r}} r := true {{s}, { s}} {{}, { s}} {{s}, { s}} s := false s := true s := true {{}, { s}} s := false s := true {{s}} {{}} {{}} {{}} {{}} {} Variablenordnung im Beispiel: lexikographisch Gute Variablenordnung zu finden genauso schwierig, wie erfüllende Belegung zu finden. In der Basisversion macht DPLL sehr viele unnötige Fallunterscheidungen.
103 DPLL: Davis-Putnam-Logemann-Loveland 96 Sei K Klauselmenge, L Literal. Erweiterungen, um unnötige Fallunterscheidungen zu vermeiden: OLR: one-literal rule Falls {L} K, dann muss L von jeder erfüllenden Belegung von K auf wahr gesetzt werden. Daher reicht es K := {C \ {L} L C C K} weiter zu betrachten. PLR: pure-literal rule Falls nur L in den Klauseln von K auftritt, aber L nicht, dann kann man obda L auf true setzen (Beweis?!), d.h. es reicht K := {C L C C K} weiter zu betrachten. Erweiterter DPLL: Höchste Priorität OLR, dann PLR, dann erst Fallunterscheidung.
104 DPLL: Algorithmus 97 DPLL: Gegeben Klauselmenge K, totale Ordnung auf den Variablen Falls {} K, gib unerfüllbar zurück. Falls K =, gib erfüllbar zurück. Falls OLR anwendbar, wähle bzgl. erstes Literal L mit {L} K; gib Ergebnis der Rekursion zu {C \ {L} L C, C K} zurück. Falls PLR anwendbar, wähle bzgl. erstes Literal L mit {C K L C} = ; gib Ergebnis der Rekursion zu {C L C, C K} zurück. Ansonsten fixiere die bzgl. erste in K vorkommende Variable x. Prüfe rekursiv, ob {C \ { x} C K, x C} erfüllbar ist; falls ja, gib erfüllbar zurück; ansonsten gib Ergebnis der Rekursion zu {C \ {x} C K, x C} zurück. zzgl. caching, um selbe Klauselmenge nicht mehrmals zu untersuchen.
105 DPLL: Davis-Putnam-Logemann-Loveland 98 {{ p, q, r, s}, { q, r, s}, {r}, { p, s}, { p, r}} OLR r := true {{ p, q, s}, { q, s}, { p, s}} PLR p := false {{ q, s}} PLR q := false {} Mit PLR und OLR lassen sich in diesem Beispiel alle Fallunterscheidungen vermeiden. Alle in der Praxis verwendeten SAT-Solver verwenden weitere Heuristiken, wie conflict-driven clause learning, und effiziente Datenstrukturen für die Operationen auf den Klauselmengen, um so Formeln mit mehreren tausend Variablen verarbeiten zu können.
106 DPLL: Evaluierung 99 Auf Erfüllbarkeit gerichtet: Wenn die Formel erfüllbar ist, dann kann DPLL früh terminieren. DPLL berechnet eine erfüllende Belegung, wenn es eine gibt. Die erfüllende Belegung kann als Zertifikat von Erfüllbarkeit verwendet werden. Erfüllbare Formel haben kurze Zertifikate: erfüllende Belegung nie länger als die Formel selbst. Wir beschreiben nun ein zweites Verfahren, dass auf Unerfüllbarkeit gerichtet ist: Resolution. Wenn die Formel unerfüllbar ist, dann kann Resolution früh terminieren. Resolution berechnet ein Zertifikat von Unerfüllbarkeit. Für einige Formeln ist der Zertifikat jedoch exponentiell länger als dier Formel selbst. Alle bekannte Verfahren haben dieses Problem.
107 1 Einführung 2 Aussagenlogik Syntax und Semantik Gültige, widersprüchliche, und erfüllbare Formeln Semantische Äquivalenzumformungen Normalformen Basen DPLL: Davis-Putnam-Logemann-Loveland Resolution 3 Prädikatenlogik
108 Resolution
109 Wissensrepresentation 102 Wissensrepresentation mit Hilfe von Logik ist eine wichtige Technik der KI. Wissen über die Welt (Beziehungen, Empfehlungen, Anweisungen) werden mit Hilfe von Implikationen F G dargestellt (Regeln). Wenn der Kunde minderjährig ist, dann darf er kein Alkohol kaufen. Wenn der Kunde verheiratet ist und Kinder hat, dann soll eine Lebensversichrung empfohlen werden. Wenn Block A eine Kugel und Block B ein Würfel ist, dann darf Block A nicht auf Block B gestellt werden. Eine Wissenbasis ist eine Konjunktion von Regeln. Frage: Gegeben eine Wissenbasis W, eine Konjunktion von Fakten F, und ein Ziel G, folgt G aus W F, d.h., gilt W F = G? Gilt G in allen Welten, in denen W und F gelten? Äquivalente Frage: Ist die Formel W F G unerfüllbar?
110 Beispiel Wissenbasis: ( q p) s, r (p s), r s Fakten: p Ziel: q KNF für W F G in Klauselmengendarstellung: {q, p, s} { r, p, s} {r, s} {p} { q}
111 Resolution 104 Grundidee: füge iterativ neue Klauseln zur Formel hinzu, die logische Konsequenzen der ursprunglichen Klauseln sind. Beispiel: wenn die Formel die Klauseln { p, q, r} und { r, s, t} enthält, dann kann die Klausel { p, q, s, t) hinzugefügt werden. Die Klauseln { p, q, r}, { r, s, t}, und { p, q, s, t) sind äquivalent zu (p q) r r (s t) (p q) (s t) und es gilt (Transitivität der Implikation): oder (p q) r, r (s t) = (p q) (s t) ((p q) r) (r (s t)) ((p q) r) (r (s t)) ((p q) (s t)) Somit: Hinzufügen der neuen Klausel ändert die Formel nicht, macht nur implizites Wissen explizit. (Vgl. transitiver Abschluss für Relationen.)
112 Resolution 105 Beispiel: wenn die Formel Klauseln {p} und { p} enthält, dann kann die leere Klausel hinzugefügt werden. Die Klauseln sind äquivalent zu p p false false Das Hinzufügen der leeren Klausel zeigt die Unerfüllbarkeit von W F G, denn in diesem Fall (W F G) (W F G) false false
113 Resolution: Resolvent zweier Klauseln 106 Def.: Resolventenbildung Für L Literal, K 1, K 2 Klauseln mit L K 1, L K 2 gilt: wobei L das Literal mit L L ist. K 1, K 2 = (K 1 \ {L}) (K 2 \ {L}) }{{} Resolvent Graphische Darstellung: (Immer genau ein Literal!) { p, q, r} { r, s, t} { p, q, s, t}
114 Resolution 107 Die leere Klausel wird bei der Resolution auch mit bezeichnet. Die leere Klausel kann nur durch {p} { p} entstehen, was dem trivialen Widerspruch p p false entspricht. Ziel jeder Resolution: leere Klausel resolvieren aus ursprünglicher Klauselmenge.
115 Resolution in Klauselmengendarstellung 108 Basisversion der Resolution: Gegeben eine Klauselmenge F, fügt man iterativ (ohne nachzudenken) alle möglichen Resolventen hinzu: Res 0 (F ) := F Res k+1 (F ) := Res k (F ) {(K 1 \ {L}) (K 2 \ {L}) K 1, K 2 Res k (F ), L K 1, L K 2 } Res (F ) := Res k (F ) k N 0 Insbesondere muss man hierfür nicht wissen, was Aussagenlogik ist, sondern nur mit Mengen umgehen können. In der Praxis hört man auf, sobald man resolviert hat. Verschiedene Strategien, um möglichst schnell/intelligent zu resolvieren.
116 Resolution 109 Resolution in Pseudocode: def Res (F ): # F als Menge von Klauseln todo := F neu := while todo : for K 1 todo: todo := todo - {K 1 } for K 2 F : for L K 1 : if L K 2 : R := (K 1 \ {L}) (K 2 \ {L}) if R F : F := F {R} neu := neu {R} if R = : return F todo := neu neu := return F
117 Resolution: Suche nach der leeren Klausel 110 { q, s} { p, q, s} {p} {r, s} { p, r, s} { p, s} {q, s} { r, s} { p, s} {s} {q, r} { s} { r, s} {} { r}
118 Resolution: Eine optimale Suche 111 { q, s} { p, q, s} {p} {r, s} { p, r, s} { p, s} {q, s} { r, s} { p, s} {s} {q, r} { s} { r, s} {} { r}
119 Resolution: Noch ein Beispiel 112 { q, p, r} {q, p, r} {r, q, p} {q, r, p} {q, p, r} {p, q, r} {p, r, q} {q, p, r} { p, r} {r, p} {p, r} {p, r} { r} {r} {}
120 Resolution: Eigenschaften 113 Theorem: Sei F eine Formel in Klauselmengendarstellung/KNF. Dann gilt: 1 Res (F ) terminiert immer. 2 Res (F ) F. 3 Res (F ) genau dann, wenn F false. Es folgt: Das Resolutionverfahren entscheidet für jede gegebene Formel F, ob F erfüllbar oder unerfüllbar ist. Beweis des Theorems: 1 Nur Klauseln über den ursprünglichen Variablen erzeugt werden, davon gibt es aber nur endlich viele (2 2 V F ). 2 Nur logische Folgerungen werden hinzugefügt. 3 (a) Wenn Res (F ) dann F false: Folgt aus (G false false). (b) Wenn F false, dann Res (F ): siehe die nächsten Folien.
121 Resolution: Eigenschaften 114 Wir zeigen: Wenn F false, dann Res (F ). Sei F false. Beweis durch Induktion über die Anzahl n der Variablen von F. Induktionsbasis: n = 0. Es gilt F {}, denn sonst F true. Es folgt F = { } und Res (F ) = { }. Induktionsschritt: Fixiere beliebiges n N 0 : Induktionsannahme: Für alle Formeln G mit n Variablen und G false gilt Res (G). Induktionsbehauptung: Für alle Formeln F mit n + 1 Variablen und F false gilt Res (F ). Beweis der Induktionsbehauptung: Sei F false mit n + 1 Variablen. Aus dem Lemma folgt: F [p := true] und F [p := false] haben n Variablen und erfüllen F [p := true] false und F [p := false] false. Aus der Induktionsannahme mit jeweils G := F [p := true] und G := F [p := false] folgen: Res (F [p := true]) und Res (F [p/false]. Wir zeigen Res (F ) anhand eines Beispiels.
122 Resolution: Eigenschaften 115 F = { { q, s}, { p, q, s}, {p}, {r, s}, { p, r, s} } Resolutionsgraphen für F [s := true] und F [s := false] induktiv konstruieren. F [s/true] = { {p}, {r}, { p, r} } F [s/false] = { { q}, { p, q}, {p} } {p} {r} { p, r} { q} {q, p} {p} { r} {q} {}
123 Resolution: Eigenschaften 116 s und s wieder einführen. F = { { q, s}, { p, q, s}, {p}, {r, s}, { p, r, s} } { q} { p, q} {p} {p} {r} { p, r} {q} { r} { q, s} { p, q, s} {p} {p} {r, s} { p, r, s} {q, s} { r, s} {s} { s}
Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4
Syntax der Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Eine atomare Formel hat die Form A i (wobei i = 1, 2, 3,...). Definition (Formel)
MehrWS 2009/10. Diskrete Strukturen
WS 29/ Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws9
MehrÜbung 4: Aussagenlogik II
Übung 4: Aussagenlogik II Diskrete Strukturen im Wintersemester 2013/2014 Markus Kaiser 8. Januar 2014 1/10 Äquivalenzregeln Identität F true F Dominanz F true true Idempotenz F F F Doppelte Negation F
MehrLogik für Informatiker
Logik für Informatiker 2. Aussagenlogik Teil 6 14.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Syntax der Aussagenlogik: Definition der Menge
MehrI. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.
I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten
MehrDiskrete Strukturen Kapitel 2: Grundlagen (Beweise)
WS 2014/15 Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_14
MehrTU5 Aussagenlogik II
TU5 Aussagenlogik II Daniela Andrade daniela.andrade@tum.de 21.11.2016 1 / 21 Kleine Anmerkung Meine Folien basieren auf den DS Trainer von Carlos Camino, den ihr auf www.carlos-camino.de/ds findet ;)
MehrBeispiel Aussagenlogik nach Schöning: Logik...
Beispiel Aussagenlogik nach Schöning: Logik... Worin besteht das Geheimnis Ihres langen Lebens? wurde ein 100-jähriger gefragt. Ich halte mich streng an die Diätregeln: Wenn ich kein Bier zu einer Mahlzeit
MehrResolutionsalgorithmus
112 Resolutionskalkül Mit dem Begriff Kalkül bezeichnet man eine Menge von syntaktischen Umformungsregeln, mit denen man semantische Eigenschaften der Eingabeformel herleiten kann. Für den Resolutionskalkül:
MehrFormalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:
Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem: 4 4 4 4 4 1 1 1 1 2 2 3 3 5 5 5 5 5 5 6 6 6 7 7 8 8 9 9 9 9 9 8 6 Verwenden Sie dazu eine atomare Formel A[n, x, y] für jedes Tripel (n,
Mehr3. Grundlegende Begriffe von Logiken - Aussagenlogik
3. Grundlegende Begriffe von Logiken - Aussagenlogik Wichtige Konzepte und Begriffe in Logiken: Syntax (Signatur, Term, Formel,... ): Festlegung, welche syntaktischen Gebilde als Formeln (Aussagen, Sätze,
MehrErsetzbarkeitstheorem
Ersetzbarkeitstheorem Die Abgeschlossenheit läßt sich auch folgendermaßen formulieren: Ersetzbarkeitstheorem Seien F und G Formeln mit F G. SeienH und H Formeln, so daß H aus H hervorgeht, indem ein Vorkommen
MehrLogik für Informatiker
Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:
MehrFormale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015
Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015 Teil 3: Logik 1 Aussagenlogik Einleitung Eigenschaften Äquivalenz Folgerung Normalformen 2 Prädikatenlogik Wenn eine Karte
MehrVorsemesterkurs Informatik
Vorsemesterkurs Informatik Vorsemesterkurs Informatik Mario Holldack WS2015/16 30. September 2015 Vorsemesterkurs Informatik 1 Einleitung 2 Aussagenlogik 3 Mengen Vorsemesterkurs Informatik > Einleitung
MehrLogic in a Nutshell. Christian Liguda
Logic in a Nutshell Christian Liguda Quelle: Kastens, Uwe und Büning, Hans K., Modellierung: Grundlagen und formale Methoden, 2009, Carl Hanser Verlag Übersicht Logik - Allgemein Aussagenlogik Modellierung
MehrFakultät für Informatik Universität Magdeburg Jürgen Dassow. Vorbemerkungen
Vorbemerkungen if (x > y) z = x; else z = y; Wenn es blaue Tiger regnet, dann fressen alle Kirschbäume schwarze Tomaten. q(1) = 1, q(i) = q(i 1) + 2i 1 für i 2 Welchen Wert hat q(6)? 24 ist durch 2 teilbar.
MehrAussagenlogik. Aussagen und Aussagenverknüpfungen
Aussagenlogik Aussagen und Aussagenverknüpfungen Aussagen sind Sätze, von denen sich sinnvollerweise sagen läßt, sie seien wahr oder falsch. Jede Aussage besitzt also einen von zwei möglichen Wahrheitswerten,
MehrVorlesung Logik Wintersemester 2012/13 Universität Duisburg-Essen
Vorlesung Logik Wintersemester 2012/13 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume & Dr. Sander Bruggink Barbara König Logik 1 (Motivation) Wir benötigen Algorithmen für Erfüllbarkeitstests,
MehrHilbert-Kalkül (Einführung)
Hilbert-Kalkül (Einführung) Es gibt viele verschiedene Kalküle, mit denen sich durch syntaktische Umformungen zeigen läßt, ob eine Formel gültig bzw. unerfüllbar ist. Zwei Gruppen von Kalkülen: Kalküle
MehrKapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln
Kapitel 1.3 Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln Mathematische Logik (WS 2011/12) Kapitel 1.3: Normalformen 1/ 29 Übersicht
MehrTeil 7. Grundlagen Logik
Teil 7 Grundlagen Logik Was ist Logik? etymologische Herkunft: griechisch bedeutet Wort, Rede, Lehre (s.a. Faust I ) Logik als Argumentation: Alle Menschen sind sterblich. Sokrates ist ein Mensch. Also
MehrKapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1
Kapitel 1.0 Aussagenlogik: Einführung Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1 Ziele der Aussagenlogik In der Aussagenlogik analysiert man die Wahrheitswerte zusammengesetzter
MehrAussagenlogik Prädikatenlogik erster Stufe. Logik. Logik
Grundzeichen Aussagenlogik Aussagenvariablen P, Q, R,... Junktoren nicht und oder Runde Klammern (, ) Formeln Aussagenlogik Formeln sind spezielle Zeichenreihen aus Grundzeichen, und zwar 1 Jede Aussagenvariable
MehrAlgorithmen für OBDD s. 1. Reduziere 2. Boole sche Operationen
Algorithmen für OBDD s 1. Reduziere 2. Boole sche Operationen 1 1. Reduziere siehe auch M.Huth und M.Ryan: Logic in Computer Science - Modelling and Reasoning about Systems, Cambridge Univ.Press, 2000
MehrInformationsverarbeitung auf Bitebene
Informationsverarbeitung auf Bitebene Dr. Christian Herta 5. November 2005 Einführung in die Informatik - Informationsverarbeitung auf Bitebene Dr. Christian Herta Grundlagen der Informationverarbeitung
MehrGrundlagen der Theoretischen Informatik
FH Wedel Prof. Dr. Sebastian Iwanowski GTI22 Folie 1 Grundlagen der Theoretischen Informatik Sebastian Iwanowski FH Wedel Kap. 2: Logik, Teil 2.2: Prädikatenlogik FH Wedel Prof. Dr. Sebastian Iwanowski
MehrLogik (Teschl/Teschl 1.1 und 1.3)
Logik (Teschl/Teschl 1.1 und 1.3) Eine Aussage ist ein Satz, von dem man eindeutig entscheiden kann, ob er wahr (true, = 1) oder falsch (false, = 0) ist. Beispiele a: 1 + 1 = 2 b: Darmstadt liegt in Bayern.
MehrMathematik für Informatiker I
Mathematik für Informatiker I Mitschrift zur Vorlesung vom 19.10.2004 In diesem Kurs geht es um Mathematik und um Informatik. Es gibt sehr verschiedene Definitionen, aber für mich ist Mathematik die Wissenschaft
MehrNormalformen boolescher Funktionen
Normalformen boolescher Funktionen Jeder boolesche Ausdruck kann durch (äquivalente) Umformungen in gewisse Normalformen gebracht werden! Disjunktive Normalform (DNF) und Vollkonjunktion: Eine Vollkonjunktion
MehrEinführung in die Logik. Sommersemester Juli 2010 Institut für Theoretische Informatik
Einführung in die Logik Jiří Adámek Sommersemester 2010 14. Juli 2010 Institut für Theoretische Informatik Inhaltsverzeichnis 1 Einleitung: Logische Systeme 4 I Aussagenlogik 6 2 Aussagenlogik 7 2.i Syntax
MehrMathematik-Vorkurs für Informatiker Aussagenlogik 1
Christian Eisentraut & Julia Krämer www.vorkurs-mathematik-informatik.de Mathematik-Vorkurs für Informatiker Aussagenlogik 1 Aufgabe 1. (Wiederholung wichtiger Begriffe) Notieren Sie die Definitionen der
MehrBinary Decision Diagrams (Einführung)
Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von
MehrInformatik A (Autor: Max Willert)
2. Aufgabenblatt Wintersemester 2012/2013 - Musterlösung Informatik A (Autor: Max Willert) 1. Logik im Alltag (a) Restaurant A wirbt mit dem Slogan Gutes Essen ist nicht billig!, das danebenliegende Restaurant
Mehr3.0 VU Formale Modellierung
3.0 VU Formale Modellierung Gernot Salzer 11.10.2011 1 Organisatorisches Verschiebung der Vorlesung: Vorlesung am Dienstag, 18.10.2011, 13:00 16:00, entfällt. Ersatz: Mittwoch, 19.10.2011, 15:00 18:00,
MehrLogische und funktionale Programmierung
Logische und funktionale Programmierung Vorlesung 2: Prädikatenkalkül erster Stufe Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. Oktober 2016 1/38 DIE INTERPRETATION
MehrBrückenkurs Mathematik
Brückenkurs Mathematik 6.10. - 17.10. Vorlesung 1 Logik,, Doris Bohnet Universität Hamburg - Department Mathematik Mo 6.10.2008 Zeitplan Tagesablauf: 9:15-11:45 Vorlesung Audimax I 13:00-14:30 Übung Übungsräume
MehrRechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik
Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik WS 2013/14 Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 21. Oktober 2013 1/33 1 Boolesche
MehrKapitel L:II. II. Aussagenlogik
Kapitel L:II II. Aussagenlogik Syntax der Aussagenlogik Semantik der Aussagenlogik Eigenschaften des Folgerungsbegriffs Äquivalenz Formeltransformation Normalformen Bedeutung der Folgerung Erfüllbarkeitsalgorithmen
MehrKapitel 1.3. Normalformen aussagenlogischer Formeln. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1
Kapitel 1.3 Normalformen aussagenlogischer Formeln Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1 Boolesche Formeln, Literale und Klauseln Eine Boolesche Formel ist eine aussagenlogische
MehrMathematik-Vorkurs für Informatiker Aussagenlogik 1
Christian Eisentraut & Julia Krämer www.vorkurs-mathematik-informatik.de Mathematik-Vorkurs für Informatiker Aussagenlogik 1 Aufgabe 1. (Wiederholung wichtiger Begriffe) Kategorie 1 Notieren Sie die Definitionen
MehrLogik. Markus Lohrey. Wintersemester 2012/2013. Universität Leipzig. Markus Lohrey (Universität Leipzig) Logik Wintersem.
Logik Markus Lohrey Universität Leipzig Wintersemester 2012/2013 Markus Lohrey (Universität Leipzig) Logik Wintersem. 2012/2013 1 / 214 Organisatorisches zur Vorlesung Informationen finden Sie unter z.
MehrErfüllbarkeit und Allgemeingültigkeit
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ
MehrLogik-Grundlagen. Syntax der Prädikatenlogik
Logik-Grundlagen X 1 :...: X k : ( A 1 A 2... A m B 1 B 2... B n ) Logische und funktionale Programmierung - Universität Potsdam - M. Thomas - Prädikatenlogik III.1 Syntax der Prädikatenlogik Prädikat:
MehrBisher. minimale DNF. logischen Formeln Booleschen Funktionen Schaltungen
Bisher Klassische Aussagenlogik (Syntax, Semantik) semantische Äquivalenz von Formeln äquivalentes Umformen von Formeln (syntaktisch) Normalformen: NNF, DNF, CNF, kanonische DNF und CNF Ablesen kanonischer
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.
MehrLogik. Markus Lohrey. Sommersemester Universität Siegen. Markus Lohrey (Universität Siegen) Logik Sommersem / 299
Logik Markus Lohrey Universität Siegen Sommersemester 2014 Markus Lohrey (Universität Siegen) Logik Sommersem. 2014 1 / 299 Organisatorisches zur Vorlesung Informationen finden Sie unter z. B. http://www.eti.uni-siegen.de/ti/lehre/ss14/logik/
MehrLogik Teil 1: Aussagenlogik. Vorlesung im Wintersemester 2010
Logik Teil 1: Aussagenlogik Vorlesung im Wintersemester 21 Aussagenlogik Aussagenlogik behandelt die logische Verknüpfung von Aussagen mittels Junktoren wie und, oder, nicht, gdw. Jeder Aussage ist ein
MehrLogik Teil 1: Aussagenlogik
Aussagenlogik Aussagenlogik behandelt die logische Verknüpfung von Aussagen mittels Junktoren wie und, oder, nicht, gdw. Logik Teil : Aussagenlogik Jeder Aussage ist ein Wahrheitswert (wahr/falsch) zugeordnet
Mehr5. Aussagenlogik und Schaltalgebra
5. Aussagenlogik und Schaltalgebra Aussageformen und Aussagenlogik Boolesche Terme und Boolesche Funktionen Boolesche Algebra Schaltalgebra Schaltnetze und Schaltwerke R. Der 1 Aussagen Information oft
MehrLogik für Informatiker
Vorlesung Logik für Informatiker 7. Aussagenlogik Analytische Tableaus Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Der aussagenlogische Tableaukalkül
MehrKlassische Aussagenlogik
Eine Einführung in die Logik Schon seit Jahrhunderten beschäftigen sich Menschen mit Logik. Die alten Griechen und nach ihnen mittelalterliche Gelehrte versuchten, Listen mit Regeln zu entwickeln, welche
MehrZusammenfassung des Stoffes zur Vorlesung Formale Systeme
Zusammenfassung des Stoffes zur Vorlesung Formale Systeme Max Kramer 13. Februar 2009 Diese Zusammenfassung entstand als persönliche Vorbereitung auf die Klausur zur Vorlesung Formale Systeme von Prof.
MehrBinäre Suchbäume (binary search trees, kurz: bst)
Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.
MehrFormeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur
Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die
MehrGrundlagen der diskreten Mathematik
Grundlagen der diskreten Mathematik Prof. Dr. Romana Piat WS 25/6 Allgemeine Informationen Vorlesungen:./C Zug D (Mi., 3. Block + Do., 4. Block, y-raster) Zug E (Di., 5. Block + Do.,. Block, y-raster)
MehrMathematische Logik. Grundlagen, Aussagenlogik, Semantische Äquivalenz. Felix Hensel. February 21, 2012
Mathematische Logik Grundlagen, Aussagenlogik, Semantische Äquivalenz Felix Hensel February 21, 2012 Dies ist im Wesentlichen eine Zusammenfassung der Abschnitte 1.1-1.3 aus Wolfgang Rautenberg s Buch
MehrBoolesche Algebra. Hans Joachim Oberle. Vorlesung an der TUHH im Wintersemester 2006/07 Montags, 9:45-11:15 Uhr, 14täglich TUHH, DE 22, Audimax 2
Universität Hamburg Department Mathematik Boolesche Algebra Hans Joachim Oberle Vorlesung an der TUHH im Wintersemester 2006/07 Montags, 9:45-11:15 Uhr, 14täglich TUHH, DE 22, Audimax 2 http://www.math.uni-hamburg.de/home/oberle/vorlesungen.html
MehrGrundlagen der Informationverarbeitung
Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,
MehrMusterbeispiele: Aussagenlogik (Lösung)
Musterbeispiele: Aussagenlogik (Lösung) 3.0 VU Formale Modellierung Lara Spendier, Gernot Salzer WS 2011 Aufgabe 1 Gegeben seien die folgenden Aussagen: A: Es ist eiskalt. B: Es schneit. Drücken Sie die
MehrSS2010 BAI2-LBP Gruppe 1 Team 07 Entwurf zu Aufgabe 4. R. C. Ladiges, D. Fast 10. Juni 2010
SS2010 BAI2-LBP Gruppe 1 Team 07 Entwurf zu Aufgabe 4 R. C. Ladiges, D. Fast 10. Juni 2010 Inhaltsverzeichnis 4 Aufgabe 4 3 4.1 Sich mit dem Programmpaket vertraut machen.................... 3 4.1.1 Aufgabenstellung.................................
MehrSemantic Web Technologies I!
www.semantic-web-grundlagen.de Semantic Web Technologies I! Lehrveranstaltung im WS11/12! Dr. Elena Simperl! DP Dr. Sebastian Rudolph! M.Sc. Anees ul Mehdi! www.semantic-web-grundlagen.de Logik Grundlagen!
MehrII. Grundlagen der Programmierung
II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123
MehrAussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen
Prädikatenlogik 1. Stufe (kurz: PL1) Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen notwendig: Existenz- und Allaussagen Beispiel: 54 Syntax der Prädikatenlogik erster Stufe (in der
MehrAlgorithmen für Hornlogik
Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik Lebniz Universität Hannover Jing Liu Algorithmen für Hornlogik Studienarbeit 2010 1 Einleitung Die Aussagenlogik ist der Bereich der Logik,
MehrKlausur zur Vorlesung Mathematische Logik
Universität Heidelberg 13. Februar 2014 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl.-Math. Thorsten Kräling Klausur zur Vorlesung Mathematische Logik Musterlösung Aufgabe 1 (Aussagenlogik
MehrEiniges zu Resolutionen anhand der Aufgaben 6 und 7
Einiges zu Resolutionen anhand der Aufgaben 6 und 7 Es gibt eine Fülle von verschiedenen Resolutionen. Die bis jetzt behandelten möchte ich hier noch ein Mal kurz erläutern. Ferner möchte ich noch auf
MehrGrundlagen der Kognitiven Informatik
Grundlagen der Kognitiven Informatik Wissensrepräsentation und Logik Ute Schmid Kognitive Systeme, Angewandte Informatik, Universität Bamberg letzte Änderung: 14. Dezember 2010 U. Schmid (CogSys) KogInf-Logik
MehrKonjunktive und disjunktive Normalformen
Konjunktive und disjunktive Normalformen Nachdem gesprochen wurde, wie man Boolesche Terme unter einer Belegung der Variablen interpretiert und dass somit jeder Boolesche Term eine Boolesche Funktion repräsentiert,
Mehrder einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr
Kapitel 2 Grundbegriffe der Logik 2.1 Aussagen und deren Verknüpfungen Eine Aussage wie 4711 ist durch 3 teilbar oder 2 ist eine Primzahl, die nur wahr oder falsch sein kann, heißt logische Aussage. Ein
MehrVorlesung. Einführung in die mathematische Sprache und naive Mengenlehre
Vorlesung Einführung in die mathematische Sprache und naive Mengenlehre Allgemeines RUD26 Erwin-Schrödinger-Zentrum (ESZ) RUD25 Johann-von-Neumann-Haus Fachschaft Menge aller Studenten eines Institutes
MehrDer Sequenzenkalkül. Charakterisierung der logischen Schlussfolgerung: Sequenzenkalkül für die Prädikatenlogik
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.6 Prädikatenlogik ohne Gleichheit Der Sequenzenkalkül 138 Der Sequenzenkalkül Charakterisierung der logischen Schlussfolgerung: Sequenzenkalkül
MehrWeitere Beweistechniken und aussagenlogische Modellierung
Weitere Beweistechniken und aussagenlogische Modellierung Vorlesung Logik in der Informatik, HU Berlin 2. Übungsstunde Aussagenlogische Modellierung Die Mensa versucht ständig, ihr Angebot an die Wünsche
MehrVorlesung. Logik und Diskrete Mathematik
Vorlesung Logik und Diskrete Mathematik (Mathematik für Informatiker I) Wintersemester 2008/09 FU Berlin Institut für Informatik Klaus Kriegel 1 Literatur zur Vorlesung: C. Meinel, M. Mundhenk, Mathematische
MehrMengen. Eigenschaften. Spezielle Mengen (1) Prominente Mengen. ! Mengenzugehörigkeit
Mengen! Definition (Intuitive Mengenlehre) Eine Menge ist die Zusammenfassung von Elementen unserer Anschauung zu einem wohldefinierten Ganzen. (Georg Cantor)! Notation 1. Aufzählung aller Elemente: {
MehrDie Folgerungsbeziehung
Kapitel 2: Aussagenlogik Abschnitt 2.1: Syntax und Semantik Die Folgerungsbeziehung Definition 2.15 Eine Formel ψ AL folgt aus einer Formelmenge Φ AL (wir schreiben: Φ = ψ), wenn für jede Interpretation
MehrKapitel 1. Grundlagen Mengen
Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig
MehrEinführung Grundbegriffe
Einführung Grundbegriffe 1.1 Der Modellbegriff Broy: Informatik 1, Springer 1998 (2) Die Modellbildung der Informatik zielt auf die Darstellung der unter dem Gesichtspunkt einer gegebenen Aufgabenstellung
Mehrmathe plus Aussagenlogik Seite 1
mathe plus Aussagenlogik Seite 1 1 Aussagenlogik 1.1 Grundbegriffe Def 1 Aussage Eine Aussage ist ein beschriebener Sachverhalt, dem eindeutig einer der Wahrheitswerte entweder wahr oder falsch zugeordnet
MehrWas bisher geschah: klassische Aussagenlogik
Was bisher geschah: klassische Aussagenlogik klassische Aussagenlogik: Syntax, Semantik Äquivalenz zwischen Formeln ϕ ψ gdw. Mod(ϕ) = Mod(ψ) wichtige Äquivalenzen, z.b. Doppelnegation-Eliminierung, DeMorgan-Gesetze,
MehrKapitel 1. Grundlagen
Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig
MehrSS April Übungen zur Vorlesung Logik Blatt 1. Prof. Dr. Klaus Madlener Abgabe bis 27. April :00h
SS 2011 20. April 2011 Übungen zur Vorlesung Logik Blatt 1 Prof. Dr. Klaus Madlener Abgabe bis 27. April 2011 10:00h 1. Aufgabe: [strukturelle Induktion, Übung] Zeigen Sie mit struktureller Induktion über
MehrAussagen (und damit indirekt auch Aussagesätze) können wahr oder falsch sein. Wahr und falsch sind Wahrheitswerte von Aussagen.
2 Aussagenlogik (AL) 2 Aussagenlogik (AL) 2. Wahrheitsfunktionale Konnektoren [ Gamut 28-35, Partee -6 ] Nur Aussagesätze, d.h. Deklarativ-, nicht aber Frage- oder Aufforderungssätze bringen das Zutreffen
Mehr1 Einführung Aussagenlogik
1 Einführung Aussagenlogik Denition 1. Eine Aussage ist ein Aussagesatz, der entweder wahr oder falsch ist. Welche der folgenden Sätze ist eine Aussage? 3+4=7 2*3=9 Angela Merkel ist Kanzlerin Stillgestanden!
MehrKapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls
Kapitel 1.5 Ein adäquater Kalkül der Aussagenlogik Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Mathematische Logik (WS 2012/13) Kapitel 1.5: Kalküle 1/30 Syntaktischer
MehrGrundkurs Logik - 2. Einheit
19. Oktober 2012 Logische Form Um die logische Form eines Argumentes (bzw. der Behauptungssätze, aus denen es aufgebaut ist) ersichtlich zu machen, sind zwei Dinge besonders wichtig: Logische Form Um die
MehrSudoku. Warum 6? Warum 6?
. / Sudoku Füllen Sie die leeren Felder so aus, dass in jeder Zeile, in jeder Spalte und in jedem x Kästchen alle Zahlen von bis stehen.. / Warum?. / Warum?. / Geschichte der Logik Syllogismen (I) Beginn
MehrLogik: aussagenlogische Formeln und Wahrheitstafeln
FH Gießen-Friedberg, Sommersemester 2010 Lösungen zu Übungsblatt 1 Diskrete Mathematik (Informatik) 7./9. April 2010 Prof. Dr. Hans-Rudolf Metz Logik: aussagenlogische Formeln und Wahrheitstafeln Aufgabe
MehrWas bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion
Was bisher geschah Daten, Information, Wissen explizites und implizites Wissen Wissensrepräsentation und -verarbeitung: Wissensbasis Kontextwissen Problemdarstellung fallspezifisches Wissen repräsentiert
Mehr3.0 VU Formale Modellierung
3.0 VU Formale Modellierung Gernot Salzer AB Theoretische Informatik und Logik Institut für Computersprachen 14.10.2014 1 Was Sie letztes Mal hörten 1. Organisatorisches 2. Was bedeutet Modellierung? 3.
MehrSE PHILOSOPHISCHE LOGIK WS 2014 GÜNTHER EDER
SE PHILOSOPHISCHE LOGIK WS 2014 GÜNTHER EDER FORMALE SPRACHEN Wie jede natürliche Sprache, hat auch auch jede formale Sprache Syntax/Grammatik Semantik GRAMMATIK / SYNTAX Die Grammatik / Syntax einer formalen
MehrBrückenkurs Mathematik. Dienstag Freitag
Brückenkurs Mathematik Dienstag 29.09. - Freitag 9.10.2015 Vorlesung 2 Mengen, Zahlen, Logik Kai Rothe Technische Universität Hamburg-Harburg Mittwoch 30.09.2015 Mengen.................................
MehrVorlesung Logik Wintersemester 2015/16 Universität Duisburg-Essen. Wer sind wir? Barbara König Übungsleitung: Dennis Nolte, Dr.
Vorlesung Logik Wintersemester 2015/16 Universität Duisburg-Essen Barbara König Übungsleitung: Dennis Nolte, Dr. Harsh Beohar Barbara König Logik 1 Barbara König Logik 2 Wer sind wir? Das heutige Programm:
MehrLogik Vorlesung 6: Resolution
Logik Vorlesung 6: Resolution Andreas Maletti 28. November 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen Weitere Eigenschaften
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 7: Einführung Aussagenlogik schulz@eprover.org Logisches Schließen 2 gold +1000, 1 per step, Beispiel: Jage den Wumpus Performance measure death 1000 10
MehrZusammenfassung der Vorlesung. Mathematische Logik. Bodo von der Heiden Letzte Aktualisierung: 2. Februar 2005
Zusammenfassung der Vorlesung Mathematische Logik Bodo von der Heiden Letzte Aktualisierung: 2. Februar 2005 Zeitraum der Vorlesung: WS 2004/2005 Professor: Prof. Grädel Diese Zusammenfassung erhebt keinen
MehrTU8 Beweismethoden. Daniela Andrade
TU8 Beweismethoden Daniela Andrade daniela.andrade@tum.de 12.12.2016 1 / 21 Kleine Anmerkung Meine Folien basieren auf den DS Trainer von Carlos Camino, den ihr auf www.carlos-camino.de/ds findet ;) 2
MehrDiskrete Strukturen Kapitel 2: Grundlagen (Relationen)
WS 2016/17 Diskrete Strukturen Kapitel 2: Grundlagen (Relationen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16
MehrParadoxien der Replikation
Joachim Stiller Paradoxien der Replikation Alle Rechte vorbehalten Paradoxien Die Paradoxien (Wiki) Hier einmal Auszüge aus dem Wiki-Artikel zum Begriff Paradoxon Ein Paradox(on) (auch Paradoxie, Plural
MehrVorkurs Mathematik für Informatiker Aussagenlogik -- Thomas Huckle Stefan Zimmer Matous Sedlacek,
Vorkurs Mathematik für Informatiker -- 4 ussagenlogik -- Thomas Huckle Stefan Zimmer Matous Sedlacek, 7..2 ussagenlogik Rechnen mit Wahrheitswerten: oder, oder Objekte, die wir untersuchen, sind jetzt
Mehr