42 Beispiel: IEEE single precision: 0 10000000 00000000000000000000000 b= + 2 128 127 1.0 2 = 2 0 10000001 10100000000000000000000 b= + 2 129 127 1.101 2 = 6.5 1 10000001 10100000000000000000000 b= 2 129 127 1.101 2 = 6.5 0 00000001 00000000000000000000000 b= + 2 1 127 1.0 2 = 2 126 = z N min 0 00000000 10000000000000000000000 b= + 2 126 0.1 2 = 2 127 0 00000000 00000000000000000000001 b= + 2 126 0.000... 01 2 = 2 149 = z min 0 00000000 00000000000000000000000 b= + 0 1 00000000 00000000000000000000000 b= 0 0 11111111 00000000000000000000000 b= + 1 11111111 00000000000000000000000 b= 0 11111111 00000100000000000000000 b= NaN 1 11111111 00100010001001010101010 b= NaN 65
Das Ergebnis der meisten Operationen ist nicht exakt darstellbar und muss gerundet werden. Der IEEE-Standard stellt mehrere Rundungsmodi zur Verfügung: Runden zur nächsten Zahl (round to nearest): dies ist der Standardmodus Runden nach unten zur nächstkleineren Zahl Runden nach oben zur nächstgrößeren Zahl Runden zur Null (chop) durch Abschneiden der Ziffern z m z m 1... Durch geschickten Einsatz der Rundungsmodi können obere und untere Schranken für das tatsächliche Ergebnis einer Rechnung bestimmt werden. 43 Bemerkung: Der IEEE-Standard garantiert, dass jede einzelne Operation +,,, / mit möglichst kleinem Fehler durchgeführt wird. Mehrschrittige Berechnungen können aber beliebig große Fehler produzieren. 66
Jetzt ist bekannt, wie Information mit Nullen und Einsen dargestellt werden kann: Zeichen z.b. mit dem ASCII-Code oder Unicode ganze Zahlen in Binärdarstellung (z.b. mit Zweierkomplement) nicht-ganze Zahlen im Gleitkomma-Format (z.b. IEEE double Format) Wie kann man diese Information verarbeiten? Erster Schritt: Formalisierung Aussagenlogik 67
3.3 Aussagenlogik Kalkül zum logischen Schließen Grundlagen: Aristoteles (384 322 v. Chr.) 44 Definition: Eine Aussage ist ein Objekt, dem sich eindeutig ein Wahrheitswert wahr (w, true, T) oder falsch (f, false, F) zuordnen lässt. 45 Beispiele: aus dem Alltag: Wuppertal ist eine Stadt im Bergischen Land. Jeder Mensch muss sterben. Es regnet. Die Straße ist nass. aus der Mathematik: aber: 4 teilt 15. Es gibt unendlich viele Primzahlen. Die Gleichung a n +b n = c n ist im Falle n N, n 3 nicht ganzzahlig (d.h. a, b, c N) lösbar. Dieser Satz ist falsch (keine Aussage, in sich widersprüchlich) 68
3.3.1 Logische Verknüpfungen Aus Aussagen können mittels logischer Verknüpfung neue Aussagen gebildet werden. 46 Beispiel: Es regnet nicht, oder die Straße ist nass. Definition der Verknüpfung durch Wahrheitstabelle (legt fest, wann die neue Aussage in Abhängigkeit der sie bildenden Aussagen wahr oder falsch ist). Bezeichnungen: A, B, C,... stehen für beliebige Aussagen (Aussagevariablen) 0 immer falsch L immer wahr Negation : nicht, NOT (einstellige Verknüpfung) A A F T T F 69
Konjunktion : und, AND (zweistellige Verknüpfung) A B A B F F F F T F T F F T T T Disjunktion : oder, OR (zweistellig): A B A B F F F F T T T F T T T T Implikation : wenn dann (zweistellig): A B A B F F T F T T T F F T T T ex falso quodlibet Äquivalenz : genau dann, wenn (zweistellig): A B A B F F T F T F T F F T T T 70
3.3.2 Aussagenlogische Formeln 47 Definition: Eine (aussagenlogische) Formel (von n Aussagevariablen A 1,..., A n ) ist entweder eine atomare Formel (eine der Variablen oder 0 oder L) oder eine zusammengesetzte Formel der Art F 1, F 1 F 2, F 1 F 2, F 1 F 2, F 1 F 2, wobei F 1 und F 2 selbst wieder Formeln (Teilformeln) sind. Die Operatoren,,, und werden als Junktoren bezeichnet. Die Gruppierung zu Teilformeln kann durch Klammern vorgegeben werden. Ohne Klammern wird in der Reihenfolge gruppiert, gleiche Junktoren von links nach rechts. 71
48 Beispiele: A A B bzw. A ( B) A B C 0 C B bzw. (A ((B C) 0)) (C B) sind Formeln der Aussagevariablen A, B, C, D A B A B nicht. 49 Beispiel: Wahrheitstafel für ((A B) ( B C)) A B C A B B B C ((A B) ( B C)) F F F F T T F F F T F T T F F T F F F F F F T T F F T F T F F F T T F T F T F T T F T T F T F F F T T T T F T T 72
50 Definition: Die obige Definition der Struktur aussagenlogischer Formeln heißt Syntax der Aussagenlogik. Eine Formel bekommt erst durch eine Belegung einen Sinn. 73
3.3.3 Belegungen 51 Definition: Eine Belegung der Formel erhält man, wenn man jeder Variablen einen Wert T oder F zuordnet. Jede Belegung ergibt einen Wert T oder F für die Formel. 52 Beispiel: Regen StraßeNass Regen StraßeNass Belegung der Aussagen mit Wahrheitswerten: F T F T Auswertung der Junktoren liefert Wahrheitswert: F T T T F T T T T T Formales Schließen im Gegensatz zur empirischen Beurteilung, z.b. ob die Straße nass ist. 74
3.3.4 Tautologie und Kontradiktion 53 Definition: Eine Formel heißt allgemeingültig (Tautologie), wenn sie für jede Belegung den Wert T annimmt. Sie heißt erfüllbar, wenn sie für mindestens eine Belegung den Wert T annimmt. Sie heißt unerfüllbar (Kontradiktion), wenn sie für keine Belegung den Wert T annimmt. 54 Beispiel: Ist die Formel (P Q) (R P) allgemeingültig, erfüllbar, unerfüllbar? Erste Lösung mittels Wahrheitstafel: (P Q) P Q R P Q (P Q) R P (R P) F F F T F T T F F T T F F T F T F T F T T F T T T F F T T F F F T T T T F T F T T T T T F T F T T T T T T F T T Damit: allgemeingültig (also auch erfüllbar), nicht unerfüllbar. 75
55 Beispiele: Tautologien: A ( A) (A B) (B A) (A B) (A B) ( A B) erfüllbar: A B (mit A = T, B = T) A B C (z.b. mit A = T, B = F, C = F) Kontradiktionen: A A A B A B 76
3.3.5 Äquivalenzumformungen 56 Definition: Zwei Formeln F und G mit denselben Variablen heißen gleichwertig (äquivalent), Schreibweise F G, wenn sie für jede Belegung denselben Wert annehmen. Wichtige Äquivalenzen: Kommutativität: 1. A B B A 2. A B B A Assoziativität: 3. (A B) C A (B C) 4. (A B) C A (B C) Distributivität: 5. (A B) C (A C) (B C) 6. (A B) C (A C) (B C) Idempotenz von und : 7. A A A 8. A A A de Morgansche Regeln: 9. (A B) A B 10. (A B) A B doppelte Verneinung: 11. ( A) A 77
Kürzungsregeln: 12. A K A, falls K Kontradiktion 13. A T A, falls T Tautologie Implikationsregel: 14. A B A B Beweis: Wahrheitstafeln. Mit diesen Äquivalenzen lassen sich Formeln in gleichwertige umformen. 57 Beispiele: a) Ist die Formel (P Q) (R P) allgemeingültig, erfüllbar, unerfüllbar? Zweite Lösung mittels Äquivalenzumformungen: (P Q) (R P) 14. ( P Q) ( R P) 14. ( ( P Q)) ( R P) 11. ( P Q) ( R P) 1., 3. ( P P) (Q R) L (Q R) L Damit: allgemeingültig (also auch erfüllbar), nicht unerfüllbar. 78
b) Die Formel (A B) ( (A B)) ist gleichwertig mit (A B) (B A): 6. 9. 2., 6. 12. (A B) ( (A B)) A ( (A B)) B ( (A B)) A ( A B) B ( A B) (A A) (A B) (B A) (B B) (A B) (B A) 58 Definition: Die in Beispiel 57b) betrachtete Formel heißt exklusives oder (Antivalenz, XOR): A B A XOR B F F F F T T T F T T T F 79
3.3.6 Disjunktive und konjunktive Normalform 59 Definition: Ein Literal ist eine atomare Formel oder die Negation einer atomaren Formel (positives bzw. negatives Literal). Eine Formel F ist in konjunktiver Normalform (KNF), wenn sie eine Konjunktion von Disjunktionen von Literalen ist: 0 1 m n^ _ i F = @ A, i=1 j=1 L ij wobei L ij {A 1, A 2,...} { A 1, A 2,...}. Eine Formel F ist in disjunktiver Normalform (DNF), wenn sie eine Disjunktion von Konjunktionen von Literalen ist: 0 1 m n_ ^ i F = @ L ij A, i=1 j=1 wobei L ij {A 1, A 2,...} { A 1, A 2,...}. 60 Satz: Für jede Formel F gibt es eine äquivalente Formel F K in KNF und eine äquivalente Formel F D in DNF. Beweis: Z.B. in U. Schöning: Logik für Informatiker. 80
Herstellen der KNF mit Äquivalenzumformungen: 1. Ersetze in F jedes Vorkommen einer Teilformel der Bauart G durch G, (G H) durch ( G H), (G H) durch ( G H), bis keine derartige Teilformel mehr vorkommt. 2. Ersetze jedes Vorkommen einer Teilformel der Bauart F (G H) durch ((F G) (F H)), (F G) H durch ((F H) (G H)), bis keine derartige Teilformel mehr vorkommt. Die resultierende Formel ist in KNF. Es kommen evtl. noch überflüssige (aber in KNF zulässige) Disjunktionen vor, die Tautologien sind. 81
Ablesen der Normalformen aus der Wahrheitstafel: Eine Formel F habe die Wahrheitstafel A B C F F F F T F F T F F T F F F T T F T F F T T F T T T T F F T T T F F ( A B C) (A B C) (A B C) ( A B C) (A B) (beides sind DNFen). F ` ( A B C) ( A B C) ( A B C) (A B C) (A B C) (A B C) (A B C) (A B C) ( A B C) ( A B C) (A B C) (A B) ( A B) (A B C) ( B) (die letzten drei Formeln sind in KNF). 82
3.3.7 Karnaugh-Veitch-Diagramme Die aus einer Wahrheitstafel abgelesenen disjunktiven Normalformen sind meist unnötig lang und sollten vereinfacht werden. Zur grafischen Vereinfachung dienen Karnaugh-Veitch-Diagramme (kurz KV-Diagramme). A A KV Diagramme mit 1, 2 und 3 Variablen F( A) F(A) A A B F( A, B) F(A, B) (Konstruktion durch Spiegelung, abwechselnd an der unteren und der rechten Kante) B F( A,B) F(A,B) A A A B F( A, B, C) F(A, B, C) F(A, B,C) F( A, B,C) B F( A,B, C) F(A,B, C) F(A,B,C) F( A,B,C) C C 83
61 Bemerkung: Diese Konstruktion garantiert, dass es bei n Variablen Felder für alle 2 n möglichen Kombinationen gibt und sich beim Übergang von einem Feld zu einem Nachbarfeld genau eine Variable ändert. Vereinfachung von disjunktiven Normalformen (abgelesen aus einer Wahrheitstafel) mittels KV-Diagrammen: Jede Und-Verknüpfung (Tabellenzeile) beschreibt genau ein Feld des Diagramms. Die Wahrheitswerte werden in das Diagramm übertragen. Benachbarte T-Blöcke der Größe 2 n werden nun zusammengefasst. Dies beruht auf der Regel (X Y ) (X Y ) X. Diagramme für 3 bzw. 4 Variable sind als Zylinder bzw. Torus aufzufassen, d.h. gegenüberliegende Randfelder sind benachbart. 84
62 Beispiele: a) 2 Variable: F (A B) (A B) kv-2var.eps F A b) 3 Variable: F ( A B C) (A B C) (A B C) (A B C) kv-3var1.eps F (A B) (B C) 85
c) 3 Variable: F ( A B C) (A B C) ( A B C) kv-3var2.eps F (A B C) ( A B) 86
d) 4 Variable: F (A B C D) (A B C D) ( A B C D) (A B C D) ( A B C D) ( A B C D) ( A B C D) (A B C D) (A B C D) kv-4var.eps F (A B) (C D) ( A B D) 87
Durch Zusammenfassen von F-Feldern und anschließende Negation erhält man eine konjunktive Normalform. 63 Beispiel: KNF aus KV-Diagramm kv-3var3.eps F ( B C) ( A B C) F (B C) (A B C) 88
3.3.8 Verknüpfungsbasen Sei B = {F, T}. Durch eine Belegung wird jede Aussagevariable A ebenso wie die ganze Formel auf ein Element von B abgebildet. Betrachtet man alle möglichen Belegungen einer Formel mit n Variablen, so entspricht dies also einer Funktion F b= f : B B {z } n-mal =: B n B. Gilt auch die Umkehrung, d.h. gibt es zu jeder solchen Funktion auch eine entsprechende Formel? 64 Satz: Für jedes n N entspricht jeder Abbildung f : B n B eine Formel der Aussagenlogik. Beweis: Vollständige Induktion. Bisher: Fünf Junktoren (,,,, ). Frage: Können alle mit mit diesen fünf Junktoren gebildeten Formeln durch äquivalente Formeln mit anderen Junktormengen (Verknüpfungsbasen) ersetzt werden? 89
65 Satz: Jede aussagenlogische Formel ist äquivalent zu einer, die nur und enthält. Beweis: Es genügt zu zeigen, wie man, und durch und ersetzt. 1. : 2. : A B ( A B) (de Morgansche Regeln) A B A B (Wahrheitstafel) 3. : A B (A B) ( A B) (W.-Tafel), und lässt sich nach Teil 1) durch und ersetzen. 66 Satz: Jede aussagenlogische Formel ist äquivalent zu einer, die nur und enthält. Beweis: Wegen Satz 65 genügt es zu zeigen, wie man ersetzt: A B ( A B). 90
67 Definition: Die beiden Verknüpfungsbasen {, } und {, } werden als de Morgan-Basen bezeichnet. Weitere Verknüpfungsbasen: Boolesche Basis: {,, } Frege-Basis: {, } NAND-Basis: { } NOR-Basis: { } Dabei: NAND-Verknüpfung: A B (A B) und NOR-Verknüpfung: A B (A B). A B A B A B F F T T F T T F T F T F T T F F 91
3.3.9 Aussagenlogik und Arithmetik Identifiziert man die Binärziffer 0 mit F und die Ziffer 1 mit T, so kann man arithmetische Operationen durch logische Formeln beschreiben, z.b. Addition zweier einstelliger Binärzahlen: ergibt die Tafel Z 0 + Z 0 = C 1S 0 Also: Z 0 Z 0 C 1 S 0 0b=F 0b=F 0b=F 0b=F 0b=F 1b=T 0b=F 1b=T 1b=T 0b=F 0b=F 1b=T 1b=T 1b=T 1b=T 0b=F S 0 b= Z 0 XOR Z 0 C 1 b= Z 0 Z 0 92
Bei der Addition mehrstelliger Zahlen muss (außer bei der letzten Ziffer) auch der Übertrag (Carry) aus der dahinter liegenden Stelle berücksichtigt werden: ergibt die Tafel C k + Z k + Z k = C k+1s k Also: C k Z k Z k C k+1 S k F F F F F F F T F T F T F F T F T T T F T F F F T T F T T F T T F T F T T T T T S k b= ( C k Z k Z k ) ( C k Z k Z k ) (C k Z k Z k ) (C k Z k Z k ) C k (Z k XOR Z k ) C k (Z k XOR Z k ) C k XOR (Z k XOR Z k ) C k+1 b= ( C k Z k Z k ) (C k Z k Z k ) (C k Z k Z k ) (C k Z k Z k ) (C k Z k ) (C k Z k ) (Z k Z k ) 93
3.3.10 Aussagenlogisches Schließen 68 Definition: Eine Formel F = F(A 1,..., A m ) heißt logische Folgerung (Konklusion) von A = {A 1,..., A m }, in Zeichen A = F ( F folgt semantisch aus A ), wenn A 1 A 2... A m F(A 1,..., A m ) eine Tautologie ist. 69 Bemerkung: Die Korrektheit eines logischen Schlusses A = F mit A = {A 1,..., A m }, kann man prüfen: muss unerfüllbar sein. A 1... A m F 94
70 Beispiele: a) Ist F(A 1,..., A m ) logische Folgerung von A 1,..., A m, so ist es auch logische Folgerung von A 1,..., A m, B (für eine beliebige Formel B), denn: A 1... A m B F(A 1,..., A m ) (A 1... A m B) F(A 1,..., A m ) (A 1... A m ) ( B) F(A 1,..., A m ) (A 1... A m ) F(A 1,..., A m ) B {z } L wegen A = F L b) Ist F(A 1,..., A m ) logische Folgerung von A 1,..., A m, so ist auch F(A 1,..., A m ) B logische Folgerung von A 1,..., A m (für eine beliebige Formel B). (Beweis: analog.) Beim logischen Folgern dürfen Vorbedingungen durch stärkere, Nachbedingungen durch schwächere ersetzt werden. 95
3.3.11 Beweise, Regelschemata Logische Beweise werden aus logischen Schlüssen aufgebaut. Ein logischer Kalkül gibt Regelschemata für logische Schlüsse an. Ein Schema {F, G} = F G notiert man auch F G F G bzw. F, G F G Es bedeutet: Aus der Gültigkeit von F und G kann man schließen, dass F G gilt. 71 Beispiele: a) Modus ponens (lat. ponere = setzen): b) Modus tollens (lat. tollere = aufheben): A, A B B A B, B A c) Reductio ad absurdum: A B, A B A d) Kettenschluss: A B, B C A C 96