Grundlagen der Programmierung

Ähnliche Dokumente
Grundlagen der Theoretischen Informatik

Grundlagen der Programmierung

4 Logik 4.1 Aussagenlogik

Logik für Informatiker

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kapitel 1: Grundlagen der Mathematik. Referenzen zum Nacharbeiten:

4 Logik 4.1 Aussagenlogik

3. Logik 3.1 Aussagenlogik

2.1 Beschreibung von Mengen 2.2 Formale Logik 2.3 Beziehungen zwischen Mengen 2.4 Mengenoperationen

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

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

TU9 Aussagenlogik. Daniela Andrade

TU5 Aussagenlogik II

Logische Äquivalenz. Definition Beispiel 2.23

Logik für Informatiker

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Logik für Informatiker

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

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln

Allgemeingültige Aussagen

Grundlagen der Theoretischen Informatik

Logik (Prof. Dr. Wagner FB AI)

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

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

Grundlagen der Logik

Aussagen Interpretation Verknüpfen von Aussagen Tautologie und Widerspruch Äquivalenz

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

1 Aussagenlogischer Kalkül

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

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

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

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

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

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

Einführung in die Logik, Übungsklausur 2016/07/11

5. AUSSAGENLOGIK: SEMANTIK

Logik für Informatiker

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

Kapitel 1.3. Normalformen aussagenlogischer Formeln. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1

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

Logik für Informatiker

Theoretische Informatik: Logik

Übung 4: Aussagenlogik II

Beispiel Aussagenlogik nach Schöning: Logik...

Mathematische Grundlagen I Logik und Algebra

Normalformen boolescher Funktionen

Motivation. Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik Syntax & Semantik. Motivation. Motivation

Logik für Informatiker

Einführung in die Logik (Vorkurs)

Ersetzbarkeitstheorem

3. Grundlegende Begriffe von Logiken - Aussagenlogik

Deduktion in der Aussagenlogik

Klauselmengen. Definition Sei

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

ÜBUNG ZUM GRUNDKURS LOGIK WS 2015/16 GÜNTHER EDER

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

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser

Deduktion in der Aussagenlogik. Semantische Folgerungsbeziehung. Zusammenhang zwischen semantischer und syntaktischer Folgerung

Logik für Informatiker Logic for Computer Scientists

Formale Grundlagen der Informatik 1 Wiederholung zum Logik-Teil

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.

f(1, 1) = 1, f(x, y) = 0 sonst üblicherweise Konjunktion, manchmal auch

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.

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

Aussagenlogische Widerlegungsverfahren zum Nachweis logischer Eigenschaften und Beziehungen

Logik Vorlesung 3: Äquivalenz und Normalformen

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 13 Aussagenlogik Syntax & Semantik

Frank Heitmann 2/42. 1 Etwas aus der realen Welt in der Logik abstrakt ausdrücken. 2 In der Logik Schlüsse ziehen.

Künstliche Intelligenz Logische Agenten & Resolution

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Logik für Informatiker

Einführung in die Theoretische Informatik

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 =

Aussagenlogik: Syntax von Aussagen

Algorithmen & Programmierung. Logik

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

Einführung in die Logik. Sommersemester Juli 2010 Institut für Theoretische Informatik

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

Logik für Informatiker Logic for computer scientists

Formale Systeme, WS 2011/2012 Lösungen zu Übungsblatt 1

DuE-Tutorien 17 und 18

Grundlagen der diskreten Mathematik

HA-Lösung TA-Lösung Diskrete Strukturen Tutoraufgabenblatt 10. Besprechung in KW02/2019

Semantik der Aussagenlogik (Kurzform)

Transkript:

GdP2 Slide 1 Grundlagen der Programmierung Vorlesung 2 Sebastian Ianoski FH Wedel

GdP2 Slide 2 Beispiel ür eine Programmveriikation Gegeben sei olgender Algorithmus: i (x>0) ((y+x) 0) then z := x y else z := x / y Behauptung: Dieser Algorithmus ist ür alle x,y R ausührbar Beeis? Frage: Ist der Algorithmus auch korrekt?

GdP2 Slide 3 Ausblick au die nächsten Vorlesungen Wir haben in diesem Beispiel gesehen: Das Gebiet der Programmveriikation erordert einen sicheren Umgang mit ormalen logischen Schlüssen Es gilt allgemein ür alle Aspekte der Programmierung:! Grundkenntnisse der Aussagen- und Prädikatenlogik! sind unentbehrlich. Daher beassen sich die nächsten Vorlesungen mit dem Thema: Logik Details in Kapitel 2 jetzt

GdP2 Slide 4 Grundlagen der Programmierung 1. Einührung Grundlegende Eigenschaten von Algorithmen und Programmen 2. Logik Aussagenlogik Prädikatenlogik 3. Programmenticklung und veriikation Grundlagen der Programmveriikation Verbundaneisungen Verzeigungen Schleien Modularisierung Rekursion 4. Algorithmen Entur von Algorithmen Beertung von Algorithmen

GdP2 Slide 5 Aussagenlogik Wdh.: Operatoren zischen Aussagen Durch Operatoren erden aus alten Aussagen neue Aussagen geschaen: Wahrheitserte ür die neuen Aussagen: p q p p q p q p q p q Einstelliger Operator: Negation ( ) Zeistellige Operatoren: Konjunktion ( ) Disjunktion ( ) Implikation ( ) Äquivalenz ( )

GdP2 Slide 6 Aussagenlogik Achtung: Warum einach, enn es auch kompliziert geht? Folgende Notationen sind in der Literatur ebenalls gebräuchlich: ür logische Schlussregeln: p, q r ist dasselbe ie p q r In der Logik benutzt man unterschiedliche Symbole ür Schlussolgerungen und Äquivalenzen je nach Anendungsgebiet:,,, entsprechen der logischen Implikation:, =,,, entsprechen der logischen Äquivalenz:

GdP2 Slide 7 Aussagenlogische Formeln Da Aussagen egen der Unteilbarkeit sinnvollereise mit Buchstaben abgekürzt erden, nennt man sie auch Literale Eine aussagenlogische Formel ist eine Verknüpung von endlich vielen Literalen mit logischen Operatoren. - Die Literale einer Formel entsprechen Variablen, die mit und belegt erden können. - Formeln können auch Konstante enthalten: Die Konstante ist immer ahr und das neutrale Element bezüglich der Konjunktion. Die Konstante ist immer alsch und das neutrale Element bezüglich der Disjunktion. Eine Belegung einer Formel ist eine Zueisung von Wahrheitserten an die Literale derart, dass dieselben Literale immer denselben Wahrheitsert erhalten. Die Formel als ganze bekommt durch die Belegung ebenalls einen Wahrheitsert.

GdP2 Slide 8 Aussagenlogische Formeln Eine Formel heißt erüllbar, enn es eine Belegung gibt derart, dass die Formel den Wahrheitsert hat. Eine Formel, in der jeder Literal höchstens einmal vorkommt, ist immer erüllbar! Eine Formel, in der keine Negation vorkommt, ist immer erüllbar! Nur Formeln, die einen Literal mehrach und mindestens eine Negation enthalten, könnten unerüllbar sein. Eine Formel heißt Tautologie oder gültig, enn sie bei jeder Belegung den Wahrheitsert hat. Eine Formel heißt idersprüchlich, enn sie bei keiner Belegung den Wahrheitsert hat.

GdP2 Slide 9 Aussagenlogische Formeln Erüllbarkeitsproblem (Satisiability, SAT): Wie bekommt man heraus, ob eine gegebene Formel erüllbar ist?

GdP2 Slide 10 Deinition: Normalormen Eine aussagenlogische Formel ist in konjunktiver Normalorm (KNF), enn sie als Konjunktion von Disjunktionen aus Aussagen oder Negationen von Aussagen dargestellt ist. Etas langsamer zum Mitdenken: Ein Literal ist eine Aussage oder die Negation einer Aussage. Eine Klausel ist eine Disjunktion aus Literalen. Beispiele: p q r r Beispiele: p q r p q r p q Eine Formel in KNF ist eine Konjunktion von Klauseln. Beispiel: (p q r) ( p q r) (p q)

Normalormen Deinition: Eine aussagenlogische Formel ist in konjunktiver Normalorm (KNF), enn sie als Konjunktion von Disjunktionen aus Aussagen oder Negationen von Aussagen dargestellt ist. Spezialälle: Eine Klausel dar auch nur aus einem Literal bestehen. Beispiel: (p q r) p (p q) ist auch in KNF Eine Formel dar auch nur aus einer Klausel bestehen. Beispiel: p q r ist auch in KNF Eine leere Klausel entspricht dem neutralen Element der Disjunktion: Beispiel: (p q r) (p q) ist auch in KNF Eine leere Formel entspricht dem neutralen Element der Konjunktion: Beispiel: ist auch in KNF GdP2 Slide 11

GdP2 Slide 12 Normalormen Welche Formeln sind eigentlich nicht in KNF? Formeln, die andere als die 3 Booleschen Operatoren enthalten Beispiel: ((p q r) ( p q r)) (p q) Formeln, in denen andere Terme als atomare Aussagen negiert erden Beispiel: (p q r) ( p q r) (p q) Formeln, in denen Konjunktionen und Disjunktionen ild durcheinander sind Beispiel: Beispiel: (p ( q r)) ( p q r) p q p ( q r p) ( q r) p q Formeln, in denen eine tieere Klammerschachtelungstiee vorliegt Beispiel: p ( q (r q))) ( p q r) p q Satz: Jede aussagenlogische Formel lässt sich durch endlich viele äquivalente Umormungen in KNF bringen.

GdP2 Slide 13 Normalormen Warum ollen ir Formeln in KNF bringen? Übersichtlichere Ausertung beim Erüllbarkeitstest: Eine Formel in KNF ist erüllbar. Eine Belegung enthält ür jede Klausel enigstens einen ahren Literal. Mögliche Belegungsstrategie: Gehe die Klauseln nacheinander durch: Belege genau einen noch nicht estgelegten Literal mit t (dadurch erden gleiche Literale oder deren Negationen in anderen Klauseln estgelegt) Wenn es keine Möglichkeit mehr gibt, springe zurück zur vorigen Klausel und nimm eine andere Belegung Vorsicht vor Illusionen: Im schlechtesten Fall bringt das keinen Zeitgeinn verglichen mit purem Ausprobieren!

Normalormen Warum ollen ir Formeln in KNF bringen? Kompakte Darstellbarkeit im Computer: Stelle Klauseln als Mengen von Literalen dar: {p, q, r} entspricht (p q r) als Klausel Stelle Formeln als Mengen von Klauseln dar: {{p, q, r}, { p, q, r}, {p, q}} entspricht (p q r) ( p q r) (p q) Das unktioniert sogar ür die Spezialälle: Warnung: {{p, q, r}} entspricht (p q r) als Formel {{p},{ q},{r}} entspricht (p q r) als Formel {} entspricht als Formel {{}} entspricht als Formel Was dem Computer glasklar ist, kann ür den Menschen höchst verirrend sein: Das Trennzeichen (,) in inneren Klammern (Klauseln) entspricht einer Disjunktion ( ) Das Trennzeichen (,) in äußeren Klammern (Formeln) entspricht einer Konjunktion ( ) GdP2 Slide 14

GdP2 Slide 15 Normalormen Algorithmus zum Umandeln einer Formel in die KNF: 1. Eliminiere alle Operatoren der Form und mit den Ersetzungsregeln durch und! 2. Ziehe alle Negationszeichen vor Klammern in die Klammern hinein mit den demorganschen Regeln! 3. Wende die Distributivgesetze so lange an, bis au oberster Ebene nur noch Konjunktionen und darunter Disjunktionen sind! Das unktioniert immer!

GdP2 Slide 16 Deinition: Andere Normalormen Eine aussagenlogische Formel ist in disjunktiver Normalorm (DNF), enn sie als Disjunktion von Konjunktionen aus Aussagen oder Negationen von Aussagen dargestellt ist. Jetzt ällt das Mitdenken schon leichter: Was ist in DNF ein Literal? Was ist in DNF eine Klausel? Was ist in DNF eine Formel? Beispiele? Warum ollen ir Formeln in DNF bringen? ollen ir nicht: Eine Normalorm reicht uns aus!

Beim nächsten Mal: Prädikatenlogik GdP2 Slide 17