3.0 VU Formale Modellierung

Ähnliche Dokumente
3.0 VU Formale Modellierung

3.0 VU Formale Modellierung

3.0 VU Formale Modellierung

Aussagenlogik. (MAF2) MAF(I, t) = t und MAF(I, f ) = f. Die Semantik aussagenlogischer Formeln ist durch die Funktion

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/25

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2.

Logische Äquivalenz. Definition Beispiel 2.23

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

Aufgabe. Gelten die folgenden Äquivalenzen?. 2/??

Syntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch

Logik für Informatiker

Logik für Informatiker

3.0 VU Formale Modellierung

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Was bisher geschah: klassische Aussagenlogik

Jeder Aussage p kann ein Wahrheitswert W(p) {0, 1} zugeordnet werden. Beispiele: W(Es regnet.) =? (je nach Lage der Dinge) W(Die Straße ist naß.) =?

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen

Logik für Informatiker

FORMALE SYSTEME. 22. Vorlesung: Äquivalenzen und Normalformen. TU Dresden, 11. Januar Markus Krötzsch Professur für Wissensbasierte Systeme

Beispiel Aussagenlogik nach Schöning: Logik...

TU9 Aussagenlogik. Daniela Andrade

Allgemeingültige Aussagen

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln

Grundlagen der Logik

FORMALE SYSTEME. 10. Januar Aussagenlogik. Logische Schlussfolgerung. Happy 80th Birthday, Don Knuth!

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

Zusammenfassung Syntax: Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln. Zusammenfassung

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015

Logik für Informatiker

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Logik für Informatiker

Ersetzbarkeitstheorem

Was bisher geschah: klassische Aussagenlogik

Logik Vorlesung 3: Äquivalenz und Normalformen

Logic in a Nutshell. Christian Liguda

Einführung in die Theoretische Informatik

Logik für Informatiker

Übung 4: Aussagenlogik II

Diskrete Strukturen. Sebastian Thomas RWTH Aachen Mathematische Logik

Logik Vorlesung 5: Grundlagen Resolution

Definition (Modus Ponens) Wenn A, dann B. A gilt Also, gilt B

Was bisher geschah. wahr 0 t 1 falsch 0 f 0 Konjunktion 2 min Disjunktion 2 max Negation 1 x 1 x Implikation 2 Äquivalenz 2 =

Zusammenfassung der letzten LVA. Einführung in die Theoretische Informatik. Syntax der Aussagenlogik. Inhalte der Lehrveranstaltung

Kapitel 1. Aussagenlogik

Logik für Informatiker Logic for computer scientists

Zusammenfassung der letzten LVA. Einführung in die Theoretische Informatik. Syntax der Aussagenlogik. Inhalte der Lehrveranstaltung

Aussagenlogik: Syntax von Aussagen

Geschichte der Logik ist eng verknüpft mit (Sprach-) Philosophie. Logik untersucht, wie aus wahren Aussagen andere wahre Aussagen folgen

Künstliche Intelligenz Logische Agenten & Resolution

b= NaN

Musterbeispiele: Aussagenlogik (Lösung)

Logik. Logik. Vorkurs Informatik Theoretischer Teil WS 2013/ September Vorkurs Informatik - Theorie - WS2013/14

WS 2014/15 Diskrete Strukturen Kapitel 2: Grundlagen (Aussagenlogik 1)

WS 2015/16 Diskrete Strukturen Kapitel 2: Grundlagen (Aussagenlogik 1)

1. Übungsblatt (mit Lösungen) 3.0 VU Formale Modellierung

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

Logik für Informatiker Logic for computer scientists

Logik (Prof. Dr. Wagner FB AI)

Grundbegriffe für dreiwertige Logik

Übung 15. Zeige, dass man jede Formel äquivalent in eine neue Formel umwandeln kann, die nur die Operatoren und! verwendet.

Logik Vorlesung 4: Horn-Logik und Kompaktheit

3. Grundlegende Begriffe von Logiken - Aussagenlogik

TU5 Aussagenlogik II

Was ist Logik? Was ist Logik? Logische Konnektoren. Aussagenlogik. Logik stellt Sprachen zur Darstellung von Wissen zur Verfügung

Geschichte der Logik ist eng verknüpft mit (Sprach-) Philosophie. Logik untersucht, wie aus wahren Aussagen andere wahre Aussagen folgen

Logik für Informatiker

Logik (Teschl/Teschl 1.1 und 1.3)

Was bisher geschah: klassische Aussagenlogik

3.0 VU Formale Modellierung

Normalformen. Aussagenlogik. Aussagenlogik

Grundlagen der Programmierung

3. Logik 3.1 Aussagenlogik

FORMALE SYSTEME. 23. Vorlesung: Logisches Schließen. TU Dresden, 16. Januar Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

1.1 Motivation. Theorie der Informatik. Theorie der Informatik. 1.1 Motivation. 1.2 Syntax. 1.3 Semantik. 1.4 Formeleigenschaften. 1.

Kapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln

Kapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1

23. Vorlesung: Logisches Schließen Markus Kr otzsch Professur f ur Wissensbasierte Systeme Normalformen

Aussagenlogik. Aussagen und Aussagenverknüpfungen

Geschichte der Logik ist eng verknüpft mit (Sprach-) Philosophie. Begriff Logik wird im Alltag vielseitig verwendet

THEORETISCHE INFORMATIK UND LOGIK

Klauselmengen. Definition Sei

Logik für Informatiker

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Vorbemerkungen

Aussagenlogik. Formale Methoden der Informatik WiSe 2012/2013 teil 6, folie 1

Theorie der Informatik

Einführung in die Logik (Vorkurs)

THEORETISCHE INFORMATIK UND LOGIK

f ist sowohl injektiv als auch surjektiv.

3.0 VU Formale Modellierung

Was ist Logik? Was ist Logik? Logische Konnektoren. Aussagenlogik. Geschichte der Logik ist eng verknüpft mit (Sprach-) Philosophie

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert, WS 2017/2018

Transkript:

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. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 2

Organisatorisches 1 tiss.tuwien.ac.at 2 tuwel.tuwien.ac.at 3 Infos zu Ablauf und Organisation (in TUWEL) 3

Was Sie letztes Mal hörten 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 4

Die Logik untersucht allgemeine Prinzipien korrekten Schließens. Alle Menschen sind sterblich. Sokrates ist ein Mensch. Sokrates ist sterblich. } Prämissen, Annahmen Konklusion, Folgerung Inferenzregel Alle x sind y. z ist ein x. z ist y. x... Mensch y... sterblich z... Sokrates Kriterium für die Gültigkeit von Inferenzregeln Immer wenn alle Prämissen wahr sind, ist auch die Konklusion wahr. Unzulässige Inferenzen Alle Menschen sind sterblich. Sokrates ist sterblich. Sokrates ist ein Mensch. Sokrates ist ein Mensch. Sokrates ist sterblich. Alle Menschen sind sterblich. 5

Unterscheidung von Logiken... nach Wahrheitswerten: Zweiwertige Logik: wahr/falsch Mehrwertige Logiken: wahr/falsch/unbekannt/widersprüchlich,... Fuzzy logic: [0,1] (alle reellen Zahlen zwischen 0 und 1)... nach Quantoren: Aussagenlogik: keine Quantoren Quantifizierte Aussagenlogik: Quantoren über Aussagenvariablen Prädikatenlogik: Quantoren über Individuenvariablen Logiken höherer Stufen: Quantoren über Funktionen und Prädikate... nach den Ausdrucksmöglichkeiten: Elementare Logik: und, oder, nicht, für alle,... Zeitlogiken: im nächsten Moment, für immer, irgendwann später,... Modallogiken: ich glaube/weiß, dass, es ist möglich/notwendig, dass,...... nach wahren/beweisbaren Formeln, nach Kalkülen,... 7

Was Sie letztes Mal hörten 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 8

Aussagenlogische Funktionen Überblick true false 1 0 x 1 0 0 1 not and nand x y 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 0 1 0 1 0 or nor iff xor implies if Eine Menge von Funktionen heißt vollständig (für eine Funktionsklasse), wenn damit alle Funktionen (der Klasse) ausgedrückt werden können. {not, and, or} ist vollständig für die aussagenlogischen Funktionen. Begründung siehe später. Die Mengen {not, and}, {nand}, {not, or}, {nor}, {not, implies} und {implies, false} sind ebenfalls funktional vollständig. 9

Was Sie letztes Mal hörten 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 10

Induktive Definitionen U... Universum, Menge aller relevanten Elemente M 0 U... Menge von Grundelementen f 1 : U n 1 U, f 2 : U n 2 U,... Konstruktionsfunktionen Stufenweise Konstruktion der Menge M M i+1 = M i { f 1 (x 1,..., x n1 ) x 1,..., x n1 M i } { f 2 (x 1,..., x n2 ) x 1,..., x n2 M i } M = lim i M i = i 0 M i Induktive Definition der Menge M M ist die kleinste Menge, für die gilt: M 0 M Wenn x 1,..., x n1 M, dann f 1 (x 1,..., x n1 ) M. Wenn x 1,..., x n2 M, dann f 2 (x 1,..., x n2 ) M.... 11

Beispiel: Geschachtelte Klammern Gesucht: Spezifikation aller richtig geschachtelten Folgen von runden, eckigen und geschwungenen Klammern, wie etwa ([[{()}]]) Induktive Definition: Die Menge K der Klammernfolgen ist die kleinste Menge, für die gilt: (k1) (), [], {} K alternativ: {(), [], {}} K (k2) Wenn x K, dann auch (x) K. (k3) Wenn x K, dann auch [x] K. (k4) Wenn x K, dann auch {x} K. Wir zeigen, dass ([[{()}]]) in der Menge K liegt. 1 () K wegen (k1) 2 Da () K, gilt auch {()} K. wegen (k4) 3 Da {()} K, gilt auch [{()}] K. wegen (k3) 4 Da [{()}] K, gilt auch [[{()}]] K. wegen (k3) 5 Da [[{()}]] K, gilt auch ([[{()}]]) K. wegen (k2) 12

Aussagenlogik Syntax V = {A, B, C,..., A 0, A 1,... } aussagenlogische Variablen Syntax aussagenlogischer Formeln Die Menge A der aussagenlogischen Formeln ist die kleinste Menge, für die gilt: (a1) V A (a2) {, } A (a3) F A, wenn F A. Variablen sind Formeln. und sind Formeln. F ist eine Formel, falls F eine ist. (a4) (F G) A, wenn F, G A und {,,,,,,, }. (F G) ist eine Formel, falls F und G welche sind und ein binäres Op.symbol ist. (((A B) (B C)) ((A ) B)) A 13

Aussagenlogik Semantik I = { I I : V B }... Menge aller Interpretationen Semantik aussagenlogischer Formeln Der Wert einer Formel in einer Interpretation I wird festgelegt durch die Funktion val: I A B: (v1) val I (A) = I(A) für A V; (v2) val I ( ) = 1 und val I ( ) = 0; (v3) val I ( F ) = not val I (F ); (v4) val I ( (F G) ) = val I (F ) val I (G), wobei die logische Funktion zum Operator ist. A B ((A B) ) 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 1 0 1 0 bedeutet: I(A) = 1, I(B) = 1: val I ( ) = = 1 I(A) = 1, I(B) = 0: val I ( ) = = 0 I(A) = 0, I(B) = 1: val I ( ) = = 1 I(A) = 0, I(B) = 0: val I ( ) = = 1 14

Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 3.4. Von der Funktion zur Formel 3.5. Normalformen 3.6. Das Erfüllbarkeitsproblem 3.7. House 3.8. Dualität von Funktionen, Operatoren und Formeln 3.9. Gone Maggie gone 4. Endliche Automaten 15

Eine Formel F heißt gültig, wenn val I (F ) = 1 für alle I I; erfüllbar, wenn val I (F ) = 1 für mindestens ein I I; widerlegbar, wenn val I (F ) = 0 für mindestens ein I I; unerfüllbar, wenn val I (F ) = 0 für alle I I. Folgerungen: Eine gültige Formel ist erfüllbar, aber weder widerlegbar noch unerfüllbar. Tautologie Kontradiktion Eine erfüllbare Formel kann gültig oder widerlegbar sein, aber nicht unerfüllbar. Eine widerlegbare Formel kann erfüllbar oder unerfüllbar sein, aber nicht gültig. Eine unerfüllbare Formel ist widerlegbar, aber weder gültig noch erfüllbar. F ist gültig/erfüllbar/widerlegbar/unerfüllbar genau dann, wenn F unerfüllbar/widerlegbar/erfüllbar/gültig ist. 16

((A B) ) ist erfüllbar und widerlegbar. A B ((A B) ) 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 1 0 1 0 (A A) ist gültig und erfüllbar. A (A A) 1 1 1 0 1 0 0 1 1 0 Die Formel ist erfüllbar (daher nicht unerfüllbar), widerlegbar (daher nicht gültig). Die Formel ist (A A) ist unerfüllbar und widerlegbar. A (A A) 1 1 0 0 1 0 0 0 1 0 gültig (daher nicht widerlegbar), erfüllbar (daher nicht unerfüllbar). Die Formel ist unerfüllbar (daher nicht erfüllbar), widerlegbar (daher nicht gültig). 17

Semantische Äquivalenz Zwei Formeln F und G heißen äquivalent, geschrieben F = G, wenn val I (F ) = val I (G) für alle Interpretationen I gilt. (A B) und ( A B) sind äquivalent A B (A B) = ( A B) 1 1 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 Äquivalenz bleibt bei der Ersetzung von Variablen durch Formeln erhalten. ( A B ) = ( A B ) [A (C D), B D] Ersetzen einer Teilformel durch eine äquivalente liefert eine äquiv. Formel. (A (A B)) (A B) = ( A B) 18

Semantische Äquivalenz Zwei Formeln F und G heißen äquivalent, geschrieben F = G, wenn val I (F ) = val I (G) für alle Interpretationen I gilt. (A B) und ( A B) sind äquivalent A B (A B) = ( A B) 1 1 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 Äquivalenz bleibt bei der Ersetzung von Variablen durch Formeln erhalten. ((C D) D) = ( (C D) D) [A (C D), B D] Ersetzen einer Teilformel durch eine äquivalente liefert eine äquiv. Formel. (A (A B)) = (A ( A B)) (A B) = ( A B) 18

B, and, or, not, 0, 1 ist eine Boolesche Algebra Das heißt, es gelten folgende Gleichungen. (A B) C = A (B C) (A B) C = A (B C) A B = B A A B = B A A A = A A A = A A = A A = A A A = A A = A (A B) = A A (A B) = A A (B C) = (A B) (A C) A (B C) = (A B) (A C) Assoziativität Kommutativität Idempotenz Neutralität Komplement Absorption Distributivität Schreibvereinfachung: keine Außenklammern, keine Klammern bei geschachteltem oder (Assoziativität!) A B C = ((A B) C) = (A (B C)) 2 M,,,,, M... Beispiel einer anderen Booleschen Algebra 2 M... Menge aller Teilmengen der Menge M, Potenzmenge X... Komplement der Menge X bzgl. M 19

Weitere Äquivalenzen Ersetzen von Junktoren durch, und A B = A B A B = A B A B = A B A B = A B A B = ( A B) (A B) = (A B) ( A B) A B = ( A B) (A B) = (A B) ( A B) Verschieben der Negation (A B) = A B (A B) = A B } De Morgan Regeln A = A Äquivalenzen für und A = A A = A A = A = A A = A A = = = 20

(X Y ) ( Y ) A B = A B = ( X Y ) ( Y ) A B = A B = ( X Y ) ( Y ) (A B) = A B = ( X Y ) ( Y ) A = A = (X Y ) ( Y ) A = A, Komm. = (X Y ) Y A (A B) = A, Komm., = Y 21

Logische Konsequenz F 1,..., F n = I G: Aus val I (F 1 ) = = val I (F n ) = 1 folgt val I (G) = 1. Falls in der Wahrheitsbelegung I alle Prämissen wahr sind, dann ist auch die Konklusion wahr in I. I(A) I(B) A, A B = I B 1 1 1 1 1 1 1 1 0 1 1 1 0 E 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 Logische Konsequenz F 1,..., F n = G: F 1,..., F n = I G gilt für alle Interpretationen I. Die Formel G ist eine logische Konsequenz der Formeln F 1,..., F n. Die Formel G folgt aus den Formeln F 1,..., F n. Konvention: = G (n = 0) bedeutet G ist gültig. 22

A, A B = B? Nein! I(A) I(B) A, A B = I B 1 1 1 1 1 1 0 1 1 E 0 0 1 0 1 1 0 0 0 0 0 A, A B = B? Ja! I(A) I(B) A, A B = I B 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 I(A) = 1, I(B) = 0: Es gilt val I (A) = val I (A B) = 1, aber val I (B) 1! I heißt Gegenbeispiel. A x A B Wenn x, dann y. B y Ist eine gültige Inferenzregel! Kriterium für die Gültigkeit von Inferenzregeln Immer wenn alle Prämissen wahr sind, ist auch die Konklusion wahr. 23

Äquivalenz, Konsequenz und Gültigkeit Die Formeln F und G sind äquivalent (F = G) genau dann, wenn F G eine gültige Formel ist. Deduktionstheorem G folgt aus F 1,..., F n genau dann, wenn F n G aus F 1,..., F n 1 folgt. F 1,..., F n = G genau dann, wenn F 1,..., F n 1 = F n G. Mehrfache Anwendung liefert: F 1,..., F n = G genau dann, wenn F 1 (F 2 (F n G) ) gültig. Wegen A (B C) = (A B) C erhalten wir weiters: F 1,..., F n = G genau dann, wenn (F 1 F n ) G gültig. Das heißt: Semantik (= und =) ausdrückbar in der Syntax ( und ). Ist nicht in jeder Logik möglich! 24

Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 3.4. Von der Funktion zur Formel 3.5. Normalformen 3.6. Das Erfüllbarkeitsproblem 3.7. House 3.8. Dualität von Funktionen, Operatoren und Formeln 3.9. Gone Maggie gone 4. Endliche Automaten 25

Rezept für Zweifelsfälle der aussagenlogischen Modellierung 1 Identifiziere die elementaren Aussagen. 2 Analysiere alle Wahrheitsbelegungen. 3 Wähle geeignete logische Funktionen (unbeirrt von Intuition und natürlicher Sprache) Klingt ja nicht schlecht, aber: Wie kann man eine beliebige Funktion auf eine Kombination der bekannten logischen Grundfunktionen zurückführen? Beziehungsweise: Wie kann man eine beliebige Funktion mit den bekannten Operatoren als Formel darstellen? Gesucht: Ein allgemeines Verfahren (ein Algorithmus), das zu einer gegebenen Funktion eine passende Formel liefert. 26

Von der Funktion zur Formel Gegeben: Funktion f : B n B (z.b. als Wahrheitstafel) Gesucht: Formel, die f darstellt A B C F [A, B, C]? x y z f (x, y, z) 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 27

Von der Funktion zur Formel Gegeben: Funktion f : B n B (z.b. als Wahrheitstafel) Gesucht: Formel, die f darstellt A B C F [A, B, C] x y z f (x, y, z) 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 := (A B C) 1 0 0 0 0 0 0 0 (A B C) 0 0 0 1 0 0 0 0 ( A B C) 0 0 0 0 1 0 0 0 DNF f... Disjunktive Normalform zur Funktion f 27

Von der Funktion zur Formel Gegeben: Funktion f : B n B (z.b. als Wahrheitstafel) Gesucht: Formel, die f darstellt A B C F [A, B, C]? x y z f (x, y, z) 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 28

Von der Funktion zur Formel Gegeben: Funktion f : B n B (z.b. als Wahrheitstafel) Gesucht: Formel, die f darstellt A B C F [A, B, C] x y z f (x, y, z) 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 := ( A B C) 1 0 1 1 1 1 1 1 ( A B C) 1 1 0 1 1 1 1 1 (A B C) 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 KNF f... Konjunktive Normalform zur Funktion f 28

Von der Funktion f : B n B zur Formel DNF f Notation: {F, G, H,... } = F G H {F, G, H,... } = F G H {} = {} = Charakteristisches Konjunkt für b = (b 1,..., b n ) B n : K b = { A i b i = 1, i = 1..n } { A i b i = 0, i = 1..n } b = (1, 0, 1, 1) = K b = A 1 A 2 A 3 A 4 I b... Interpretation definiert durch I b (A i ) = b i K b hat den Wert 1 für I b, und 0 für alle anderen Interpretationen. I b : A 1 1, A 2 0, A 3 1, A 4 1 = val I b (K b ) = 1 Disjunktive Normalform für f : B n B DNF f = { K b f ( b) = 1, b B n } repräsentiert die Funktion f, d.h.: val I b (DNF f ) = f ( b) für alle b B n. 29

Von der Funktion f : B n B zur Formel KNF f Notation: {F, G, H,... } = F G H {F, G, H,... } = F G H {} = {} = Charakteristisches Disjunkt für b = (b 1,..., b n ) B n : D b = { A i b i = 0, i = 1..n } { A i b i = 1, i = 1..n } b = (1, 0, 1, 1) = D b = A 1 A 2 A 3 A 4 I b... Interpretation definiert durch I b (A i ) = b i D b hat den Wert 0 für I b, und 1 für alle anderen Interpretationen. I b : A 1 1, A 2 0, A 3 1, A 4 1 = val I b (D b ) = 0 Konjunktive Normalform für f : B n B KNF f = { D b f ( b) = 0, b B n } repräsentiert die Funktion f, d.h.: val I b (KNF f ) = f ( b) für alle b B n. 30

A 1 A 2 A 3 b f ( b) 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 K b A 1 A 2 A 3 =: K 111 A 1 A 2 A 3 =: K 100 A 1 A 2 A 3 =: K 011 D b A 1 A 2 A 3 =: D 110 A 1 A 2 A 3 =: D 101 A 1 A 2 A 3 =: D 010 A 1 A 2 A 3 =: D 001 A 1 A 2 A 3 =: D 000 DNF f = K 111 K 100 K 011 KNF f = D 110 D 101 D 010 D 001 D 000 Folgerung: {not, and, or} ist funktional vollständig. 31

Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 3.4. Von der Funktion zur Formel 3.5. Normalformen 3.6. Das Erfüllbarkeitsproblem 3.7. House 3.8. Dualität von Funktionen, Operatoren und Formeln 3.9. Gone Maggie gone 4. Endliche Automaten 32

Normalformen Literal: Variable oder negierte Variable, also A, A, B, B,... Negationsnormalform (NNF) Literale sowie und sind in NNF. (F G) und (F G) sind in NNF, wenn F und G in NNF sind. Keine Formel sonst ist in NNF. NNF: ( A ((B C) )) Keine NNFs: A, (A B), DNF f und KNF f sind Formeln in NNF. Disjunktive Normalform (DNF), sowie Disjunktionen von Konjunktion von Literalen: (( ) A1,1 ( ) A1,2 ( ) A1,3 ) (( ) A2,1 ( ) A2,2 ( ) A2,3 ) Konjunktive Normalform (KNF), sowie Konjunktionen von Disjunktion von Literalen: (( ) A1,1 ( ) A1,2 ( ) A1,3 ) (( ) A2,1 ( ) A2,2 ( ) A2,3 ) 33

Normalformen Formeln, die gleichzeitig in DNF und KNF sind: ( ) A1 ( ) A2 ( ) An ( ) A1 ( ) A2 ( ) An Normalformen für die Funktion f von vorhin DNF f = K 111 K 100 K 011 vollständige (maximale) DNF, NNF (A 2 A 3 ) (A 1 A 2 A 3 ) minimale DNF, NNF KNF f = D 110 D 101 D 010 D 001 D 000 vollständige KNF, NNF (A 1 A 3 ) ( A 2 A 3 ) (A 2 A 3 ) minimale KNF, NNF (A 1 A 2 ) ( A 2 A 3 ) (A 2 A 3 ) andere minimale KNF, NNF Normalformen sind in der Regel nicht eindeutig. Typische Problemstellung: Finde kleine oder kleinste Normalform. 34

Normalformen Weitere Normalformen: Beschränkung auf andere Operatoren, etwa Andere Einschränkungen der Struktur, etwa Konjunktion von Disjunktionen von Konjunktionen von Literalen (ermöglicht kleinere Formeln als DNF oder KNF) Noch mehr Normalformen für die Funktion f von vorhin (A 2 A 3 ) (A 1 ((A 2 A 2 ) (A 3 A 3 ) (A 2 A 2 ) (A 3 A 3 ))) ((A 1 A 3 ) A 2 ) ( A 2 A 3 ) NNF 35

Konstruktion von DNFs/KNFs Semantische Methode Gegeben: Aussagenlogische Formel F Gesucht: Äquivalente Formel in DNF/KNF 1 Stelle die zu F gehörige Funktion f als Wahrheitstafel dar. 2 Konstruiere DNF f bzw. KNF f. A 1 A 2 A 3 F := (A 1 (A 2 A 3 )) ( A 1 (A 2 A 3 )) 1 1 1 1 K 111 1 1 0 0 D 110 1 0 1 0 D 101 1 0 0 1 K 100 0 1 1 1 K 011 0 1 0 0 D 010 0 0 1 0 D 001 0 0 0 0 D 000 DNF: F = K 111 K 100 K 011 KNF: F = D 110 D 101 D 010 D 001 D 000 36

Konstruktion von DNFs/KNFs Algebraische Methode Gegeben: Aussagenlogische Formel F Gesucht: Äquivalente Formel in DNF/KNF 1 Ersetze alle Junktoren durch, und. A B = A B A B = A B A B = A B A B = A B A B = ( A B) (A B) = (A B) ( A B) A B = ( A B) (A B) = (A B) ( A B) 2 Verschiebe Negationen nach innen, eliminiere Doppelnegationen. (A B) = A B (A B) = A B A = A 3 Wende das Distributivgesetz an. DNF: Schiebe Disjunktionen nach außen mittels A (B C) = (A B) (A C) KNF: Schiebe Konjunktionen nach außen mittels A (B C) = (A B) (A C) 4 Eliminiere und. A = A A = A A = A = A A = A A = = = (Äquivalenzen werden hier von links nach rechts angewendet.) 37

((A 1 A 2 ) A 2 ) ( A 1 (A 2 )) 1 Ersetze alle Junktoren durch, und : ( ( A 1 A 2 ) A 2 ) ( A 1 (A 2 )) ( ( A 1 A 2 ) A 2 ) ( A 1 (A 2 )) ( ( A 1 A 2 ) A 2 ) ( A 1 (A 2 )) 2 Verschiebe Negationen nach innen, eliminiere Doppelnegationen: (( A 1 A 2 ) A 2 ) ( A 1 (A 2 )) ( (A 1 A 2 ) A 2 ) ( A 1 (A 2 )) 3 Wende das Distributivgesetz an: DNF: (((A 1 A 2 ) A 2 ) A 1 ) (((A 1 A 2 ) A 2 ) (A 2 )) (((A 1 A 2 ) A 2 ) A 1 ) (A 1 A 2 A 2 ) ( A 2 A 2 ) (A 1 A 2 A 1 ) ( A 2 A 1 ) (A 1 A 2 A 2 ) ( A 2 A 2 ) (A 1 A 2 ) ( A 2 A 1 ) (A 1 A 2 ) ( A 2 A 2 ) (Idemp.) KNF: (A 1 A 2 ) (A 2 A 2 ) (A 1 (A 2 )) (A 1 A 2 ) (A 2 A 2 ) (A 1 A 2 ) (A 1 ) 38

4 Vereinfache mit den Regeln für und : DNF: (A 1 A 2 ) ( A 2 A 1 ) (A 1 A 2 ) ( A 2 A 2 ) (A 1 A 2 ) ( A 2 A 1 ) (A 1 A 2 ) (A 1 A 2 ) ( A 2 A 1 ) (A 1 A 2 ) (A 1 A 2 ) ( A 2 A 1 ) (A 1 A 2 ) ( A 2 A 1 ) DNF erreicht! A 1 (A 2 A 2 ) (Distributivgesetz, keine DNF mehr) A 1 A 1 (wieder DNF) KNF: (A 1 A 2 ) (A 2 A 2 ) (A 1 A 2 ) (A 1 ) (A 1 A 2 ) (A 2 A 2 ) (A 1 A 2 ) A 1 KNF erreicht! (A 1 A 2 ) (A 2 A 2 ) A 1 (Absorption) (A 1 A 2 ) A 1 (keine KNF mehr!) (A 1 A 2 ) A 1 (wieder KNF) A 1 (Absorption) 39

Welche Methode ist besser? Gefühlsmäßig: Die semantische Methode ist übersichtlicher. Theoretisch: Beide Methoden sind schlecht, denn beide sind im schlechtesten Fall exponentiell. Semantische Methode: Aufwand immer exponentiell in Variablenzahl! Wahrheitstafel besitzt 2 Variablenzahl Zeilen. Algebraische Methode: Schritt 3 (Distributivgesetz) ist aufwändig, kann zu einer exponentiellen Verlängerung der Formel führen. Praktisch: Semantische Methode nur brauchbar bei Formeln mit sehr wenigen Variablen. Immer exponentiell in Variablenzahl, liefert immer die maximale DNF/KNF. Algebraische Methode teilweise auch für große Formeln brauchbar, insbesondere mit Computerunterstützung. Kann auch kleine DNFs/KNFs liefern. 40

Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 3.4. Von der Funktion zur Formel 3.5. Normalformen 3.6. Das Erfüllbarkeitsproblem 3.7. House 3.8. Dualität von Funktionen, Operatoren und Formeln 3.9. Gone Maggie gone 4. Endliche Automaten 41

Das Erfüllbarkeitsproblem der Aussagenlogik Erfüllbarkeitsproblem (Satisfiability, SAT) Gegeben: aussagenlogische Formel F Frage: Ist F erfüllbar, d.h., gibt es ein I I, sodass val I (F ) = 1? Effiziente Verfahren zur Lösung von SAT sind wichtig in der Praxis: Viele praktische Aufgaben lassen sich als Probleme der Aussagenlogik formulieren, wie z.b. Verifikation von Hard- und Software Planungsaufgaben, Logistik-Probleme Die meisten aussagenlogischen Fragen lassen sich zu einem (Un)Erfüllbarkeitsproblem umformulieren: G gültig G unerfüllbar G widerlegbar G erfüllbar G = H G H unerfüllbar F 1,..., F n = G F 1 F n G unerfüllbar 42

Methoden zur Lösung von SAT Wahrheitstafel: Berechne den Formelwert der Reihe nach für jede Interpretation. Antwort ja, sobald man den Wert 1 erhält; nein, wenn immer 0. Unbrauchbar, da exponentiell: 2 Variablenzahl Interpretationen! Umwandlung in DNF: Wandle F in eine disjunktive Normalform um. Antwort nein, wenn man erhält; ja sonst. Unbrauchbar: F meistens in Fast-KNF. Distributivgesetz verlängert F exponentiell. SAT-Solver: Programme, die SAT lösen. Verwenden fortgeschrittene algebraische/graphenorientierte/logische Methoden mit besonderen Datenstrukturen. Können SAT für Formeln mit Millionen von Variablen lösen. Stand der Technik bei der Verifikation von Prozessoren etc. Aber: Exponentielle Laufzeit für manche Formelarten! 43

Homer 3 The Simpsons, Staffel 7, Folge 6 44

$ 1.000.000, Prämie für einen effizienten SAT-Solver... oder für den Beweis, dass es diesen nicht geben kann. Abzuholen beim Clay Mathematics Institute (www.claymath.org) für das offene Milleniumsproblem P versus NP. Weiters warten ewiger Ruhm, eine Universitätsstelle,... P: Klasse der Probleme, die sich effizient (polynomiell) lösen lassen. NP: Klasse jener Probleme, deren Lösungen sich effizient (polynomiell) verifizieren lassen; die Suche nach der Lösung kann aber aufwändig sein. P versus NP (Stephen Cook, 1971) Gilt P = NP oder P NP (gleichbedeutend mit P NP)? 45

NP-Vollständigkeit Die schwierigsten Probleme in NP heißen NP-vollständig. Ihr Kennzeichen: Kann man ein NP-vollständiges Problem effizient lösen, dann kann man alle Probleme in NP effizient lösen. HAMILTON-KREIS ist NP-vollständig Gegeben: Party-Gäste, von denen sich einige nicht mögen. Frage: Kann man die Gruppe so um einen runden Tisch setzen, dass sich je zwei Sitznachbarn vertragen? Wenn alle sitzen, ist leicht zu prüfen, ob sich alle Nachbarn verstehen. Das Finden einer geeigneten Sitzordnung ist aber im Allgemeinen schwierig. Exponentiell? 46

SAT ist NP-vollständig Gegeben: eine aussagenlogische Formel. Frage: Ist die Formel erfüllbar? Ist die Interpretation I gegeben, lässt sich val I (F ) = 1 leicht überprüfen. Das Finden der Interpretation ist aber schwierig. Exponentiell? SAT polynomiell lösbar = P = NP SAT nicht polynomiell lösbar = P NP 47

Wann wird die Frage P? = NP gelöst werden? Anzahl 12 10 5 5 2002 2009 2010 2019 2020 2029 13 12 10 5 2030 2039 2040 2049 2050 2059 nach 2070 bis 2070 18% 61% 2060 2069 4 1 0 0 2070 2079 2080 2089 21% 2090 2099 k.a. 7 5 2100 2199 2200 3000 nie 5 Wie wird die Antwort lauten? P NP 61% 4% 9% weder-noch P = NP 26% [W.I.Gasarch, 2002, Meinungsumfrage unter Experten] 48 k.a.

Falls Sie SAT nicht ausreichend inspiriert... MINESWEEPER ist NP-vollständig Gegeben: eine Minesweeper-Stellung Frage: Ist die Stellung möglich? Beispiel einer unmöglichen Stellung: 2, aber 5 Bomben in der Umgebung 6, aber nur drei Bomben möglich 1, aber keine Bombe in der Umgebung MINESWEEPER polynomiell lösbar = P = NP MINESWEEPER nicht polynomiell lösbar = P NP Es sind mittlerweile hunderte von NP-vollständigen Problemen aus allen Bereichen der Informatik bekannt. 49

Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 3.4. Von der Funktion zur Formel 3.5. Normalformen 3.6. Das Erfüllbarkeitsproblem 3.7. House 3.8. Dualität von Funktionen, Operatoren und Formeln 3.9. Gone Maggie gone 4. Endliche Automaten 50

House Max wird mit hohem Fieber und ausgeprägten Gliederschmerzen in das Spital eingeliefert. Dr. House diskutiert die Diagnose mit einer Kollegin. House: Wenn der Patient Fieber hat, handelt es sich um Grippe oder Erkältung. Cameron: Wenn er keine starken Gliederschmerzen hat, dann hat er auch keine Grippe. House: Jedenfalls weisen hohes Fieber und starke Gliederschmerzen immer auf Grippe hin. Cameron: Er hat sicher nicht beide Krankheiten gleichzeitig. Wie lautet die Diagnose? Wie lässt sie sich mit Hilfe der Aussagenlogik finden und begründen? 51

House Wahl der Aussagenvariablen Aussagenvariablen können nur Aussagen repräsentieren, die einen Wahrheitswert besitzen. Einzelne Haupt-, Zeit- oder Eigenschaftswörter sind keine Aussagen! Falsch: A = krank oder A = Fieber. Möglich: A = Max ist krank oder A = Der Patient hat Fieber. Max wird mit hohem Fieber und ausgeprägten Gliederschmerzen in das Spital eingeliefert. Max wird mit... eingeliefert = A? Max hat hohes Fieber = A, Max hat ausgeprägte Gliederschmerzen = B und Max wird in das Spital eingeliefert = C? Max hat hohes Fieber = Max hat Fieber = A und Max hat ausgeprägte Gl.schmerzen = Max hat Gl.schmerzen = B? 52

House Wahl der Aussagenvariablen Dr. House diskutiert die Diagnose mit einer Kollegin. Dr. House diskutiert... mit einer Kollegin = D? Wenn der Patient Fieber hat, handelt es sich um Grippe oder Erkältung. Der Patient hat Fieber = E? Der Patient hat Fieber = Max hat Fieber = A? Cameron: Er hat sicher nicht beide Krankheiten gleichzeitig. Cameron sagt, dass er nicht beide Krankheiten gleichzeitig hat. = F? Max kann nicht beide Krankheiten gleichzeitig haben. = F? 53

Aber: Elimination von Abkürzungen und Referenzen Er hat beide Krankheiten = P. hat Grippe + P. hat Erkältung Generalisierung: Zusammenfassen von gleichartigen Aussagen Abstraktion: Weglassen von Details Konzentration auf das Wesentliche: Identifikation der relevanten Teilaussagen Was zusammengefasst wurde, kann nicht mehr getrennt analysiert werden. Was weggelassen wurde, kann nicht für die Argumentation verwendet werden. Was nicht zusammenfasst wurde, aber zusammengehört, muss durch zusätzliche Formeln in Beziehung gesetzt werden. Was kann man zusammenfassen? Was weglassen? Was ist wesentlich? 54

House Wahl der Aussagenvariablen Max wird mit hohem Fieber und ausgeprägten Gliederschmerzen in das Spital eingeliefert. Dr. House diskutiert die Diagnose mit einer Kollegin. House: Wenn der Patient Fieber hat, handelt es sich um Grippe oder Erkältung. Cameron: Wenn er keine starken Gliederschmerzen hat, dann hat er auch keine Grippe. House: Jedenfalls weisen hohes Fieber und starke Gliederschmerzen immer auf Grippe hin. Cameron: Er hat sicher nicht beide Krankheiten gleichzeitig. F... Max/Patient hat (hohes) Fieber. S... Max/Patient hat starke/ausgeprägte Gliederschmerzen. G... Max/Patient hat eine Grippe. E... Max/Patient hat eine Erkältung. 55

House aussagenlogische Modellierung F... Max/Patient hat (hohes) Fieber. S... Max/Patient hat starke/ausgeprägte Gliederschmerzen. G... Max/Patient hat eine Grippe. E... Max/Patient hat eine Erkältung. Max wird mit hohem Fieber und ausgeprägten Gliederschmerzen in das Spital eingeliefert. Dr. House diskutiert die Diagnose mit einer Kollegin. House: Wenn der Patient Fieber hat, handelt es sich um Grippe oder Erkältung. Cameron: Wenn er keine starken Gliederschmerzen hat, dann hat er auch keine Grippe. House: Jedenfalls weisen hohes Fieber und starke Gliederschmerzen immer auf Grippe hin. Cameron: Er hat sicher nicht beide Krankheiten gleichzeitig. F 1 := F S F 2 := F (G E) F 3 := S G F 4 := (F S) G F 5 := (G E) 56

House Diagnose Finde alle Interpretationen I, in denen alle Formeln wahr sind. Vereinfachung: Prüfe nur Interpretationen, in denen F 1 = F S wahr ist. F S G E F 1 F (G E) S G (F S) G (G E) 1 1 0 0 1 0 1 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 I(G) = 1, I(E) = 0 = Die Diagnose lautet auf Grippe. 57

Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 3.4. Von der Funktion zur Formel 3.5. Normalformen 3.6. Das Erfüllbarkeitsproblem 3.7. House 3.8. Dualität von Funktionen, Operatoren und Formeln 3.9. Gone Maggie gone 4. Endliche Automaten 58

Dualität von Funktionen, Operatoren und Formeln Beobachtung 1: and und or verhalten sich spiegelbildlich bzgl. 0 und 1. x y x and y x or y 1 1 1 1 1 0 0 1 0 1 0 1 0 0 0 0 x y x or y x and y 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 and ist eine Konjunktion für 1 und eine Disjunktion für 0. or ist eine Konjunktion für 0 und eine Disjunktion für 1. Beobachtung 2: Boolesche Algebra ist symmetrisch bzgl. / und /. (A B) C = A (B C) (A B) C = A (B C) A B = B A A B = B A A A = A A A = A A = A A = A A A = A A = A (A B) = A A (A B) = A A (B C) = (A B) (A C) A (B C) = (A B) (A C) 59

Duale Funktionen Zwei n-stellige Funktionen f und g heißen dual zueinander, wenn gilt: not f (x 1,..., x n ) = g(not x 1,..., not x n ). Diese Bedingung ist gleichbedeutend mit jeder der folgenden: not f (not x 1,..., not x n ) = g(x 1,..., x n ) f (x 1,..., x n ) = not g(not x 1,..., not x n ) f (not x 1,..., not x n ) = not g(x 1,..., x n ) and und or sind dual, da not(x and y) = (not x) or (not y) gilt. Duale Operatoren Zwei Operatoren heißen dual, wenn die zugehörigen Funktionen dual sind. true / not / and / nand / iff / implies / if / ist dual zu false / not / or / nor / xor / / / (und umgekehrt). 60

G[A 1,..., A n ]... Formel G enthält die Variablen A 1,..., A n G[H 1,..., H n ]... Formel, die aus G[A 1,..., A n ] entsteht, wenn A i überall durch H i ersetzt wird. Duale Formeln Zwei Formeln F [A 1,..., A n ] und G[A 1,..., A n ] heißen dual zueinander, wenn gilt: F [A 1,..., A n ] = G[ A 1,..., A n ] F [ A 1,..., A n ] ist dual zu F [A 1,..., A n ]. (( A B) A) ist dual zu (A B) A. Sei G die Formel, die aus F durch Ersetzen aller Operatoren durch ihre dualen hervorgeht. Dann ist G dual zu F. (((A B) (B C)) ((A ) B)) ist dual zu (((A B) (B C)) ((A ) B)) 61

F, G... irgendwelche dualen Formeln zu F bzw. G F = G gilt genau dann, wenn F = G gilt. F = G F = G (A B) C = A (B C) (A B) C = A (B C) A B = B A A B = B A A A = A A A = A A = A A = A A A = A A = A (A B) = A A (A B) = A A (B C) = (A B) (A C) A (B C) = (A B) (A C) (F ) = F F ist gültig genau dann, wenn F unerfüllbar ist. F G ist gültig genau dann, wenn G F gültig ist.... Dualität ist nicht dasselbe wie Negation! 62

Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 3.4. Von der Funktion zur Formel 3.5. Normalformen 3.6. Das Erfüllbarkeitsproblem 3.7. Beispiel: House 3.8. Dualität von Funktionen, Operatoren und Formeln 3.9. Gone Maggie gone 4. Endliche Automaten 63

Gone Maggie gone The Simpsons, Staffel 20, Folge 13 64

The Simpsons aussagenlogische Modellierung If all you have is a hammer, everything looks like a nail. M i... Maggie K i... Knecht Ruprecht G i... Gift... Homer H i... befindet sich zum Zeitpunkt i auf der anderen Seite des Flusses. Zum Zeitpunkt i befinden sich alle auf dieser Flussseite. AlleHier(i) := M i K i G i H i Zum Zeitpunkt i befinden sind alle auf der anderen Flussseite. AlleDort(i) := M i K i G i H i Wenn sich Maggie und KR oder Maggie und das Gift am selben Flussufer befinden, muss Homer bei Maggie sein. Sicher(i) := ((M i K i ) (M i G i )) (M i H i ) 65

MH i... Maggie... fährt mit Homer über den Fluss KH i... Knecht Ruprecht GH i... Gift (zw. den Zeitpunkten i 1 und i). HH i... Homer fährt alleine über den Fluss (zwischen i 1 und i). Genau eine Überfahrt zwischen den Zeitpunkten i 1 und i. Überfahrt(i) := (MH i KH i GH i HH i ) ( MH i KH i GH i HH i ) ( MH i KH i GH i HH i ) ( MH i KH i GH i HH i ) Definition der Überfahrten: DefÜberfahrt(i) := (MH i ((M i 1 M i ) (K i 1 K i ) (G i 1 G i ) (H i 1 H i ) (H i M i ))) (KH i ((M i 1 M i ) (K i 1 K i ) (G i 1 G i ) (H i 1 H i ) (H i K i ))) (GH i ((M i 1 M i ) (K i 1 K i ) (G i 1 G i ) (H i 1 H i ) (H i G i ))) (HH i ((M i 1 M i ) (K i 1 K i ) (G i 1 G i ) (H i 1 H i )) 66

Gesamtformel: Nach n Überfahrten sollen alle auf der anderen Seite sein. Simpsons(n) := AlleHier(0) AlleDort(n) n i=1 Überfahrt(i) Methode zum Lösen des Rätsels: n i=1 n i=0 Sicher(i) DefÜberfahrt(i) 1 Errate die benötigte Zahl n der Überfahrten. 2 Finde eine erfüllende Interpretation für die Formel Simpsons(n) (z.b. mit Hilfe eines SAT-Solvers). Eine mögliche Lösung: n = 7, I(MH 1 ) = I(HH 2 ) = I(GH 3 ) = I(MH 4 ) = I(KH 5 ) = I(HH 6 ) = I(MH 7 ) = 1 67

Gone Maggie gone (Fortsetzung) The Simpsons, Staffel 20, Folge 13 68

Vor- und Nachteile dieser aussagenlogischen Modellierung Vorteile: deklarativ-statisch, nicht prozedural-dynamisch Welche Eigenschaften sollen gelten? Nicht: Welche Schritte sind für Lösung erforderlich? modular Neue Bedingungen werden durch zusätzliche Formeln berücksichtigt. Nachteile: Erraten von Parametern n muss durch Probieren gefunden werden Große Zahl an Variablen und Formeln Dynamik muss durch indizierte Variablen simuliert werden. Frame Problem Bei jede Aktion muss auch definiert werden, was sich nicht ändert. unintuitiv Bei der Modellierung von Abläufen denkt man an Zustände und Übergänge, nicht an statische Bedingungen. 69

Was Sie heute erwartet 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 4. Endliche Automaten 4.1. Beispiele 4.2. Klassifikation 70

The Simpsons Modellierung als Automat Systemkomponenten: Maggie (M), Knecht Ruprecht (K), Gift (G), Homer+Boot (H), linkes/rechtes Flussufer Situationsbeschreibung (Systemzustand): Lebewesen/Dinge links Lebewesen/Dinge rechts (Wer/Was befindet sich momentan auf welcher Seite des Flusses?) Anfangszustand: MKGH Endzustand (Ziel): MKGH Verbotene Zustände: GH MK, MK GH, KH MG, MG KH, H MKG, MKG H Zustandsübergänge: h, m, k, g... Homer fährt alleine/mit Maggie/KR/Gift über den Fluss 71

Automat (ohne verbotene Zustände und Übergänge): m m h k G MKH k m g MGH K g h m MKGH m KG MH h g KGH M g m k M KGH k h MH KG m MKGH K MGH m MKH G Mögliche Lösungen: {mhkmghm, mmmhhhgmkhm,..., mhkmgkmgkmghm,... } Sprache des Automaten 72

Beispiel: Reelle Numerale mit Exponentialteil Z.B. 3.14, 0.314E1 (= 0.314 10 1 ), 314.E-2 (= 314 10 2 ) Mindestens eine Ziffer vor Dezimalpunkt Dezimalpunkt Nachkommastellen optional Exponentialteil optional: eingeleitet durch E Vorzeichen optional mindestens eine Ziffer Endlicher Automat für die reellen Numerale 0..9 0..9 0..9 + 0..9. E ε 0..9 1 2 3 4 5 6-0..9... Abkürzung für 10 parallele Übergänge beschriftet mit 0 bis 9. ε... Leerwort, Nichts 73

0..9 0..9 0..9. E ε 0..9 1 2 3 4 5 6 - + 0..9 Zustandsbeschriftungen 1 6 dienen nur der Bezugnahme, irrelevant für das Verhalten des Automaten Kanten sind mit Symbolen beschriftet, die gelesen/geschrieben werden. Anfangszustand (1) ist durch einen Pfeil aus dem Nichts markiert. Endzustände (3, 6) sind durch einen Doppelkreis markiert. Zwei Sichtweisen: Akzeptor: Der Automat liest Symbole und akzeptiert alle Zeichenketten, die vom Anfangs- zu einem der Endzustände führen. Generator: Der Automat schreibt Symbole und generiert jene Zeichenketten, die vom Anfangs- zu einem der Endzustände führen. 74