Wypior Diskrete Mathematik Mengen Unterscheidbare Objekte m1, m2, m3, ... unseres Denkens mit mindestens einer gemeinsamen Eigenschaft lassen sich auf natürliche Weise zu einer Klasse M zusammenfassen, die damit ein neues Objekt unseres Denkens wird: M = { m1, m2, m3,... }. Jedes dieser Objekte mi ist ein Element der Klasse M: mi ∈ M Haben alle mi ∈ M die Eigenschaft E(mi), dann läßt sich die Klasse M mit Hilfe dieser gemeinsamen Eigenschaft charakterisieren: M = { m | E(m) } Die Aussage : r ∉ M ist gleichbedeutend mit: r ist kein Element von M. Dann und nur dann, wenn eine derart gebildete Klasse M selbst Element einer Klasse ist ( M ∈ K ), heißt eine solche Klasse Menge. Die Eigenschaft E(m) muß entscheidbar sein. So ist die „Menge der kleinen Autos“ keine Menge im Sinn der Definition, weil der Begriff „klein“ nicht entscheidbar ist. Es gibt Klassen, die keine Mengen sind (Russel’sche Menge): K = def { M | M ∉ M }. Beweis: Angenommen, K wäre eine Menge. Dann wäre die Aussage K ∈ K sinnvoll und kann daraufhin geprüft werden, ob sie wahr oder falsch ist. Aus K ∈ K folgt aber aufgrund der Definition, daß K ∉ K gilt. Das ist aber ein Widerspruch. Die Annahme, K sei eine Menge kann also nicht richtig gewesen sein. Demnach ist K keine Menge. Widerspruchsfreie Lösungen zur Bildung von Mengen erhält man durch die sogenannten Mengenbildungsaxiome: I Teilmenge: { x ∈A | S ( x ) } = def { x | x ∈ A und S ( x ) } ( Die Menge aller x ∈ A, die S ( x ) erfüllen ) II Zweiermenge: { A, B } = def { x | x = A oder x = B } III Vereinigung eines Mengensystems: ∪ Aj = def { x | x ∈ Aj für mindestens ein j, j =1 n j =1, . . ., n } IV Potenzmenge: Pot (A) = def { X | X ⊆ A } V unendliche Menge: Es gibt eine Menge A mit folgenden Eigenschaften -{}∈A ( die leere Menge gehört zu A ) - wenn x ∈ A ist, dann ist auch x ∪ { x } ∈ A Wypior Seite 1 Stand 16.11.2011 Diskrete Mathematik Weiterhin gelten folgende Sätze, die sich aus I bis V herleiten lassen: VI Einermenge: {A} = def { x | x = A } VII Vereinigungsmenge: A ∪ B = def {x | x ∈ A oder x ∈ B } VIII Durchschnittsmengen: A ∩ B = def {x | x ∈ A und x ∈ B } IX Relatives Komplement: A – B = def { x ∈ A | x ∈ B } X Durchschnitt eines Mengensystems: ∩ Aj = def { x | x ∈ Aj für alle j =1, . . ., n } j =1 n Beispiele: 1) Es sei A = {a,b,c} Pot(A) = { {a},{b},{c},{a,b},{a,c},{b,c},{a,b,c},{ } } 2) Bildung der Menge der natürlichen Zahlen IN mit Hilfe des Mengenbildungsaxioms V: 0 = def { } 1 = def 0 ∪ { 0 } = { 0 } ={}∪{{}} = {{ } } 2 = def 1 ∪ { 1 } = { 0, 1 } = { } ∪ { { } } ∪ { { } ∪ { { } } } = {{ }, { { } }} 3 = def 2 ∪ { 2 } = { 0, 1, 2 } = . . . = {{ }, {{ }}, {{ }, {{ }} } } ... 0 1 2 Bemerkung: Die Menge IN ist die kleinste Menge, die die Eigenschaft V erfüllt. 3) Menge der Wahrheitswerte: False = def 0 True = def 1 IB = def { False, True } Bemerkung: Somit gilt: IB ⊂ IN ⊂ Z ⊂ Q I ⊂ IR Weitere Definitionen und Sätze: 1) 2) 3) 4) 5) 6) 7) Wypior ] a,b [ [ a,b ] [ a,b [ ] a,b ] A⊆B A⊂B A=B = def {x | x ∈ IR und a < x < b } = def {x | x ∈ IR und a ≤ x ≤ b } = [ a,b ) = def {x | x ∈ IR und a ≤ x < b } = ( a,b ] = def {x | x ∈ IR und a < x ≤ b } ⇔ def (x ∈ A ⇒ x ∈ B ) ⇔ def ( A ⊆ B und es gibt ein x ∈ B mit x ∉ A ) ⇔ def ( x ∈ A ⇔ x ∈ B ) = ( a,b ) Seite 2 offenes Intervall abgeschlossenes Intervall halboffenes Intervall halboffenes Intervall Stand 16.11.2011 Diskrete Mathematik Disjunkte Mengen: Zwei Mengen A und B mit A ∩ B = { } heißen disjunkt. Cartesisches Produkt der Mengen A und B: A × B = def { ( a , b ) | a ∈ A und b ∈ B } Für X × X findet man die Schreibweise X2. Beispiele: 1) 3) IN × IN : IR– × IR+: 2) ZZ × [-2 , 1 [ 4) IB × IB = {(true, true), (true, false), (false, true), (false, false)} Disjunkte Vereinigung der Mengen A und B: A + B = def ({ 0 } × A ) ∪ ({ 1 } × B ) allgemein gilt: A0 + A1 + ⋅ ⋅ ⋅ + An = def ( ({ 0 } × A0 ) ∪ ({ 1 } × A1) ∪ ⋅ ⋅ ⋅ ∪ ({ n } × An) ) Gesetze der Mengenlehre: 1) A∩B=B∩A 2 ) (A ∩ B) ∩ C = A ∩ (B ∩ C) 3 ) A ∩ (A ∪ B) = A 4 ) A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) 5) A∩ A ={} 6) 7) 8) A∩G= A A∩{}={} 9) 10) A∩A= A 11) A∩B = A∪B Wypior Kommutativgesetz Assoziativgesetz Absorptionsgesetz Distributivgesetz Komplement Existenz der Neutralelemente G und { } { }=G A =A A∪B=B∪A (A ∪ B) ∪ C = A ∪ (B ∪ C) A ∪ (A ∩ B) = A A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C) A ∪ A = G (G = Gesamtheit ) A∪{}=A A∪G=G G ={} Idempotenzgesetz Doppeltes Komplement de Morgan Gesetze Seite 3 A∪A=A A∪B = A∩B Stand 16.11.2011 Diskrete Mathematik Beispiel: Beweis von ( 3 ) durch Zugehörigkeitstafel: Für ein x gilt: A ∈ ∈ ∉ ∉ B ∈ ∉ ∈ ∉ A∪B ∈ ∈ ∈ ∉ A ∩ (A ∪ B) ∈ ∈ ∉ ∉ Das Dualitätsprinzip: Ersetzt man in einem Mengengesetz die Verknüpfung ∩ durch ∪ und umgekehrt sowie { } durch G und umgekehrt, so ergibt sich wieder ein Gesetz der Mengenalgebra. Zweistellige Relationen Es sei R ⊆ A × B und ( x, y ) ∈ R. Dann versteht man unter einer zweistelligen Relation die gemäß nachfolgender Definition erzeugte Paarmenge: x R y = def { (x, y) | x ∈ A und y ∈ B } Beispiele: 1) Die Ordnungsrelationen <, ≤ , >, ≥ auf den natürlichen, ganzen oder reellen Zahlen 2) Die lexikographische Anordnung auf der Menge der Zeichenketten. Hier gibt es mehrere Varianten hinsichtlich der Einordnung der Umlaute: - ä wie ae ( Telefonbuch ) - ä wie a ( Lexikon ) - ä nach z ( skandinavisch ) 3) Die Relation „eine Stadt A ist mit einer Stadt B durch eine direkte Eisenbahnstrecke verbunden“ 4) Die Relation: besitzt ⊆ Personen × Kraftfahrzeuge 5) Die Relation: Kfz-Kennzeichen ⊆ Kraftfahrzeuge × Zeichenketten Gleichmächtigkeiten von Mengen: Zwei Mengen A und B sind gleichmächtig, wenn es eine Relation f ⊆ A × B gibt mit folgenden Eigenschaften: - für alle x ∈ A gibt es genau ein y ∈ B mit x f y - für alle y ∈ B gibt es genau ein x ∈ A mit x f y Endliche Mengen: Eine Menge A heißt endlich, wenn A gleichmächtig zu einer natürlichen Zahl n ist: Card (A) = n Card (A) heißt Kardinalität von A. Funktionale Zusammenhänge in Relationen: Es sei R ⊆ D × E . Häufig wird angegeben, welche Werte Card ({y ∈ E | x R y}) für x ∈ D annehmen kann. Besonders wichtig sind: 0⋅⋅1 : höchstens 1 Element 1⋅⋅∞ : mindestens 1 Element 1 : genau 1 Element Wypior Seite 4 Stand 16.11.2011 Diskrete Mathematik Man schreibt: 0 ..1 R:D 1.. ∞ R:D E E 1 R:D E Entsprechend schreibt man für die Werte von Card ({x ∈ D | x R y }) für y ∈ E: R:D 1..∞ E usw. Systemanalytische Begriffe für zweistellige Relationen: R:D E m : n - Beziehung E m : 1 - Beziehung E 1 : n - Beziehung E 1 : 1 - Beziehung 0 ..1 R:D 0 ..1 R:D 0 ..1 0 ..1 R:D n - stellige Relationen R ⊆ A0 × A1 × . . . × An-1 heißt n - stellige Relation, die einzelnen Elemente heißen n - Tupel. Die Zahlen 0 . . n -1 werden Rollen genannt. Die Rollen können z. B. als Spaltenüberschriften über Tabellen gesetzt werden. Die Zeilen entsprechen dann den n - Tupeln. Im relationalen Datenbankmodell heißen die Rollen „Attribute“. Beispiele: 1) Zwischen = def { (x | y | z ) | x ∈ IR, y ∈ IR, z ∈ IR und x < y und y < z } (2 | 3 | 5) oder ( 3,14 | π | 3,15 ) sind Elemente von „Zwischen“. 2) Bestellung ⊆ Kunden × Waren × IN × Tagesdaten Dann ist (Kunde, Artikel, Anzahl, Datum) ∈ Bestellung, wenn der Kunde den Artikel am angegebenen Datum mit der angegebenen Anzahl bestellt hat. Funktionen Eine Relation mit f ⊆ D × W heißt Abbildung oder Funktion von D nach W, falls es zu jedem x ∈ D genau ein y ∈ W gibt: 1 f:D W Statt x f y schreibt man y = f (x) und nennt y den Funktionswert an der Stelle x oder allgemein das Bild von x unter der Abbildung f. x ∈ D heißt das Urbild von y unter der Abbildung f. D heißt Definitionsbereich, W heißt Wertebereich. Beispiele: 1) f = def { ( x , y ) | x ∈ IR, y ∈ IR und y = x2 } 2) Idx = def { ( x, x ) | x ∈ D und Idx ( x ) = x } ( Hier ist W = D ! ) 3) Es sei A die Menge aller zulässigen und nachprüfbaren Aussagen. truth =def A → IB ordnet jedem p ∈ A eindeutig einen Wahrheitswert zu. Wypior Seite 5 Stand 16.11.2011 Diskrete Mathematik Partielle Funktionen: 0 ..1 Die Relation f : D W heißt partielle Funktion. Bei partiellen Funktionen kann f(x) undefiniert sein. Deshalb gibt es eine Teilmenge Deff ⊆ D mit Deff = def { x ∈ D | es gibt y ∈ W mit x f y }. Die partiellen Funktionen sind also genau die n : 1 – Relationen. Beispiel: Die Funktion eines Binär-zu-Dezimaldekoders mit 4 Eingängen und einem Ausgang ist derart definiert, daß ein an den Eingängen anliegendes binäres Muster als Dualzahl interpretiert wird und den zugehörigen dezimalen Ausgang auf den logischen Pegel 1 legt. Alle anderen Ausgänge sind logisch 0. Alle Binärmuster, die sich nicht zu einer Ziffer des Dezimalsystems umrechnen lassen, sind keinem Ausgang zugeordnet. Hier ist D die Menge aller Binärmuster, f die Abbildung auf eine dezimale Ziffer, Deff die Menge der binären Muster, die sich einer dezimalen Ziffer zuordnen lassen. Eigenschaften von und Sätze über Funktionen: f ⊆ D × W ist dann und nur dann eine Funktion, wenn gilt: – Es sei x ∈ D ⇒ es gibt genau ein y ∈ W mit ( x , y ) ∈ f – Es seien ( x, y ) und ( x’, y’ ) ∈ f und x = x’ ⇒ ( x, y ) = ( x’, y’ ) Zwei Funktionen f : D → W und g : D → W sind genau dann gleich, wenn f ( x ) = g ( x ) für alle x ∈ D gilt. Es seien f : D → M und g : M →W zwei Funktionen. Dann heißt g ° f : D → W mit (g ° f) (x) = def g (f (x)) für alle x ∈ D die Komposition der Funktionen f und g . g ° f ist die Hintereinanderausführung der Funktionen f und g in dieser Reihenfolge. Dabei ist zu beachten, daß der Wertebereich von f Teilmenge des Definitionsbereiches von g sein muß. Beispiel: Sei D = { 1, 2, 3 }, M = { 1, 2, 3, 4, 9 }, W = { 1, 2, 3,, 4, 5, 9, 10, 16, 81 } f =def { (x, m) | x ∈ D, m ∈ M und m = x2 } = {(1, 1), (2, 4), (3, 9)} g =def { (m, y) | m ∈ M, y ∈ W und y = m+1 } = {(1, 2), (2, 3), (3, 4), (4, 5), (9, 10)} g °f = { (x, y ) | x ∈ D, y ∈ W und y = x2 + 1} = {(1, 2), (2, 5), (3, 10)} Die Abbildungen g °f und f °g sind im allgemeinen verschieden. Das Beispiel liefert für f °g: g =def { (x, m) | x ∈ D, m ∈ M und m = x+1 } = {(1, 2), (2, 3), (3, 4)} f =def { (m, y) | m ∈ M, y ∈ W und y = m2 } = {(1, 1), (2, 4), (3, 9), (4, 16), (9, 81)} 2 f ° g = { (x, y ) | x ∈ D, y ∈ W und y = (x+1) } = {(1, 4), (2, 9), (3, 16)} Für die Komposition „ ° “ von Funktionen gilt: 1) Das Assoziativgesetz Es seien f : D → A, g : A → B, h : B → W drei Funktionen. Dann gilt: 2) Das Identitätsgesetz Für jede Funktion f : D → W mit x ∈ D, y ∈ W gilt: h ° (g ° f ) = ( h ° g ) ° f f ° Idx = f = Id y ° f Beweis von 2): Für alle x ∈ D gilt: (f ° Idx ) (x) = f ( Idx (x)) = f (x) = Id y (f (x)) = ( Idy ° f ) (x) Wypior Seite 6 Stand 16.11.2011 Diskrete Mathematik Injektivität: Eine Funktion f : D → W heißt injektiv ( oder eineindeutige Abbildung von D nach W ), falls jedes y ∈ W höchstens ein Urbild x ∈ D besitzt, also f : D 0 ..1 1 W gilt. Surjektivität: Eine Funktion f : D → W heißt surjektiv ( oder eine Abbildung von D auf W ), falls jedes y ∈ W mindestens ein Urbild x ∈ D besitzt, also f : D 0..∞ 1 W gilt. Bijektivität: Eine Funktion, die injektiv und surjektiv zugleich ist, heißt bijektiv ( oder eineindeutige Abbildung von D auf W ), also f : D 1 1 W . Beispiele: 1) Es sei f ⊆ D × W mit D = IR und W = IR sowie f : x →x2 mit x ∈ IR. f ist weder injektiv noch surjektiv. Beweis: • Injektivität: f ist nicht injektiv, denn ( 2, 4 ) ∈ f und (-2, 4 ) ∈ f. Damit besitzt aber die 4 ∈ W zwei Urbilder. • Surjektivität: f ist nicht surjektiv, denn -1 ∈ W besitzt kein Urbild. 2) Es sei f ⊆ D × W mit D = IR+0 und W = IR sowie f : x →x2 mit x ∈ IR. f ist injektiv. Beweis: + Fall 1: Sei y ≥ 0 ∈ W, so ist x = y ∈ IR0 das zugehörige Urbild. Fall 2 : Sei y < 0 ∈ W, so existiert kein Urbild. Also besitzt jedes y höchstens ein Urbild. 3) Es sei f ⊆ D × W mit D = IR und W = IR sowie f : x →x3 mit x ∈ IR. f ist bijektiv. Beweis: + Injektivität: a) Sei y ≥ 0 ∈ W, so ist x = 3 y ∈ IR0 Urbild von y. Surjektivität: Bijektivität: b) Sei y < 0 ∈ W, so ist x = 3 y ∈ IR− Urbild von y Zu jedem y ∈ W gibt es also höchstens ein x ∈ D. Damit ist f injektiv. f ist surjektiv, denn zu jedem y ∈W gibt es nach der obigen Konstruktion mindestens ein Urbild x ∈ D. f ist injektiv und surjektiv zugleich und damit nach Definition bijektiv. Eine Abbildung f : D → W ist dann und nur dann injektiv, wenn eine linksinverse Abbildung g l : W → D existiert mit g l ° f = Idx . Beweis: 1) „⇐„ Angenommen, eine linksinverse Abbildung g l mit g l ° f = Idx existiert. Dann folgt aus f (x) = f(x’) mit x,x’ ∈ D: x = Idx (x) = (g l ° f) (x) = g l (f (x)) = g l (f (x’)) = (g l ° f) (x’) = Idx (x’) = x’ D.h., es ergibt sich dasselbe Urbild. Das ist aber gerade die Eigenschaft der Injektivität Wypior Seite 7 Stand 16.11.2011 Diskrete Mathematik 2) „⇒“ Angenommen, f sei injektiv. Imf ⊆ W sei diejenige Teilmenge von f, deren Elemente Bilder von x ∈ D unter der Abbildung f sind. Dann läßt sich folgende Funktion g l : W → D als linksinverse Funktion konstruieren: Urbild von y = f(x), falls y ∈ Imf x ∈ D sonst (beliebig) Es sei y ∈ W. g l (y) = Für eine derart definierte Funktion gilt für alle x ∈ D: (g l ° f) (x) = g l (f (x)) = g l (y) = x ⇒ (g l ° f) (x) = Idx (x) Bemerkung: Man beachte, daß g l (y) nicht eindeutig ist! q.e.d. Eine Abbildung f : D → W ist dann und nur dann surjektiv, wenn eine rechtsinverse Abbildung g r : W → D existiert mit f ° g r = Id y . Beweis: 1) „⇐„ Angenommen, eine rechtsinverse Abbildung f ° g r = Id y existiert. Dann gilt für jedes y ∈ W: y = Id y (y) = (f ° g r ) (y) = f (g r (y)) = f (x) Dabei ist x das Bild von y unter der Funktion g r. Damit ist ein Urbild von y unter der Funktion f gefunden. 2) „⇒“ Angenommen, f sei surjektiv. Dann gibt es für jedes y ∈ W mindestens ein x ∈ D als Urbild, so daß eine Abbildung g r : W → D mit g r (y) = x =def Urbild von y unter f definiert werden kann Für eine derart definierte Funktion gilt für alle y ∈ W: (f ° g r ) (y) = f (g r (y)) = f (x) = y = Id y (y) q.e.d. Bemerkung: Man beachte, daß g r (y) nicht eindeutig ist, da y verschiedene Urbilder besitzen kann! Ist f : D → W eine bijektive Abbildung, so existiert genau eine zu f inverse Abbildung f -1 : W → D mit der Eigenschaft f -1 ° f = Idx und f ° f -1 = Id y . ( Diese Aussage bedeutet: wenn f sowohl eine linksinverse als auch eine rechtsinverse Abbildung besitzt, so sind beide eindeutig bestimmt und einander gleich.) Beweis: f sei bijektiv. Dann gibt es eine linksinverse Abbildung g l : W → D mit g l ° f = Idx und eine rechtsinverse Abbildung g r : W → D mit f ° g r = Id y . Zu zeigen: g l = g r Für y ∈ W gilt: g r (y) = g r (f(x)) für jedes y ∈ W gibt es ein x ∈ D mit x f y, da f bijektiv und somit surjektiv ist. = g r (f (g l (y))) nach Definition von gl = g r ( (f ° g l ) (y)) nach Definition von f ° g Der Vergleich der Argumente von gr ergibt y = (f ° g l ) (y). Da gr injektiv ist, ist dieser Vergleich zulässig und eineindeutig. Also ist f ° g l = Id y . Wegen f ° g r = Id y ist g l = g r q.e.d. Wypior Seite 8 Stand 16.11.2011 Diskrete Mathematik Beispiel: 1 1 und f -1 (y) = − 1 die zu f inverse Funktion. y 1+ x 1 1 Dann gilt: (f -1 ° f ) (x) = f -1 (f (x)) = f -1 ( )= − 1= 1 + x – 1 = x 1 1+ x 1+ x Es seien f : IR \ {-1} → IR \ { 0 } mit f (x) = Achtung! Oft werden die Variablennamen „umgetauft“, d.h., man schreibt statt f -1 (y) dann f -1 (x) mit x ∈ D = IR \ { 0 }. Hier besteht die Gefahr der Verwechselung mit (f (x)) -1 = 1 + x mit x ∈ D = IR \ { -1 }. Eine Funktion f : X →X heißt Involution oder Spiegelung, falls f °f = Idx gilt. Für Spiegelungen gilt: f = f-1. Umkehrabbildungen und Mehrdeutigkeit illustriert an Venn - Diagrammen 1) f = { ( a | 1), ( b | 2 ), ( c | 3 ), ( d | 3 ) } h = { ( 1 | a ), ( 2 | b ), ( 3 | c ), ( 3 | d ) } f ist surjektive Funktion. h ist keine Funktion. gr1 = {( 1 | a ), ( 2 | b ), ( 3 | c )} gr1 und gr2 = {( 1 | a ), ( 2 | b ), ( 3 | d )} gr2 sind rechtsinverse Funktionen von f. z.B. gilt für 3 ∈ W: (f ° g r2 ) ( 3 ) = f ( g r2 ( 3 )) = f ( d ) = 3 2) f = { ( 1 | 1), ( 2 | 4 ), ( 3 | 2 ) } f -1 = { ( 1 | 1), ( 2 | 4 ), ( 3 | 2 ) } f ist bijektive Funktion. z.B. gilt für 2 ∈ D: (f -1 ° f ) ( 2 ) = f -1 ( f ( 2 )) = f -1 ( 4 ) = 2 aber auch für 2 ∈ W: (f ° f -1 ) ( 2 ) = f ( f -1 ( 2 )) = f ( 3 ) = 2 Wypior Seite 9 Stand 16.11.2011 Diskrete Mathematik Funktionenmenge A,B seien Mengen. BA = def { f : A → B } Wegen BA = { f ∈ Pot (A × B) | für alle x ∈ A gibt es genau ein y ∈ B mit {( x, y )} ⊆ f } ist BA eine Menge. Wenn A und B endliche Mengen sind mit Card (A) = n und Card (B) = m, so hat BA mn Elemente. Zum Verständnis der Definition von BA sowie zur Veranschaulichung der Konstruktion dieser Menge sind nachfolgend beispielhaft die Mengen B0, B1 und B2 dargestellt und erläutert: B0 ={f:0→B} Da { } × B = { } ist, hat B0 = { { } } genau ein Element (entsprechend der algebraischen Identität n0 = 1 ). a 0 B1 ={f:1→B} = { f : {0} → B } f1 0 fn B2 ={f:2→B} = { f : {0,1} → B } 0 1 1 a n mit ai e B, i = 1.. n ergeben sich n Abbildungen a 1 a n a 1 a 2 a 3 f1 a n a 1 a 2 a 3 0 1 fn2 Man beachte: Card (B) = Card ( B1 ) = n Erst wird die 0 auf a1 und die 1 auf a1 bis an abgebildet. Das sind n Abbildungen. Dann wird die 0 auf a2 und die 1 wieder auf a1 bis an abgebildet. Das sind wieder n Abbildungen. U.s.w. Insgesamt ergeben sich so n ⋅ n = n2 Abbildungen a n u.s.w. Vergleicht man die Kardinalitäten von B2 und B × B, so ergibt sich dieselbe Größe, nämlich Card (B2) = n2 = Card (B × B) . Dasselbe gilt sinngemäß für Card ( BA ) = mn = Card ( B × ⋅ ⋅ ⋅ × B ). n mal Jedes f ∈ besitzt die Darstellung : (f (0), f (1)) Jedes a ∈ B × B besitzt die Darstellung : ( ai, aj) B2 Es besteht also eine Äquivalenz zwischen B2 und B × B derart, daß jedem f ∈ B2 eindeutig ein a ∈ B × B zugeordnet werden kann. Allgemein ist Bn äquivalent zu ( B × ⋅ ⋅ ⋅ × B ). n mal Wypior Seite 10 Stand 16.11.2011 Diskrete Mathematik Äquivalenzrelationen (äquus = gleich, valere = gelten) Eine Relation ∼ auf einer nichtleeren Menge M heißt Äquivalenzrelation auf M, falls für alle x,y,z ∈ M gilt: (1) x∼x Reflexivität (2) x∼y ⇒ y∼x Symmetrie (3) x ∼ y und y ∼ z ⇒ x∼z Transitivität 1. Beispiel: R sei die Relation „ < “ auf der Menge der reellen Zahlen IR. R ist nicht reflexiv, denn für alle a ∈ IR gilt a <| a 2. Beispiel: R sei die Relation der Ähnlichkeit von Dreiecken in der Ebene. R ist eine Äquivalenzrelation: Reflexivität: R ist reflexiv, denn jedes Dreieck ist zu sich selbst ähnlich. Symmetrie: R ist symmetrisch, denn ist Dreieck ABC zu Dreieck A’B’C’ ähnlich, so ist auch Dreieck A’B’C’ zu Dreieck ABC ähnlich. Transitivität: R ist transitiv, denn ist Dreieck ABC zu Dreieck A’B’C’ ähnlich und Dreieck A’B’C’ zu Dreieck A’’B’’C’’ ähnlich, so ist auch Dreieck ABC zu Dreieck A’’B’’C’’ ähnlich Eine Menge M, auf der eine Äquivalenzrelation ∼ definiert ist, zerfällt „von selbst“ in Teilmengen Mi, und zwar so, daß für je zwei Elemente x,y ∈ Mi stets x ∼y gilt. Die entstehenden Teilmengen nennt man Äquivalenzklassen. Das Umgekehrte ist ebenfalls richtig: Jede Klasseneinteilung einer Menge M induziert auf natürliche Weise eine Äquivalenzrelation auf M. Äquivalenzklassen Eine Klasseneinteilung (Partition oder Zerlegung) einer nichtleeren Menge M ist eine Menge K = { M1, M2, M3, ... } von Teilmengen von M mit zwei Eigenschaften: ( 1 ) M1 ∪ M2 ∪ M3 ∪ ... = M ( 2 ) Mi ∩ Mk = { } ⇔ Mi ≠ Mk für Mi , Mk ⊆ M Jedes Element m ∈ M ist somit in genau einer dieser Teilmengen enthalten. Das bedeutet aber, daß jedes Element Mi ∈ K eindeutig durch irgendein m ∈ Mi bestimmt ist. Satz: Es sei K eine Klasseneinteilung einer nichtleeren Menge M. Dann ist die Relation R∼ ⊆ M × M, definiert durch x ∼ y ⇔ x,y ∈ Mz für ein Mz ∈ K eine Äquivalenzrelation. Beweis: (zu zeigen: K ist reflexiv, symmetrisch und transitiv) Reflexivität: Symmetrie: Transitivität: Wypior Nach Definition gibt es zu jedem x ∈ M ein Mz ∈ K mit x ∈ Mz ⇒ x ∼ x Es gilt x ∼ y ⇔ x,y ∈ Mz mit Mz ∈K ⇔ y ∼ x Es seien x,y,z ∈ M. Es gelte x ∼ y und y ∼ z. Annahme: x,y ∈ Mp und y,z ∈ Mq mit Mp,Mq ∈ K Da K eine Klasseneinteilung ist (Voraussetzung!), müssen Mp und Mq disjunkt sein. Widerspruch, da y ∈ Mp und y ∈ Mq ⇒ Mp = Mq und somit x ∼ z Seite 11 Stand 16.11.2011 Diskrete Mathematik Satz: Es sei ∼ eine Äquivalenzrelation auf M. Dann ist K = { Mx ⊂ M | x ∈ M } mit Mx = {y ∈ M | x ∼y } eine Klasseneinteilung von M. Beweis: zu zeigen 1) M = U M x und x∈M 2) Mx ∩ My = { } ⇔ Mx ≠My x∈M ⇒ zu 1) also gilt: x∼x ⇒ M = U{x} ⊆ U M x ⊆ M x∈M x ∈ Mx ⊆ M x∈M zu 2) „⇒“ Es sei Mx ∩ My ≠ { } ⇒ es gibt ein z ∈ Mx ∩ My mit z ∈ Mx und z ∈ My ⇒ z ∼ x und z ∼ y ⇒ x ∼ z und x ∼ y Aus x ∼ y folgt aber: sei a ∈ Mx ⇒ x ∼ a ⇒ y ∼ a ⇒ a ∈ My und analog sei a ∈ My ⇒ y ∼ a ⇒ x ∼ a ⇒ a ∈ Mx ⇒ Mx = My „⇐“ Mx = My ⇒ Mx ∩ My ≠ { }, falls Mx ≠ { } . q.e.d. Äquivalenzklassen und Quotientenmenge Es sei R eine Äquivalenzrelation auf einer Menge A. Für a ∈ A sei [a] die Äquivalenzklasse von a, also die Teilmenge aller Elemente von A, zu denen a in Relation steht: [a] = def {x | (a , x) ∈ R } Die Menge aller Äquivalenzklassen von A, geschrieben A / R heißt Quotientenmenge von A nach R.. Mit Hilfe der vorhergehenden Sätze ergibt sich: Es sei R ⊆ A × A eine Äquivalenzrelation auf einer Menge A. Dann ist die Quotientenmenge A / R eine Partition von A. Insbesondere gilt: a ∈ [a] für alle a ∈ A [a] = [b] ⇔ (a, b) ∈ R [a] ≠ [b] ⇔ [a] und [b] disjunkt Wypior Seite 12 (1) (2) (3) Stand 16.11.2011 Diskrete Mathematik Restklassen und Kongruenzen: Es sei nun speziell A = Z Z und R ⊆ ZZ × ZZ definiert durch x ∼ y ⇔ n | x - y (lies: n teilt x-y) für alle x,y ∈ Z Z und ein n ∈ IN \ { 0 }. Für x ∼ y schreibt man x ≡ y (mod n) (lies : x ist kongruent zu y modulo n) Die Äquivalenzklasse [y]n = {x | (x, y) ∈ R} von y heißt Restklasse modulo n. Die Quotientenmenge Z Z / R wird auch als ZZ / n oder kurz als ZZ n bezeichnet. Beispiel: Restklasse modulo 5 Die Relation R5 auf Z Z ist gegeben durch R5 = { x ∈ ZZ | x ≡ y (mod 5)}. Die zugehörigen Äquivalenzklassen lauten: A0 = [ 0 ]5 = {... , -10, -5, 0, 5, 10, ...} A1 = [ 1 ]5 = {... , -9, -4, 1, 6, 11, ...} A2 = [ 2 ]5 = {... , -8, -3, 2, 7, 12, ...} A3 = [ 3 ]5 = {... , -7, -2, 3, 8, 13, ...} A4 = [ 4 ]5 = {... , -6, -1, 4, 9, 14, ...} ZZ = [ 0 ]5 ∪ [ 1 ]5 ∪ [ 2 ]5 ∪ [ 3 ]5 ∪ [ 4 ]5 Beachte: Jede ganze Zahl x, die sich (eindeutig) als x = 5q + r mit 0 ≤ r < 5 und r,q ∈ Z Z schreiben läßt, liegt in Ar. Anmerkung: Das folgende Beispiel demonstriert die Behandlung von Resten negativer Zahlen und negativer Reste am Beispiel n = 5 : - 26 : 5 = (- 5) ⋅ 5 Rest (- 1) bzw. - 26 = 5 ⋅ (- 5) + (- 1) = 5 ⋅ (- 6) + 4 Der Rest r = 4 liegt damit im Bereich 0 ≤ r < 5 und es gilt: – 26 ∈ A4. Rechnen mit Kongruenzen Im Folgenden seien [x]n und [y]n Restklassen im Sinne der obigen Definition. Zn Addition in Z [x]n + [y]n =def [x + y]n für alle y,x ∈ Z Z Multiplikation in Z Zn [x]n ⋅ [y]n = def [x ⋅ y]n für alle y,x ∈ Z Z Nullelement in Z Z n ist [ 0 ], Einselement in ZZ n ist [ 1 ] Seite 13 Wypior Stand 16.11.2011 Diskrete Mathematik In Z Z n lassen sich algebraische Aufgaben lösen, d.h., zu bestimmen ist die Restklasse [x]n, die gegebene Gleichungen erfüllen soll, z.B.: [a]n[x]n = [b]n bzw. ax ≡ b (mod n) Es ist festzustellen, daß nicht jede Gleichung dieser Art in Z Z lösbar ist (gemäß dem algebraischen Analogon, daß auch nicht jede Gleichung ax = b mit a,b ∈ Z Z eine Lösung x = b/a in ZZ hat ). Es folgen daher zwei Sätze zur Lösbarkeit von Kongruenzen. Dabei bezeichnet ggT(a,b) den größten gemeinsamen Teiler der Zahlen a und b mit a,b ∈ Z Z . Teilbar bedeutet immer „ganzzahlig teilbar“. Satz (Lösbarkeitskriterium): Die lineare Kongruenz ax ≡ b (mod n) ist genau dann lösbar in Z Z , wenn gilt: ggT(a,n) | b Beweis: ax ≡ b (mod n) ⇔ n | ax - b ⇔ ax - b = ny y∈Z Z ⇔ ax - ny = b ⇔ d a1x -dn1y = b mit d = ggT (a,n) ⇔ d (a1 x - n1 y) = b ⇔ d | b = ggT (a,n) | b und a = d ⋅ a1 , n = d ⋅ n1 q.e.d. Satz (Rechenkriterium): Wenn in der Kongruenz ax ≡ b (mod n) die Zahlen a oder b durch ihnen (mod n) kongruente Zahlen a’ und b’ ersetzt werden, ändert sich die Lösungsgesamtheit nicht. Beweis: Es sei ax ≡ b (mod n) lösbar Weiterhin sei a’ ≡ a (mod n) und b’ ≡ b (mod n) d.h.: n | ax - b, ⇔ nc1 = ax - b n | a‘ - a, ⇔ nc2 = a’ - a n | b’ - b ⇔ nc3 = b’ - b ⇔ ⇔ a = a’ - nc2 b = b’ - nc3 Einsetzen von ( 2 ) und ( 3 ) in ( 1 ) ergibt: nc1 = (a’ - nc2)x - (b’ - nc3) ⇔ nc1 = a’x - nc2x - b’ + nc3 ⇔ nc1 + nc2x - nc3 = a’x - b’ ⇔ n (c1 + c2x - c3) = a’x - b’ ⇔ n | a’x - b’ ⇔ a’x ≡ b’ (mod n) Wypior (1) (2) (3) q.e.d. Seite 14 Stand 16.11.2011 Diskrete Mathematik Beispiele: 1) 3x ≡ 2 (mod 12) ggT ( 3, 12 ) = 3 und 3 |⁄ 2 ⇒ die Kongruenz ist nicht lösbar 2) 19x ≡ 11 (mod 37) ggT ( 19, 37 ) = 1 und 1 | 11 ⇒ die Kongruenz ist lösbar 19x -18x - 3x - 3x - x x x 3) ≡ 11 ≡ 48 ≡8 ≡ 45 ≡ 15 ≡ -15 ≡ 22 Rechenschritt: 19 und -18 ∈ [19]37, 11 und 48 ∈ [11]37 (mod 37) (mod 37) (mod 37) (mod 37) (mod 37) (mod 37) (mod 37) Gegeben ist die Gleichung 6x + 5y = 181 x,y ∈ Z Z . Gesucht sind alle ganzzahligen Lösungen, für die x und y positiv sind. 6x + 5y = 181 ⇔ 6x - 181 = 5 ⋅ (-y ) ⇔ 5 | 6x - 181 ⇔ 6x ≡ 181 (mod 5) ggT (6,5) = 1 ⇒ Kongruenz lösbar ! ⇔ x ≡ 31 (mod 5) ⇔ x ≡1 (mod 5) ⇔ x =1+5s s∈Z Z Für x > 0 ⇒ s ≥ 0 x einsetzen in die Ausgangsgleichung ergibt 6 (1 + 5s) + 5y = 181 6 + 30s + 5y = 181 5y = 175 - 30s y = 35 - 6s Wegen y > 0 ⇒ 0 < 35 - 6s 6s < 35 35 s < 6 Wegen s ∈ Z Z⇒ s ≤ 5 Lösungsgesamtheit: s 0 1 x 1 6 y 35 29 Wypior 2 11 23 3 16 17 4 21 11 5 26 5 Seite 15 Stand 16.11.2011 Diskrete Mathematik Satz (Anzahl inkongruenter Lösungen): Gilt ggT (a,n) | b für ax ≡ b (mod n), so gibt es genau ggT (a, n) = d einander modulo n inkongruente Lösungen von ax ≡ b (mod n). Beweis: ax ≡ b (mod n) ⇔ ax - b = ny ⇔ b = ax - ny ⇔ b = a1dx - n1d y ⇔ b = d (a1x - n1y) ⇔ db1 = d (a1x - n1y) ⇔ b1 = a1x - n1y ⇔ a1x ≡ b1 (mod n1) y∈Z Z mit a = a1d und n = n1d mit ggT (a1, n1) = 1 Ist nun x die eindeutige Lösung von a1x ≡ b1 (mod n1), so sind x0, x0 + n1 , x0 + 2n1 , x0 + 3n1 , ..., x0 + (d - 1) n1 inkongruente Lösungen mod n ( weil erst d ⋅ n1 = n ist! ) und stellen d (mod n ) verschiedene Lösungen von ax ≡ b (mod n) dar. Beispiel: Für 8x - 12y = 20 sind alle ganzzahligen Lösungen gesucht. ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ 8x - 12y = 20 8x - 20 = 12 y 12 | 8x - 20 8x ≡ 20 (mod 12) ggT (8,12) = 4 und 4 | 20 ⇒ Es gibt 4 mod 12 inkongruente Lösungen 2x ≡ 5 (mod 3) ggT (2,3) = 1 und 1 | 5 ⇒ Es gibt 1 Lösung mod 3 (also n1 = 3) 2x ≡ 2 (mod 3) x ≡ 1 (mod 3) 0 ⋅ n1 1 ⋅ n1 2 ⋅ n1 3 ⋅ n1 x0 1 y0 -1 4 1 7 3 10 5 Die y0 - Werte ergeben sich aus der Ausgangsgleichung durch Einsetzen von x0. Wypior Seite 16 Stand 16.11.2011 Diskrete Mathematik – Negatives oder additives Inverses a einer Zahl a in Restklassen Z Z n: Zu a ∈ Z Z n gibt es ein b ∈ ZZ n, so dass gilt: a + b ≡ 0 (mod n) – Man schreibt für b auch a . Satz: Zu jeder Zahl a aus Z Z n gibt es genau ein additives Inverses b mit b ≡ n – a für a ≠ 0 und b = 0 für a = 0. 1 Multiplikatives Inverses a einer Zahl a in Restklassen Z Z n: Wenn es zu a ∈ Z Z n eine Zahl d ∈ ZZ n gibt, mit a . d ≡ 1 (mod n), so nennt man d den Kehrwert oder das 1 multiplikative Inverse von a und schreibt d = a oder d = a-1. Bemerkung (Existenz des multiplikativen Inversen): Aus dem Satz über die Lösbarkeit von Kongruenzen folgt, wenn in der Kongruenz a . x ≡ b (mod n) a und n teilerfremd sind, also ggT(a,n) = 1 ist, so gibt es genau eine Lösung. In diesem Fall lässt sich die 1 Lösung eindeutig in der Form x ≡ a . b (mod n) darstellen, d.h. in diesem Fall existiert das Inverse von a. Beispiel: Bestimmen der multiplikativen Inversen der Restklasse Z Z 4 = {[ 0 ], [ 1 ], [ 2 ], [ 3 ]}: Inverses von [ 0 ]: [ 0 ] besitzt grundsätzlich kein inverses Element. Inverses von [ 1 ]: 1x ≡ 1 (mod 4) ggT(1,4) = 1 und 1 teilt 1 x ≡ 1 (mod 4), also [ 1 ] -1 = [ 1 ] ⇒ Kongruenz lösbar Inverses von [ 2 ]: 2x ≡ 1 (mod 4) ggT(2,4) = 2 und 2 teilt 1 nicht -1 also [ 2 ] existiert nicht ⇒ Kongruenz nicht lösbar Inverses von [ 3 ]: 3x ≡ 1 (mod 4) ggT(3,4) = 1 und 1 teilt 1 3x ≡ 9 (mod 4) x ≡ 3 (mod 4), also [ 3 ]-1 = [ 3 ] ⇒ Kongruenz lösbar Beispiel in Delphi: Der Euklid'sche Algorithmus Die Bestimmung des ggT ist für große Zahlen nicht mehr einfach. Euklid hat 300 v. Chr. folgenden am Beispiel gezeigten Algorithmus entwickelt: Gesucht ist ggT(7140, 6460) 7140 = 1.640 + 680 => ggT(7140,6460)= ggT(6460,680) 6460 = 9.680 + 340 => ggT(6460,680) = ggT(680,340) 680 = 2.340 + 0 => ggT(680,340) = 340 Wypior Seite 17 function ggT(a,b:LongInt):LongInt; begin if b=0 then ggT:=a else if a>=b then ggT:=ggT(b,a mod b) else ggT:=ggT(a,b mod a); end; Aufruf der Funktion: Ergebnis:=ggT(7140,6460); Stand 16.11.2011 Diskrete Mathematik Anwendungen von Kongruenzen Beispiel: ISBN-Prüfziffer Buchbestellnummern werden als sogenannte ISBN-Nummern (Internationale Standard Buchnummer) bezeichnet. Sie besitzen die Form a-bcd-efghi-p. Dabei ist a das Herkunftsland ( a = 3 steht für Deutschland, Österreich, Schweiz), bcd bezeichnet den Verlag und p ist die Prüfziffer, die 10a +9b+8c+7d+6e+5f+4g+3h+2i+p ≡ 0(mod 11) erfüllen muss. Das Buch „Geheime Botschaften“ von S. Singh hat die ISBN 3-446-19873-p. Wie lautet die Prüfziffer p (0 ≤ p ≤ 10)? Lösung: 10 . 3 + 9 . 4 + 8 . 4 + 7 . 6 + 6 . 1 + 5 . 9 + 4 . 8 + 3 . 7 + 2 . 3 + p ≡ 0 (mod 11) 250 + p ≡ 0 (mod 11) 8 + p ≡ 0 (mod 11) p ≡ - 8 (mod 11) p ≡ 3 (mod 11) Beispiel: Hashfunktion Eine Hashfunktion ist eine Funktion, die Datensätzen beliebiger Länge (beliebig viele Bit) Datensätze fester Länge (z.B. 128 Bit) zuordnet. Hashverfahren werden in der Informatik zum effizienten Suchen und Speichern verwendet. Beispielsweise sollen Orte und Vorwahlen so gespeichert werden, dass man nach Eingabe eines Ortes(Suchbegriff = Schlüssel) die zugehörige Vorwahl (Wert) unmittelbar bestimmen kann. Die Idee ist, die Speicheradresse aus dem Schlüssel zu berechnen, wodurch eine weitere Suche nicht notwendig wird. Die Abbildung H : K → A = {0,1, . . . ,N-1} aller möglichen Schlüssel (Orte) K auf die Menge der verfügbaren Speicheradressen N ist die gesuchte Hashfunktion, die somit jeden Schlüssel k auf H(k) abbildet: k → H(k) Eine mögliche Definition von H wäre: H(k) = ∑ ai (mod N ) , i wobei ai die Stelle des i-ten Buchstabens im Alphabet bedeutet. (Beispiel: für XYZ ist a1 = 24, a2 = 25, a3 = 26) Für N = 7 und Ort = WIEN gilt: H(WIEN) = 23 + 9 + 5 + 14 = 51 ≡ 2 (mod 7) Damit würde die Telefonnummer von Wien auf dem 2. von 7 Speicherplätzen abgelegt. Bem.: Umgang bei der Erzeugung von Wiederholungen des Hash-Wertes siehe Teschl S. 77 ff Wypior Seite 18 Stand 16.11.2011 Diskrete Mathematik Beispiel: Cäsar-Verschlüsselung (Sonderfall ROT13-Verschlüsselung) Jeder Buchstabe erhält zunächst den Zahlenwert seiner Stelle im Alphabet beginnend mit Nummer 0, also A = 0, B = 1, C = 2, …, Z = 25 Die Verschlüsselungsvorschrift lautet nun y ≡ x + e (mod 26) Dabei ist x Platzhalter für den zu verschlüsselnden Buchstaben, e ist der Schlüssel, wobei e ∈ {0,...,26} gewählt wird. y ist der verschlüsselte Buchstabe. Anwendung der Verschlüsselungsvorschrift: Verschlüsselt werden soll der Name CAESAR mit dem Schlüssel e = 16 Original C A E S A R x 2 0 4 18 0 17 y ≡ x + 16 (mod 26) 18 16 20 8 16 7 Code S Q U I Q H Zum Entschlüsseln muss die Verschlüsselungsvorschrift nach x aufgelöst werden: x ≡ y + d (mod 26), wobei d das Additiv-Inverse von e darstellt, also d + e = 0 (mod 26) x ≡ y - 16 (mod 26) x ≡ y + 10 (mod 26) Code S Q U I Q H y 18 16 20 8 16 7 x ≡ y + 10 (mod 26) 2 0 4 18 0 17 Original C A E S A R Bei der ROT13-Verschlüsselung wird e = 13 gewählt. Wegen d = -13 ≡ 13 (mod 26), gilt e = d. Wypior Seite 19 Stand 16.11.2011 Diskrete Mathematik Gruppen, Ringe, Körper Definition der Gruppe: Es sei G eine Menge mit einer Verknüpfung, die je zwei Elementen a,b ∈ G ein Element a ° b ∈ G zuordnet. Dann wird (G, °) eine Gruppe genannt, wenn folgendes gilt: 1. Assoziativgesetz: Es gilt (a ° b) ° c = a ° (b ° c) für alle a,b,c ∈ G 2. neutrales Element: Es gibt ein n e G, das a ° n = n ° a = a für alle a ∈ G erfüllt. 3. inverses Element: Zu jedem a ∈ G gibt es ein i(a), das a ° i(a) = i(a) ° a = n erfüllt. Gilt zusätzlich 4. Kommutativgesetz: Gilt a ° b = b ° a für alle a,b ∈ G, so bezeichnet man die Gruppe als kommutative oder abelsche Gruppe. Beispiel: (Z, +), also die ganzen Zahlen bilden bezüglich der Addition eine kommutative Gruppe, denn es gilt: • Assoziativgesetz: a + (b + c) = (a + b) + c • neutrales Element: 0 + a = a + 0 = a • inverses Element: (-a) + a = a + (-a) = 0 • Kommutativgesetz: a + b = b + a Definition des Ringes: Eine Menge R mit zwei Verknüpfungen + und . ( R, + , . ) heißt Ring, wenn folgendes gilt: 1. abelsche Gruppe : (R,+) ist eine abelsche Gruppe mit dem neutralen Element 0. 2. Assoziativgesetz: Es gilt (a . b) . c = a . (b . c) für alle a,b,c ∈ R 3. Distributivgesetz: Für alle a,b,c e R gilt: a . b + a . c = a . (b + c) Gilt zusätzlich 5. Kommutativgesetz: Gilt a . b = b . a für alle a,b ∈ R, so bezeichnet man den Ring als kommutativen Ring. 6. neutrales Element: Existiert ein neutrales Element für die Multiplikation, also a . 1 = 1 . a = a, so heißt diese Struktur kommutativer Ring mit Eins. Beispiel 1: Die Restklassen (Z Z n, +, . ) bilden einen kommutativen Ring mit Eins. 1. Abelsche Gruppe bzgl. der Addition • Assoziativgesetz: [ a ] + ([ b ] + [ c ]) = ([ a ] + [ b]) + [ c ] • neutrales Element: [ 0 ] + [ a ] = [ a ] + [ 0 ] = [ a ] • inverses Element: [ -a ] + [ a ] = [ a ] + [ -a ] = [ 0 ] • Kommutativgesetz: [ a ] + [ b ] = [ b ] + [ a ] 2. Assoziativgesetz bzgl. der Multiplikation [ a ] . ([ b ] . [ c ]) = ([ a ] . [ b ]) . [ c ] 3. Distributivgesetz [ a ] . ([ b ] + [ c ]) = ([ a ] . [ b]) + ([ a ] . [ c ]) 4. Kommutativgesetz bzgl. der Multiplikation [a].[b]=[b].[a] 5. Einselement [1].[a] =[a].[1]=[a] Wypior Seite 20 Stand 16.11.2011 Diskrete Mathematik Beispiel 2: Die Menge der Polynome P = {p(x) = pnxn + . . . +p1x + p0 | pj ∈ IR } ist ein kommutativer Ring mit Eins. Für die Addition p(x) + q(x) und die Multiplikation p(x) . q(x) gelten das Assoziativ-, Kommutativ-, und Distributivgesetz, da für x ∈ IR auch p(x) und q(x) ∈ IR gilt. Neutrale Elemente sind bzgl. der Addition p(x) = 0, und bzgl. der Multiplikation p(x) = 1. - p(x) ist das Inverse zur Addition. 1 Für die Multiplikation gibt es nicht immer Inverse. Denn zu p(x) = x2 wäre q(x) = x2 das Inverse. q(x) ist aber kein Polynom. Daher ist P kein Körper. Definition des Körpers: Es sei K eine Menge mit zwei Verknüpfungen + und . (K, + , . ) heißt Körper, wenn folgendes gilt: 1. abelsche Gruppe (K, +): (K,+) ist abelsche Gruppe mit dem neutralen Element 0. 2. abelsche Gruppe (K\{0}, . ): (K\{0}, . ) ist abelsche Gruppe mit dem neutralen Element 1. 3. Distributivgesetz: Für alle a,b,c ∈ K gilt: a . b + a . c = a . (b + c) Satz: Beweis: Die Restklassen Z Z n bilden einen Ring. Ist n eine Primzahl, bilden sie sogar einen Körper. Oben wurde nachgewiesen, dass Z Z n einen kommutativen Ring mit Eins bildet. Was fehlt, ist der Nachweis der Existenz der multiplikativen Inversen für alle x ∈ Z Z n. Wenn n Primzahl ist, folgt aus ax ≡ 1 (mod n) mit a ∈ Z Z n, dass ggT(a,n) = 1 gilt und a somit ein eindeutiges Inverses besitzt (siehe Bemerkung zur eindeutigen Lösbarkeit). Definition des Ideals: Eine Teilmenge I eines Rings R heißt Ideal, wenn I eine Untergruppe bezüglich der Addition ist und jedes Vielfache eines Elementes aus I wieder in I liegt: 1. Es ist 0 ∈ I und für alle a,b ∈ I gilt a + b ∈ I und -a ∈ I 2. Für alle a ∈ I und b ∈ R gilt a . b ∈ I und b . a ∈ I Beispiel: Erzeugen von Prüfziffern zur Erkennung von Einzelfehlern (Eingeben einer falschen Ziffer) Es sei n die Anzahl der Ziffern x1, …, xn der zu prüfenden Zahl. Jede Ziffer xi soll mit einem „Gewicht“ gi versehen werden, wobei gi ∈ Z Z q gewählt werden. n P( x1 , ..., xn ) = ∑ g i xi (mod q ) = g1 x1 + . . . + gn xn (mod q) liefert die Prüfziffer. i =1 Damit liegt fest, dass die Ziffern der Zahl ∈ {0,1, . . ., q-1} sein müssen. (wegen x = q = 0 (mod q) !) Prüfverfahren: Es seien y1, …, yn die eingegebenen Ziffern. War die Eingabe korrekt, so gilt P(x1, …, xn) - P(y1, …, yn) ≡ 0 Liegt an der Stelle k ein Fehler vor, so gilt P(x1, …, xn) - P(y1, …, yn) ≡ gk (xk – yk)(mod q) Die Eingabe ist also korrekt, wenn gk (xk – yk) ≡ 0 (mod q) für alle Indizes k gilt und die Lösung eindeutig ist, d.h., wenn gk ein multipikatives Inverses besitzt (siehe Bemerkung zur Existenz des multiplikativen Inversen). Wenn man für die xi alle Ziffern des Dezimalsystems zulassen möchte, so muss man q = 10 wählen, also in Z Z 10 rechnen. In diesem Fall müssen die Gewichte gi ∈ {1, 3, 5, 7 } sein, da nur für diese 4 Elemente multiplikative Inverse vorhanden sind. Wypior Seite 21 Stand 16.11.2011 Diskrete Mathematik Beispiel: Erzeugen von Prüfziffern zur Erkennung von Vertauschungsfehlern Wie bei der Erkennung von Einzelfehlern gilt für die Prüfziffer wieder: n P( x1 , ..., xn ) = ∑ g i xi (mod q ) = g1 x1 + . . . + gn xn (mod q) i =1 Wird bei der Eingabe die j-te mit der k-ten Ziffer verwechselt, ergibt sich für die Differenz P(x1,..,xj,xk,..,xn) – P(x1,..,xk,xj,..,xn) = gjxj + gkxk - gjxk - gkxj =(gj - gk)(xj - xk) (mod q) Der Fehler wird wie bei der Erkennung von Einzelfehlern wieder genau dann erkannt, wenn die Differenz xj - xk = 0 nur für xj = xk gilt, wenn also gj - gk ein multiplikatives Inverses besitzt. Beispiel: Eine Prüfziffer P(x1,...,xn) wird aus Z Z 10 gebildet, wobei anstelle von x1 = 6 und x2 = 2 die Folge x1 = 2, x2 = 6 eingegeben wurde. Die zugehörigen Gewichte seien g1 = 1 und g2 = 3. Wird die Vertauschung erkannt? Bestimmen des multiplikativen Inversen von g1 – g2: g1 – g2 = 1 – 3 = - 2 ≡ 8 (mod 10) gesucht ist x für 8x ≡ 1 (mod 10) ggT(8,10) = 2 und 2 teilt 1 nicht, zu (g1 – g2) mod 10 gibt es kein multiplikatives Inverses. Der Schluss „Der Fehler wird nicht erkannt“ ist aber falsch, denn 1 . 6 + 3 . 2 = 12 ≡ 2 (mod 10) und 1 . 2 + 3 . 6 = 20 ≡ 0 (mod 10) Unter gleichen Voraussetzungen wie oben wird der Fehler für x1 = 7 und x2 = 2 jedoch nicht erkannt, denn 1 . 7 + 3 . 2 = 13 ≡ 3 (mod 10) und 1 . 2 + 3 . 7 = 23 ≡ 3 (mod 10) Beispiel: RSA-Verschlüsselung Der Caesar-Verschlüsselung liegt ein Austausch des Schlüssels zwischen Sender und Empfänger zugrunde, der auf einem sicheren Weg stattfinden muss. Wenn dieses nicht gewährleistet ist, kann man über ein Public-Key-Verfahren verschlüsseln, wobei der Empfänger einen privaten geheimen Schlüssel d (d = decrypt) und einen öffentlichen Schlüssel e (e = encrypt) besitzt. Der Sender kann die Nachricht dann mit dem öffentlichen Schlüssel codieren, den nur der Empfänger mit beiden Schlüsseln dekodieren kann. Die Sicherheit des RSA-Algorithmus hängt entscheidend von der verwendeten Schlüssellänge ab. Da e und d zusammenhängen, kann man den geheimen Schlüssel theoretisch berechnen. Praktisch wird dies dadurch verhindert, dass diese Berechnung selbst mit den schnellsten Computern zu lange dauert. Es muss also erreicht werden, dass in Richtung x → y = f(x) die Berechnung leicht erfolgen kann, in Richtung y = f(x) → x aber praktisch nicht. Wypior Seite 22 Stand 16.11.2011 Diskrete Mathematik Schlüsselerzeugung: • Man wählt zwei verschiedene Primzahlen p und q • Man bildet daraus n = pq und m = (p - 1)(q - 1) • Man wählt eine Zahl e, die teilerfremd zu m ist. • Man berechnet die Zahl d als multiplikativ inverse Zahl zu e, also ed ≡ 1 (mod m) • Die Zahlen (n,e) bilden den öffentlichen Schlüssel • Die Zahlen (n,d) bilden den privaten Schlüssel. (p,q,m werden nicht benötigt und bleiben geheim) Verschlüsselung: Mit dem öffentlichen Schlüssel (n,e) wird die Nachricht gemäß y ≡ x e (mod n) für jedes x verschlüsselt. Entschlüsselung: Mit dem privaten Schlüssel (n,d) wird die Nachricht gemäß x ≡ y d (mod n) für jedes y entschlüsselt. Beispiel: Die Nachricht „KLEOPATRA“ soll verschlüsselt werden. • Wahl von p und q: p = 31 • Berechnung von n: n = pq = 31 . 37 = 1147 • Wahl von e : e = 29 • Berechnung von d: ed ≡ 1 (mod m) 29d ≡ 1 (mod 1080) 1080 | 29d – 1 29d – 1 = 1080 x 29 d = 1080 x + 1 (*) 29 | 1080x + 1 1080x ≡ -1 (mod 29) 1080 = 37 . 29 + 7 7x ≡ -1 (mod 29) -1 + 29 = 28 7x ≡ 28 (mod 29) x ≡ 4 (mod 29) x in (*) einsetzen führt zu d = 149 • (1147 | 29) ist der öffentliche Schlüssel • (1147 | 149) ist der private Schlüssel q = 37 m = (p - 1)(q - 1) = 30 . 36 = 1080 Verschlüsselung: K L E O P A T R A x 10 11 4 14 15 0 19 17 0 y = x29(mod1147) 803 730 132 547 277 0 979 42 0 Entschlüsselung: y 803 730 132 547 277 0 979 42 0 x = y149(mod1147) 10 11 4 14 15 0 19 17 0 x K L E O P A T R A Wypior Seite 23 Stand 16.11.2011 Diskrete Mathematik Geordnete Mengen Eine Relation R auf einer Menge A heißt identiv oder antisymmetrisch, wenn nicht zugleich xRy und yRx und x ≠ y gelten kann. Eine Relation R auf A ist also genau dann identiv, wenn aus xRy und yRx folgt: x = y Beispiel: A und B seien nichtleere Mengen. Die Relation R: A hat soviele Elemente wie B ist nicht identiv, denn es gilt A R B und B R A, aber i.a. A ≠ B. Es sei A eine nichtleere Menge und R eine zweistellige Relation auf A. R heißt identive Ordnungsrelation auf A oder Halbordnung, wenn für alle a,b,c ∈ A gilt: (1) (2) (3) aRa a R b und a R b und bRc bRa ⇒ ⇒ aRc a=b Reflexivität Transitivität Antisymmetrie Man sagt auch: A ist teilweise geordnet. Die Halbordnung R ist genau dann eine vollständige oder totale Ordnung, wenn außerdem für alle a,b ∈ A, a ≠ b gilt: (4) a R b oder bRa Konnexität Beispiel: Die auf IN definierte Relation „|“ (teilt) erzeugt auf IN eine Halbordnung. Es seien a,b,c ∈ IN. Dann gilt: (1) a | a für alle a ∈ IN reflexiv (2) a | b und b | c ⇒ a|c transitiv (3) a | b un b|a ⇒ a=b antisymmetrisch Beweis: (1) (2) (3) klar a | b ⇒ Es gibt ein m ∈ IN mit a ⋅ m = b b | c ⇒ Es gibt ein n ∈ IN mit b ⋅ n = c ⇒ (a⋅m)⋅n=c a⋅(m⋅n)=c ⇒ a|c Es gelte a | b und b | a und a ≠ b (Widerspruchsbeweis!) (I) a⋅m=b und ( II ) b ⋅ n = a ( I ) mal n ergibt : a⋅m⋅n=b⋅n a⋅m⋅n=a ⇒ m⋅n=1 ⇒ m = 1 und n = 1, da m,n ∈ IN nach Voraussetzung ⇒ ( I ) a = b und ( II ) b = a Widerspruch zur Annahme a ≠ b Wypior Seite 24 q.e.d. Stand 16.11.2011 Diskrete Mathematik Eine zweistellige Relation R auf einer nichtleeren Menge A heißt asymmetrisch, wenn für alle a,b ∈ A gilt: Aus a R b ⇒ ¬ (b R a) ( es gilt nicht b R a ) Eine zweistellige Relation R auf A heißt strikte oder strenge Ordnung, wenn für alle a,b,c ∈ A gilt: (1) (2) a R b und aRb ⇒ bRc ⇒ ¬ (b R a) aRc Transitivität Asymmetrie Eine strenge Ordnung ist nicht reflexiv. Beweis: Für a ∈ A gilt: Aus a R a ⇒ ¬ (a R a) ist für kein a ∈ A erfüllbar. Beispiel: Die Relation “< “ auf IN ist eine strikte Ordnung. Es seien a,b,c ∈ IN. Dann gilt: (1) a < b und b < c ⇒ a<c transitiv (2) a<b ⇒ ¬ (b < a) asymmetrisch Beweis: zu (1): a < b ⇔ es gibt ein m ∈ IN, m ≠ 0 mit a + m = b a<c ⇔ es gibt ein n ∈ IN, n ≠ 0 mit b + n = c Also gilt : a + m + n = b + n = c ⇒ a < c, da m + n > 0 nach Voraussetzung zu (2): Es gelte a < b und b < a ⇒ Es gibt m,n ∈ IN mit m,n > 0 und a + m = b sowie b + n = a #, da m + n > 0 nach Voraussetzung ⇒ a+m+n=b+n=a q.e.d. Satz: Jede asymmetrische Relation auf einer Menge A ist auch antisymmetrisch. Beweis: zu zeigen: es ist niemals gleichzeitig xRy, yRx und x ≠ y für alle x,y ∈ A Es sei x ≠ y ⇒ aus x R y ⇒ ¬ (y R x) nach Definition der Antisymmetrie q.e.d. Eine wohlgeordnete Menge A ist eine teilweise geordnete Menge, in der jede nichtleere Teilmenge T⊆A ein kleinstes Element xmin besitzt, d.h., für jede Teilmenge T ⊆ A mit Halbordnung R in A gilt: Es gibt ein xmin ∈ T mit xmin R x für alle x ∈ T Bemerkung: Jede wohlgeordnete Menge ist auch vollständig geordnet. 1. Beispiel: IN ist mit R ≤ wohlgeordnet. 2. Beispiel: IR ist mit R ≤ nicht wohlgeordnet, denn zu jedem x0 ∈ ( a,b ) ⊂ IR läßt sich eine reelle Zahl xk ∈ ( a,b ) finden mit a < xk < x0 Beachte: a ist nicht das kleinste Element von ( a,b ), da ( a,b ) offen ist. Wypior Seite 25 Stand 16.11.2011 Diskrete Mathematik Satz: Die Menge A mit der Relation R sei teilweise geordnet. Dann ist die Relation r definiert durch xry ⇔ xRy und x ≠ y ; x,y ∈ A transitiv und exklusiv, d.h., es gilt (1) (2) xry und yrz ⇒ xrz es gilt höchstens eine der Beziehungen xry, x=y, yrx Transitivität Exklusivität Satz: Existiert auf A eine transitive und exklusive Relation r, dann ist die Menge A mit der Relation R definiert durch xRy ⇔ xry oder x = y ; x,y ∈ A teilweise geordnet. Satz: Die Menge A mit der Relation R sei vollständig geordnet. Dann ist die Relation r definiert durch xry ⇔ xRy und x ≠ y ; x,y ∈ A transitiv und trichotomisch, d.h., es gilt (1) (2) xry und yrz ⇒ xrz es gilt eine und nur eine der Beziehungen xry, x=y, yrx Transitivität Trichotomie Satz: Existiert auf A eine transitive und trichotomische Relation r, dann ist die Menge A mit der Relation R definiert durch xRy ⇔ xry vollständig geordnet. 1. Beispiel: Die auf Pot(A) definierte Halbordnung R⊆ ist eine Halbordnung. Die zu R⊆ gehörende Relation r ist die Relation R⊂. 2. Beispiel: Die auf IR definierte Relation R ≤ ist eine Halbordnung. Die zu R ≤ gehörende Relation r ist R <. Pfeil- und Hassediagramme Pfeildiagramm der Relation “ | “ auf der Menge A = {1,2,3,4,5,6} Hassediagramme sind Vereinfachungen der Pfeildiagramme, bei denen niemals ein Pfeil von a nach b und gleichzeitig ein anderer von b nach a verläuft. Sie werden deshalb für Halbordnungen benutzt. Beispiel wie oben: Wypior Seite 26 Stand 16.11.2011 Diskrete Mathematik Dieselbe Menge mit R<: Hassediagramm zu T60 = def {x | x ∈ IN+ und x | 60 }: Das „kleinste gemeinsame Vielfache“ ( kgV ) findet man, indem man auf dem kürzesten Weg zu einer gemeinsamen Zahl kommt, wobei nur aufwärts gerichtete Streckenzüge durchlaufen werden. Den „größten gemeinsamen Teiler“ ( ggT ) findet man, indem man entsprechend durch abwärts gerichtete Streckenzüge läuft. Beispiel: kgV (3,4) = 12 ggT (20,6) = 2 Zweiwertige Logik als Boole’sche Algebra Es sei die Menge aller nachprüfbaren und zulässigen Aussagen. Unter einer Aussage A ∈ versteht man einen Satz, dem sich unabhängig vom jeweiligen Kontext gemäß truth =def →IB ein Wahrheitswert zuordnen läßt. Mehrere Aussagen lassen sich zu einer neuen Aussage zusammenfassen. Bei Aussageverknüpfungen der Logik kommt es ausschließlich auf die Wahrheitswerte der Teil- und Gesamtaussagen an. Um unabhängig vom kontext den Wahrheitsgehalt von Aussageverknüpfungen zu bestimmen, benutzt man Wahrheitsvariable, z.B. p,q,r ∈ M ⊂ . Jede Verknüpfung von Wahrheitsvariablen und deren Negation nennt man aussagenlogische Aussageform oder satzlogisches Schema. Eine Aussageform ist weder wahr noch falsch. Sie geht in eine Aussage über, wenn man den Aussagenvariablen Wahrheitswerte zuordnet. Beispiel für Aussagen: - Es regnet. - Ich fahre Fahrrad. - Length (Zeile) < MaxLänge Beispiel für Aussageformen: - z ist Primzahl mit 0 < z < 10 - | x2 - 4 | < x mit x ∈ { -2,0,2,4,6,8 } Wypior Seite 27 Stand 16.11.2011 Diskrete Mathematik Es seien nun a,b ∈ Aussagenvariable und w = def truth die Wahrheitsfunktion wie oben. Dann lassen sich folgende Funktionen von × →IB definieren: 1 ⇔ w ( a ) = 1 und w ( b) = 1 0 sonst ∧ = def Und (a,b) = def ∨ = def Oder (a,b) = def ( Konjunktion ) 0 ⇔ w ( a ) = 0 und w ( b) = 0 ( Disjunktion ) 1 sonst Übersichtlicher sind diese Definitionen mit Hilfe von Wahrheitstafeln zu veranschaulichen: a b a∧b a 0 0 0 0 1 0 1 0 0 1 1 1 Konjunktion b a∨b 0 0 0 0 1 1 1 0 1 1 1 1 Disjunktion Insgesamt gibt es 16 verschiedene Funktionen f1 .. f16 von × →IB : a b f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 Einige dieser Funktionen werden besonders bezeichnet, ihre Verknüpfungen ebenfalls besonders dargestellt: f2 f7 f8 f9 Konjunktion Antivalenz Disjunktion Peircefunktion f10 f14 f15 Bijunktion Subjunktion Shefferfunktion UND EXOR ODER NOR a∧b a⊕b a∨b a↓b NAND a ↔b a→b a|b a⋅b a ≡| b a+b _ a ∨b a≡b a⊃b _ a∧b a und b entweder a oder b (ausschließendes Oder ) a oder b (einschließendes Oder) weder a noch b a genau dann, wenn b wenn a, dann b ( Konditional ) nicht beide a und b Eine allgemeingültige Subjunktion heißt Implikation. Eine allgemeingültige Bijunktion heißt Äquivalenz. Die Verknüpfungszeichen werden Junktoren genannt. Man bezeichnet die Funktionen f1..f16 auch als zweistellige Operatoren. Wie oben dargestellt gibt es 2 (22) = 16 mögliche zweistellige Operatoren. Wypior Seite 28 Stand 16.11.2011 Diskrete Mathematik Entsprechend ergeben sich die folgenden 4 = 2 (21) einstelligen Operatoren von a f1 0 0 1 0 f2 0 1 f3 1 0 → IB mit a ∈ : f4 1 1 Auch hier gibt es wieder besondere Bezeichnungen und Symbole: f2 f3 Identität id Negation NOT ¬ a – nicht a a Schließlich gibt es noch 2 = 2 (20) nullstellige Operatoren: f1 f2 – 0 1 f1 f2 Kontradiktion nie Tautologie immer Allgemein ergeben sich für n-stellige Operatoren 22n Möglichkeiten für die Kombination der Zahlen 0 und 1. Unter einem satzlogischen Schema versteht man einen Funktionsterm einer Wahrheitsfunktion n ∈ IN+. n → IB mit Beispiele: _ 1) p ∨ ( q ∧ r ) → p ∧ r _ 2) p ∧ p 3) p ↔ q _ Die einzelnen Bestandteile p,q, r heißen Soloterme. Ein satzlogisches Schema heißt erfüllbar, wenn es mindestens eine Möglichkeit gibt, Wahrheitswerte für die Soloterme dieses Schemas so zu finden, daß das Schema den Wert „wahr“ liefert. Ein satzlogisches Schema heißt allgemeingültig, wenn es durch jede Interpretation seiner Soloterme wahr wird. Beispiele: 1) t=(p∧q)↔(q∧p) p 0 0 1 1 Wypior q 0 1 0 1 p∧q 0 0 0 1 q∧p 0 0 0 1 (p∧q)↔(q∧p) 1 1 1 1 Seite 29 Stand 16.11.2011 Diskrete Mathematik Die Tabelle ergibt, das der Term t allgemeingültig ist. Die Terme (p ∧ q ) und ( q ∧ p ) sind also äquivalent zueinander. Deshalb ersetzt man den Doppelpfeil für die Bijunktion durch den Doppelpfeil für Äquivalenzen. man schreibt: ( p ∧ q ) ⇔ ( q ∧ p ) 2) Wenn es regnet, dann wird die Straße naß. Die Straße ist aber nicht naß. Folgt daraus, daß es dann nicht regnet? p =def „Es regnet“ ⇒ q =def „Die Straße ist naß“ ⇒ _ p = „Es regnet nicht“ _ q = „Die Straße ist nicht naß“ Prämissen für den zu ziehenden logischen Schluß sind die beiden Aussagen: „Wenn es regnet, dann wird die Straße naß“ p → q und ∧ _ „Die Straße ist nicht naß“ q _ _ Wenn der Schluß „Es regnet nicht“ richtig ist, folgt: (( p → q ) ∧ q ) → p Zu zeigen: p 0 0 1 1 q 0 1 0 1 _ p 1 1 0 0 Dieser Schluß ist allgemeingültig. _ q 1 0 1 0 p→q 1 1 0 1 _ (p→q)∧q 1 0 0 0 _ _ (( p → q ) ∧ q ) → p 1 1 1 1 Sie letzte Subjunktion ist somit eine Implikation. _ _ Man schreibt auch (( p → q ) ∧ q ) ⇒ p Definition der Boole’schen Algebra Gegeben sei eine Menge A mit einer zweistelligen Abbildung ° : A × A → A. Dann heißt < A, ° > ein Verknüpfungsgebilde und ° eine innere Verknüpfung auf A. _ _ (( p → q ) ∧ q ) → p Beispiele: < IN, + >, < IN, ⋅ >, < Pot(A), ∪ > mit A = { 1,2 }, | | < Q, *> mit * : arithmetisches Mittel von a,b ∈ Q Gegenbeispiele: < IN, – >, < IN, * > Wypior Seite 30 Stand 16.11.2011 Diskrete Mathematik Gegeben sei eine Menge A sowie zwei innere Verknüpfungen „+“ und „⋅“ von A × A → A und eine ein– stellige Abbildung : A → A . Das Verknüpfungsgebilde < A, ⋅, +, – > heißt Boole’sche Algebra oder Boole’scher Verband, wenn für alle a,b,c ∈ A gilt: (1) a+b = b+a a⋅b = b⋅a Kommutativität beider Verknüpfungen (2) a + (b ⋅ c) = (a + b) ⋅ (a + c) a ⋅ (b + c) = (a ⋅ b) + (a ⋅ c ) Distributivität beider Verknüpfungen (3) Es gibt für alle a ∈ A ein Nullelement 0 ∈ A und ein Einselement e ∈ A mit a+0=a a⋅e=a _ _ a+a=e a⋅a=0 Gesetze in Boole’schen Verbänden < A, ⋅, +, – >: 1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) a⋅b=b⋅a (a⋅b)⋅c=a⋅(b⋅c) a ⋅ (a + b) = a a ⋅ ( b + c ) = (a ⋅ b) + (a ⋅ c) _ a⋅a =0 a⋅1= a a⋅0=0 _ 0 =1 a⋅a= a a =a a ⋅b = a + b Kommutativgesetz Assoziativgesetz Absorptionsgesetz Distributivgesetz Komplement Existenz der Neutralelemente 1 und 0 Idempotenzgesetz Doppeltes Komplement de Morgan Gesetze a+b=b+a (a + b) + c = a + (b + c) a + (a ⋅ b) = a a+(b⋅c)=(a+b)⋅(a+c) _ a+a =1 a+0=a a+1=1 _ 1 =0 a+a=a a+ b = a⋅b Beispiele für Boole’sche Algebren: 1) Die Menge IB mit den Zuordnungen 0 → false e → true + → ∨ ⋅ → ∧ – → ¬ ist ein Boole’scher Verband. 2) M sei eine beliebige Menge, Pot(M) mit den Zuordnungen 0 → {} e → M + → ∪ ⋅ → ∩ – → \ ( ohne ) ist ein Boole’scher Verband. Wypior Seite 31 Stand 16.11.2011 Diskrete Mathematik 3) Es sei B1 = {x}. Auf B1 sind die Verknüpfungen ° , * , – wie folgt definiert: _ x °x=x, x*x=x, x = x 0 → x e → x + → ° ⋅ → * – → – B1 ist eine Boole’sche Algebra ( triviale Boole’sche Algebra ). 4) T6 = {1,2,3,6} ist die Menge der Teiler von 6. Mit 0 → 1 e → 6 + → kgV ⋅ → ggT – → 6:x x ∈ T6 also ist T6 ein Boole’scher Verband. x –x 1 6 2 3 3 2 6 1 Der Nachweis erfolgt zweckmäßigerweise durch Verknüpfungstafeln: kgV 1 2 3 6 ggT 1 2 3 6 1 1 2 3 6 1 1 1 1 1 2 2 2 6 6 2 1 2 1 2 3 3 6 3 6 3 1 1 3 3 6 6 6 6 6 6 1 2 3 6 I) Die Tafeln sind symmetrisch, also sind beide Verknüpfungen kommutativ. II) Durchprobieren ( Computerprogramm! ) ergibt die Gültigkeit der Distributivgesetze. Beispiel: (a + b) ⋅ c = (a ⋅ c ) + (b ⋅ c ) entspricht ggT[kgV(a,b) , c] = kgV[ggT(a,c) , ggT(b,c)] für a = 2, b = 6, c = 3 folgt linke Seite: ggT[kgV(2,6) , 3] = ggT(6,3) = 3 rechte Seite: kgV[ggT(2,3) , ggT(6,3)] = kgV(1,3) = 3 III) Nullelement: a+0=a entspricht Einselement: _ a + a = e entspricht Wypior kgV(x,1) = x _ a⋅a=0 entspricht ggT(x , 6 : x) = 1 kgV(x , 6 : x) = 6 a⋅e=a entspricht ggT(x , 6 ) = x Seite 32 Stand 16.11.2011 Diskrete Mathematik Boole’sche Ausdrücke heißen satzlogische Schemata, die nur aus den Verknüpfungen +, ⋅ , – zusammengesetzt sind und endlich sind. Die Reihenfolge der Verknüpfungen wird durch Klammern bestimmt. Beispiele: _ a (a ⋅ b) + 1 (a → b) ⋅ (c ↓ a) _ 4) ((((a + b ) ↔ c) ⊕ a) + c 5) a→b⊕c 1) bis 4) sind Ausdrücke, 1) und 2) sind Boole’sche Ausdrücke, 5) ist kein Ausdruck (kein Vorrang definiert). 1) 2) 3) Darstellung der Grundverknüfungen durch ⋅ , + , – : _ _ a ⊕ b = (a ⋅ b) + (a ⋅ b ) – – –––– a↓b = a⋅b=a+b – a→b = a+b – – a ↔ b = (a → b) ⋅ (b → a) = (a ⋅ b ) + (a ⋅ b) ____ – – a|b = a⋅b =a+b Um Klammern zu sparen, definiert man Vorrangregeln: geklammerte Verknüpfungen haben Vorrang vor Konjunktionen ( ∧ bzw. ⋅ ) haben Vorrang vor Disjunktionen (∨ bzw. + ) haben Vorrang vor Subjunktionen ( → ) haben Vorrang vor Bijunktionen ( ↔ ) Beispiel: a → b + c a = a → (b + ( c ⋅ a )) Bemerkung: Aus Gründen der Übersichtlichkeit läßt man das Zeichen „⋅“ für den Operator „UND“ oftmals weg. Es gilt also a ⋅ b ⋅ c = a b c. Zwei boole’sche Ausdrücke A1 und A2 heißen äquivalent genau dann, wenn sie bei gleicher Belegung stets gleiche Wahrheitswerte besitzen. Statt A1 ⇔ A2 schreibt man auch A1 = A2. A1 = A2 heißt logische Gleichung. Beispiele: 1) Wypior – – a+bb = a+cc a+0 = a+0 a = a Seite 33 Stand 16.11.2011 Diskrete Mathematik 2) ____ ____ – – – – – – a + b (c d + c + d ) = (a + b) a b (a b + a b) ___ – – a b (c d + c d ) = (a + b) (a + b) (a b + a b) – – ab⋅1 = a ( b + b) b (a + a ) ab⋅1 =a⋅1⋅b⋅1 ab = ab Bemerkung: Bei geringer Anzahl von Variablen ( ≤ 3 ) sind Beweise mittels Wahrheitstafeln vom Aufwand her vertretbar und einfacher. Logische Funktionen Es sei D ⊆ {0,1}n , n ∈ IN mit {0,1}n = {(a ,a ,...,a ) | a ∈ {0,1} für alle i = 1,..,n und n ∈ N+ } def 1 2 n i und (a1,a2,...,an) ∈ D eine Belegung. Eine Zuordnungsvorschrift f:D → {0,1} mit (a1,a2,...,an) → f(a1,a2,...,an) heißt n-stellige logische Funktion genau dann, wenn jeder Belegung (a1,a2,...,an) ∈ D eindeutig ein f(a1,a2,...,an) ∈ {0,1} zugeordnet ist. Gilt D = {0,1}n, so heißt f vollständig definiert, gilt D ⊂ {0,1}n, so heißt f partiell definiert. Bemerkung: Zu jeder logischen Funktion kann eine Wertetabelle angegeben werden. Satz: Es sei D ⊆ {0,1}n , n ∈ IN. Jede vollständig definierte Funktion f:D → {0,1} läßt sich als Boole’scher Ausdruck, d.h. nur durch ⋅ , + , _ angeben. Eine Menge logischer Operatoren { Op1, Op2, ... , Opn} heißt vollständiges System, wenn sich jede vollständig definierte logische Funktion nur aus diesen Operatoren aufbauen läßt. Beispiele: 1) 2) { ∧, ∨, ¬ } ist ein vollständiges System. Der Beweis folgt direkt aus dem obigen Satz. { ∧, ¬ } ist ein vollständiges System. Beweis: _____ – – a ∨ b = a ∧ b ( ∨ läßt sich also ersetzen! ) Logische Normalformen Ein logischer Ausdruck der Form K1 + K2 + ... + Kk k ∈ IN+ heißt disjunktive Normalform ( kurz DN ), wenn alle Ki i ∈ {1, ..., n } paarweise nicht äquivalente Konjunktionsterme sind. Gilt f(a1,a2,...,an) = K1 + K2 + ... + Kk, so spricht man von disjunktiver Normalform der Funktion f. Wypior Seite 34 Stand 16.11.2011 Diskrete Mathematik Beispiele für disjunktive Normalformen: – – 1) abc+ac+ac ___ __ _ _ __ _ _ _ 2) x y z + x y z + x, y z + x y z + x y z + x y z + x y z + x y z Eine DN ist für eine vollständig definierte Funktion i.a. nicht eindeutig bestimmt. Beispiel: f(a,b,c,d) = b (c → a d ) – =b(c+ad) – =bc+abd – – – =abc+abc+abd – –– – – =abcd+abcd+abc+ abd – –– – – – –– =abcd+abcd+abcd+ abcd+abd – –– – – – – – – =abcd+abcd+abcd+ abc d+abcd+abcd – –– – – – – – =abcd+abcd+abcd+ abc d+abcd DN DN DN DN keine DN! KDN Eine disjunktive Normalform zu einer vollständig definierten logischen Funktion heißt kanonisch ( oder ausgezeichnet ), kurz KDN, wenn jeder der vorhandenen Konjunktionsterme alle n Variablen enthält und keine zwei Konjunktionsterme äquivalent sind. Die Konjunktionsterme einer KDN heißen n-stellige Minterme. Beispiel zur Erläuterung des Namens Minterm: Minterme liefern nur für eine einzige Belegung der Variablen den Wert „1“. Es gibt bei n Variablen 2n Minterme, nämlich gerade die Anzahl der Belegung der Variablen. Eine disjunktive Normalform einer vollständig definierten nstelligen logischen Funktion ist kanonisch, wenn die Konjunktionsterme paarweise verschiedene n-stellige Minterme sind. a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 abc 0 0 0 0 0 0 0 1 – abc 0 0 0 0 0 0 1 0 –– abc 0 1 0 0 0 0 0 0 Dezimales Äquivalent Es sei (a1,a2,...,an) ein n-Tupel logischer Konstanten. d (a1,a2,...,an) = i ∈ IN heißt dezimales Äquivalent zu (a1,a2,...,an), wobei n −1 1 falls an − j = 1 i = ∑ b j 2 j und b j = mit b j ∈ Ν j= 0 0 falls an − j = 0 Interpretation: bn-1 bn-2 ... b0 kann als Dualzahl aufgefaßt werden. (a1, a2, a3) = (0,1,1) ⇒ d (0,1,1) = 1⋅ 20 + 1 ⋅ 21 + 0 ⋅ 22 = 3 Beispiel: Der n-stellige Minterm, der bei einer Belegung (a1,a2,...,an), für die d (a1,a2,...,an) = i gilt, eine 1 liefert, wird mit mn i ∈ {0,1, ... , 2n - 1} bezeichnet. i Beispiel: Wypior – – – f(a,b,c) = m32 + m35 = a b c + a b c Seite 35 Stand 16.11.2011 Diskrete Mathematik Bestimmen der KDN aus einer Wertetabelle 1. 2. 3. Zu jeder Belegung, zu der der Funktionswert 1 gehört, wird das dezimale Äquivalent i ermittelt. Die KDN läßt sich damit sofort als Disjunktion der Minterme mni angeben. Die Mintermsymbole werden durch die zugehörigen Variablensymbole ersetzt. a b c f(a,b,c) d(a,b,c) Mintermsymbole Minterm 0 0 0 0 0 0 1 0 0 1 0 1 2 m32 – – abc 0 1 1 1 3 m33 – abc 1 0 0 0 1 0 1 1 5 m35 – abc 1 1 0 0 1 1 1 1 7 m37 abc – – – – KDN : f(a,b,c) = m32 + m33 + m35 + m37 = a b c + a b c + a b c + a b c Werte der Minterme bei allen möglichen Belegungen: a b c f(a,b,c) m32 m33 m35 m37 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 Wypior Seite 36 Stand 16.11.2011 Diskrete Mathematik Normalformen und partiell definierte Funktionen Wenn eine Funktion für eine Belegung nicht definiert ist, so tritt diese Belegung nie auf, oder es ist gleichgültig, welcher Funktionswert zugeordnet werden könnte. Beispiel: Eine Funktion soll erkennen, ob eine bestimmte Ziffer des BCD-Codes (BCD = Binary Coded Decimal ) anliegt, z.B. f(a,b,c,d) = m49 . a b c d Dezimalzahl f(a,b,c,d) 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 Das Ersetzen von x durch 0 führt werden kann. Tetraden x x x Pseudotetraden x Die Binärnuster sind keiner Ziffer zugeordnet! x x zu einer vollständig definierten Funktion, für die die KDN bestimmt Implikanten und Primimplikanten Es seien f und i n-stellige logische Funktionen, i (a1,a2,...,an) ein Konjunktionsterm und i → f = 1, d.h., für alle (a ,a ,...,a ) ∈ D ⊆ {0,1}n , n ∈ IN muß der Ausdruck i (a ,a ,...,a ) → f (a ,a ,...,a ) formal wahr 1 2 n 1 2 n 1 2 n sein. Dann heißt i (a1,a2,...,an) Implikant von f. Beispiel: – – f(a,b,c) = m30 + m31 + m32 + m33 + m35 + m37 und die Terme m35 , bc, a, b, c, a + c seien gegeben. Wypior a b c f(a,b,c) m35 bc –a b c – a+c 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 Seite 37 Stand 16.11.2011 Diskrete Mathematik Es gilt: – m35 , bc, a, c sind Implikanten von f 1) b ist kein Implikant von f, da b → f(a,b,c) = 0 für (a,b,c) = (1,1,0) ist (siehe Schraffur). – a + c impliziert f, ist jedoch kein Konjunktionsterm und daher kein Implikant von f. 2) 3) Es sei f eine n-stellige logische Funktion und i1 (a1,a2,...,an), i2 (a1,a2,...,an) seien Implikanten von f. Dann gelten folgende Sätze: (1) Lassen sich i1 und i2 nach dem Absorptionsgesetz zu i3 zusammenfassen, so ist i3 wieder ein Implikant von f. (2) Ist i3 gemäß ( 1 ) entstanden, so sind i1 und i2 auch Implikanten von i3. (3) Jeder Konjunktionsterm einer disjunktiven Normalform von f ist Implikant von f. (4) Jede disjunktive Normalform von f ist eine Disjunktion von Implikanten von f. Es sei p (a1,a2,...,an) Implikant einer n-stelligen logischen Funktion f. p heißt Primimplikant oder Primterm von f, wenn es keinen von p (a1,a2,...,an) verschiedenen Implikanten i1 (a1,a2,...,an) mit p → i = 1 gibt. Folgerung: Primimplikanten von f sind genau die Implikanten von f, die sich mit keinem anderen Implikanten von f zu einem von diesem Primimplikanten verschiedenen Implikanten disjunktiv zusammensetzen lassen. – – Beispiel: f(a,b,c) = a b + a b c + a b c Implikanten von f sind: - – – a b, a b c, a b c - – a b wegen a b c + a b c = a b - a – wegen a b + a b = a Vollständige Liste aller Implikanten von f: –– – – – – a b c, a b c, a b c, a b c, a b, a c , a c, a b, a a ist laut Folgerung Primimplikant, ab ist wegen ab = ab + a kein Primimplikant. Satz: Es sei f eine vollständig definierte n-stellige logische Funktion und pi (a1,a2,...,an), i = 1 .. k seien alle Primimplikanten von f. Dann gilt: f (a1,a2,...,an) = p1 (a1,a2,...,an) + . . . + pk (a1,a2,...,an) Wypior Seite 38 Stand 16.11.2011 Diskrete Mathematik Ermittlung von Primimplikantendarstellungen nach Quine - Mc Cluskey Im Folgenden schreibt man die Konjunktionsterme symbolisch durch ihre Binäräquivalente: ^ nicht negierte Variable 1= ^ negierte Variable 0= – ^ 1011 Beispiel: abcd = Bemerkung: Ist f eine n-stellige logische Funktion und mni ein Minterm von f, so schreibt man statt mni auch mi, wenn der Zusammenhang mit den n Variablen zu jedem Zeitpunkt eindeutig ist. Beispiel 1: – – – Gegeben sei f(a,b,c) = a b c + a b c + a b c = m37 + m36 + m32 1. Spalte 7 1 1 1 6 1 1 0 2 0 1 0 2. Spalte 6, 7 1 1 2, 6 - 1 0 – Primtermdarstellung: f(a,b,c) = a b + b c Beispiel 2: f(a,b,c,d) = m2 + m3 + m10 + m11 + m12 + m13 + m14 + m15 1. Spalte 2. Spalte 3. Spalte 2 0010 2, 3 001- 2, 3,10,11 -013 0011 2,10 -010 2,10, 3,11 -0110 1010 3,11 -011 10,11,14,15 1-112 1010 10,11 101- 10,14,11,15 1-111 1011 10,14 1-10 12,13,14,15 11-13 1101 12,13 110- 12,14,13,15 11-14 1110 12,14 11-0 15 1111 11,15 1-11 13,15 11-1 14,15 111- Doppelt auftretende Primimplikanten fallen nach dem Idempotenzgesetz heraus. Es ergibt sich somit fol– gende Primtermdarstellung: f(a,b,c,d) = b c + a c + a b Wichtige Feststellung: – Mittels Wahrheitstafel läßt sich zeigen: f(a,b,c,d) = a b + b c ist ebenfalls Primtermdarstellung von f. Man erkennt, daß die durch das Verfahren von Quine - Mc Cluskey gewonnene Primtermdarstellung noch nicht die einfachste ist! Wypior Seite 39 Stand 16.11.2011 Diskrete Mathematik Für die folgenden Sätze seien p1, p2, . . ., pk Primimplikanten der Funktion f. (1) Ein Primimplikant pi heißt irredundant, oder Kernprimimplikant, wenn er von den übrigen Primimplikanten nicht „überdeckt“ werden kann, d.h. wenn gilt: pi → p1 + p2 + . . . + pi-1 + pi +1 + . . . + pk = 1 ist nicht möglich. (2) Ein Primimplikant pi von f heißt absolut eliminierbar, wenn er von Kernprimimplikanten überdeckt werden kann. (3) Ein Primimplikant pi von f heißt relativ eliminierbar, wenn er nicht absolut eliminierbar ist, aber von den übrigen Primimplikanten von f überdeckt wird, d.h. wenn gilt: pi → p1 + p2 + . . . + pi-1 + pi+1 + . . . + pk = 1 ist für alle Belegungen möglich. (4) Eine disjunktive Normalform von f heißt irredundant, wenn die Konjunktionsterme Primimplikanten sind und keiner der Konjunktionsterme durch die übrigen überdeckt werden kann. Folgerung: Wegen der möglichen Existenz relativ eliminierbarer Primimplikanten ist die Eindeutigkeit einer minimalen disjunktiven Normalform einer n-stelligen logischen Funktion nicht gewährleistet! Primtermtabelle und minimale disjunktive Normalform Beispiel: – f(a,b,c,d) = b c + a c + a b ist, wie oben gezeigt, die Primimplikantendarstellung von f(a,b,c,d) = m2 + m3 + m10 + m11 + m12 + m13 + m14 + m15 Mit Hilfe des folgenden Schemas erhält man minimale disjunktive Normalformen von f: Primimplikanten von f(a,b,c,d) 2 Indizes der Minterme der KDN 3 10 11 12 13 14 × ab ac – bc × × × × × × × 15 × × × × Tritt in einer Spalte nur eine Markierung auf, so ist der Primterm ein Kernprimimplikant. Also gilt für das Beispiel: – - ab und bc sind Kernprimimplikanten - ac wird vollständig von Kernprimimplikanten überdeckt, ist also absolut eliminierbar. – ⇒ f(a,b,c,d) = a b + b c Wypior Seite 40 Stand 16.11.2011 Diskrete Mathematik Rechnen in n-adischen Zahlsystemen Die natürlichen Zahlen IN Die Menge der natürlichen Zahlen IN läßt sich durch drei Eigenschaften charakterisieren: A1: Es gibt eine injektive Funktrion succ : IN → IN (Nachfolgerfunktion) A2: Ein Element besitzt kein Urbild unter succ. Dieses Element heißt Null. A3: Es sei M ⊆ IN mit (1) 0 ∈ M und mit (2) m ∈ M ⇒ succ(m) ∈ M ⇒ M = IN Mit Hilfe von succ lassen sich die Elemente von IN kettenförmig anordnen mit 0 als erstem Element. A3 läßt sich allgemeiner formulieren. Daraus ergibt sich das Prinzip der vollständigen Induktion Wenn für eine Eigenschaft E, die in Abhängigkeit von den natürlichen Zahlen aufgeschrieben werden kann, gilt (1)E(0) ist wahr. (2)E(m) ist wahr für ein m∈IN ⇒ E(succ(m)) ist wahr ⇒ E ist wahr für alle natürlichen Zahlen IN ( Induktionsanfang ) ( Induktionsschluß ) Beispiel: n 1 n ∑ (3i − 2 )(3i + 1) = 3n + 1 i =1 Induktionanfang: n=1 1 1 = ( 3 ⋅ 1 − 2 ) ( 3 ⋅ 1 + 1) 3 ⋅ 1 + 1 1 1 = 1⋅ 4 4 Induktionsschluß: n +1 1 n +1 n+1 ∑ (3i − 2)(3i + 1) = 3(n + 1) + 1 = 3n + 4 i =1 Wypior Seite 41 Stand 16.11.2011 Diskrete Mathematik Linke Seite: n +1 1 ∑ i = 1 ( 3i − 2 )( 3i + 1) 1 1 + i = 1 ( 3i − 2 )( 3i + 1) [ 3(n + 1) − 2][ 3(n + 1) + 1] n 1 + 3n + 1 ( 3n + 1) ( 3n + 4 ) n ( 3n + 4 ) + 1 ( 3n + 1) ( 3n + 4 ) 3n 2 + 4 n + 1 ( 3n + 1) ( 3n + 4 ) (3n + 1) ( n + 1) (*) ( 3n + 1) ( 3n + 4 ) (n + 1) ( 3n + 4 ) n =∑ = = = = = ( * ) ergibt sich aus Polynomdivision: (3n2 + 4n + 1) : (3n + 1) = n + 1 - (3n2 + n) 3n + 1 - (3n + 1) 0 q.e.d. n-adische Zifferndarstellung Alle Gesetze in IN samt ihrer Beweise lassen sich formulieren, ohne die natürlichen Zahlen benennen zu müssen. Um in IN rechnen zu können, benutzt man zur Darstellung einer natürlichen Zahl eine endliche Menge von Ziffern: M = {α,β,γ . . .,ω} ⊂ IN und eine Basis n ∈ IN. Dann gilt: α ist die Darstellung der ersten natürlichen Zahl 0. β = succ(0), γ = succ(succ(0)), usw. Es gibt also eine injektive Funktion f : M → IN mit f(α) = 0, f(β) = succ(0), f(γ) = succ(f(β)), usw. Für die letzte Ziffer ω gilt: succ(ω) = n. Damit läßt sich jede natürliche Zahl m auf eineindeutige Weise so schreiben: m = z0 + z. ⋅ n + z.. ⋅ (n ⋅ n) + z ... ⋅ (n ⋅ n ⋅ n) + . . . , wobei z0, z., z.., z..., . . . natürliche Zahlen sind, die durch die zu n gehörenden Ziffern dargestellt werden können. Anmerkung: Die Schreibweise m = z0 + z1 ⋅ n + z2 ⋅ n2 + z3 ⋅ n3 + . . . wäre zunächst naheliegend. Doch sollte man beachten, daß dann zur Definition der natürlichen Zahlen die natürlichen Zahlen selbst zur Indizierung herhalten müßten. Auch die gewählte Schreibweise ist nicht frei von Problemen, nutzt man doch die anschauliche Punktierung derart, daß man die Punkte zählt und damit wieder die natürlichen Zahlen benutzt. Wypior Seite 42 Stand 16.11.2011 Diskrete Mathematik Beispiel 1: u sei die Darstellung von v sei die Darstellung von w sei die Darstellung von v sei die Darstellung von ⇒ m = uvwv Beispiel 2: Beispiel 3: Beispiel 4: z0 z. z.. z... M = {0,1}, M = {0,1,2,3,4,5,6,7,8,9} M = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} n = succ(1) n = succ(9) n = succ(F) Dualsystem Dezimalsystem Hexadezimalsystem Umrechnung von einem Stellenwertsystem in ein anderes: a) B70C16 (oder auch B70Ch) soll in eine Dezimalzahl umgewandelt werden: B70C = B ⋅ 163 + 7 ⋅ 162 + 0 ⋅ 161 + C ⋅ 160 = 11 ⋅ 163 + 7 ⋅ 162 + 0 ⋅ 161 + 12 ⋅ 160 = 45056 + 1792 + 12 = 46860 b) Die Dezimalzahl 3943 soll in eine Hexadezimalzahl umgewandelt werden: 3943 = 246 ⋅ 16 + 7 = ((15 ⋅ 16) + 6) ⋅ 16 + 7 = 15 ⋅ 162 + 6 ⋅ 161 + 7 ⋅ 160 = F67h Rechenschema: 3943 : 16 = 246 Rest 7 246 : 16 = 15 Rest 6 15 : 16 = 0 Rest 15 ⇒ 349310 = F67h c) Die Dezimalzahl 43 soll im Dualsystem dargestellt werden: 43 : 2 = 21 Rest 1 21 : 2 = 10 Rest 1 10 : 2 = 5 Rest 0 5 : 2 = 2 Rest 1 2 : 2 = 1 Rest 0 ⇒ 4310 = 1010112 1 : 2 = 0 Rest 1 Beispiele zur Addition zweier Zahlen p,q ∈ IN im Stellenwertsystem mit der Basis n: Beispiel 1: Addition zweier Dualzahlen 1101 + 101101 = 111010 001101 101101 11 1 111010 Die Addidtion zweier n-stelliger natürlicher Zahlen liefert maximal ein n+1 - stelliges Ergebnis. Wypior Seite 43 Stand 16.11.2011 Diskrete Mathematik Beispiel 2: Addidtion im Dreiersystem 120121 + 22012 = 212210 120121 022012 1 11 212210 Beispiele zur Multiplikation zweier Zahlen p,q ∈ IN im Stellenwertsystem mit der Basis n: Beispiel 1: Multiplikation zweier Dezimalzahlen 235 ⋅ 716 = 235 ⋅ 700 + 235 ⋅ 10 + 235 ⋅ 6 = 164500 + 2350 + 1410 = 168260 Beispiel 2: Multiplikation zweier Dualzahlen 1011 ⋅ 110 = 1011 ⋅ 100 + 1011 ⋅ 10 + 1011 ⋅ 0 = 101100 + 10110 + 0 = 1000010 Die Multiplikation zweier n-stelliger natürlicher Zahlen liefert maximal ein 2n - stelliges Ergebnis. Die ganzen Zahlen Z Z Bekanntlich ist die Zahlbereichserweiterung von IN nach Z Z notwendig, weil sich in IN nicht alle Gleichungen der Form x + m = n ; m,n ∈ IN lösen lassen, wenn n < m gilt. Im Folgenden sollen Besonderheiten der negativen ganzen Zahlen insbesondere im Zusammenhang mit ihrer Darstellung in Rechenanlagen betrachtet werden. Beispiele zur Subtraktion zweier Zahlen p,q ∈IN im Stellenwertsystem mit der Basis n: Beispiel 1: Subtraktion zweier Dualzahlen p - q mit p > q: 110111 - 11011 = 11100 110111 - 011011 11 011100 Beispiel 2: Subtraktion zweier Dualzahlen p - q mit p < q: 11011 - 110101 = - 11010 110101 - 011011 11 1 011010 Wypior Seite 44 Stand 16.11.2011 Diskrete Mathematik Subtraktion durch Komplementbildung Beispiel 1: 723 = 723 = 723 = 134 Komplementrechnung im Zehnersystem - 589 + 410 - 999 + 411 - 1000 410 heißt Neunerkomplement zu 589. 411 heißt Zehnerkomplement zu 589. Beispiel 2: Komplementrechnung im Dualsystem 1110011 - 101110 = 1110011 - 0101110 Gleiche Stellenzahl = 1110011 + 1010001 - 1111111 Einerkomplement = 1110011 + 1010001 + 1 - 10000000 Zweierkomplement = 1000101 Vorteil der Komplementrechnung in Rechenanlagen: Da Rechner Zahlen grundsätzlich in endlicher Länge darstellen, kann die Subtraktion von zwei Dualzahlen durch Bit-Invertierung und anschließender Addition ausgeführt werden. Durch die Darstellung in endlicher Länge entfällt die Subtraktion beim Zweierkomplement. Beispiel 3: Subtraktion zweier Dualzahlen in einer Rechenanlage mit 2-Byte-breiter Zahlendarstellung 1110011 - 101110 = 0000 0000 0111 0011 - 0000 0000 0010 1110 Rechnerbreite 0000 + 1111 11111 10000 + 10000 -10000 0000 0000 1111 1111 0000 0111 0011 1101 0001 111 11 0100 0100 1 0000 0100 0101 0000 0000 0000 0000 0100 0101 Einerkomplement durch Bit-Invertierung Überträge Zweierkomplement Das Ergebnis überschreitet die Speicherbreite Diese Subtraktion ist daher nicht notwendig. Merke: Negative ganze Zahlen werden in Rechenanlagen in Zweierkomplementdarstellung gespeichert! Beispiel: Welche Darstellung hat die dezimale Zahl -345 in einer Rechenanlage, wenn pro Zahl 2 Byte Speicherplatz zur Verfügung stehen? -345 Wypior = -0000 0001 0101 1001 = 1111 1110 1010 0110 + 1 = 1111 1110 1010 0111 Seite 45 Stand 16.11.2011 Diskrete Mathematik | Die rationalen Zahlen Q Die Gleichungen der Form x ⋅ m = n ; m,n ∈ Z Z sind in ZZ nicht lösbar, wenn n nicht ganzzahliges Vielfa| . ches von m ist. Durch entsprechende Zahlbereichserweiterung gelangt man zu Q a Jede rationale Zahl r = b ; a,b ∈ Z Z läßt sich als nicht abbrechende periodische Dezimalzahl schreiben. (Hier wird die Existenz reeller Zahlen vorausgesetzt.) 17 − Beispiel 1: 2 = 8,50 ______ 1 Beispiel 2: = 0, 142857 7 Darstellung rationaler Zahlen durch n-adische Brüche Jede rationale Zahl r kann als nicht abbrechender periodischer n-adischer Bruch geschrieben werden. Da | darstellen läßt, genügt es, 0 < r < 1 zu betrachten. Für n=2 sich durch Addition ganzer Zahlen jedes r ∈ Q erhält man Dualbrüche, für n=8 Oktalbrüche usw. a a Es sei M = {0,1,2,. . .,n - 1} und a,b ∈ IN mit a < b und b = 0, α1 α2 α3. . . eine Darstellung von b , α1 α2 α3 a ai ∈ M. Dann gilt: = b n + n2 + n3 + . . . Die αi erhält man bei gegebener Basis n folgendermaßen: a Multiplikation von b mit n ergibt α2 α3 a ⋅ n = α + + 1 b n n2 + . . . α2 α3 a ⋅ n = α1 b + R1 b mit R1 = n + n2 + . . . 2 a = α1 Rest R1 b (Anmerkung: 5 : 3 = 1 Rest 2 oder 5 : 3 = 1 + 3 ) b ⋅ n Wiederholung des Verfahrens mit dem verbleibenden Rest R1 ergibt: R1 Rest R2 b b ⋅ n = α2 Also gilt zusammenfassend: a Rest R1 b b ⋅ n = α1 R1 Rest R2 b b ⋅ n = α2 R2 Rest R3 b b ⋅ n = α3 ... Die Rechnung wird beendet, sobald die gewünschte Genauigkeit oder die Periode erreicht ist. Wypior Seite 46 Stand 16.11.2011 Diskrete Mathematik 1 1 1 Umrechnung der Brüche 2 , 3 , 5 ins Dualsystem Beispiel: 1 1 2 : 2 ⋅ 2 = 1 Rest 0 0 2 ⋅ 2 = 0 Rest 0 1 − ⇒ 2 10 = 0,10 2 1 1 3 : 3 ⋅ 2 = 0 Rest 2 2 3 ⋅ 2 = 1 Rest 1 1 3 ⋅ 2 = 0 Rest 2 __ 1 ⇒ 3 10 = 0,01 2 1 1 5 : 5 2 5 4 5 3 5 1 5 ⇒ Periode! Periode! ⋅ 2 = 0 Rest 2 ⋅ 2 = 0 Rest 4 ⋅ 2 = 1 Rest 3 ⋅ 2 = 1 Rest 1 ⋅ 2 = 0 Rest 2 Periode! ____ 1 = 0,0011 2 5 10 Anmerkung: 1 Die Umwandlung der endlichen Dezimalzahl 0,2 = 5 in eine Dualzahl zeigt ein grundsätzliches Problem von Zahlenkonvertierungen in Rechenanlagen auf. Da ein Rechner immer mit endlichen Speicherbreiten arbeitet, ist ein Rundungsfehler bei der Umwandlung unumgänglich. Unendliche periodische Dezimalzahlen sind, wie oben erwähnt, ebenfalls rationale Zahlen. Die Umwandlung solcher Zahlen in ein anderes Stellenwertsystem erfordert die Kenntnis des Grenzwertes unendlicher geometrischer Reihen. | , bei der der Quotient q zweier aufeinanderfolgender Glieder a und Eine Zahlenfolge a1, a2, a3,... ai ∈ Q n an+1 immer gleich groß ist, heißt geometrische Folge. Es gilt also: q = an+1 : an Der Zusammenhang zwischen a1 und an lautet: Wypior ; q ≠ 0, n ∈ IN, a1 ≠ 0 an = a1 ⋅ qn-1 Seite 47 Stand 16.11.2011 Diskrete Mathematik Beispiele: 1) 2) 2, 6, 18, ... 1 1 1, – 2 , 4 , ... q = 3 1 q = – 2 Die Summe der ersten n Folgenglieder einer geometrischen Folge mit dem Anfangsglied a1 und dem Quotienten q ≠ 1 ist qn − 1 sn = a 1 q −1 Die Summen sn = a1 + a1q + a1q2 + . . . + a1qn-1 streben im Falle | q | < 1 mit unbegrenzt wachsendem n gegen den Grenzwert s = lim s n = n→∞ Beispiel: a1 . 1− q _ Umwandlung der Dezimalzahl 0,34 in eine Dualzahl _ 0,34 3 4 4 = 10 + (100 + 1000 + . . . ) 4 4 4 1 4 + + . . . ist eine geometrische unendliche Reihe mit a = , q = und s = 1 100 1000 100 10 90 Also gilt: _ 3 4 31 0,34 = 10 + 90 = 90 Ermitteln der Periode wie oben ergibt: _ _____________ 0,34 10 = 0,0101 1000 0101 2 Maschinenabhängige Darstellungen Binärkodierungen Das Dualsystem kann direkt als Kodierung zur Darstellung von rationalen Zahlen im Rechner verwendet werden. Man spricht auch vom Dualcode. Da alle Tetraden auftreten, ist es speicherplatzsparend. Wegen der Möglichkeit von Konvertierungsfehlern bei der Umrechnung, wird jedoch bei hoher Anforderung an die Rechengenauigkeit vom BCD-Code (Binary Coded Decimal) gebrauch gemacht. Der BCD-Code kann als direkte Tetradenschreibweise von Dezimalziffern verstanden werden, während die Codierung mittels Dualzahlen als Tetradenschreibweise der Ziffern des Sedezimalsystems interpretiert werden kann. Beispiel: 235 235 Wypior Darstellung der Dezimalzahl 235 im BCD-Code und im Dualcode. = 0010 0011 0101BCD = E3h = 1110 00112 Seite 48 Stand 16.11.2011 Diskrete Mathematik Negative Zahlen Die Darstellung negativer Zahlen im Zweierkomplement führt automatisch zu einer 1 im höchstwertigen Bit des höchstwertigen Bytes, genannt MSB (Most Significant Byte). Beachtet man die Speicherbreiten nicht, kann es zu sogenannten Overflow-Fehlern kommen. Beispiel: Darstellung der dezimalen Zahl -356 in Zweierkomplementschreibweise 35610 = 1 0110 01002 -35610 = -1 0110 0100 = 0 1001 1011 + 1 = 0 1001 1100 falsch! Die Vernachlässigung des MSB kann zu der irrigen Annahme führen, daß 9Ch die Darstellung von -356 sein könnte (Vernachlässigung einer führenden 0, außerdem Bit 7 = 1!). -356 benötigt aber 2 Byte zur Darstellung! Richtig ist: Wypior -35610 = 1111 1110 1001 11002 = FE9Ch Seite 49 Stand 16.11.2011 Diskrete Mathematik Quellen: Günter Matthiessen Susanne und Gerald Teschl Seymour Lipschutz Gerd Harbeck u.a. Arnold Oberschelp Wypior Logik für Software-Ingenieure Mathematik für Informatiker Finite Mathematik Boolesche Algebra und Computer Allgemeine Mengenlehre Seite 50 Stand 16.11.2011