Mitschrieb der Vorlesung Mathematik 1 für Informatiker und Bioinformatiker Prof. Dr. Peter Hauck Wintersemester 2006/2007∗ Mitschrieb in LATEXvon Rouven Walter ∗ Letzte Änderung: 10. Oktober 2010 Lizenz Das Werk „Mathematik für (Bio-)Informatiker 1“ von Rouven Walter steht unter einer Creative Commons Namensnennung-Nicht-kommerziell-Weitergabe unter gleichen Bedingungen 3.0 Deutschland Lizenz. Eine Zusammenfassung der Lizenz ist unter http://creativecommons.org/licenses/by-nc-sa/3.0/de/ einsehbar. Der vollständige rechtsverbindliche Lizenzvertrag kann eingesehen werden unter http://creativecommons.org/licenses/by-nc-sa/3.0/de/legalcode. Alternativ kann ein Brief an folgende Adresse geschrieben werden: Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. ii Vorwort Dieser Mitschrieb entstand während meiner Nachbearbeitung zur Vorlesung „Mathematik 1 für Informatiker und Bioinformatiker“ im Wintersemester 2006/2007 bei Prof. Dr. Peter Hauck an der Eberhard-Karls-Universität Tübingen. Der Mitschrieb wurde im Laufe der Zeit um kleinere und größere Bemerkungen von mir abgeändert, um die Verständlichkeit des Inhaltes zu fördern. Die ursprüngliche Nummerierung der Abschnitte wurde jedoch beibehalten. Ich erhebe keinen Anspruch auf Vollständigkeit oder Richtigkeit. Bei Verständnisschwierigkeiten zum Inhalt empfehle ich daher ausdrücklich, sich an die jeweiligen Dozenten/Tutoren zu wenden. Wer Fehler findet, Verbesserungsvorschläge hat oder mir sonstige Anregungen mitteilen möchte, kann mir gerne eine E-Mail an folgende Adresse schicken: [email protected] oder [email protected] iii Inhaltsverzeichnis Lizenz ii Vorwort iii 1 Mathematisches Argumentieren 1 2 Mengen 12 3 Abbildungen 20 4 Relationen 32 5 Natürliche Zahlen und vollständige Induktion 40 6 Elementare Zahlentheorie 49 7 Kombinatorik 70 8 Graphen 82 9 Formale Aussagenlogik 92 10 Halbgruppen, Monoide, Gruppen 106 Literaturverzeichnis 129 Index 130 iv 1 Mathematisches Argumentieren In diesem einführenden Kapitel werden wir zunächst eine Einführung in die Aussagenlogik und Quantorenlogik geben. Mit diesen Mitteln können wir mathematische Aussagen formalisieren. Weiter zeigen wir grundlegende Techniken, um diese mathematischen Aussagen zu beweisen. Beispiel: Man betrachte einen Chip mit 200 Millionen Transistoren (Schaltern). Dabei kann jeder Schalter zwei Zustände annehmen: „offen“ oder „geschlossen“. Das sind 2200000000 mögliche Zustände des Chips. Zur Überprüfung der Funktionsweise des Chips ist man an Aussagen vom folgenden Typ interessiert: Wenn T1 oder T2 offen sind, dann ist T3 offen und T4 geschlossen. Durch sogenannte logische Junktoren werden aus einfachen Aussagen neue (kompliziertere) Aussagen gebildet. Aussagen werden durch Wahrheitswerte bestimmt: „falsch“ f 0 „wahr“ w 1 (Eine präzise Beschreibung der Junktoren gibt es in der Junktorenlogik) Definition 1.1. (Negation) Verneinung einer Aussage A: oder ¬A |{z} „nicht A“ A Neue Aussage A ¬A 1 0 0 1 Hat die Aussage A den W-Wert (Wahrheitswert) x, so hat ¬A den Wahrheitswert 1 − x. 1 1 Mathematisches Argumentieren Definition 1.2. (Konjunktion) Seien A und B Aussagen. Die neue Aussage A ∧ B bzw. „A und B“ heißt Konjunktion von A und B. A B A∧B 1 1 1 0 1 0 0 1 0 0 0 0 Hat die Aussage A den Wahrheitswert x und B den Wahrheitswert y, so hat die Konjunktion A∧B den Wahrheitswert x · y bzw. min(x, y). Definition 1.3. Seien A und B Aussagen. Die neue Aussage A ∨ B bzw. „A oder B“ heißt Disjunktion von A und B. Bei der Aussage A ∨ B handelt es sich um das einschließende Oder. Sie ist wahr, wenn mindestens eine der beiden Aussagen oder beide Aussagen wahr sind. A B A∨B 1 1 1 1 0 1 0 1 1 0 0 0 Hat die Aussage A den Wahrheitswert x und B den Wahrheitswert y, so hat die Aussage A ∨ B den Wahrheitswert max(x, y) bzw. x + y − x · y. Definition 1.4. (Exklusives Oder) Seien A und B Aussagen. Die neue Aussage A XOR B bzw. „entweder A oder B“ ist das exklusive Oder, bezeichnet mit XOR (exclusive or). Bei der Aussage A XOR B handelt es sich um das ausschließende Oder. Sie wahr, wenn eine der beiden Aussagen wahr ist. Sie ist aber falsch, wenn beide Aussagen A und B gleichzeitig wahr oder falsch sind. A B A XOR B 1 1 0 1 0 1 0 1 1 0 0 0 Hat die Aussage A den Wahrheitswert x und B den Wahrheitswert y, so hat A XOR B den Wahrheitswert max(x, y) − x · y bzw. x + y − 2 · x · y. Beispiel 1.5. a) Seien A und B Aussagen. Die zusammengesetzte Aussage (A ∨ B) ∧ (¬(A ∧ B)) in der Wahrheitswertetabelle: A B A ∨ B A ∧ B ¬(A ∧ B) (A ∨ B) ∧ (¬(A ∧ B)) 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 0 1 0 Mathematik 1 für (Bio-)Informatiker 2 1 Mathematisches Argumentieren Es stellt sich heraus, dass A XOR B und (A ∨ B) ∧ (¬(A ∧ B)) logisch äquivalent sind. b) Die Aussagen A ∨ B und B ∨ A sind logisch äquivalent. Die Aussagen A ∧ B und B ∧ A sind logisch äquivalent. Die Aussagen A XOR B und B XOR A sind logisch äquivalent. c) Die Aussage (A ∧ (¬B)) ∨ (B XOR C) in der Wahrheitswertetabelle: A B C ¬B (A ∧ (¬B)) (B XOR C) (A ∧ (¬B)) ∨ (B XOR C) 1 1 1 0 0 0 0 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 1 1 0 1 1 0 0 0 1 0 0 0 Die Aussagen A, B und C könnten beispielsweise für folgendes stehen: A = Schalter T1 ist offen B = Schalter T2 ist offen C = Schalter T3 ist offen Angenommen man weiß, dass obige Aussage wahr ist und außerdem, dass genau 2 Schalter offen sind. Dann ist T1 offen. d) Die Aussage (A ∧ B) ∧ C ist logisch äquivalent zu A ∧ (B ∧ C). Die Aussage (A ∨ B) ∨ C ist logisch äquivalent zu A ∨ (B ∨ C). Man schreibt daher: A ∧ B ∧ C bzw. A ∨ B ∨ C. A ∧ B ∧ C ist wahr, genau dann wenn alle Aussagen A, B, C wahr sind. A ∨ B ∨ C ist wahr, genau dann wenn mindestens eine Aussage von A, B, C wahr ist. e) Wieviele Zeilen hat die Wahrheitstabelle für eine Aussage mit 2 Elementaussagen? 22 = 4 Zeilen. 3 Elementaussagen: 23 = 8 Zeilen. 100 Elementaussagen: 2100 ≈ 2 · 1030 Zeilen. Angenommen, man benötigt 1 Sekunde zum Schreiben einer Zeile, dann benötigt man bei 100 Elementaussagen 2 · 1030 ≈ 6 · 1022 Jahre für die gesamte Tabelle. Mathematik 1 für (Bio-)Informatiker 3 1 Mathematisches Argumentieren Definition 1.6. Seien A und B Aussagen. Wir definieren die neue Aussage „wenn, dann“, A ⇒ B, „Wenn A gilt, dann gilt B“, „A impliziert B“ bzw. „aus A folgt B“. A B A⇒B 1 1 1 1 0 0 0 1 1 0 0 1 e.f.q. ( ex falso quodlibet) (lateinisch: aus Falschem folgt Beliebiges) Für A ⇒ B sagt man auch „A ist hinreichend für B“ oder „B ist notwendig für A“. Beispiel: a) Wenn eine natürliche Zahl n durch 4 teilbar ist, dann ist sie auch durch 2 teilbar (wahr). Teilbarkeit durch 4 ist hinreichend für Teilbarkeit durch 2 (wahr). Teilbarkeit durch 2 ist notwendig für Teilbarkeit durch 4 (wahr). Teilbarkeit durch 4 ist notwendig für Teilbarkeit durch 2 (falsch). Man beachte aber, dass die Aussage A ⇒ B nicht logisch äquivalent zu B ⇒ A ist: A B A⇒B B⇒A 1 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 b) Sei Ai = „Ti ist offen“ für i = 1, 2, 3, 4. Wann ist die Aussage (A1 ∨ A2 ) ⇒ (A3 ∧ ¬A4 ) falsch? Wenn (A1 ∨ A2 ) wahr ist und (A3 ∧ ¬A4 ) falsch ist. Das bedeutet, mindestens einer von T1 und T2 ist offen und T3 ist geschlossen oder T4 ist offen. Definition 1.7. Seien A und B Aussagen. Wir definieren die neue Aussage A ⇔ B, „genau dann, wenn“, „dann und nur dann“, „if and only if (iff)“, „A gilt genau dann, wenn B gilt“, „A ist äquivalent zu B“. A B A⇔B 1 1 1 1 0 0 0 1 0 0 0 1 Satz 1.8. (Wichtige logische Äquivalenzen) Mathematik 1 für (Bio-)Informatiker 4 1 Mathematisches Argumentieren a) ¬(¬A) ist logisch äquivalent zu A (doppelte Negation). Man schreibt: ¬¬A statt ¬(¬A). b) ¬(A ∧ B) ist logisch äquivalent zu (¬A) ∨ (¬B) (Verneinung der Konjunktion). c) ¬(A ∨ B) ist logisch äquivalent zu (¬A) ∧ (¬B) (Verneinung der Disjunktion). d) A ⇒ B ist logisch äquivalent zu (¬B) ⇒ (¬A) A ⇒ B ist logisch äquivalent zu (¬A ∨ B) e) A ⇔ B ist logisch äquivalent zu (A ⇒ B) ∧ (B ⇒ A) Beweis. Beweis erfolgt jeweils mit Hilfe der Wahrheitstabelle. a) A ¬A ¬(¬A) 1 0 1 0 0 1 b) A B ¬A ¬B A ∧ B ¬(A ∧ B) (¬A) ∨ (¬B) 1 1 0 0 1 0 0 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 1 1 c) A B ¬A ¬B A ∨ B ¬(A ∨ B) (¬A) ∧ (¬B) 1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 0 1 1 d) A B ¬A ¬B A ⇒ B (¬B) ⇒ (¬A) ¬A ∨ B 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 1 1 1 Mathematik 1 für (Bio-)Informatiker 5 1 Mathematisches Argumentieren e) A B A ⇒ B B ⇒ A A ⇔ B (A ⇒ B) ∧ (B ⇒ A) 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 Bemerkung 1.9. Die Aussagen in 1.8 b) c) sind die De Morgan’schen Regeln. In der Aussagenlogik ist nur der Wahrheitswert von Aussagen interessant. Der nächste Schritt ist eine etwas genauere Betrachtung gewisser Typen von Aussagen. All- und Existenzaussagen (Prädikatenlogik): Beispiel: Sprachliche Beschreibung: a) Für alle natürlichen Zahlen n gilt: n ist gerade oder n ist ungerade. (Allaussage, wahre Aussage) b) Es gibt (mindestens) eine natürliche Zahl, die durch 3 und 7 teilbar ist. (Existenzaussage, wahre Aussage) c) Es gibt eine natürliche Zahl, die durch 9, aber nicht durch 3 teilbar ist. (Existenzaussage, falsche Aussage) Formale Beschreibung: a) ∀n ∈ N : (n ist gerade) ∨ (n ist ungerade) b) ∃n ∈ N : (n ist durch 3 teilbar) ∧ (n ist durch 7 teilbar) c) ∃n ∈ N : (n ist durch 9 teilbar) ∧ ¬(n ist durch 3 teilbar) Allgemein: ∀x ∈ E : P (x) Aussage, Allaussage „Für alle x aus der Menge E gilt die Eigenschaft P (x).“ Mathematik 1 für (Bio-)Informatiker 6 1 Mathematisches Argumentieren ∃x ∈ E : Q(x) Aussage, Existensaussage „Es gibt (mindestens) ein x aus der Menge E, das die Eigenschaft Q(x) hat.“ ∈: E: P (x), Q(x) : „Element von“ Menge Eigenschaft, die x haben kann oder nicht (Prädikat) Die Aussage ∀x ∈ E : P (x) ist wahr genau dann, wenn alle P (x) (für sämtliche x ∈ E) wahr sind. Die Aussage ∃x ∈ E : Q(x) ist wahr genau dann, wenn Q(x) für mindestens ein x ∈ E wahr ist. Beispiel: a) Sei E = {2, 4, 6}. ∀x ∈ E : x ist gerade (wahre Aussage). Die Aussage ist logisch äquivalent mit (2 ist gerade)∧(4 ist gerade)∧(6 ist gerade). b) Ist E = {x1 , . . . , xn } eine endliche Menge, dann ist die Aussage ∀x ∈ E : P (x) logisch äquivalent zu P (x1 ) ∧ P (x2 ) ∧ P (x3 ) ∧ . . . ∧ P (xn ). Da E auch unendlich sein kann, nennt man Allaussagen auch verallgemeinerte Konjunktionen. c) Sei E = {2, 4, 6}. ∃x ∈ E : x > 7 (falsche Aussage). Die Aussage ist logisch äquivalent mit (2 > 7) ∨ (4 > 7) ∨ (6 > 7). d) Ist E = {x1 , . . . , xn } eine endliche Menge, dann ist die Aussage ∃x ∈ E : Q(x) logisch äquivalent zu Q(x1 ) ∨ Q(x2 ) ∨ . . . ∨ Q(xn ). Existenzaussagen sind verallgemeinerte Disjunktionen. All- und Existenzquantor: ∀ Allquantor ∃ Existenzquantor (∧) x∈E (∨) x∈E (∀x ∈ E, ∀ ) x∈E (∃x ∈ E, ∃ ) x∈E Bemerkung 1.10. (Negation von Existenz- und Allaussagen) a) ¬(∃x ∈ E : Q(x)) ist logisch äquivalent mit ∀x ∈ E : ¬Q(x) Mathematik 1 für (Bio-)Informatiker 7 1 Mathematisches Argumentieren b) ¬(∀x ∈ E : P (x)) ist logisch äquivalent mit ∃x ∈ E : ¬P (x) Bemerkung 1.11. (Reihenfolge der Quantoren) Beispiel: ∃n ∈ N ∀m ∈ N : n > m (falsch) ∀m ∈ N ∃n ∈ N : n > m (wahr) (denn zu m ∈ N kann man beispielsweise n = m + 1 wählen) Bedeutung: All- und Existenzquantoren dürfen in der Reihenfolge nicht vertauscht werden. Beispiel: ∃n ∈ N ∃m ∈ N : n + m = 17 gleichbedeutend mit ∃m ∈ N ∃n ∈ N : n + m = 17 (wahr) (wahr) Bedeutung: Existenzquantoren und Allquantoren können jeweils untereinander getauscht werden, nicht jedoch übergreifend. Man unterscheidet in der Mathematik folgende Typen von Aussagen: • Axiome (Grundaussagen, die nicht bewiesen werden) • Sätze (wahre Aussagen, die aus Axiomen oder bereits bewiesenen Sätzen gefolgert werden) – Lemma (Hilfssatz) – Theorem (wichtiger Satz) • Definitionen Mathematische Sätze sind häufig von der Form: „Wenn V gilt, dann gilt B“. Wobei V und B mathematische Aussagen sind. V ist Voraussetzung und B ist Behauptung des Satzes. Das bedeutet: Die Implikation V ⇒ B ist wahr. Mathematik 1 für (Bio-)Informatiker 8 1 Mathematisches Argumentieren Um eine Implikation zu beweisen, nimmt man an, dass V wahr ist und zeigt dann, dass B wahr ist. Unterschiedliche Vorgehensweisen für Beweise, zeigen wir im Folgenden auf: Bemerkung 1.12. (Direkte Beweise) Die Implikation V ⇒ B wird gezeigt, indem man V ⇒ B1 , B1 ⇒ B2 , . . . , Bn ⇒ B als wahr nachweist. Die Gültigkeit der einzelnen Implikationen folgt aus schon bewiesenen Sätzen oder Axiomen. Man beachte: Sind A1 ⇒ A2 und A2 ⇒ A3 wahr, so ist A1 ⇒ A3 wahr. Beispiel: Behauptung: Ist n eine ungerade natürliche Zahl, so ist n2 ungerade. Voraussetzung: n ist ungerade natürliche Zahl. Beweis: Sei n ∈ N ungerade. Dann ist n + 1 gerade. Also existiert natürliche Zahl k, so dass n + 1 = 2 · k. Folglich ist n = 2 · k − 1. Dann gilt: n2 = (2 · k − 1)2 = 4 · k2 − 4 · k + 1 = 2 · (2 · k 2 − 2 · k) + 1 Daher ist n2 ungerade. Formaler: Es gilt: ∀n ∈ N : (n ungerade ⇒ n2 ungerade) Beweis: n ungerade ⇒ n + 1 gerade ⇒ ∃k ∈ N : n + 1 = 2 · k ⇒ n=2·k−1 ⇒ n2 = 2 · (2 · k 2 − 2 · k) + 1 ⇒ n2 ungerade Bemerkung 1.13. (Indirekter Beweis) Statt V ⇒ B beweist man die nach 1.8 c) dazu logisch äquivalente Aussage ¬B ⇒ ¬V . Mathematik 1 für (Bio-)Informatiker 9 1 Mathematisches Argumentieren Beispiel: Sei n eine natürliche Zahl. Ist n2 ungerade, so ist n ungerade. Beweis: Indirekter Beweis: Die zur Behauptung logisch äquivalente Aussage lautet: Ist n gerade, so ist n2 gerade. Sei n gerade, so existiert eine natürliche Zahl k mit n = 2 · k und es gilt: n2 = (2 · k)2 = 4 · k2 = 2 · (2 · k 2 ) Somit ist n2 gerade. Bemerkung 1.14. (Äquivalenzbweise) Einige Sätze sind von der Form „genau dann gilt A, wenn B gilt“ Es sind also A und B äquivalent bzw. gleichwertig. Das bedeutet: A ⇔ B ist wahr. Um einen Satz dieser Form zu beweisen, muss man zeigen, dass A ⇒ B wahr ist und dass B ⇒ A wahr ist. Beispiel: Sei n eine natürliche Zahl, dann gilt: n ist ungerade genau dann, wenn n2 ungerade ist. Beweis: Folgt aus 1.12 und 1.13. Paarweise Äquivalenz Manchmal will man zeigen, dass die Aussagen A1 , A2 , . . . , An paarweise äquivalent sind. Dazu muss man zeigen: A1 ⇔ A2 ist wahr, A1 ⇔ A3 ist wahr, . . . , A1 ⇔ An ist wahr, A2 ⇔ A3 , . . . , A2 ⇔ An , . . . , An−1 ⇔ An sind wahr. Verkürzt: Man beweist, dass A1 ⇒ A2 , A2 ⇒ A3 , . . . , An−1 ⇒ An , An ⇒ A1 wahr sind. Dieses Verfahren nennt man Ringschluss oder zyklisches Beweisverfahren. Bei n Aussagen, müssen n Implikationen nachgewiesen werden. Mathematik 1 für (Bio-)Informatiker 10 1 Mathematisches Argumentieren Bemerkung 1.15. (Widerspruchsbeweis) Man will zeigen, dass V ⇒ B gilt. Dazu nimmt man an, dass V wahr ist, aber B falsch. Man beweist dann, dass eine Aussage C wahr sein muss, von der man aber weiss, dass sie falsch ist. Dann ist die Annahme, dass B falsch ist, nicht aufrecht zu erhalten. Also ist B wahr. Beispiel: Voraussetzung: (¬G ∨ H) ∧ (D ⇒ C) ∧ ((D ⇒ G) ⇒ ¬C) ∧ D Behauptung: Die Aussage G ist falsch. Beweis: Angenommen es gilt die Voraussetzung und die Behauptung nicht, d.h. G ist wahr. Die Aussage aus der Voraussetzung ist eine Konjunktion mit 4 Einzelaussagen. Daher muss jede Einzelaussage wahr sein. (1) D ist wahr. Da D ⇒ C wahr ist, folgt mit (1): (2) C ist wahr. Es ist (D ⇒ G) ⇒ ¬C wahr. Da nach (2) ¬C falsch ist, folgt, dass D ⇒ G falsch ist. Da G wahr ist (nach Annahme) folgt, dass D falsch ist. Das ist ein Widerspruch zu (1). Folglich ist G falsch. Mathematik 1 für (Bio-)Informatiker 11 2 Mengen Nach Georg Cantor1 : „Menge ist eine Zusammenfassung von bestimmten, wohlunterschiedenen Objekten unserer Anschauung oder unseres Denkens zu einem Ganzen.“ Diese Definiton ist problematisch. Die Objekte heißen Elemente der Menge. Eine Menge wird beschrieben mit { und }. Aufzählende Schreibweise: {1, 2, a, 7}, {1, 2, 3, 4, . . .}. Angabe durch Beschreibung: {x : x hat Eigenschaft E}. Beispiele: {x : x ist natürliche Zahl und x ist größer als 7} = {8, 9, 10, . . .} = {x : x ∈ N ∧ x > 7} = {x ∈ N : x > 7} Schreibweise: Ist x ein Element von Menge M , so schreibt man: x ∈ M Ist x kein Element von Menge M , so schreibt man: x 6∈ M Wichtige Mengen: N = Menge der natürlichen Zahlen = {1, 2, 3, . . .} N0 = {0, 1, 2, . . .} Z = Menge der ganzen Zahlen Q = Menge der rationalen Zahlen 1 Georg Cantor (1845 - 1918) war ein deutscher Mathematiker. 12 2 Mengen R = Menge der reellen Zahlen C = Menge der komplexen Zahlen Die leere Menge enthält kein Elment: ∅ Die Anzahl der Elemente einer Menge kennzeichnet man mit: |M | Beispiele: |{1, 2, a, 4}| = 4 |N| = ∞ |{N}| = 1 Definition 2.1. Seien M , N Mengen. M heißt Teilmenge ( Untermenge) von N , falls gilt: Jedes Element von M ist auch Element von N . Wir schreiben dafür: M ⊆ N . Ist M keine Teilmenge von N , so schreiben wir: M 6⊆ N . Beispiel: a) Es gilt {1, 2, 3} ⊆ {1, 2, a, 4, 3}, aber {1, 2, b} 6⊆ {1, 2, a, 4, 3}. b) 1 ∈ N, 1 6∈ {N}, N 6⊆ {N}, N ∈ {N}. c) 2 ∈ {1, 2, 3, 7, 205} = {7, 3, 205, 2, 1} = {1, 1, 2, 3, 7, 7, 7, 205}. d) Sei A = {N, Z}. Dann ist N ∈ A, Z ∈ A, Q 6∈ A, 1 6∈ A, {N} ⊆ A, A ⊇ {N}. Beachte: Es gilt ∅ ⊆ M für jede Menge M . Die Gleichheit M = N zweier Mengen M und N gilt genau dann, wenn M ⊆ N und N ⊆ M. Definition 2.2. a) M ∩ N = {x : x ∈ M ∧ x ∈ N }, Durchschnitt von M und N . b) M ∪ N = {x : x ∈ M ∨ x ∈ N }, Vereinigung von M und N . c) M \ N = {x : x ∈ M ∧ x 6∈ N }, Differenz von M und N Ist N ⊆ M , so heißt M \ N Komplement von N in M , geschrieben N C . d) M △ N = (M \ N ) ∪ (N \ M ), Symmetrische Differenz. Mathematik 1 für (Bio-)Informatiker 13 2 Mengen Mengen können veranschaulicht werden durch Venn-Diagramme. Abbildung 2.1 zeigt Beispiele von Venn-Diagrammen. Man beachte: Venn-Diagramme sind kein Beweis, son- M 111 000 000 111 000 111 000 111 000 111 N M ∩N N M \N M N M ∪N 1111 0000 0000 1111 0000 1111 0000 1111 0000 1111 0000 1111 0000 1111 0000 1111 0000 1111 0000 1111 0000 1111 0000 1111 0000 1111 0000 1111 0000 1111 0000 1111 0000 00001111 1111 M 11111 00000 000000 111111 00000 11111 000000 111111 00000 11111 000000 111111 00000 11111 000000 111111 00000 11111 000000 111111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 00000 11111 M M N NC N M △N Abbildung 2.1: Venn-Diagramme von Mengen zur Definition 2.2 dern dienen nur der Veranschaulichung. Kommutativgesetz und Assoziativgesetz: Für den Durchschnitt und die Vereinigung von Mengen gilt das Kommutativgesetz: M ∪N M ∩N = N ∪M = N ∩M Für den Durchschnitt und die Vereinigung von Mengen gilt das Assoziativgesetz: (M ∪ N ) ∪ L = M ∪ (N ∪ L) (M ∩ N ) ∩ L = M ∩ (N ∩ L) Mathematik 1 für (Bio-)Informatiker 14 2 Mengen Frage: Gilt auch (M \ N ) \ L = M \ (N \ L)? Zur Beantwortung entweder Beweis oder Gegenbeispiel. Ein Venn-Diagramm kann Hinweise auf die Antwort liefern. Abbildung 2.2 und Abbildung 2.3 liefern solche Hinweise. Nachdem die Hinweise auf eine Ungleichheit hindeuten, stellen wir ein Gegenbeispiel M 111 000 000 111 000 111 000 111 000 111 N 111 000 000 111 000 111 000 111 000 111 M M \N N (M \ N) \ L L L Abbildung 2.2: Veranschaulichung von (M \ N ) \ L auf. Sei M = L = {1} und N = ∅. Dann gilt: (M \ N ) \ L = M \ L = ∅ 6= M \ (N \ L) = M \ ∅ = M = {1} Somit gilt das Assoziativgesetz nicht für die Differenz. Satz 2.3. Seien L, M und N Mengen. Dann gilt: a) M △ N = (M ∪ N ) \ (M ∩ N ) M 111111 000000 000000 111111 000000 111111 000000 111111 000000 111111 N 1111 0000 0000 1111 0000 1111 0000 1111 0000 1111 M N M \ (N \ L) N \L L L Abbildung 2.3: Veranschaulichung von M \ (N \ L) Mathematik 1 für (Bio-)Informatiker 15 2 Mengen b) Gilt L, M ⊆ N , so gilt: (L ∪ M )C = LC ∩ M C (L ∩ M )C = LC ∪ M C Wobei die Komplemente in N gebildet sind. Dies sind die De Morgan’sche Regeln für Mengen. c) M ∩ N = M genau dann, wenn M ⊆ N . d) M ∪ N = M genau dann, wenn N ⊆ M . Beweis. a) (1) M △ N ⊆ (M ∪ N ) \ (M ∩ N ): Sei x ∈ M △ N = (M \ N ) ∪ (N \ M ). Dann gilt x ∈ M \ N oder x ∈ N \ M . 1.Fall: x ∈ M \ N . Dann x ∈ M , also auch x ∈ M ∪ N . Außerdem x 6∈ N , dann auch x 6∈ M ∩ N . Also x ∈ (M ∪ N ) \ (M ∩ N ). 2.Fall: x ∈ N \ M . Dann x ∈ N , also auch x ∈ M ∪ N . Außerdem x 6∈ M , dann auch x 6∈ M ∩ N . Also x ∈ (M ∪ N ) \ (M ∩ N ). (2) (M ∪ N ) \ (M ∩ N ) ⊆ M △ N : Sei x ∈ (M ∪ N ) \ (M ∩ N ). Dann gilt x ∈ M ∪ N . Dann x ∈ M oder x ∈ N . 1.Fall: x ∈ M . Dann x 6∈ N , denn sonst x ∈ M ∩N im Widerspruch zu x ∈ (M ∪ N )\(M ∩N ), d.h. x ∈ M \N , also auch x ∈ (M \N )∪(N \M ) = M △ N . 2.Fall: x ∈ N . Dann x 6∈ M , denn sonst x ∈ M ∩N im Widerspruch zu x ∈ (M ∪ N )\(M ∩N ), d.h. x ∈ N \M , also auch x ∈ (M \N )∪(N \M ) = M △ N . b) (L ∩ M )c = = = 1.8 b) = (L ∪ M )c {x ∈ N : x 6∈ L ∩ M } {x ∈ N : ¬((x ∈ L) ∧ (x ∈ M ))} {x ∈ N : ¬(x ∈ L) ∨ ¬(x ∈ M )} {x ∈ N : x 6∈ L ∨ x 6∈ M } = Lc ∪ M c = {x ∈ N : x 6∈ L ∪ M } = Mathematik 1 für (Bio-)Informatiker {x ∈ N : ¬((x ∈ L) ∨ (x ∈ M ))} 16 2 Mengen = {x ∈ N : ¬(x ∈ L) ∧ ¬(x ∈ M )} = {x ∈ N : x 6∈ L ∧ x 6∈ M } 1.8 c) Lc ∩ M c = c) Übungsaufgabe. d) Übungsaufgabe. Definition 2.4. Sei M eine Menge. Dann ist die Potenzmenge von M definiert als P(M ) := {A : A ⊆ M } Man beachte: Für jede Menge M gilt M ∈ P(M ) und ∅ ∈ P(M ). Beispiel: a) Sei M = {1}, so P(M ) = {∅, {1}}. b) Sei M = {1, 2}, so P(M ) = {∅, {1}, {2}, {1, 2}}. c) Sei M = {1, 2, 3}, so P(M ) = {∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}. d) Sei M = ∅, so P(M ) = {∅} und |P(M )| = 1. Definition 2.5. Sei A eine Menge von Mengen. Die Vereinigung beliebig vieler Mengen ist definiert durch: [ A∈A A := {x : ∃A ∈ A : x ∈ A} Der Durchschnitt beliebig vieler Mengen ist definiert durch: \ A∈A A := {x : ∀A ∈ A : x ∈ A} Beispiele: a) Sei A = {A1 , A2 }. Dann gilt S A∈A Mathematik 1 für (Bio-)Informatiker = A1 ∪ A2 . 17 2 Mengen b) Seien A1 ⊇ A2 ⊇ . . . ⊇ An Mengen. A1 ∩ A2 ∩ . . . ∩ An = n \ Ai i=1 = An Die Abbildung 2.4 veranschaulicht das Beispiel mit Hilfe eines Venn-Diagramms. A1 A2 .. . An Abbildung 2.4: Verschachtelte Mengen o n c) Für n ∈ N definieren wir Bn := x ∈ R : 0 ≤ x ≤ n1 . Es gilt B1 ⊇ B2 ⊇ B3 ⊇ . . . ⊇ Bn . Alle Bi sind unendliche Mengen. {0} = = \ Bi i∈N \ B B∈B wobei B = {B1 , B2 , . . .} = {Bi : i ∈ N}. Bemerkung: Die Reihenfolge der Elemente in einer Menge ist irrelevant. Bei relevanter Reihenfolge spricht man von einem geordneten Tupel. Für dieses gilt: (x1 , x2 , . . . , xn ) = (y1 , y2 , . . . , yn ) genau dann, wenn x1 = y1 , x2 = y2 ,. . . ,xn = yn . Beispiel: Es ist (1, 2) 6= (2, 1), aber {1, 2} = {2, 1}. Ist n = 2, so hat man Paare, 2-er Tupel. Ist n = 3: Tripel. Es ist (1, 1, 2) 6= (1, 2) und (1, 1, 2) 6= (1, 2, 1). Paare von reellen Zahlen beschreiben Punkte in der Ebene. Definition 2.6. Sei n ∈ N, n ≥ 2. Seien M1 , . . . , Mn Mengen. Dann heißt M1 × . . . × Mn := {(x1 , . . . , xn ) : xi ∈ Mi ∀i ∈ {1, . . . , n}} Mathematik 1 für (Bio-)Informatiker 18 2 Mengen kartesisches Produkt von M1 , . . . , Mn . Ist M1 = . . . = Mn = M , so schreiben wir M n für M1 × . . . × Mn = M × . . . × M . ←n→ Beispiel: R2 = {(x, y) : x, y ∈ R} = R × R. Mathematik 1 für (Bio-)Informatiker 19 3 Abbildungen Abbildungen spielen in der Mathematik eine wichtige Rolle. Darüber hinaus gibt es wichtige Speziallfälle von Abbildungen, wie beispielsweise die inkektive, surjektive oder bijektive Abbildung. Definition 3.1. Seien M und N nicht leere Mengen (nicht notwendig verschieden). a) Eine Abbildung f von M nach N , f : M → N , ist eine Zuordnung, die jedem Element aus M genau ein Element aus N zuordnet, bezeichnet mit x 7→ f (x). Ein Element x ∈ M heißt Argument oder Urbild von f . Das Element f (x) ∈ N heißt Bild von x unter f . Die Menge M heißt Definitionsbereich von f . Die Menge f (M ) := {f (x) : x ∈ M } heißt Bild oder Bildbereich von f . Dabei gilt f (M ) ⊆ N . Eine Funktion ist dasselbe wie eine Abbildung. b) Die Menge Gf = {(x, f (x)) : x ∈ M } ⊆ M × N heißt Graph von f . Die Abbildung 3.1 zeigt eine korrekte Abbildung, die Abbildung 3.2 dagegen zeigt zwei Beispiele für Abbildungen, die nicht korrekt sind. x1 M N .. . .. . f (x1 ) = f (x2 ) x2 Abbildung Abbildung 3.1: Beispiel einer korrekten Abbildung Beispiel: a) Sei M eine nicht leere Menge. Die Abbildung idM : M → M mit idM (x) = x heißt identische Abbildung auf M . 20 3 Abbildungen M N M keine Abbildung N keine Abbildung Abbildung 3.2: Beispiele für keine Abbildungen b) f: ( R \ {0} → R x 7→ x1 Die Abbildung f ist eine korrekte Abbildung, aber keine Abbildung von R nach R. g: R R → ( x 7→ 1 x 0 wenn x 6= 0 wenn x = 0 Die Abbildung g ist eine Abbildung von R nach R. Die Abbildung 3.3 veranschaulicht dies anhand des Graphen von g. Gg Abbildung 3.3: Graph der Abbildung g c) Die Abbildung | . | heißt Betragsfunktion und ist wie folgt definiert: |.| : R R → ( x 7→ x −x falls x ≥ 0 falls x < 0 Die Abbildung 3.4 zeigt den Graph der Betragsfunktion. Mathematik 1 für (Bio-)Informatiker 21 3 Abbildungen G|.| Abbildung 3.4: Graph der Betragsfunktion d) Eine Abbildung von {0, 1}n → {0, 1}m heißt Schaltfunktion. Beispiel: ∧ : {0, 1}2 → {0, 1} definiert durch: ∧((1, 1)) = 1 ∧((1, 0)) = 0 ∧((0, 1)) = 0 ∧((0, 0)) = 0 (vgl. 1.2 Konjunktion) e) Sei A ⊆ M . Die Abbildung 1A mit 1A : M →({0, 1} x 7→ 1 0 wenn x ∈ A wenn x ∈ 6 A heißt Indikatorfunktion von A in M . f) f: ( g: ( {0, 1} → {0, 1} x 7→ x {0, 1} → {0, 1} x 7→ x2 Die Abbildungen f , g beschreiben die gleiche Abbildung: f (0) = 0 = 02 = g(0) f (1) = 1 = 12 = g(1) Mathematik 1 für (Bio-)Informatiker 22 3 Abbildungen M N f −1 (B) B Abbildung 3.5: Veranschauung von Bildmenge und Urbild Definition 3.2. Zwei Abbildungen f1 : M1 → N1 und f2 : M2 → N2 heißen gleich, wenn M1 = M2 , N1 = N2 und f1 (x) = f2 (x) für alle x ∈ M1 = M2 . Äquivalent: f = g genau dann, wenn N1 = N2 und Gf = Gg . Beispiel: Siehe 3.1 Beispiel f). Schreibweise: Sei f : M → N eine Abbildung. Für A ⊆ M heißt f (A) := {f (x) : x ∈ A} das Bild (oder die Bildmenge) von A unter f . Für B ⊆ N heißt f −1 (B) := {x ∈ M : f (x) ∈ B} das (volle) Urbild von B bzgl. f . Die Abbildung 3.5 veranschaulicht diese Begriffe. Beispiel: Wir betrachten folgende Abbildung f : f: ( Z → N0 x 7→ x2 Es gilt f (Z) = {0, 1, 4, 9, . . .} = f (N0 ). Folgerung: Aus der Gleichheit von f (A1 ) = f (A2 ) folgt im Allgemeinen nicht A1 = A2 . Sei B1 = {1, 2, 3, 4} und B2 = {1, 4, 5}. Es gilt: f −1 (B1 ) = {1, −1, 2, −2} = f −1 (B2 ) Folgerung: Aus der Gleichheit von f −1 (B1 ) = f −1 (B2 ) folgt im Allgemeinen nicht B1 = B2 . Definition 3.3. Sei f : M → N eine Abbildung. Mathematik 1 für (Bio-)Informatiker 23 3 Abbildungen a) Die Abbildung f heißt surjektiv, falls f (M ) = N . Äquivalente Aussage: ∀n ∈ N ∃m ∈ M : f (m) = n. b) Die Abbildung f heißt injektiv, falls für alle m1 , m2 ∈ M gilt: Ist m1 6= m2 , so ist f (m1 ) 6= f (m2 ). Äquivalente Aussage: ∀m1 , m2 ∈ M : f (m1 ) = f (m2 ) ⇒ m1 = m2 . c) Die Abbildung f heißt bijektiv, falls f surjektiv und injektiv ist. Eine bijektive Abbildung wird auch Bijektion gennant. Die Abbildungen 3.6 und 3.7 zeigen beispielhafte Veranschauungen. M N surjektiv, nicht injektiv Abbildung 3.6: Beispiel für eine surjektive, aber nicht injektive Abbildung Beispiel: a) f: ( Z → N0 x 7→ x2 Die Abbildung f ist nicht surjektiv, z.B. gilt 2 ∈ / f (Z), da 2 keine ganzzahlige Quadratwurzel hat. Die Abbildung f ist nicht injektiv, z.B. gilt f (2) = 4 = f (−2). M N injektiv, nicht surjektiv Abbildung 3.7: Beispiel für eine injektive, aber nicht surjektive Abbildung Mathematik 1 für (Bio-)Informatiker 24 3 Abbildungen b) f: ( R→R x 7→ 3 · x + 2 Die Abbildung f ist surjektiv: Sei y ∈ R. Suche x mit 3 · x + 2 = y. Es ist x = y−2 Es gilt y−2 3 ∈ R für alle y ∈ R. f (x) = 3 · ( 3 ) + 2 = y. Die Abbildung f ist injektiv: Seien x1 , x2 ∈ R mit f (x1 ) = f (x2 ). So gilt: y−2 3 . f (x1 ) = f (x2 ) ⇒ 3 · x1 + 2 = 3 · x2 + 2 ⇒ 3 · x1 = 3 · x2 ⇒ x1 = x2 Die Abbildung f ist bijektiv, da sie surjektiv und injektiv ist. c) Sei ∧ : {0, 1}2 → {0, 1} die Abbildung der Konjunktion. ∧ ist surjektiv, nicht injektiv: (0, 1) 7→ 0 (1, 0) 7→ 0 (0, 1) 7→ 0 (1, 1) 7→ 1 d) f: ( N→N x 7→ x + 2 Die Abbildung f ist nicht surjektiv: 1, 2 haben keine Urbilder. Die Abbildung f ist injektiv: Seien x1 , x2 ∈ N, so gilt: f (x1 ) = f (x2 ) ⇒ x1 + 2 = x2 + 2 ⇒ x1 = x2 e) Sei g : {1, 2, 3, 4, 5} → {a, b, c, d, e} eine Abbildung mit: g(1) = a g(2) = b g(3) = c g(4) = d g(5) = e Mathematik 1 für (Bio-)Informatiker 25 3 Abbildungen M N 1 2 3 4 5 a b c d e Abbildung 3.8: Beispiel einer Bijektion Die Abbildung g ist bijektiv, die Abbildung 3.8 veranschaulicht dies. Allgemein gilt: Sind M und N endlich und existiert Bijektion zwischen M und N , so ist |M | = |N |. f) g: ( N → N0 x 7→ x − 1 Die Abbildung g ist eine bijektive Abbildung. Bemerkung 3.4. Der Begriff der Bijektion wird zur exakten Definition der Anzahl der Elemente einer endlichen Menge benötigt: |M | = n ⇔ Es existiert Bijektion f : {1, . . . , n} → M Eine unendliche Menge M heißt abzählbar, wenn es eine Bijektion f : N → M gibt. Beispiel: Die Mengen N0 , Z, Q sind abzählbar. Die Mengen P(N), R sind nicht abzählbar (siehe dazu [WHK04], 2.11 - 2.13). Satz 3.5. Seien M und N endliche Mengen, |M | = |N | und f : M → N eine Abbildung. Dann sind folgende Aussagen äquivalent: a) f ist injetkiv b) f ist surjektiv c) f ist bijektiv Mathematik 1 für (Bio-)Informatiker 26 3 Abbildungen Beweis. Beweis erfolgt durch das Ringschlussverfahren. „a) ⇒ b)“: Sei f injektiv. Sind m1 , m2 ∈ M mit m1 6= m2 , so ist f (m1 ) 6= f (m2 ), da f injektiv ist. Daher: |M | = |f (M )|. Da |M | = |N |, folgt |f (M )| = |N |. Da f (M ) ⊆ N , ist f (M ) = N . Also ist f surjektiv. „b) ⇒ c)“: Sei f surjektiv. Da N endlich ist, gilt |N | = k für ein k ∈ N und N = {n1 , . . . , nk }. Da f surjektiv ist, gilt: Zu jedem ni , für i ∈ {1, . . . , k}, existiert (mindestens) ein mi ∈ M mit f (mi ) = ni . Da f eine Abbildung ist, ist mi 6= mj für i 6= j. Also |{m1 , . . . , mk }| = k. Da |M | = |N | = k, gilt M = {m1 , . . . , mk }. Ist also i 6= j, dann mj 6= mi und f (mi ) = ni 6= nj = f (mj ). Somit ist f injektiv. Da f surjektiv und injektiv ist, ist f bijektiv. „c) ⇒ a)“: Folgt direkt aus der Definition von Bijektivität. Definition 3.6. Seien M , N nicht leere Mengen. Wir definieren: NM := {f : f ist Abbildung von M nach N } Spezialfall: Sei M = {1, . . . , n} und eine N beliebige nicht leere Menge. g: N M → N × . . . × N = N n ← −n− → f 7→ (f (1), . . . , f (n)) ∈ N n Die Abbildung g ist bijektiv. Surjektivität: Sei (x1 , . . . , xn ) ∈ N n beliebig. Definiere f ∈ N M durch f (1) = x1 , . . . , f (n) = xn . Dann ist f ∈ N M und g(f ) = (x1 , . . . , xn ). Injektivität: Seien f1 , f2 ∈ N M mit f1 6= f2 . Da f1 : M → N und f2 : M → N , existiert x ∈ M mit f1 (x) 6= f2 (x). Also ist g(f1 ) = (f1 (1), . . . , f1 (x), . . . , f1 (n)) 6= (f2 (1), . . . , f2 (x), . . . , f2 (n)) = g(f2 ). Mit der bijektiven Abbildung g kann man N M = N {1,...,n} mit N n „identifizieren“. Satz 3.7. a) Seien f : M → N , g : N → P Abbildungen, wobei N , M , P nicht leere Mengen sind. Sei x ∈ M , dann definiert die Zuordnung x 7→ g(f (x)) eine Abbildung von M nach P , die Hintereinanderausführung g ◦ f der Abbildungen g und f (gesprochen: „g nach f “). Genauer: (g ◦ f )(x) : ( M →P x 7→ g(f (x)) Die Abbildung 3.9 veranschaulicht die Hintereinanderausführung. Mathematik 1 für (Bio-)Informatiker 27 3 Abbildungen M N P f (x) g(f (x)) x (g ◦ f )(x) Abbildung 3.9: Veranschauung der Hintereinanderausführung zweier Abbildungen b) Sei h : P → R eine weitere Abbildung, wobei R eine nicht leere Mengen ist. Dann gilt: (h ◦ g) ◦ f = h ◦ (g ◦ f ). Es gilt also das Assoziativgesetz für die Hintereinanderausfürhung. Beweis. a) Klar. b) Für alle x ∈ M gilt: ((h ◦ g) ◦ f )(x) = (h ◦ g)(f (x)) = h(g(f (x))) = h((g ◦ f )(x)) = (h ◦ (g ◦ f ))(x) Beispiele: a) : ( g : ( f R→R x 7→ x2 R→R x 7→ sin(x) Für alle x ∈ R gilt: (g ◦ f )(x) = g(f (x)) Mathematik 1 für (Bio-)Informatiker 28 3 Abbildungen = g(x2 ) = sin(x2 ) (f ◦ g)(x) = f (g(x)) = f (sin(x)) = (sin(x))2 Folgerung: Selbst, wenn man f ◦ g und g ◦ f bilden kann (f : M → N , g : N → M ), ist im Allgemeinen f ◦ g 6= g ◦ f . b) Sei M = {1, 2, 3} und seien g : M → M , f : M → M Abbildungen mit: g(1) = 2 g(2) = 3 g(3) = 1 f (1) = 2 f (2) = 1 f (3) = 3 Dann gilt: (g ◦ f )(1) = g(f (1)) = g(2) = 3 6= 1 = f (2) = f (g(1)) = (f ◦ g)(1) Somit ist g ◦ f 6= f ◦ g. Satz 3.8. Die Hintereinanderausführung von surjektiven/injektiven/bijektiven Abbildungen ergibt wieder eine surjektive/injektive/bijektive Abbildung. Beweis. Übungsaufgabe. Satz 3.9. Sei f : M → N eine Abbildung, dann sind äquivalent: (1) f ist bijektiv (2) Es existiert eine Abbildung g : N → M mit g ◦ f = idM und f ◦ g = idN Diese Abbildung g ist eindeutig bestimmt und heißt Umkehrabbildung oder inverse Abbildug f −1 zu f . Die Abbildung f −1 ist bijektiv und es gilt (f −1 )−1 = f . Mathematik 1 für (Bio-)Informatiker 29 3 Abbildungen Beweis. „(1) ⇒ (2)“: Sei f bijektiv. Wir geben einen Konstruktionsbeweis an: Sei y ∈ N beliebig. Da f bijektiv ist, existiert genau ein x ∈ M mit f (x) = y. Setze g(y) = x. Dann (f ◦ g)(y) = f (g(y)) = f (x) = y, d.h. f ◦ g = idN . Sei z ∈ M . Da f bijektiv ist, ist z das eindeutig bestimmte Urbild von f (z) für f . Daher gilt nach Definition von g: g(f (z)) = z. Somit gilt g ◦ f = idM . „(2) ⇒ (1)“: Angenommen es existiere eine solche Abbildung g. Sei y ∈ N . Dann ist g(y) ∈ M . Es ist: f (g(y)) = (f ◦ g)(y) = idN (y) = y Voraussetzung Somit ist f surjektiv. Seien x1 , x2 ∈ M mit f (x1 ) = f (x2 ). Dann gilt: x1 = idM (x1 ) = (g ◦ f )(x1 ) = g(f (x1 )) = g(f (x2 )) = (g ◦ f )(x2 ) = idM (x2 ) = x2 Voraussetzung Voraussetzung Somit ist f injektiv. Da f surjektiv und injektiv ist, ist f bijektiv. Umkehrabbildung g ist eindeutig bestimmt: Angenommen f ist bijektiv und es existieren zwei Abbildungen g1 : N → M , g2 : N → M mit (gi ◦ f ) = idM , (f ◦ gi ) = idN für i = 1, 2. Wir zeigen: g1 = g2 . Sei y ∈ N . Da f bijektiv ist, existiert genau ein x ∈ M mit f (x) = y. Es gilt: g1 (y) = g1 (f (x)) = (g1 ◦ f )(x) = idM (x) = (g2 ◦ f )(x) = g2 (f (x)) = g2 (y) Mathematik 1 für (Bio-)Informatiker 30 3 Abbildungen Beispiel: a) Sei f : {1, 2, 3} → {1, 2, 3} eine Abbildung mit: f (1) = 3 f (2) = 1 f (3) = 2 Die Abbildung f ist bijektiv und für die zugehörige inverse Abbildung f −1 gilt: f −1 (1) = 2 f −1 (2) = 3 f −1 (3) = 1 b) Sei g : {1, 2, 3} → {1, 2, 3} eine Abbildung mit: g(1) = 1 g(2) = 3 g(3) = 2 Die Abbildung g ist bijektiv und für die zugehörige inverse Abbildung g −1 gilt: g −1 (1) = 1 g −1 (2) = 3 g −1 (3) = 2 Somit gilt g −1 = g. c) f: ( R→R x 7→ x3 Die Abbildung f ist bijektiv. Für die zugehörige inverse Abbildung f −1 gilt: −1 f : ( R→R √ x 7→ 3 x d) f: ( R \ {0} → R \ {0} x 7→ x1 Die Abbildung f ist bijektiv und es gilt f −1 = f . Mathematik 1 für (Bio-)Informatiker 31 4 Relationen Sei f : M → N eine Abbildung. Jedem Element aus M wird genau ein Element aus N zugeordnet. Das Weglassen dieser Bedingung führt zum Begriff Relation. Die Abbildung 4.1 zeigt beispielhaft eine Relation, welche entsprechend der Beschreibung von Abbildungen durch Gf gerade {(2, a), (2, b), (3, d), (4, d)} entspricht. M N 1 2 3 4 a b c d Abbildung 4.1: Keine Abbildung, aber eine Relation Definition 4.1. Seien M1 , . . . , Mn nicht leere Mengen mit n ∈ N. Eine n-stellige Relation R über M1 , . . . , Mn ist eine Teilmenge von M1 × . . . × Mn . Gilt M1 = . . . = Mn = M , so spricht man von n-stelliger Relation auf M . Ein besonders wichtiger Fall ist n = 2, also eine 2-stellige Relation. Für 2-stellige Relation wird häufig ein spezielles Symbol wie ∼ oder verwendet. Statt (x, y) ∈ R schreibt man oft x ∼ y (oder x y). Das Symbol der 2-stelligen Relation wird häufig im Index der Relation gekennzeichnet: R∼ , R . Beispiele: a) Der Graph Gf einer Abbildung f : M → N ist eine Relation über M × N : Gf = {(x, f (x)) : x ∈ M } ⊆ M × N In diesem Sinne sind Relationen Verallgemeinerung von Abbildungen. b) Sei M eine nicht leere Menge. Die Gleichheitsrelation = auf M entspricht R= = {(x, x) : x ∈ M }. 32 4 Relationen c) Die übliche <-Relation auf N entspricht R< = {(x, y) : x, y ∈ N, x < y}. Der Ausdruck 3 < 4 ist gleichwertig mit (3, 4) ∈ R< . d) Die Teilbarkeit | auf N als Relation: x|y (gesprochen „x teilt y“), d.h. ∃k ∈ N : y = k · x. R| = {(1, 1), (1, 2), . . . , (2, 2), (2, 4), (2, 6), . . . , (3, 3), (3, 6), (3, 9), . . .}. e) Die übliche ≤-Relation auf N entspricht R≤ = {(x, y) : x, y ∈ N, x = y oder x < y}. f) Die normale ≤-Relation auf {1, 2, 3, 4}: R≤ = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)} ⊂ {1, 2, 3, 4}2 Man beachte: Das ≤-Symbol muss nicht immer die normale ≤-Relation auf Zahlen sein. Wichtige Typen 2-stelliger Relationen: • Ordnungsrelationen • Äquivalenzrelationen Beispiel d), e) sind Beispiele für Ordnungsrelationen. Wir werden diese beiden Begriffe im Folgenden definieren. Definition 4.2. Eine 2-stellige Relation R auf M heißt Ordnungsrelation ( Ordnung, partielle Ordnung), wenn folgendes gilt: (1) ∀x ∈ M : (x, x) ∈ R ( Reflexivität von R) (2) ∀x, y ∈ M : (x, y) ∈ R ∧ ( Antisymmetrie von R) (3) ∀x, y, z ∈ M : (x, y) ∈ R ( Transitivität von R) (y, x) ∈ R (y, z) ∈ R ∧ ⇒ ⇒ x=y (x, z) ∈ R Gilt zusätzlich die folgende Bedingung: (4) ∀x, y ∈ M : (x, y) ∈ R ∨ (y, x) ∈ R Dann heißt die Ordnung linear oder total. Mathematik 1 für (Bio-)Informatiker 33 4 Relationen Schreibweise: Man schreibt oft x ≤ y statt (x, y) ∈ R: (1) ∀x ∈ M : (x ≤ x) (2) ∀x, y ∈ M : (x ≤ y) (3) ∀x, y, z ∈ M : (x ≤ y) (4) ∀x, y ∈ M : (x ≤ y) (y ≤ x) ∧ ∧ ∨ (y ≤ z) ⇒ ⇒ (x = y) (x ≤ z) (y ≤ x) Üblicherweise wird ≤ statt verwendet, auch wenn ≤ nicht die normale kleiner-gleichOrdnung auf N bedeutet. Der Ausdruck x < y bedeutet: x ≤ y und x 6= y. Beispiele: a) Die normale ≤-Relation auf N ist eine totale Ordnung. b) Sei M eine nicht leere Menge, so ist die Gleichheitsrelation auf M eine Ordnungsrelation, aber keine totale Ordnung. c) Die Teilerrelation auf N ist eine Ordnung, aber nicht total. d) Sei X eine Menge und M = P(X). Die Teilmengen-Relation R = {(A, B) ∈ M 2 : A ⊆ B} auf M ist eine Ordnungsrelation. Keine totale Ordnung, wenn |X| > 1, denn: Seien a, b ∈ X mit a 6= b, dann gilt weder {a} ⊆ {b} noch {b} ⊆ {a}. e) Sei M = {a, b, c} und R = {(a, a), (a, b), (b, b), (b, c), (c, c)}. R ist eine Relation über M . R ist reflexiv, antisymmetrisch, aber nicht transitiv, also keine Ordnung. Denn: (a, b) ∈ R, (b, c) ∈ R, aber (a, c) 6∈ R. f) Sei ≤ totale Ordnung auf M . Definiere eine Relation auf M n durch: u = (u1 , . . . , un ) v = (v1 , . . . , vn ) ⇔: u = v oder u1 < v1 oder ∃k < n : u1 = v1 , . . . , uk = vk , uk+1 < vk+1 Dann ist totale Ordnung auf M n , genannt Lexikographische Ordnung. Die lexikographische Ordnung wird in der Informatik oft auf binäre Strings der Länge n über dem Alphabet {0, 1} mit Relation 0 < 1 angewendet. g) Sei ≤ eine partielle Ordnung auf M . Definiere ≤ auf M n durch: u = (u1 , . . . , un ) ≤ v = (v1 , . . . , vn ) Mathematik 1 für (Bio-)Informatiker 34 4 Relationen ⇔: u1 ≤ v1 , . . . , un ≤ vn Die Relation ≤ auf M n ist eine partielle Ordnung, aber keine totale Ordnung. Dies gilt auch, wenn die Ordnung auf M total ist. Beispiel: M = N mit normaler ≤-Relation. Die Relation ≤ auf M ist eine totale Ordnung. Die Relation ≤ auf M 2 , also n = 2, ist keine totale Ordnung: Es ist gilt (1, 5) 6≤ (2, 4) und (2, 4) 6≤ (1, 5). Definition 4.3. Eine binäre Relation ∼ auf einer nicht leeren Menge M heißt Äquivalenzrelation auf M , falls folgendes gilt: (1) ∀x ∈ M : (x ∼ x) (Reflexivität) (2) ∀x, y ∈ M : (x ∼ y) ( Symmetrie) (3) ∀x, y, z ∈ M : (x ∼ y) (Transitivität) ⇒ ∧ (y ∼ x) (y ∼ z) ⇒ (x ∼ z) Beispiel: a) Gleichheitsrelation auf M . b) Sei M = Z. Wir definieren folgende Relation ∼ über M : x ∼ y ⇔ x − y ist eine gerade Zahl (also durch zwei teilbar). Die Relation ∼ ist reflexiv: Für x ∈ M gilt x − x = 0 = 2 · k für ein k ∈ Z. Die Relation ∼ ist symmetrisch: Gilt x ∼ y, so existiert k ∈ Z mit: x−y =2·k ⇔ 0=2·k+y−x ⇔ −2 · k = y − x ⇔ 2 · (−k) = y − x | {z } =:k′ ∈Z ′ ⇔ 2·k =y−x ⇔ y∼x Die Relation ∼ ist transitiv: Sind x − y und y − z gerade, so gilt: x − z = (x − y) + (y − z) Somit ist ∼ eine Äquivalenzrelation. Mathematik 1 für (Bio-)Informatiker | {z gerade } 35 4 Relationen c) Das vorherige Beispiel lässt sich wie folgt verallgemeinern: Sei M = Z, r ∈ N fest. Wir definieren die Relation auf M durch: x ∼ y ⇔ x − y ist durch r teilbar Die Relation ist eine Äquivalenzrelation. Der zugehörige Beweis lässt sich analog zum vorherigen Beispiel führen. d) Sei f : M → N eine Abbildung. Definiere eine Relation ∼ auf M wie folgt: x ∼ y ⇔ f (x) = f (y) Die Relation ist eine Äquivalenzrelation. Der zugehörige Beweis soll eine Übungsaufgabe sein. Definition 4.4. Sei M eine nicht leere Menge, R eine Äquivalenzrelation auf M . Sei x ∈ M . Dann heißt [x] := {y : y ∈ M, y ∼ x} Äquivalenzklasse von x bzgl. R auf M . Satz 4.5. Sei R eine Äquivalenzrelation auf einer nicht leeren Menge M . a) Dann sind folgende Aussagen äquivalent: (i) [x] = [y] (ii) x ∈ [y] (iii) x ∼ y b) Ist [x] 6= [y], so ist [x] ∩ [y] = ∅. Beweis. [y]. a) „(i) ⇒ (ii)“: Es gelte [x] = [y]. Wegen der Reflexivität von ∼ ist x ∈ [x] = „(ii) ⇒ (iii)“: Es gelte x ∈ [y]. Nach Definition von [y] ist dann x ∼ y. „(iii) ⇒ (i)“: Es gelte x ∼ y. Um [x] = [y] zu zeigen, müssen wir [x] ⊆ [y] und [y] ⊆ [x] zeigen. „[x] ⊆ [y]“: Sei z ∈ [x]. Nach Definition ist z ∼ x. Nach Voraussetzung ist x ∼ y. Wegen der Transitivität von ∼ ist dann auch z ∼ y, d.h. z ∈ [y]. „[y] ⊆ [x]“: Mit der Symmetrie von ∼ gilt für x ∼ y auch y ∼ x. Dann folgt wie oben: [y] ⊆ [x]. b) Indirekter Beweis, d.h. wir zeigen: [x] ∩ [y] 6= ∅ ⇒ [x] = [y]. Da [x] ∩ [y] 6= ∅, existiert z ∈ [x] ∩ [y] mit z ∼ x und z ∼ y. Da z ∼ x, ist auch Mathematik 1 für (Bio-)Informatiker 36 4 Relationen x ∼ z (Symmetrie). Aus x ∼ z und z ∼ y folgt, dass x ∼ y (Transitivität). Nach 4.5 a) folgt damit [x] = [y]. Beispiel: a) Gleichheitsrelation auf M . Für ein x ∈ M gilt [x] = {x}. b) Sei M = Z und ∼ eine Relation auf M definiert durch: x ∼ y genau dann, wenn x − y gerade Zahl ist (Äquivalenzrelation). Es gibt genau 2 Äquivalenzklassen: [0] = [2] = [−14668] = Menge der geraden ganzen Zahlen [1] = [3] = [−1] = {1, 3, 5, 7, . . . , −1, −3, −5, . . .} = Menge der ungeraden ganzen Zahlen c) Sei f : M → N eine Abbildung. Definiere eine Relation ∼ auf M : x ∼ y ⇔ f (x) = f (y) (Äquivalenzrelation). Sei x ∈ M . Dann gilt [x] = {y ∈ M : y ∼ x} = {y ∈ M : f (y) = f (x)} = f −1 ({f (x)}) Definition 4.6. volles Urbild von {f (x)} bzgl. f a) Zwei Mengen A und B heißen disjunkt, falls gilt A ∩ B = ∅. b) Sei M eine Menge und sei Z eine nicht leere Menge von Teilmengen von M , d.h. ∅ 6= Z ⊆ P(M ). Wir sagen, dass die Elemente von Z paarweise disjunkt sind, falls gilt: Sind A, B ∈ Z und ist A 6= B, dann ist A ∩ B = ∅. c) Sei Z eine Menge von paarweise disjunkten nicht leeren Teilmengen von M . Dann . S U S schreibt man für A auch A (oder A) und nennt dies die disjunkte A∈Z A∈Z A∈Z Vereinigung der Elemente von Z. U A = M , so heißt Z eine Zerlegung (oder Partition) von M . Ist außerdem A∈Z Mathematik 1 für (Bio-)Informatiker 37 4 Relationen Beispiel: Sei M = {1, 2, 3, 4, 5}. Die folgende Mengen sind jeweils Zerleungen von M : Z1 = {{1, 3}, {2, 4}, {5}} Z2 = {{1, 2, 3}, {4}, {5}} Z3 = {{1, 2, 3, 4, 5}} Satz 4.7. Sei M eine nicht leere Menge. a) Ist ∼ eine Äquivalenzrelation auf M und Z∼ die Menge der verschiedenen Äquivalenzklassen zu ∼, so ist Z∼ eine Zerlegung von M . b) Sei umgekehrt Z eine Zerlegung von M . Definiere für x, y ∈ M : x ∼ y ⇔ x und y liegen in derselben Menge A ∈ Z. Dann ist ∼ eine Äquivalenzrelation auf M . Die verschiedenen Äquivalenzklassen sind gerade die A ∈ Z. Beweis. a) Nach 4.5 b) sind verschiedene Äquivalenzklassen disjunkt. Also ist S A A∈Z∼ disjunkte Vereinigung. Mit der Reflexivität gilt x ∈ [x] ∈ Z∼ für alle x ∈ M . Daher S A = M . Also ist Z∼ eine Zerlegung von M . A∈Z∼ b) Wir zeigen: ∼ ist Äquivalenzrelation. Sei x ∈ M , dann gilt x ∈ A für ein A ∈ Z. D.h. x ∼ x (Reflexivität). Ist x ∼ y, so liegen x und y in der gleichen Menge A ∈ Z. Da x und y in der gleichen Menge A ∈ Z liegen, gilt auch y ∼ x (Symmetrie). Sei x ∼ y und y ∼ z. Es gibt A ∈ Z mit x, y ∈ A und es gibt B ∈ Z mit y, z ∈ B. Dann gilt y ∈ A ∩ B, d.h. A = B und damit x, z ∈ A, d.h. x ∼ z (Transitivität). Definition 4.8. Sei ∼ eine Äquivalenzrelation auf M , Z∼ die Menge der Äquivalenzklassen zu ∼. Sei weiter ρ eine Abbildung von Z∼ nach M , die aus jeder Äquivalenzklasse genau ein Element auswählt, d.h. ρ([x]) ∈ [x]. (Nach 4.5 b) ist ρ injektiv). Das Bild ρ(Z∼ ) heißt Repräsentantensystem der Äquivalenzklassen zu ∼. Beispiel: a) Sei Z Menge der Äquivalenzklassen zur folgenden Relation über Z: x ∼ y ⇔ x − y gerade. Es gibt genau 2 Äquivalenzklassen: [0] = {gerade Zahlen} [1] = {ungerade Zahlen} Mathematik 1 für (Bio-)Informatiker 38 4 Relationen Repräsentantensysteme: {0, 1} oder {646, −17} b) Sei M = {Spieler vom VFB, Bayern, Werder}. Sei ∼ eine Relation über M definiert durch: x ∼ y ⇔ x und y sind im gleichen Verein. Es gibt 3 Äquivalenzklassen: Vereine. Repräsentantensysteme: {Hildebrandt, Kahn, Frings} oder {Cacau, Schweinsteiger, Kese} Mathematik 1 für (Bio-)Informatiker 39 5 Natürliche Zahlen und vollständige Induktion Die Natürliche Zahlen N lassen sich durch die sogenannten Peano1 -Axiome beschreiben. Das entscheidende Axiom dabei ist das Induktionsaxiom. Mit Hilfe dessen kann das Induktionsprinzip aufgestellt werden, welches eine der wichtigsten Beweismethoden darstellt. Bemerkung 5.1. (Induktionsaxiom) Jede nicht leere Teilmenge A der natürlichen Zahlen besitzt ein kleinstes Element, min(A), das Minimum von A. Dies Gilt unter anderem nicht für die Mengen Z, Q, R, {x ∈ R : x > 0}. Satz 5.2. (Beweisprinzip der vollständigen Induktion) Sei n0 ∈ N fest (z.B. n0 = 1). Für jedes n ≥ n0 sei A(n) eine Aussage. Es gelte: (1) A(n0 ) ist wahr. ( Induktionsanfang) (2) Für jedes n ≥ n0 ist A(n) ⇒ A(n + 1) wahr ( Induktionsschritt/-schluss) Dann Aussage A(n) wahr für alle n ≥ n0 . Beweis. Setze X = {n ∈ N : n ≥ n0 } und Y = {n ∈ N : n ≥ n0 und A(n) wahr}. Wir müssen die Gleichheit von Y = X nachweisen: „Y ⊆ X“: Klar. „X ⊆ Y “: Angenommen es gilt X 6⊆ Y , so gilt Z := X \ Y 6= ∅. Nach 5.1 enthält Z ein kleinstes Element n1 . Nach (1) ist n0 ∈ Y , also n1 > n0 . Dann gilt n1 − 1 ≥ n0 , d.h. n1 − 1 ∈ X. Da n1 − 1 < n1 , ist n1 − 1 ∈ / Z. Also: A(n1 − 1) ist wahr. Mit (2) folgt: (An1 ) ist wahr. Somit gilt n1 ∈ Y . Dies ist ein Widerspruch zu n1 ∈ X \ Y . Beweis per vollständiger Induktion: Möchte man eine Aussage ∀n ≥ n0 : A(n) per vollständiger Induktion beweisen, so hat man zweierlei zu zeigen: 1 Guiseppe Peano (1858 - 1932) war ein italienischer Mathematiker. 40 5 Natürliche Zahlen und vollständige Induktion (1) (Induktionsanfang) A(n0 ) ist wahr. (2) (Induktionsschritt) Sei n ≥ n0 und sei A(n) wahr (Induktionsvoraussetzung), so muss man zeigen, dass A(n + 1) wahr ist (Induktionsbehauptung). Man beachte, dass die obigen eingeführten Begriffe „Induktionsanfang“, „Induktionsschritt“, „Induktionsvoraussetzung“ und „Induktionsbehauptung“ zur Orientierung in einem Induktionsbeweis dienen. Sie haben für den eigentlichen Beweis keine relevante Bedeutung. Beispiel 5.3. Für jede natürliche Zahl n ∈ N gilt die Aussage A(n) : 1+. . .+n = n·(n+1) . 2 P Dabei stellt 1 + . . . + n die Summe der ersten n natürlichen Zahlen dar, also ni=0 i. Die Darstellung einer Summe als Summenformel werden wir später noch kennenlernen. Beweis. Induktionsanfang: n0 = 1. Linke Seite: 1. Rechte Seite: 1·(1+1) = 1. 2 Da 1 = 1 gilt, ist A(1) wahr. Induktionsschluss: Sei n ≥ 1. Induktionsvoraussetzung: A(n) gilt, d.h. es gilt die Gleichung 1 + . . . + n = n·(n+1) . 2 Wir zeigen die Induktionsbehauptung A(n + 1), d.h. die Gleichung 1 + . . . + n + (n + 1) = (n+1)·((n+1)+1) : 2 1 + . . . + n + (n + 1) = Ind.-Vor. = = = = = n · (n + 1) + (n + 1) 2 n · (n + 1) + 2 · (n + 1) 2 n2 + n + 2 · n + 2 2 n2 + 3 · n + 2 2 (n + 1) · (n + 2) 2 (n + 1) · ((n + 1) + 1) 2 Ein Beweis durch vollständige Induktion gilt auch für Aussagen über N0 (d.h. n0 = 0 ist auch möglich). Allgemein können Induktionsbeweise auf rekusriv (bzw. induktiv) definierten Strukturen angewandt werden. Wobei der Induktionsschritt je nach Aufbau der Struktur variiert. Die natürlichen Zahlen N haben eine rekursive Definition. Die Menge aller aussagenlogischen Formeln ist beispielsweise ebenfalls rekursiv definiert. Mathematik 1 für (Bio-)Informatiker 41 5 Natürliche Zahlen und vollständige Induktion Satz 5.4. (Verschärftes Induktionsprinzip) Seien A(n) und n0 wie in 5.2. Es gelte: (1) (Induktionsanfang) A(n0 ) ist wahr. (2) (Induktionsschritt) Für jedes n ≥ n0 ist die folgende Implikation wahr: A(n0 ) ∧ . . . ∧ A(n) ⇒ | {z } Induktionsvoraussetzung A(n + 1) | {z } Induktionsbehauptung Dann gilt A(n) für alle n ≥ n0 . Beweis. Beweis: Angenommen es gelten die Voraussetzungen (1) und (2). Zu zeigen ist: Für alle n ≥ n0 gilt A(n). Wir teilen den Beweis zur besseren Übersicht in (I) und (II). (I) Wir zeigen zunächst per einfacher Induktion: Für alle n ≥ n0 gilt die Aussage B(n), wobei B(n) := ∀k : n0 ≤ k ≤ n ⇒ A(k). IA: Die Aussage B(n0 ) gilt: Für k = n0 gilt A(n0 ) nach Voraussetzung (1). Alle anderen k erfüllen die Voraussetzung der Implikation in B(n0 ) nicht. IS: Sei n ≥ n0 . Angenommen es gelte B(n) := ∀k : n0 ≤ k ≤ n ⇒ A(k). Da mit B(n) die Aussage A(n0 ) ∧ . . . ∧ A(n) gilt, folgt mit der Voraussetzung (2) die Gültigkeit von A(n + 1). Somit gilt B(n + 1). (II) Sei nun n ≥ n0 , dann gilt die Aussage B(n) (in (I) bewiesen). Aus der Gültigkeit von B(n) folgt mit der Wahl von k = n die Gültigkeit von A(n). Da n ≥ n0 beliebig war, gilt A(n) für alle n ≥ n0 . Beispiel 5.5. Jede natürliche Zahl n ≥ 2 gilt: n ist Primzahl oder Produkt von Primzahlen. Dabei ist eine Primzahl p definiert durch: p ∈ N mit p > 1 und p besitzt als natürliche Teiler nur die 1 und sich selbst. Beweis. Wir beweisen die Behauptung per vollständiger Induktion nach 5.4. Induktionsanfang: n0 = 2. Es gilt 2 > 1 und 2 ist nur durch 1 und sich selbst teilbar. Somit ist 2 eine Primzahl. Induktionsschluss: Sei n ≥ 2. Induktionsvoraussetzung: Behauptung sei richtig für alle i ∈ N mit 2 ≤ i ≤ n. Induktionsbehauptung: Behauptung sei richtig für n + 1. Ist n + 1 Primzahl, dann gilt die Behauptung für n + 1. Mathematik 1 für (Bio-)Informatiker 42 5 Natürliche Zahlen und vollständige Induktion Ist n + 1 keine Primzahl, dann existieren k, l ∈ N mit 1 < k < n + 1, 1 < l < n + 1 und n + 1 = k · l. Nach Induktionsvoraussetzung gilt die Behauptung für k und l, d.h. k und l sind Primzahlen oder Produkte von Primzahlen. Also ist n + 1 = k · l ein Produkt von Primzahlen. Beispiel 5.6. Die Fakultätsfunktion n! (gesprochen „n Fakultät“) ist rekursiv definiert durch: n! : N0 →(N n 7→ 1 n · (n − 1)! n=0 n>0 Konkrete Beispiele: 0! = 0, 1! = 1, 4! = 4 · 3 · 2 · 1 = 24. Die Fakultätsfunktion ist die Aufmultiplizierung der ersten n Elemente: n! = 1 · . . . · n. Bemerkung 5.7. (Prinzip der rekursiven Definition) Sei n0 ∈ N0 , A = {n ∈ N0 : n ≥ n0 }. Sei M 6= ∅ Menge, f : A × M → M Abbildung, s ∈ M . Dann liefert die folgende Vorschrift eine eindeutige Abbildung g : A → M : (1) (Startwert) g(n0 ) := s (2) (Rekursionsschritt) g(n + 1) := f (n, g(n)) für alle n ≥ n0 Beispiel: Wir betrachten die Fakultätsfunktion n! aus 5.6. Setze n0 = 0, M = N, g(n) := n! und f (n, y) := (n + 1) · y, so gilt: 0! := 1 (n + 1)! := f (n, n!) = Beispiel 5.8. (n + 1) · n! a) Sei x ∈ R. Potenzen von x sind definiert durch folgende Rekursion: x0 := 1 xn+1 := xn · x für alle n ∈ N, n ≥ 0 b) Wir wollen eine Summen über eine Folge von reellen Zahlen definieren. Sei diese Folge von reellen Zahlen die folgende: a: ( N0 → R n 7→ an Mathematik 1 für (Bio-)Informatiker Folge von reellen Zahlen 43 5 Natürliche Zahlen und vollständige Induktion Für jedes n ∈ N0 definiere die Summe 0 X k=0 n+1 X Pn k=0 ak durch: ak := a0 n X ak := k=0 ak k=0 ! für alle n ≥ 0 + an+1 Das Resultat dieser Definition ist: n X ak = a0 + . . . + an k=0 Q c) Das Produkt nk=0 ak definieren wir analog zur Summe über eine Folge von reellen Zahlen rekursiv: 0 Y k=0 n+1 Y ak := a0 ak := n Y ak k=0 k=0 ! · an+1 für alle n ∈ N0 , n ≥ 0 Das Resultat dieser Definition ist: n Y k=0 ak = a0 · . . . · an d) Sei g : N → N wie folgt rekursiv definiert: g(1) := 2 g(n + 1) := 3 · g(n) + 4 für n ≥ 1 Konkrete Beispiele für g: g(1) = 2 g(2) = 3 · g(1) + 4 = 10 g(3) = 3 · g(2) + 4 = 34 Wir können für die Abbildung g eine geschlossene Form angeben. Es gilt g(n) = 4 · 3n−1 − 2 für alle n ∈ N. Mathematik 1 für (Bio-)Informatiker 44 5 Natürliche Zahlen und vollständige Induktion Beweis. Wir beweisen die geschlossene Form von g durch vollständige Induktion. Induktionsanfang: n = 1 g(1) 4 · 31−1 − 2 = 2 = 4 · 30 − 2 Def. = 2 Induktionsschritt: n → (n + 1). Induktionsvoraussetzung: g(n) = 4 · 3n−1 − 2. Induktionsbehauptung: g(n + 1) = 4 · 3(n+1)−1 − 3. g(n + 1) = 3 · g(n) + 4 = 3 · (4 · 3n−1 − 2) + 4 Def. Ind.-Vor. = = 4 · 3n − 6 + 4 4 · 3(n+1)−1 − 2 Beispiel 5.9. Sei h : N → N wie folgt rekursiv definiert: h(1) := 1 h(2) := 3 h(n + 1) := 2 · h(n) − h(n − 1) für alle n ≥ 2 Konkrekte Beispiele für h: h(3) = 2 · h(2) − h(1) = 5 h(4) = 2 · h(3) − h(2) = 7 Wir vermuten für h die folgende geschlossene Form: h(n) = 2 · n − 1 für alle n ≥ 1. Beweis. Da wir h(n + 1) für den Induktionsschluss verwenden wollen, muss man den Induktionsanfang für n = 1 und n = 2 zeigen. Induktionsanfang: n = 1, n = 2 h(1) = 1 = 1·1−1 h(2) = 3 = 2·2−1 Mathematik 1 für (Bio-)Informatiker 45 5 Natürliche Zahlen und vollständige Induktion Induktionsschluss: Sei n ≥ 2. h(n + 1) = 2 · h(n) − h(n − 1) = 2 · (2 · n − 1) − (2 · (n − 1) − 1) IV = 4·n−2−2·n+3 = 2·n+1 = 2 · (n + 1) − 1 Pn Bemerkung 5.10. Für Summen k=0 ak und Produkte a) Änderung der Summationsgrenzen: n X n+1 X ak = Qn k=0 ak gelten folgende Regeln: (entsprechend für Produkte) ak−1 k=1 k=0 Folgende Schreibweisen haben die gleiche Bedeutung: n X X ak = ak = 0≤k≤n k=0 X ak k∈{0,...,n} Sei A = {1, . . . , n}, so gilt: n X X ak = a (entsprechend für Produkte) a∈A k=0 P Man schreibt auch k ak , wenn die untere und die obere Summationsgrenzen aus dem Kontext hervorgehen. b) Die Summe Pn1 k=n0 n1 X wird definiert wie in 5.8 b) für n0 ≤ n1 . Es gilt: ak = n1X −n0 ak+n0 (entsprechend für Produkte) k=0 k=n0 Ist n1 < n0 , so heißt leere Produkt. Pn1 k=n0 ak := 0 die leere Summe und Qn1 k=n0 ak := 1 heißt das c) Doppeltsumme: Sei f : N0 × N0 → R eine Abbildung mit (i, j) ∈ N0 × N0 7→ f (i, j). Es gilt: m n X X f (i, j) = i=0 j=0 Mathematik 1 für (Bio-)Informatiker n X i=0 m X j=0 f (i, j) 46 5 Natürliche Zahlen und vollständige Induktion n X = (f (i, 0) + . . . + f (i, m)) i=0 = f (0, 0) + . . . + f (0, m) + f (1, 0) + . . . + f (1, m) + f (n, 0) + . . . + f (n, m) n m X X = ! f (i, j) i=0 j=0 Die Vertauschung der Summen ist erlaubt und führt zum gleichen Resultat: m n X X f (i, j) = Ist n = m, so schreibt man auch: 3 5 X X f (i, j) j=0 i=0 i=0 j=0 Beispiel: n m X X Pn i=0 (i + j + 2) = 5 X Pm j=0 f (i, j) = Pn i,j=0 f (i, j). (i + 2 + i + 3 + i + 4 + i + 5) i=2 i=2 j=0 = 2+2+2+3+2+4+2+5+ 3+2+3+3+3+4+3+5+ 4+2+4+3+4+4+4+5+ 5+2+5+3+5+4+5+5 = 112 d) Es gilt das Distributivgesetz bei Summen: a· n X bk = n X k=0 k=0 a · bk Beispielsweise gilt auch: (a0 + a1 ) n X = bk Distributivgesetz k=0 a0 · n X = n X k=0 bk + a1 · a0 · bk k=0 n 1 X X = i=0 k=0 + n X k=0 n X bk k=0 a1 · bk ai · bk Es gilt das verallgemeinerte Distributivgesetz: m X i=0 ! ai · Mathematik 1 für (Bio-)Informatiker n X k=0 bk ! = n m X X i=0 k=0 ai · bk 47 5 Natürliche Zahlen und vollständige Induktion Beispiel: 2 X i=0 (i + 1) · 2 2 X X i=0 k=0 2 X k=0 2 · k = (1 + 2 + 3) · (0 + 2 + 6) = 36 (i + 1) · 2 · k = 1 · 2 + 1 · 4 + 2 · 2 + 2 · 4 + 3 · 2 + 3 · 4 = 36 Mathematik 1 für (Bio-)Informatiker 48 6 Elementare Zahlentheorie Die Zahlentheorie beschäftigt sich im Allgemeinen um Eigenschaften von Zahlen. In der Elementaren Zahlentheorie, ein Teilgebiet der Zahlentheorie, werden mit Hilfe der ganzen Zahlen, Teilbarkeit von Zahlen und das Rechnen mit Kongruenzen Fragestellungen bearbeitet. Für die Informatik wichtig ist außerdem die Darstellung von Zahlen im Binärsystem. Dazu werden wir allgemein Stellenwertsysteme betrachten und wie Zahlen zwischen verschiedenen Stellenwertsystemen übersetzt werden können. Definition 6.1. Seien a, b ∈ Z und b 6= 0. Die Zahl b heißt Teiler von a, falls ein q ∈ Z existiert mit a = b · q. Die Zahl a heißt Vielfaches von b. Wir schreiben dafür auch b | a. Ist b kein Teiler von a, so schreiben wir b ∤ a. Man beachte: 0 ist nie ein Teiler. Beispiele: Es gilt 2 | 4, −3 | 9, 17 | 0 und 10 ∤ 15. Satz 6.2. Seien a, b, c, d ∈ Z, so gilt: a) Ist b | c und b | d, so gilt b | (k · c + l · d) für alle k, l ∈ Z. b) Ist b | a und a 6= 0, so gilt |b| ≤ |a|. Dabei ist |.| die Betragsfunktion, die definiert ist durch: |x| : R≥0 R → ( x 7→ x −x c) Ist b | a und a | b, so gilt a = ±b. Beweis. a) Übungsaufgabe. b) Wenn b | a, so ist |b| | |a|. Denn es gilt jeweils: a > 0, b > 0: |a| = a = q · b = q · |b| 49 x≥0 x<0 6 Elementare Zahlentheorie a > 0, b < 0: |a| = a = q · b = (−q) · (−b) = (−q) · |b| a < 0, b > 0: a = q · b = q · |b| ⇔ (−a) = |a| = (−q) · |b| a < 0, b < 0: a = q · b ⇔ |a| = (−a) = q · (−b) = q · |b| Es existiert also ein q ∈ N mit |a| = q · |b|, d.h. es gilt |a| = |b| + . . . + |b| ≥ |b|. | {z q-mal } c) Ist b | a, d.h. a = q · b, und a | b, d.h. b = r · a für geeignete q, r ∈ Z, so gilt: a = q·b = q·r·a ⇔ q·r·a−a = 0 ⇔ a · (q · r − 1) = 0 Da a | b gilt, ist a 6= 0. Daraus folgt q · r = 1. Somit gilt q | 1 und r | 1. Nach b) gilt |q| ≤ 1 und |r| ≤ 1. Es gilt weiter q, r 6= 0, denn sonst würde gelten q · r = 0 6= 1. Da q · r = 1 gilt, folgt q = ±1 und r = ±1. Es gibt zwei Möglichkeiten, die diese Bedingung erfüllen: q = r = 1 oder q = r = −1. Ist q = r = 1 der Fall, so gilt a = 1 · b = b. Ist q = r = −1 der Fall, so gilt a = (−1) · b = −b. Satz 6.3. (Division mit Rest) Seien a, b ∈ Z und b 6= 0. Dann existieren eindeutig bestimmte Zahlen q, r ∈ Z mit: (1) a = q · b + r (2) 0 ≤ r < |b| Die Zahl q heißt Quotient, die Zahl r heißt Rest. Beweis. Wir betrachten zunächst den Fall b > 0. Sei q die größte ganze Zahl mit q ≤ ab . Da b > 0 ist, gilt b · q ≤ a. Setze r = a − q · b ≥ 0. Es gilt (1): a = q · b + r. (2): Gezeigt ist bereits r ≥ 0. Es bleibt zu zeigen: r < b. Angenommen es gilt r ≥ b, d.h. r = b + s für ein s ≥ 0, so gilt: b + s = r = a − q · b ⇔ s = a − q · b − b = a − (q + 1) · b ⇔ (q + 1) · b = a − s ≤ a a ⇔ q+1 ≤ b Dies ist ein Widerspruch zur Wahl von q. Somit gilt r < b. Sei b < 0. Es gilt a = q · |b| + r und 0 ≤ r < |b| nach dem schon bewiesenen Teil. Es gilt somit weiter a = q · (−b) + r = (−q) · b + r. Mathematik 1 für (Bio-)Informatiker 50 6 Elementare Zahlentheorie Wir haben (1) und (2) in Bezug auf die Existenz von q und r nachgewiesen. Als nächstes beweisen wir die Eindeutigkeit von q und r. Angenommen es gilt a = q1 ·b+r1 = q2 ·b+r2 , wobei 0 ≤ r1 , r2 < |b|. Wir müssen zeigen, dass gilt q1 = q2 und r1 = r2 . O.B.d.A.1 sei r1 ≥ r2 . Aus obiger Gleichung folgt (q1 − q2 ) · b + (r1 − r2 ) = 0. Es gilt b | 0 und (∗) b | (q1 − q2 ) · b. Mit 6.2 a) folgt b | (q1 − q2 ) · b + (r1 − r2 ) − (q1 − q2 ) · b = r1 − r2 . Angenommen r1 6= r2 , so gilt 0 < r1 − r2 < |b|. Mit 6.2 b) gilt |b| ≤ |r1 − r2 | = r1 − r2 . Es gilt weiter r1 − r2 < |b| ≤ r1 − r2 , dies ist ein Widerspruch. Somit gilt r1 = r2 . Dann folgt aus (∗): (q1 − q2 ) · b = 0. Da b 6= 0, ist q1 − q2 = 0, also q1 = q2 . Beispiel: q r a b 5 2 2 1 5 −2 −2 1 −5 2 −3 1 3 1 −5 −2 Definition 6.4. Seien a, b ∈ Z und b 6= 0. Sei a = q · b + r mit 0 ≤ r < |b| für q, r ∈ Z wie in 6.3. Dann heißt a div b := q und a mod b := r, wobei q und r durch a und b eindeutig bestimmt sind, d.h. div und mod sind Abbildungen wie folgt: div mod : ( : ( Z × (Z \ {0}) → Z (a, b) 7→ a div b Z × (Z \ {0}) → N0 (a, b) 7→ a mod b Beispiele: 16 mod 7 = 2, 16 div 7 = 2, −5 mod 2 = 1, −5 div 2 = −3. Definition 6.5. Sei x ∈ R. Wir definieren die Ceiling-Funktion wie folgt ⌈x⌉ := Kleinste ganze Zahl, die größer oder gleich x ist und die Floor-Funktion wie folgt ⌊x⌋ := Größte ganze Zahl, die kleiner oder gleich x ist Beispiele: ⌈7, 23⌉ = 8, ⌈−5, 3⌉ = −5, ⌈−17⌉ = −17, ⌊7, 23⌋ = 7, ⌊−5, 3⌋ = −6, ⌊−17⌋ = −17. Bemerkung 6.6. Es gilt a div b = ( a ab b 1 b>0 und a mod b = a − b · (a div b). b<0 O.B.d.A steht für „Ohne Beschränkung der Allgemeinheit“. Damit wird zum Ausdruck gebracht, dass die gemachte Einschränkung nur zur Vereinfachung der Beweisführung dient, nicht jedoch die Gültigkeit der Aussage einschränkt. Mathematik 1 für (Bio-)Informatiker 51 6 Elementare Zahlentheorie Beweis. Übungsaufgabe. Beispiele: 16 div 7 = j 16 7 k = 2, −5 div 2 = j −5 2 k = −3, 5 div − 2 = l 5 −2 m = −2. Anwendung für Division mit Rest: Stellenwertsysteme zur Basis b, wobei b ∈ N und b > 1. b = 2 Binärsystem b = 8 Oktalsystem b = 10 Dezimalsystem b = 16 Hexadezimalsystem Satz 6.7. Sei b ∈ N und b > 1. Jede Zahl n ∈ N0 lässt sich darstellen in der Form P n = ki=0 xi · bi , wobei gilt: (1) bk ≤ n < bk+1 für n > 0 und k = 0 für n = 0. (2) xi ∈ N0 mit 0 ≤ xi ≤ b − 1 und xk 6= 0 für n 6= 0 Diese Darstellung ist eindeutig. Die xi heißen die Ziffern der Darstellung von n zur Basis b. Beweis. Existenz und Eindeutigkeit durch Induktion nach n. IA: n = 0 Setze x0 = 0 und k = 0, so gilt 0 = 0 X i=0 0 · bi Andere Möglichkeit gibt es nicht, also eindeutig. IS: Sei n > 0. IV: Die Aussage gelte für alle n′ ∈ N0 mit n′ < n. Setze x0 = n mod b, so gilt 0 ≤ x0 ≤ b − 1 und n − x0 = b · n′ . Dabei ist 0 ≤ n′ < n, P da b > 1. Wir wenden die Induktionsvoraussetzung auf n′ an: n′ = ki=0 x′i · bi , wobei k und x′i wie in (1) und (2) sind. Setze xi+1 = x′i für i = 0, . . . , k. Dann gilt: n = b · n′ + x0 = = k X i=0 k+1 X i=1 Mathematik 1 für (Bio-)Informatiker x′i · bi+1 + x0 xi · bi+1 + x0 · b0 52 6 Elementare Zahlentheorie = k+1 X i=0 xi · bi+1 Dabei gilt 0 ≤ xi ≤ b − 1 für alle i = 1, . . . , k + 1. Zeige: bk+1 ≤ n < bk+2 und xk+1 6= 0. Fall 1: Sei n′ > 0, so gilt nach IV: bk ≤ n′ < bk+1 , also bk+1 ≤ n′ · b = n − x0 ≤ n. Da n′ ≤ bk+1 − 1, gilt b · n′ ≤ bk+2 − b. Somit gilt n = b · n′ + x0 ≤ bk+2 − b + x0 < bk+2 − b + b = bk+2 und x0 < b, xk+1 = x′k 6= 0. Fall 2: Sei n′ = 0, so gilt n = x0 und b0 = 1 ≤ n < b1 . P Eindeutigkeit: Es gelte n = li=0 xi · bi = (2). Dann x0 = n mod b = y0 und es gilt: n − x0 b Pm i=0 yi = n − y0 b = l X i=1 = = = m X i=1 l−1 X xi · bi−1 yi · bi−1 xi+1 · bi i=0 m−1 X i=0 · bi und xi , yi , l, m erfüllen (1) und yi+1 · bi IV: l − 1 = m − 1, d.h. l = m und x1 = y1 , . . . , xm = ym . Beispiel: Darstellung der Zahl (161)10 im Binärsystem: 161 mod 2 = 1 161−1 = 80 2 80 = 40 2 40 2 = 20 20 2 = 10 10 2 =5 5−1 2 =2 2 2 =1 80 mod 2 = 0 40 mod 2 = 0 20 mod 2 = 0 10 mod 2 = 0 5 mod 2 = 1 2 mod 2 = 0 1 mod 2 = 1 1 0 0 0 0 1 0 1 Somit gilt (10100001)2 = (161)10 . Mathematik 1 für (Bio-)Informatiker 53 6 Elementare Zahlentheorie Alternativ: Suche größtes k mit 2k ≤ n. Es gilt 28 = 256 > 161 und 27 = 127 ≤ 161. Also 161 − 128 = 33. Es gilt 25 = 32 ≤ 33. Also 33 − 32 = 1. Es gilt 20 = 1 ≤ 1. Somit gilt (161)10 = 27 + 25 + 20 = (10100001)2 . Hexadezimalsystem: Basis b = 16. Die Ziffern sind (0, 1, . . . , 9, A, B, C, D, E, F ), wobei A=10, ˆ B =11, ˆ C =12, ˆ D=13, ˆ E =14 ˆ und F =15. ˆ Beispiel: 161 mod 16 = 1 1 161−1 ˆ 10 mod 16 = 10 A 16 = 10=A Somit gilt (A1)16 = (161)10 . Satz 6.8. (Schnelles Potenzieren) Sei a ∈ R und m ∈ N. Wir wollen am berechnen. Die übliche Art ist: Bilde a2 , a2 · a, a3 · a, . . . , am−1 · a. Bei einem großen m ist dieses Verfahren langsam. l−1 Spezialfall: m = 2l . Bilde a2 , (a2 )2 = a4 , (a4 )2 ,. . . , (a2 rungen. )2 . Das sind l viele Quadrie- Allgemein: Schreibe m in Binärdarstellung: m = xk ·2k +. . .+x1 ·2+x0 , wobei xi ∈ {0, 1} und xk = 1. Es gilt: k k−1 am = a2 · axk−1 ·2 = 2k−1 a = ... = ... · axk−1 2 · . . . · ax1 ·2 · ax0 ·2k−2 xk−1 a ·a · . . . · ax1 2 xk−2 ·a 2 2 · ax0 x1 · ... · a !2 · ax0 Folgender Algorithmus führt obiges Schema aus: 1: Input(a, m) 2: b ← a 3: for j = k − 1 down to 0 do 4: b ← b2 5: if xj = 1 then 6: b←b·a Mathematik 1 für (Bio-)Informatiker 54 6 Elementare Zahlentheorie end if 8: end for 9: Output(b) 7: Maximal 2 · k viele Multiplikationen, wobei k maximal mit 2k ≤ m. Beispiel: Sei m = 106 , d.h. a1000000 . Es ist (106 )10 = (11110100001001000000)2 . Es gilt 219 = 524288, somit sind es 19 + 7 = 26 Multiplikationen. Definition 6.9. Sei m ∈ N. Für x, y ∈ Z definieren wir die folgende Relation: x ≡ y (mod m) ⇔ m | (x − y) Diese Relation heißt Kongruenzrelation modulo m. Den Ausdruck x ≡ y (mod m) liest man als „x Kongruent y modulo m“. Satz 6.10. a) Die Kongruenzrelation modulo m ist eine Äquivalenzrelation. b) Wenn a ≡ b (mod m), k ∈ Z, so ist k · a ≡ k · b (mod m). Man beachte: Die Umkehrung gilt im Allgemeinen nicht. c) Es gilt: a ≡ 0 (mod m) ⇔ m | a. d) Es gilt: a ≡ b (mod m) ⇔ a mod m = b mod m. D.h. a und b haben bei Division durch m den gleichen Rest. e) Es gilt: a mod m ≡ a (mod m). Beweis. a) Reflexivität: Es gilt a ≡ a (mod m), denn m | (a − a) = 0 für alle a ∈ Z. Symmetrie: Gilt a ≡ b (mod m), dann m | (a − b), also m | (−1) · (a − b) = b − a und damit b ≡ a (mod m). Transitivität: Gilt a ≡ b (mod m) und b ≡ c (mod m), dann m | (a − b) und m | (b − c), nach 6.2 a) gilt damit m | (a − b) + (b − c) = a − c, d.h. a ≡ c (mod m). b) ⇒ Mathematik 1 für (Bio-)Informatiker a ≡ b (mod m) m | (a − b) 55 6 Elementare Zahlentheorie ⇒ m | k · (a − b) = k · a − k · b ⇒ k · a ≡ k · b (mod m) 6.2 a) Gegenbeispiel für die Umkehrung: Es gilt 3 · 3 ≡ 3 · 1 (mod 6), aber 3 6≡ 1 (mod 6). c) a ≡ 0 (mod m) gilt nach Definition genau dann, wenn gilt m | (a − 0) = a. d) „⇐“: Gilt a mod m = b mod m, d.h. a = q1 · m + r und b = q2 · m + r, 0 ≤ r < m, so gilt: (a − b) = q1 · m + r − q2 · m − r = q1 · m − q2 · m = (q1 − q2 ) · m d.h. m | (a − b), also a ≡ b (mod m). „⇒“: Sei a = q1 · m + r1 , b = q2 · m + r2 , wobei 0 ≤ r1 , r2 < m. Sei O.B.d.A. r1 ≥ r2 . Nach Voraussetzung gilt m | (a − b) = (q1 − q2 ) · m + (r1 − r2 ). Da m | (q1 − q2 ) · m, folgt nach 6.2 a), dass gilt m | (r1 − r2 ). Wäre r1 − r2 6= 0, so gilt nach 6.2 b), dass m ≤ r1 − r2 , was einen Widerspruch darstellt zu 0 ≤ r1 − r2 < m. Somit gilt r1 − r2 = 0, d.h. r1 = r2 und damit gilt a mod m = b mod m. e) Es gilt (a mod m) mod m = a mod m. Nach d) gilt a mod m ≡ a (mod m). Wichtig: Man beachte den Unterschied zwischen |a mod m). {z m} und |a ≡ b (mod {z } Zahl Bei festem m ist ( Z → {0, . . . , m − 1} a 7→ a mod m Relation eine Abbildung. Beispiele: 17 mod 7 = 10 mod 7 = −4 mod 7 = 3 Mathematik 1 für (Bio-)Informatiker 56 6 Elementare Zahlentheorie 17 ≡ 3 (mod 7) 17 ≡ 10 (mod 7) 17 ≡ −4 (mod 7) Satz 6.11. Die Äquivalenzklassen der Kongruenzrelation modulo m (Äquivalenzklassen mod m) sind genau die Mengen {r + k · m : k ∈ Z} für r = 0, . . . , m − 1. Ein Repräsentantensystem dieser Äquivalenzklassen ist Zm := {0, 1, . . . , m − 1}. Beweis. Folgt aus 6.10 d). Beispiel: Sei m = 2. Äquivalenzklassen zu mod 2: {2 · k : k ∈ Z} = Menge der geraden Zahlen {1 + 2 · k : k ∈ Z} = Menge der ungeraden Zahlen Ein Repräsentantensystem ist Z2 = {0, 1}. Satz 6.12. Seien a1 ≡ a2 (mod m) und b1 ≡ b2 (mod m). Dann gilt: a1 + b1 ≡ a2 + b2 (mod m) a1 − b1 ≡ a2 − b2 (mod m) a1 · b1 ≡ a2 · b2 (mod m) Beweis. Nach Voraussetzung gilt m | (a1 − a2 ) und m | (b1 − b2 ). Nach 6.2 a) gilt m | (a1 − a2 ) + (b1 − b2 ) = (a1 + b1 ) − (a2 + b2 ) und damit folgt a1 + b1 ≡ a2 + b2 (mod m). Nach 6.2 a) gilt m | (a1 − a2 ) + (−1) · (b1 − b2 ) = (a1 − b1 ) − (a2 − b2 ) und damit folgt a1 − b1 ≡ a2 − b2 (mod m). m | (a1 − a2 ) ⇒ m | (a1 − a2 ) · b1 = a1 · b1 − a2 · b1 . 6.2 a) m | (b1 − b2 ) ⇒ m | a2 · (b1 − b2 ) · b1 = a2 · b1 − a2 · b2 . 6.2 a) Daraus folgt nach 6.2 a): m | (a1 · b1 − a2 · b1 ) + (a2 · b1 − a2 · b2 ) = a1 · b1 − a2 · b2 und damit a1 · b1 ≡ a2 · b2 (mod m). Korollar 6.13. Seien a, b ∈ Z, so gilt: (a + b) mod m = ((a mod m) + (b mod m)) mod m (a · b) mod m = ((a mod m) · (b mod m)) mod m Mathematik 1 für (Bio-)Informatiker 57 6 Elementare Zahlentheorie Beweis. Nach 6.10 e) gilt a mod m ≡ a (mod m) und b mod m ≡ b (mod m). Nach 6.12 gilt: (a mod m) + (b mod m) ≡ a + b (mod m) (a mod m) · (b mod m) ≡ a · b (mod m) Weiter folgt mit 6.10 d): ((a mod m) + (b mod m)) mod m = (a + b) mod m ((a mod m) · (b mod m)) mod m = (a · b) mod m Beispiele: a) Was ist 11 · 12 · 13 mod 7 ? Es gilt: 11 · 12 · 13 = 1761 1761 ≡ 1 (mod 7) 11 · 12 · 13 mod 7 = 1 oder 11 · 12 · 13 = 132 · 13 = 4·5·6 ≡ 11 · 12 · 13 6.13 11 · 12 · 13 6.12 ≡ (−1) · (−1) = 120 ≡ 1 (mod 7) (−3) · (−2) · (−1) = −6 6.12 = 1 (mod 7) ≡ 1 (mod 7) b) Welchen Rest lässt 2149341517433 bei Division durch 7? 2149341517433 mod 7 = (214934 mod 7)1517433 mod 7 = ((210000 + 4900 + 35 − 1) mod 7)1517433 mod 7 6.13 = ((−1) mod 7)1517433 mod 7 = (−1)1517433 mod 7 = (−1) mod 7 = 6 6.13 6.13 Definition 6.14. Seien a1 , . . . , ar ∈ Z. a) Ist mindestens ein ai 6= 0, so ist der größte gemeinsame Teiler ggT(a1 , . . . , ar ) die größte natürliche Zahl, die alle a1 , . . . , ar teilt. Ist ggT(a1 , . . . , ar ) = 1, so heißen a1 , . . . , ar teilerfremd. Ist ggT(ai , aj ) = 1 für alle i, j mit i 6= j, so heißen a1 , . . . , ar paarweise teilerfremd. Mathematik 1 für (Bio-)Informatiker 58 6 Elementare Zahlentheorie b) Sind alle a1 , . . . , ar 6= 0, so ist das kleinste gemeinsame Vielfache kgV(a1 , . . . , ar ) die kleinste natürliche Zahl, die von allen a1 , . . . , ar geteilt wird. Beispiel: Die Zahlen 2, 3, 4 sind teilerfremd, aber nicht paarweise, da ggT(2, 4) = 2. Bemerkung Seien a1 , . . . , ar ∈ Z und ai 6= 0 für alle i ∈ {1, . . . , r}, so gilt: a) Der ggT(a1 , . . . , ar ) existiert und ist eindeutig bestimmt. b) Der kgV(a1 , . . . , ar ) existiert und ist eindeutig bestimmt. Beweis. a) Sei A = {t ∈ N : t | a1 ∧ . . . ∧ t | ar }. Es gilt 1 ∈ A. Da ai 6= 0 gilt, folgt nach 6.2 b) t ∈ A ⇒ t ≤ |ai |. In der endlichen Menge A existiert eine eindeutig bestimmte größte Zahl, ggT(a1 , . . . , ar ). b) Sei B = {t ∈ N : a1 | t ∧ . . . ∧ ar | t}. Es gilt |a1 · a2 · . . . · ar | ∈ B, also B 6= ∅. Nach Induktionsaxiom 5.1 enthält B ein eindeutig bestimmtes kleinstes Element, kgV(a1 , . . . , ar ). Satz 6.15. (Euklidische Algorithmus2 ) Der folgende Algorithmus berechnet den größten gemeinsamen Teiler zweier ganzer Zahlen a und b, beide nicht gleich 0. 1: Input(a, b) 2: if b = 0 then 3: y ← |a| 4: end if 5: if b | a then 6: y ← |b| 7: end if 8: if b 6= 0 ∧ b ∤ a then 9: x ← a, y ← b 10: while x mod y 6= 0 do 11: r ← x mod y 12: x ← y, y ← r 13: end while 14: end if 15: Output(y) 2 Euklid von Alexandria (365 v.Chr. - 300 v.Chr.) war ein griechischer Mathematiker. Mathematik 1 für (Bio-)Informatiker 59 6 Elementare Zahlentheorie Beispiel: Seien a = 48, b = −30. x y x mod y = r 48 −30 18 6 −30 18 18 6 0 Somit gilt ggT(48, −30) = 6. Lemma 6.16. Seien q, u, v, w ∈ Z und u = q · v + w, dann gilt ggT(u, v) = ggT(v, w). Beweis. Es gilt: (t | u ∧ t | v) ⇔ 6.2 a) (t | u − q · v ∧ t | v) ⇔ (t | w ∧ t | v). Daraus folgt ggT(u, v) = ggT(v, w). Beweis von 6.15: Wir brauchen nur den Fall b 6= 0 und b ∤ a zu betrachten. Der Algorithmus bewirkt: a0 = a, a1 = b. a0 = q1 · a1 + a2 , a1 = q2 · a2 + a3 , . . . , an−2 = qn−1 · an−1 + an , an−1 = qn · an + 0. Für alle ai mit i ≥ 2 gilt ai ≥ 0 und ai+1 < ai . Also terminiert der Algorithmus mit Ausgabe an > 0. Da a1 ∤ a0 ist n ≥ 2. Daher an > 0. Mit 6.16 gilt: ggT(a, b) = ggT(a0 , a1 ) = ggT(a1 , a2 ) = ggT(a2 , a3 ) = ... = ggT(an−1 , an ) = ggT(an , 0) = an 6.16 6.16 6.16 6.16 Satz 6.17. (Bachet de Méziriac)3 Seien a, b ∈ Z, nicht beide gleich 0, dann existieren s, t ∈ Z mit ggT(a, b) = s · a + t · b. Beweis. Ist b = 0, so ggT(a, b) = |a| = s · a + t · b mit s = ( Ist b 6= 0 und b | a, so ggT(a, b) = |b| = 0 · a + t · b mit t = ( 3 1 a>0 . −1 a < 0 1 b>0 . −1 b < 0 Claude Gaspard Bachet de Méziriac (1581 - 1638) war ein französischer Mathematiker. Mathematik 1 für (Bio-)Informatiker 60 6 Elementare Zahlentheorie Sei also b 6= 0 und b ∤ a. Setze a0 = a, a1 = b. Der Euklidischer Algorithmus liefert: a0 = q1 · a1 + a2 a1 = q2 · a2 + a3 .. . an−1 = qn · an + 0 Dabei ist an = ggT(a, b). Wir zeigen durch Induktion nach j die Existenz von uj , vj ∈ Z mit aj = uj · a0 + vj · a1 , j = 0, 1, . . . , n. IA: Sei j = 0, so u0 = 1, v0 = 0. Sei j = 1, so u1 = 0, v1 = 1. IS: Sei j ≥ 2 für j ≤ n und es gelte die Behauptung für alle 0 ≤ i < j. Es gilt: aj−2 = uj−2 · a0 + vj−2 · a1 aj−1 = uj−1 · a0 + vj−1 · a1 aj = aj−2 − qj−1 · aj−1 = uj−2 · a0 + vj−2 · a1 − qj−1 · uj−1 · a0 − qj−1 · vj−1 · a1 IV = (uj−2 − qj−1 · uj−1 ) · a0 + (vj−2 − qj−1 · vj−1 ) · a1 Setze uj = uj−2 − qj−1 · uj−1 und vj = vj−2 − qj−1 · vj−1 . Dann gilt ggT(a, b) = an = un · a0 + vn · a1 . Satz 6.18. (Erweiterter Euklidischer Algorithmus) Seien a, b ∈ Z, nicht beide gleich 0. Der Erweiterte Euklidische Algorithmus (EEA) bestimmt den ggT(a, b) und s, t ∈ Z mit ggT(a, b) = s · a + t · b. 1: Input(a, b) 2: if b = 0 then 3: d ← |a|, t ← 0 4: if a > 0 then 5: s←1 6: else 7: s ← −1 8: end if 9: end if 10: 11: 12: 13: 14: 15: 16: if b | a then d ← |b|, s ← 0 if b > 0 then t←1 else t ← −1 Mathematik 1 für (Bio-)Informatiker 61 6 Elementare Zahlentheorie end if 18: end if 17: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: if b 6= 0 ∧ b ∤ a then x ← a, y ← b s1 ← 1, s2 ← 0 t1 ← 0, t2 ← 1 while x mod y 6= 0 do q ← x div y, r ← x mod y s ← s1 − q · s2 , t ← t1 − q · t2 s1 ← s2 , s2 ← s, t1 ← t2 , t2 ← t x ← y, y ← r end while d←y end if Output(d, s, t) Dabei gilt d = ggT(a, b) = a · s + t · b. Beispiel: Seien a = 48, b = −30. x mod y 18 6 0 x y s1 s2 s t1 t2 t q r 48 −30 1 0 0 1 −30 18 0 1 1 1 1 1 −1 18 18 6 1 2 2 1 3 3 −2 6 Es ist ggT(48, −30) = 6, s = 2 und t = 3. Also gilt 6 = 2 · 48 + 3 · (−30). Korollar 6.19. Seien a, b ∈ Z, nicht beide gleich 0. So gilt: a) ggT(a, b) = 1 ⇔ ∃s, t ∈ Z : s · a + t · b = 1. b) Ist c ∈ Z mit c | a und c | b, so gilt c | ggT(a, b). Beweis. a) „⇒“: Folgt aus 6.17. „⇐“: Sei d = ggT(a, b), so gilt d | a und d | b. Es gilt d | s · a + t · b = 1 nach 6.2 a) und Voraussetzung. Somit d = 1. b) Nach 6.17 gilt ggT(a, b) = s · a + t · b für geeignete s, t ∈ Z. Gilt c | a und c | b, so gilt nach 6.2 a) auch c | s · a + t · b, also c | ggT(a, b). Mathematik 1 für (Bio-)Informatiker 62 6 Elementare Zahlentheorie Satz 6.20. a) Seien a1 , . . . , ak , b1 , . . . , bl ∈ Z. Ist ggT(ai , bj ) = 1 für alle i, j, dann ist auch ggT(a, b) = 1, wobei a = a1 · . . . · ak und b = b1 · . . . · bj . b) Ist a, b, c ∈ Z und a | b · c und ggT(a, b) = 1, so gilt a | c. c) Seien a1 , . . . , ak paarweise teilerfremde ganze Zahlen und c ∈ Z, so gilt: ai | c für alle i ⇒ a1 · . . . · ak | c Beweis. a) Induktion nach k + l. IA: Sei k + l = 2. Dann a = a1 und b = b1 und somit ggT(a1 , b1 ) = 1 = ggT(a, b). IS: Sei k + l = m + 1 mit m ≥ 2. IV: Behauptung sei richtig für alle k + l = i mit 2 ≤ i ≤ m. Sei O.B.d.A. k ≥ l. Setze a′ = a1 · . . . · ak−1 , so gilt nach Induktionsvoraussetzung ggT(a′ , b) = 1 und ggT(ak , b) = 1. Mit 6.17 folgt: ∃s, s′ , t, t′ ∈ Z mit: s · ak + t · b = 1 = s′ · a′ + t′ · b Multipliziere diese beiden Gleichungen: 1 = s · s′ · a′ · ak + t · s′ · b · a′ + s · t′ · ak · b + t · t′ · b2 = s · s′ · a + (t · s′ · a′ + s · t′ · ak + t · t′ · b) · b Mit 6.19 folgt ggT(a, b) = 1. b) Sei ggT(a, b) = 1. Nach 6.17 gilt 1 = s · a + t · b für geeignete s, t ∈ Z. Multiplizieren der Gleichung mit c ergibt c = s · a · c + t · b · c. Es gilt a | s · a · c und a | t · b · c, da a | b · c. Nach 6.2 a) gilt a | s · a · c + t · b · c = c. c) Induktion nach k. IA: Sei k = 1. Klar. IS: k → k + 1. Induktionsvoraussetzung: a1 · . . . · ak | c und ak+1 | c. Also ∃u, v ∈ Z mit c = u·a′ = | {z =:a′ } v · ak+1 . Nach a) gilt ggT(a′ , ak+1 ) = 1. Mit 6.17 folgt: ∃s, t ∈ Z: 1 = s · a′ + t · ak+1 . Multiplikation dieser Gleichung mit c ergibt: c = c · s · a′ + c · t · ak+1 = v · ak+1 · s · a′ + u · a′ · t · ak+1 Mathematik 1 für (Bio-)Informatiker 63 6 Elementare Zahlentheorie = (v · s + u · t) · a′ · ak+1 Somit gilt a1 · . . . · ak+1 = a′ · ak+1 | c. Satz 6.21. Sei m ∈ N und c ∈ Z. Die folgenden Aussagen sind äquivalent: (1) ggT(c, m) = 1 (2) ∃d ∈ Z: c · d ≡ 1 (mod m) (3) ∀x, y ∈ Z: c · x ≡ c · y (mod m) ⇒ x ≡ y (mod m) Beweis. „(1) ⇒ (2)“: Da ggT(c, m) = 1, folgt mit 6.17: ∃d, t ∈ Z mit: 1 = d·c+t·m c · d − 1 = (−t) · m d.h. m | (c · d − 1), also c · d ≡ 1 (mod m). „(2) ⇒ (3)“: Es existiere ein d ∈ Z mit c · d ≡ 1 (mod m). Seien x, y ∈ Z mit c · x ≡ c · y (mod m). Mit 6.12 gilt c · d · x ≡ x (mod m), c · d · x ≡ c · d · y (mod m) und c · d · y ≡ y (mod m). Da es sicht bei ≡ um eine Äquivalenzrelation handelt, folgt x ≡ y (mod m). „(3) ⇒ (1)“: Setze z := ggT(c, m). Es gilt c = q1 ·z und m = q2 ·z für geeignete q1 , q2 ∈ Z, d.h. es gilt c · q2 = q1 · z · q2 = m · q1 . Also m | m · q1 = c · q2 und damit: c · q2 ≡ 0 (mod m) c · q2 ≡ c · 0 (mod m) Nach (3) gilt q2 ≡ 0 (mod m). Also m | q2 und q2 | m, wobei m, q2 > 0. Somit m = q2 . Dann z = 1 und ggT(c, m) = 1. Wichtig sind hierbei die Implikationen „(1) ⇒ (2)“ und „(1) ⇒ (3)“. Bemerkung 6.22. Die Folgerung „(1) ⇒ (2)“ in 6.21 lautet: Seien c ∈ Z und m ∈ N mit ggT(c, m) = 1, so existiert d ∈ Z mit c · d ≡ 1 (mod m). Ist m ≥ 2, so kann man d so wählen, dass gilt 0 < d < m. Ersetze dafür d durch d mod m. Dann ist d eindeutig. Die Zahl d wird mit dem erweiterten Euklidischen Algorithmus bestimmt. Mathematik 1 für (Bio-)Informatiker 64 6 Elementare Zahlentheorie Beispiel: Bestimme 0 < d < 85 mit 23 · d ≡ 1 (mod 58). Es ist ggT(23, 58) = 1. Also existiert d nach 6.21 bzw. 6.22. Wende den erweiterten Euklidischen Algorithmus auf 23 und 58 an: x mod y x y s1 s2 s t1 t2 t q r 58 23 1 0 0 1 12 23 12 0 1 1 1 −2 −2 2 12 11 12 11 1 −1 −1 −2 3 3 1 11 1 11 1 −1 2 2 3 −5 −5 1 1 0 Es gilt: 1 = 2 · 58 + (−5) · 23 (−5) (−5) · 23 ≡ 1 (mod 58) mod 58 = |{z} 53 =:d Für d = 53 gilt 53 · 23 ≡ 1 (mod 58). Bemerkung 6.23. Satz 6.17 und 6.19 gelten auch für den ggT beliebig vieler Zahlen a1 , . . . , ak ∈ Z, k ≥ 2, nicht alle gleich 0. Dann gilt: a) ∃s1 , . . . , sk ∈ Z: s1 · a1 + . . . + sl · ak = ggT(a1 , . . . , ak ). b) ggT(a1 , . . . , ak ) = ggT(ggT(a1 , . . . , ak−1 ), ak ) Für k = 2 ist dabei ggT(a1 ) = |a1 | zu setzen. c) Ist c | a1 , . . . , c | ak , so ist c | ggT(a1 , . . . , ak ). Beweis. Siehe 3.14, 3.15 in [WHK04]. Definition 6.24. Eine natürliche Zahl p ≥ 2 heißt Primzahl, falls 1 und p die einzigen natürlichen Zahlen sind, die p teilen. D.h. ggT(k, p) = 1 für alle 1 ≤ k ≤ p − 1. Satz 6.25. Ist p eine Primzahl und gilt p | a1 · . . . · an für ai ∈ Z, so existiert j mit p | aj . Beweis. Falls p | an , so fertig. Also angenommen p ∤ an . D.h. ggT(p, an ) = 1. Also gilt nach 6.20 b) p | a1 · . . . · an−1 . Fertig per Induktion. Mathematik 1 für (Bio-)Informatiker 65 6 Elementare Zahlentheorie Theorem 6.26. (Fundamentalsatz der elementaren Zahlentheorie) Zu jeder natürlichen Zahl a ≥ 2 gibt es eindeutig bestimmte paarweise verschiedene Primzahlen p1 , . . . , pn und natürliche Zahlen e1 , . . . , en mit a = pe−1 · . . . · penn 1 Die pj heißen Primfaktoren von a. Die Darstellung von a als Produkt von Primzahlen ist bis auf die Reihenfolge eindeutig bestimmt. Beweis. Die Existenz der Darstellung gilt nach 5.5. fm , wobei e , f ∈ N und p , f Eindeutigkeit: Es gelte a = pe11 · . . . · penn = q1f1 · . . . · qm i j i j Primzahlen, pi paarweise verschieden, fj paarweise verschieden. Zu zeigen: n = m und bei geeigneter Nummerierung gilt pi = qi , ei = fi für i = 1, . . . , n. Nach 6.25 gilt: Jedes pi teilt ein qj , jedes qk teil ein pl . D.h. pi = qj , d.h. qk = pl . D.h. n = m und bei geeigneter Nummerierung p1 = q1 , . . . , pn = qn . Angenommen es existiert k mit ek 6= fk . Sei ek < fk . Teile beide Seiten durch pekk : e e k−1 k+1 pe11 · . . . · pk−1 · pk+1 · . . . · penn f f k−1 k+1 = pf11 · . . . · pk−1 · pkfk −ek · pk+1 · . . . · pfnn Es gilt fk − ek > 0. Die rechte Seite ist also durch pk teilbar. D.h. pk teilt beide Seiten. Mit 6.25 gilt: pk teilt ein pj , j 6= k. D.h. pk = pj für j 6= k, dies ist ein Widerspruch. Somit gilt für alle k = 1, . . . , n gerade ek = fk . Satz 6.27. (Euklid) Es gibt unendlich viele Primzahlen. Beweis. Angenommen es gibt nur endlich viele Primzahlen p1 , . . . , pn . Bilde a = p1 · . . . · pn + 1. Nach 6.26 existiert Primzahl q mit q | a. Da p1 , . . . , pn sämtliche Primzahlen sind, ist q = pi für ein i ∈ {1, . . . , n}. Dann q = pi | a − p1 · . . . · pn = 1, d.h. q | 1, also q = 1, Widerspruch. Korollar 6.28. Seien a, b ∈ N mit a, b ≥ 2. Seien P (a) und P (b) die Menge der PrimQ Q teiler von a bzw. b, so dass gilt: a = p∈P (a) pn(p) und b = p∈P (b) pm(p) . Dabei sind n(p), m(p) ∈ N geeignet gewählt. Es gilt: Y ggT(a, b) = pmin(n(p),m(p)) p∈P (a)∩P (b) kgV(a, b) = Y p∈P (a)\P (b) pn(p) · Y p∈P (b)\P (a) pm(p) Y pmax(n(p),m(p)) p∈P (a)∩P (b) Insbesondere gilt a · b = ggT(a, b) · kgV(a, b). Beweis. Übungsaufgabe. Mathematik 1 für (Bio-)Informatiker 66 6 Elementare Zahlentheorie Beispiel: Seien a = 1248 und b = 3780. Es gilt a = 25 · 3 · 13 und b = 22 · 33 · 5 · 7. Weiter gilt: ggT(a, b) = 22 · 3 = 12 kgV(a, b) = 13 · 5 · 7 · 25 · 33 = 393120 Bemerkung 6.29. Aus 6.28 folgt sofort: Ist a | c und b | c, so ist kgV(a, b) | c. Dies gilt auch für kgV(a1 , . . . , an ). Satz 6.30. (Chinesischer Restsatz) Seien n1 , . . . , nr paarweise teilerfremde natürliche Zahlen und a1 , . . . , ar ∈ Z. Dann existiert genau eine Zahl x ∈ Z mit 0 ≤ x ≤ n1 · . . . · nr − 1, die das folgende Kongruenzsystem löst: x ≡ a1 (mod n1 ) .. . x ≡ ar (mod nr ) Beispiel: x ≡ −6 (mod 13) x ≡ 5 (mod 8) x ≡ 12 (mod 23) Für x muss also gelten: 13 | x + 6 8 | x−5 23 | x − 12 Q Beweis. Sei i ∈ {1, . . . , n} und Ni := j6=i nj . Nach 6.20 a) gilt ggT(ni , Ni ) = 1. Nach 6.21 existiert ti ∈ Z mit ti · Ni ≡ 1 (mod ni ). Mit 6.12 gilt ai · ti · Ni ≡ ai (mod ni ). Außerdem gilt ai · ti · Ni ≡ 0 (mod nj ) für alle j 6= i, da nj | Ni . Wir setzen y = Pr i=1 ai · ti · Ni . Dann gilt y ≡ ai (mod ni ). Wir setzen x = y mod n1 · . . . · nr . Es gilt 0 ≤ x ≤ n1 · . . . · nr − 1 und x ≡ y (mod n1 · . . . · nr ), also n1 · . . . · nr | x − y und damit ni | x − y für alle i = 1, . . . , r. Daraus folgt sofort: x ≡ y (mod ni ) x ≡ ai (mod ni ) Mathematik 1 für (Bio-)Informatiker für alle i = 1, . . . , r für alle i = 1, . . . , r 67 6 Elementare Zahlentheorie Eindeutigkeit: Angenommen 0 ≤ x1 , x2 ≤ n1 · . . . · nr − 1 erfüllen die Kongruenzgleichungen, wobei O.B.d.A. x1 ≥ x2 . Dann gilt: ≡ 0 (mod ni ) ≡ 0 (mod n1 · . . . · nr ) x1 − x2 6.12 x1 − x2 6.20 c) für alle i = 1, . . . , r Es gilt also 0 ≤ x1 − x2 ≤ n1 · . . . · nr − 1 und n1 · . . . · nr | x1 − x2 . Mit 6.2 b) gilt somit x1 − x2 = 0, also x1 = x2 . Bedeutung: Das Rechnen mod ni ist gegebenfalls mit Maschinenzahlen möglch, während das Rechnen mod n1 · . . . · nr gegebenfalls Langzeitarithmetik erfordert. Beispiel: Gibt es ein x ∈ N0 mit x2 + 3 · x − 1 ≡ 0 (mod 663) ? Wenn es eine Lösung gibt, dann auch eine, die zwischen 0 und 663 liegt. y2 + 3 · y − 1 ≡ 0 (mod 663) ≡ 0 (mod 663) x := y 2 x +3·x−1 mod 663 Es gilt 663 = 3 · 13 · 17. Versuche Kongruenz mod 3, mod 13 und mod 17 zu lösen: a1 = 1 1 + 3 · 1 − 1 ≡ 0 (mod 3) a2 = 5 25 + 3 · 5 − 1 ≡ 0 (mod 13) a3 = 3 9 + 3 · 3 − 1 ≡ 0 (mod 17) Chinesischer Restsatz: Liefert Lösung 0 ≤ x ≤ 663 für das folgende Kongruenzsystem: x ≡ 1 (mod 3) x ≡ 5 (mod 13) x ≡ 3 (mod 17) Ist dieses x gefunden, so gilt: x2 + 3 · x − 1 ≡ 0 (mod 3) Mathematik 1 für (Bio-)Informatiker 68 6 Elementare Zahlentheorie x2 + 3 · x − 1 ≡ 0 (mod 13) x2 + 3 · x − 1 ≡ 0 (mod 17) Da 3, 13 und 17 paarweise teilerfremd sind, folgt mit 6.20 c), dass gilt x2 + 3 · x − 1 ≡ 0 (mod 663). Bestimmung von x mit Hilfe des Konstruktionsbeweises des Chinesischen Restsatzes: n1 n2 n3 N1 N2 N3 3 13 17 13 · 17 = 221 3 · 17 = 51 3 · 13 = 39 Bestimmen von t1 , t2 und t3 mit: t1 · N1 ≡ 1 (mod 3) t1 · 221 ≡ 1 (mod 3) t1 = 2 t2 · N2 ≡ 1 (mod 13) t2 · 51 ≡ 1 (mod 13) t2 = 12 t3 · N3 ≡ 1 (mod 17) t3 · 39 ≡ 1 (mod 17) t3 = 7 Bestimmung von y und x: y = 3 X i=1 ai · ti · Ni = 1 · 2 · 221 + 5 · 12 · 51 + 3 · 7 · 39 = 4321 x = y mod 663 = 4321 mod 663 = 343 Dieses x erfüllt Kongruenz x2 + 3 · x − 1 ≡ 0 (mod 663), denn es gilt: 3432 + 3 · 343 − 1 = 118677 = 663 · 179 Mathematik 1 für (Bio-)Informatiker 69 7 Kombinatorik In der Kombinatorik beschäftigen wir uns hauptsächlich mit Abzähltechniken, wie beispielsweise die Anzahlen von Auswahlen von k Elementen aus n Elementen mit/ohne Wiederholung und mit/ohne Berücksichtigung der Reihenfolge. Satz 7.1. Sei n ∈ N und seien M1 , . . . , Mn endliche Mengen, dann gilt |M1 ×. . .×Mn | = |M1 | · . . . · |Mn |. Speziell: M1 = . . . = Mn , so ist |M n | = |M |n . Beweis. Wir führen eine Induktion nach n durch. Dabei beginnen wir jedoch mit n = 2, da wir die Argumentation in diesem Fall für den Induktionsschritt noch einmal benötigen werden. Der Fall n = 1 gilt offensichtlich. IA: n = 2: |M1 × M2 | = = [ {y} × M2 y∈M1 X y∈M1 |{y} × M2 | | {z =|M2 | = |M1 | · |M2 | } IS: Sei n ≥ 2. |M1 × . . . × Mn+1 | = = I.A. = I.V. |M1 × (M2 × . . . × Mn+1 )| |M1 | · |M2 × . . . × Mn+1 | |M1 | · |M2 | · . . . · |Mn+1 | Beispiel: Wieviele Wörter der Länge n ∈ N gibt es über dem Alphabet {0, 1}? Mit obigen Satz sind es |{0, 1}n | = |{0, 1}|n = 2n . 70 7 Kombinatorik Als nächstes wollen wir uns mit den Anzahlen von bestimmten Auswahlmöglichkeiten beschäftigten. Dabei unterscheidet man vier unterschiedliche Auswahlmöglichkeiten von k Gegenständen aus einer Menge mit n Gegenständen: • Die Anordnung ist relevant (z.B. Spiel 77) oder auch nicht (z.B. Lotto) • Wiederholungen sind möglich (z.B. Spiel 77) oder auch nicht (z.B. Lotto) Bemerkung 7.2. (Geordnete Auswahl ohne Wiederholung) Sei A eine Menge („Urne“) und seien g1 , . . . , gn ∈ A verschiedene Gegenstände. Wähle nacheinander k davon aus und lege sie der Reihenfolge nach aus (Berücksichtigung der Anrodnung): gi1 , . . . , gik wobei gij 6= gil für j 6= l. Fragestellung: Wieviele unterschiedliche Auswahlen gibt es? Alternative Interpretation: Wieviele verschiedene k-Tupel (gi1 , . . . , gik ) mit verschiedenen gij sind möglich? Alternative Interpretation: Wieviele Verteilungen von k verschiedenen Gegenständen aus einer Menge mit n Gegenständen auf die Plätze 1, . . . , k gibt es? Dies kann man beschreiben als injektive Abbildung f : {1, . . . , k} → A, |A| = n, mit 1 f= gi1 ... k . . . gik ! Definition 7.3. Wir setzen für n, k ∈ N: (n)k = ( n n · (n − 1) · . . . · (n − k + 1) k=1 k≥2 Man beachte: Es ist (n)k = 0, falls k > n. n! Für k ≤ n gilt: (n)k = (n−k)! . Insbesondere gilt: (n)n = n!. Satz 7.4. Es gibt (n)k viele Auswahlen von k Objekten aus einer Menge mit n Objekten, wenn keine Wiederholungen möglich sind und unter Berücksichtigung der Anordnung. Beweis. Falls k > n, ist die Anzahl 0 = (n)k . Falls k ≤ n (Induktions-Beweis). Betrachte die Zuordnung der gewählten Elemente auf die Plätze 1 bis k: 1 gi1 2 gi2 ... k . . . gik Für das Element gi1 gibt es n-Möglichkeiten. Für das Element gi2 gibt es (n − 1)-Möglichkeiten (alles aus A außer gi1 ), usw. Für das Element gik gibt es (n − k + 1)-Möglichkeiten. Insgesamt n · (n − 1) · . . . · (n − k + 1) = (n)k viele Möglichkeiten. Mathematik 1 für (Bio-)Informatiker 71 7 Kombinatorik Beispiele: a) Seien n = 3, k = 2 und A = {a, b, c}. Alle Auswahlmöglichkeiten ohne Wiederholung und unter Berücksichtigung der Reihenfolge sind (a, b), (a, c), (b, a), (b, c), (c, a), (c, b). Bestimmung der Anzahl der Möglichkeiten mit Hilfe von 7.4: (3)2 = 3 · 2 = 6. b) Wieviele Möglichkeiten gibt es für den Rang 1, 2, 3 am Ende der Saison bei 18 Vereinen? Mit 7.4 gilt: (18)3 = 18 · 17 · 16 = 4896. Korollar 7.5. Seien A, B nicht leere Mengen mit |B| = k, |A| = n. Dann gibt es genau (n)k injektive Abbildungen B → A. Ist insbesondere |A| = |B| = n, so gibt es n! verschiedene bijektive Abbildungen von B nach A. Beweis. Folgt aus 7.4 und 3.5. Definition 7.6. Sei M eine Menge. Eine bijektive Abbildung M → M heißt Permutation. Ist M endlich, |M | = n, so gibt es n! Permutationen von M . Die Menge der Permutationen von M wird bezeichnet mit Sn . Eine Permutation π ∈ Sn wird oft beschrieben durch: π = 1 2 ... n π(1) π(2) . . . π(n) ! Beispiele: a) Sei M = {1, 2, 3}. π = ! 1 2 3 3 2 1 b) Es gilt: n 1 2 3 4 5 |Sn | 1 2 6 24 120 Bemerkung 7.7. (Geordnete Auswahl mit Wiederholungen) Aus einer Urne A mit n Elemente werden k Elemente ausgewählt (mit Wiederholungen). Sei B != {1, . . . , k}, 1 ... k dann lässt sich eine solche Auswahl durch eine Abbildung beschreiben, a1 . . . ak Mathematik 1 für (Bio-)Informatiker 72 7 Kombinatorik wobei die ai ∈ A nicht notwendig verschieden sind. Frage: Wieviel solcher Auswahlen bzw. Abbildungen B → A gibt es? Alternative Interpretation: Wieviele Möglichkeiten gibt es k Gegenstände mit n Farben zu Färben (Farben dürfen mehrfach vorkommen)? Satz 7.8. Es gibt genau nk geordnete Auswahlen mit möglichen Wiederholungen von k Elementen aus einer Menge A mit n Elementen. Beweis. Die gesuchte Anzahl ist |Ak | = |A|k = nk . 7.1 Korollar 7.9. Es gibt genau nk viele Abbildungen B → A, falls |B| = k und |A| = n. Bemerkung 7.10. (Ungeordnete Auswahl ohne Wiederholungen) Fragestellung: Urne mit n vielen verschiedenen Objekten. Wähle k viele aus (ohne Zurücklegen) und lege sie in einen Korb. Frage: Wieviele verschiedene Korbfüllungen gibt es? Andere Interpretation: Wieviele k-elementige Teilmengen hat eine Menge mit n Elementen? Definition 7.11. Seien n, k ∈ N0 . Wir definieren den Binomialkoeffizient, gesprochen „n über k“, wie folgt: n k Man beachte, dass gilt: Bemerkung 7.12. ! n 0 ! 0 := ! n! k!·(n−k)! k>n k≤n n =1= . n a) Für alle k, n ∈ N0 mit k ≤ n gilt ! n k = ! n . n−k b) Für alle n, k ∈ N0 mit 0 < k ≤ n gilt: ! ! n n + k k−1 Mathematik 1 für (Bio-)Informatiker = n+1 k ! 73 7 Kombinatorik Beispiel: Pascal’sches Dreieck1 : ! 3 0 ! 2 0 =1 ! 1 0 ! 0 0 3 1 ! 1 1 =1 ! 2 1 =1 ! =1 =3 =1 ! 2 2 =2 ! 3 2 =3 =1 ! 3 3 =1 Satz 7.13. Die Anzahl der ungeordneten Auswahlen ohne ! Wiederholungen von k Elen menten aus einer Menge mit n Elementen ist genau . Dies ist ebenfalls die Anzahl k der k-elementigen Teilmengen einer Menge mit n Elementen. Beweis. Offensichtlich gilt die Behauptung für k > n und k = 0. Sei also 1 ≤ k ≤ n. Die Anzahl der geordneten Auswahl ohne Wiederholungen ist nach 7.4 genau (n)k . Je k! dieser geordneten ! Auswahlen führen zur selben ungeordneten Auswahl. Die Division n von (n)k liefert . k Beispiele: a) Seien A = {1, 2, 3, 4} und k = 3, dann gibt es (4)3 = 4 · 3 · 2 = 24 Möglichkeiten an Auswahlen für die Elemente 1, 2, 4 mit Anordnung und ohne Wiederholung. Die Auswahlen (2, 4, 1), (2, 1, 4), (4, 1, 2), (4, 2, 1), (1, 2, 4), (1, 4, 2) entsprechen einer geordneten Auswahl aus ! {1, 2, 4} mit 3 Elementen, also (3)3 = 3! = 6. Also n n! k ungeordnete Auswahlen ohne Wiederholung. gibt es (n) k! = (n−k)!·k! = k b) Lotto: 6 aus 49 (ungeordnete Auswahl, ohne Wiederholungen). Die Anzahl der möglichen Tipps ist: ! 49 6 49 · 48 · 47 · 46 · 45 · 44 1·2·3·4·5·6 = 13983816 = Die Warscheinlichkeit für 6 richtige im Lotto ist 1 . für 6 richtige mit Zusatzzahl ist 13983816·10 1 1 13983816 . Die Warscheinlichkeit Blaise Pascal (1623 - 1662) war ein französischer Mathematiker. Mathematik 1 für (Bio-)Informatiker 74 7 Kombinatorik Die Anzahlmöglichkeiten für Auswahlaufgaben lässt sich zusammenfassen: ohne Wiederholungen mit Wiederholungen (n)! nk k ! n n+k−1 Anordnung nicht relevant k k k aus n Anordnung relevant n Korollar 7.14. Sei M = {0, ! 1} . Die Anzahl aller 0-1-Folgen in M , die genau an k n Stellen eine 1 haben, ist . k Satz 7.15. (Binomialsatz) Wir setzen 00 = 1. Für alle a, b ∈ R und n ∈ N0 gilt: n (a + b) n X = k=0 = an ! n · an−k · bk k ! n + · an−1 · b1 1 ! n + · an−2 · b2 2 +... ! n + · a1 · bn−1 n−1 +bn Beweis. Induktion nach n: IA: n = 0 (a + b)0 = 1 = 1 · a0 · b0 ! 0 X 0 · a0−k · bk = k k=0 IS: n → n + 1 (a + b)n+1 = = I.V. = (a + b) · (a + b)n (a + b) · a· n X k=0 n X k=0 ! ! n n−k k a ·b k n ! X n n n−k k an−k · bk a ·b +b· k k Mathematik 1 für (Bio-)Informatiker k=0 75 7 Kombinatorik = ! n X k=0 = = = n+1 a n+1 a + + an+1 + n+1 = a = n+1 X 7.12 b) + k=0 ! n X k=1 n X ! n n−k+1 k a ·b + k k=1 n X k=1 n X n−1 ! n n−k+1 k X n n−k k+1 a ·b + bn+1 a ·b + k k ! k=0 n X k=1 !! n n + k k−1 ! n an−k+1 · bk + bn+1 k−1 · an−k+1 · bk + bn+1 ! n+1 · an−k+1 · bk + bn+1 k k=1 k=0 ! n n n−k+1 k X n n−k k+1 a ·b a ·b + k k ! n+1 · a(n+1)−k · bk k Korollar 7.16. Sei M eine endliche Menge mit |M | = n ∈ N0 , dann gilt |P(M )| = 2n . Beweis. Entweder per Induktion nach n oder: |P(M )| = 7.10 = n X k=0 n X k=0 n k ! ! n · 1n−k · 1k k = (1 + 1)n = 2n 7.15 Bemerkung 7.17. (Ungeordnete Auswahl mit Wiederholungen) Fragestellung: Wieviele Möglichkeiten gibt es k Objekte aus n Objekten auszuwählen ohne Berücksichtigung der Anordnung und möglichen Wiederholungen? Interpretation als Färbungsproblem: n Farben und k gleiche Kugeln. Wieviele Möglichkeiten gibt es, diese k Kugeln mit jeweils einer dieser n Farben zu färben? Satz 7.18. Seien |A| = n, k ∈ N0 . Die folgenden drei Größen sind gleich: (1) Die Anzahl der Möglichkeiten, k Elemente aus A ohne Berücksichtigung der Anordnung und mit möglichen Wiederholungen auszuwählen. (2) Die Anzahl der geordneten n-Tupel (x1 , . . . , xn ), wobei xi ∈ N0 und Mathematik 1 für (Bio-)Informatiker Pn i=1 xi = k. 76 7 Kombinatorik (3) Die Anzahl der 0, 1-Folgen der Länge n + k − 1, die genau k Einsen haben. Diese gemeinsame Zahl ist ! n+k−1 , wobei k > n möglich ist. k Beweis. „(1) = (2)“: Sei A = {a1 , . . . , an }. Jede Auswahl von k Elementen von A ohne Berücksichtigung der Anordnung mit Wiederholungen ordnen wir eindeutig zu (x , . . . , xn ), xi ∈ N0 , wobei xi = Anzahl, wie oft ai ausgewählt worden ist. Dann gilt P1n i=1 xi = k. „(2) = (3)“: (x1 , . . . , xn ) → (1 . . 1} 0 |1 .{z . . 1} 0 . . . 0 |1 .{z . . 1}) ∈ {0, 1}n+k−1 | .{z ←x1 → Nach 7.14 ist die Anzahl in (3) gerade ←x2 → ←xn → ! n+k−1 . k Beispiel: a) Wieviele Möglichkeiten ! ! gibt es, 8 gleiche Kugeln mit 3 Farben zu färben? Nach 7.18 10 10 sind es: = = 10·9 2 = 45. 8 2 b) Wieviele Möglichkeiten gibt es, 3 gleiche Kugeln mit 8 Farben zu färben? Nach 7.18 ! 10 sind es: = 10·9·8 1·2·3 = 120. 3 Satz 7.19. (Vereinigung von Mengen) Seien A1 , A2 und A3 endliche Mengen. Für die Vereingung zweier Mengen A1 und A2 gilt: |A1 ∪ A2 | = |A1 | + |A2 | − |A1 ∩ A2 | Für die Vereinigung dreier Mengen A1 , A2 und A3 gilt: |A1 ∪ A2 ∪ A3 | = |A1 | + |A2 ∪ A3 | − |A1 ∩ (A2 ∪ A3 )| = |A1 | + |A2 | + |A3 | − |A2 ∩ A3 | − |(A1 ∩ A2 ) ∪ (A1 ∩ A3 )| = |A1 | + |A2 | + |A3 | − |A2 ∩ A3 | −|A1 ∩ A2 | − |A1 ∩ A3 | + |A1 ∩ A2 ∩ A3 | Die Abbildung 7.1 visualisiert die Situation für zwei Mengen und die Abbildung 7.2 visualisiert die Situation für drei Mengen. Mathematik 1 für (Bio-)Informatiker 77 7 Kombinatorik A1 A2 2x 1x 1x Abbildung 7.1: Vereinigung zweier Mengen A2 A1 2x 1x 1x 3x 2x 2x 1x A3 Abbildung 7.2: Vereinigung dreier Mengen Die Verallgemeinerung dieser Vorgehensweise führt uns zum nächsten Satz: Satz 7.20. (Einschließungs-Ausschließungs-Prinzip) Seien A1 , . . . , An endliche Mengen, so gilt: \ j (−1)j+1 · |A1 ∪ . . . ∪ An | = A ik j=1 1≤i1 <i2 <...<ij ≤n k=1 n X X Beweis. Beweis durch Induktion nach n, siehe Satz 2.32 in [WHK04]. Satz 7.21. Seien A, B nicht leere endliche Mengen mit |B| = k, |A| = n. Die Anzahl der surjektiven Abbildungen B → A ist: n−1 X ! n (−1) · · (n − j)k j j=0 j Beweis. Sei Sur(B, A) := {f : f : B → A surjektiv}, A = {a1 , . . . , an } und Sl = {̺ : ̺ : B → A Abbildung mit al ∈ / ̺(B)} für l = 1, . . . , n. Dann gilt: Sur(B, A) = AB \ Mathematik 1 für (Bio-)Informatiker n [ Sl l=1 78 7 Kombinatorik Dabei ist AB die Menge aller Abbildungen B → A. Weiter gilt: = |Sur(B, A)| Wir bestimmen | (1) Es gilt: Sn l=1 Sl | n B [ Sl A − l=1 B A = n 7.8 k mit Hilfe von 7.20 in mehreren Schritten: |Sl | = (A \ {al })B = (n − 1)k und es gibt ! n 1 = n viele verschiedene Sl . (2) Für i1 < i2 gilt: |Si1 ∩ Si2 | = (A \ {ai1 , ai2 })B = (n − 2)k und es gibt ! n 2 viele solche Schnitte Si1 ∩ Si2 . (3) Analog erhält man ! n j viele Möglichkeiten für Indizes 1 ≤ i1 < . . . < ij ≤ n und |Si1 ∩ . . . ∩ Sij | = (n − j)k Nach 7.20 gilt: n [ Sl l=1 |Sur(B, A)| ! n X n (−1)j+1 · · (n − j)k = j j=1 n B [ = A − Sl l=1 k = n − n X j+1 (−1) j=1 n X ! n · · (n − j)k j ! n (−1) · · (n − j)k = n + j j=1 k Mathematik 1 für (Bio-)Informatiker j 79 7 Kombinatorik n−1 X ! n (−1) · · (n − j)k = n + j j=1 k n−1 X j ! n (−1)j · · (n − j)k = j j=0 Bemerkung: Sei k = n, so gilt Sei k < n, so gilt Pn−1 j=0 Pn−1 j=0 ! (−1)j n · · (n − j)n = n!. j (−1)j n · · (n − j)k = 0. j ! Beispiele: a) Seien k = 5 und n = 3, so gilt: 2 X ! 3 (−1) · · (3 − j)5 = 35 − 3 · 25 + 3 j j=0 j = 150 b) Seien k = 3 und n = 5, so gilt: 4 X ! 5 (−1) · · (5 − j)3 = 53 − 5 · 43 + 10 · 33 − 10 · 23 + 5 j j=0 j = 125 − 320 + 270 − 80 + 5 = 0 c) Seien k = 3 und n = 3, so gilt: 2 X ! 3 (−1) · · (3 − j)3 = 33 − 3 · 23 + 3 j j=0 j = 27 − 24 + 3 = 6 = 3! Seien A, B Mengen mit |B| = k und |A| = n. Die Anzahlen für injektive, surjektive, bijektive Abbildungen lassen sich wie folgt zusammenfassen: Mathematik 1 für (Bio-)Informatiker 80 7 Kombinatorik Abbildung B → A alle injektive Anzahl nk (n)k Satz 7.9 7.5 Mathematik 1 für (Bio-)Informatiker surjektive Pn−1 j j=0 (−1) · ! n · (n − j)k j 7.21 bijektive 0 k! = n n! k = n 7.9 ( 81 8 Graphen Graphen spielen in der Informatk eine wichtige Rolle, insbesondere Baumstrukturen. In diesem Kapitel werden wir verschiedene Graphen betrachten und einige grundlegende Eigenschaften dieser Graphen nachweisen. Definition 8.1. Ein Graph G = (E, K, τ ) besteht aus den folgenden Komponenten: • E 6= ∅, Menge der Ecken bzw. Knoten (engl. vertex, vertices). • K, Menge der Kanten (engl. edge). • Es gilt: E ∩ K = ∅. • τ Abbildung, die jeder Kante eine nicht leere, aber höchstens 2-elementige Menge {u, v} von Ecken zuordnet. Die Ecken u, v heißen Ecken oder Endknoten der betreffenden Kante. Man schreibt oft auch nur G = (E, K), falls τ aus der Beschreibung von G oder aus dem Kontext hervorgeht. Beispiele: a) Seien E = {1, 2, 3, 4, 5, 6} und K = {k1 , . . . , k8 } mit folgender Abbildung τ : τ (k1 ) = {1, 2} = τ (k2 ) τ (k3 ) = {2, 4} τ (k4 ) = {2, 3} τ (k5 ) = {4} τ (k6 ) = {3, 4} τ (k7 ) = {3, 5} τ (k8 ) = {4, 5} Abbildung 8.1 zeigt den Graph visualisiert. 82 8 Graphen 2 6 k1 k3 1 k5 k2 k4 4 k6 k8 Überkreuzung der Linien stellt keinen Knoten dar 3 5 k7 Abbildung 8.1: Visualisierung des Beispielgraphen b) Landkarte: E = Menge der Städte und K = Menge der Straßen, die benachbarte Städte verbinden. c) Arbeitszuweisungen: Sei E = {P1 , . . . , P4 , A1 , . . . , A5 }. Abbildung 8.2 zeigt den Beispielgraphen. P1 A1 P2 A2 P3 A3 P4 A4 A5 Abbildung 8.2: Ein bipartiter Graph Ein Graph heißt bipartit, falls sich die Menge der Knoten in zwei disjunkte Mengen A, B zerlegen lässt. Innerhalb der Menge A bzw. B dürfen keine zwei Knoten durch eine Kante verbunden sein. Kanten zwischen zwei Knoten a ∈ A und b ∈ B sind erlaubt. Mathematik 1 für (Bio-)Informatiker 83 8 Graphen d) Ein vollständiger Graph G = (E, K, τ ) ist definiert durch K = {{u, v} : u, v ∈ E, u 6= v} und τ (A) = A für alle A ∈ K. Abbildung 8.3 zeigt einen vollständigen Graphen mit 5 Ecken. Abbildung 8.3: Ein vollständiger Graph mit 5 Ecken Anzahl der Kanten: Hat ein vollständiger Graph n Ecken, so gibt es ! n 2 = n · (n − 1) 2 viele Kanten (Anzahl der 2-elementigen Teilmengen aus n-elementiger Menge). Definition 8.2. a) Sei G = (E, K, τ ) ein Graph. Eine Kante k ∈ K mit |τ (k)| = 1 heißt Schleife (engl. loop). Beispiel: In Beispiel a) aus 8.1 ist Kante k5 eine Schleife. b) Ist τ injektiv (d.h. G hat keine „Mehrfachkanten“) und hat G keine Schleife, so heißt G schlicht oder einfach. Ist G ein schlichter Graph, so hat jede Kante zwei verschiedene Eckpunkte und durch die Knoten ist die Kante eindeutig bestimmt. K lässt sich identifizieren mit Teilmenge von P(E) = {A ⊆ E : |A| = 2}. Beispiele: Beispiel a) aus 8.1 ist kein schlichter Graph. Beispiel c), d) aus 8.1 sind schlichte Graphen. Verallgemeinerungen: Obige Definitionen lassen sich wie folgt verallgemeinern: • Gerichtete Graphen, d.h. es gibt Endknoten und Anfangsknoten einer Kante. Abbildung 8.4 zeigt einen gerichteten Graphen. • Gewichtete Graphen, d.h. Kanten haben ein „Gewicht“. • Gerichtet und gewichteter Graph: Netzwerk Mathematik 1 für (Bio-)Informatiker 84 8 Graphen Abbildung 8.4: Ein gerichteter Graph Im Folgenden geht es nur um endliche Graphen, d.h. E und K sind endlich. Definition 8.3. Sei G = (E, K) ein Graph. Der Grad (bzw. die Valenz) einer Ecke u ist die Anzahl der Kanten, die u als Endknoten besitzen und wird mit d(u) bezeichnet. Eine Schleife mit Ecke u erhöht die Valenz von u um 2. Beispiele: a) Für einen vollständigen Graph mit n Ecken gilt d(u) = n − 1 für alle Ecken u. b) Im Graph aus Beispiel 8.1 a) haben die Ecken folgende Valenzen: d(1) = 2 d(2) = 4 d(3) = 3 d(4) = 5 d(5) = 2 d(6) = 0 Lemma 8.4. (Handshaking-Lemma) Sei G = (E, K) ein Graph, dann gilt: X u∈E d(u) = 2 · |K| Beweis. (I) Angenommen der Graph G besitzt keine Schleifen. Wir wenden das „Prinzip des doppelten Abzählens“ an: A := {(u, k) : u ∈ E, k ∈ K, u ist Endknoten von k} Da jede Ecke u Endknoten von genau d(u) vielen Kanten ist, gilt |A| = Weiter gilt |A| = 2 · |K|, da jede Kante genau 2 Endknoten hat. P u∈E d(u). (II) Allgemeiner Fall: Jede Schleife führt zu Summand 2 auf beiden Seiten. Korollar 8.5. In jedem Graph ist die Anzahl der Ecken mit ungerader Valenz gerade. Mathematik 1 für (Bio-)Informatiker 85 8 Graphen Beweis. Mit 8.4 gilt für einen beliebigen Graph G = (E, K): X u∈E ⇔ X d(u) = u∈{v∈E:d(v) gerade} X u∈{v∈E:d(v) ungerade} X d(u) + u∈{v∈E:d(v) ungerade} d(u) = 2 · |K| − X d(u) u∈{v∈E:d(v) gerade} {z | P d(u) = 2 · |K| } gerade Damit die Summe u∈{v∈E:d(v) ungerade} d(u) gerade wird, muss die Anzahl der Ecken u mit ungerader Valenz gerade sein. Definition 8.6. Sei G = (E, K) ein Graph. a) Eine Folge (u0 , k1 , u1 , k2 , u2 , . . . , un−1 , kn , un ), ui ∈ E, ki ∈ K, heißt Kantenzug, falls ui−1 und ui die Endknoten von ki sind. Ein Kantenzug verbindet u0 mit un . Dabei ist n die Länge des Kantenzugs. Ein Kantenzug heißt geschlossen, wenn u0 = un . Man beachte: Ist n = 0, so Kantenzug (u0 ). Ist n = 1, so Kantenzug mit einer Kante und deren Eckpunkte. Beispiel: Abbildung 8.5 enthält beispielsweise den Kantenzug 1a2a1f 3 und den geschlossenen Kantenzug 1a2a1f 3b2a1. 6 2 3 b a g f 1 c e 5 d 4 Abbildung 8.5: Beispiel Graph b) Ein Kantenzug heißt einfach, falls alle auftretenden Kanten verschieden sind. Auftretende Ecken dürfen jedoch mehrfach vorkommen. Beispiel: Die Beispielkantenzüge aus a) sind keine einfachen Kantenzüge. Der Kantenzug 2b3c4d5e2a1 ist ein einfacher Kantenzug. Mathematik 1 für (Bio-)Informatiker 86 8 Graphen c) Ein einfacher Kantenzug (u0 , k1 , u1 , k2 , u2 , . . . , un−1 , kn , un ) heißt Weg, falls alle ui paarweise verschieden sind (außer eventuell u0 = un ). Ein geschlossener Weg, d.h. u0 = un , heißt Kreis, falls n ≥ 1. Beispiel: Der Kantenzug 2b3c4d5e2a1 ist einfacher Kantenzug, 2b3c4d5 ist ein Weg, 2b3c4d5e2 ist ein Kreis. d) Ein Graph G heißt zusammenhängend, falls je zwei Ecken von G durch Kantenzug verbunden werden können. Bemerkung 8.7. a) In schlichten Graphen haben alle Kreise Länge ≥ 3. b) Ein Graph G ist zusammenhängend genau dann, wenn je zwei Ecken von G durch einen Weg verbindbar sind. Beweis. a) Kreis der Länge 1: Schleife. Schleife ist im schlichten Graph nicht erlaubt. Kreis der Länge 2: Mehrfachkante. Mehrfachkante ist im schlichten Graph nicht erlaubt. b) Klar. Definition 8.8. Ein Graph G heißt Euler’scher Graph1 , falls es einen geschlossenen einfachen Kantenzug gibt, der jede Kante enthält. Ein solcher Kantenzug heißt Euler’scher Kantenzug. Satz 8.9. Sei Graph G ein zusammenhängender Graph, so gilt: Ein Graph G ist ein Euler’scher Graph genau dann, wenn jede Ecke in G einen geraden Grad hat. Beweis. „⇒“: Sei G ein Euler’scher Graph, dann gibt es einen Euler’schen Kantenzug. In diesem Kantenzug wird jede Ecke von einer Kante angefahren und von einer anderen verlassen. Somit ist der Grad jeder Ecke gerade. „⇐“: Nach Voraussetzung ist d(u) gerade für alle u ∈ E. Die folgende Vorgehensweise ist in Abbildung 8.6 veranschaulicht. Beginne bei beliebiger Ecke und durchlaufe so lange verschiedene Kanten wie möglich. Danach ist man wieder beim Anfangspunkt. Angenommen nicht, dann endet man bei einer Ecke, die nicht die Startecke war. Diese Ecke wurde eine gewisse Anzahl angelaufen und wieder verlassen und am Schluss einmal angelaufen: Ungerade Anzahl von Kanten benutzt. Es gibt noch mindestens eine unbenutzte Kante. Dies ist ein Widerspruch. 1 Leonhard Euler (1707 - 1783) war ein schweizer Mathematiker. Mathematik 1 für (Bio-)Informatiker 87 8 Graphen 6 5 7 3 II 4 10 III 8 VI IV I 9 2 11 V 1 Start Ecke mit unebnutzen Kanten nach dem 1. Durchlauf Abbildung 8.6: Bestimmung eines Euler’schen Kantenzugs Wenn der obige Kantenzug alle Kanten enthält, so fertig. Ansonsten gibt es Ecken in dem Kantenzug, bei dem nicht benutzte Kanten enden (da G zusammenhängend ist). Gehe zu Ecke u im Kantenzug, wo nicht benutzte Kanten enden. An jeder Ecke gerade Anzahl nicht benutzter Kanten. Laufe entlang nicht benutzter Kanten. Endet bei u. Füge neuen Kantenzug ein. Im Beispiel 8.6: Alter Kantenzug (1, 2, 3, 4, 5, 6, 7, 8) wird zu folgendem Kantenzug (1, I, II, III, IV, V, V I, 2, 3, 4, 5, 6, 7, 8) ) Bemerkung: Härteres Problem Neben der Frage, ob es einen Euler’schen Kantenzug gibt, kann man auch das schwierigere Problem stellen: Gibt es einen geschlossenen Weg, der alle Ecken enthält? Dies ist ein sogenannter Hamilton Kreis. Beispiel: Das Königsberger Brückenproblem (Euler) stellt die Frage, ob es einen Rundweg gibt, der jede Brücke genau einmal enthält? Graphentheoretische Formulierung: Ecken sind Sandstücke und Kanten sind Brücken. Abbildung 8.7 zeigt den Graph. Nach 8.9 handelt es sich hierbei nicht um einen Euler’schen Graphen, da es Ecken gibt, die eine ungeraden Grad besitzen. Somit ist das Problem nicht lösbar. Definition 8.10. Ein Graph heißt Wald, wenn er keine Kreise enthält. Ein zusammenhängender Wald heißt Baum. Mathematik 1 für (Bio-)Informatiker 88 8 Graphen Abbildung 8.7: Graph zum Königsberger Brückenproblem Man beachte: Wälder sind schlicht, denn eine Schleife oder eine mehrfache Kante wäre ein Kreis im Graphen. Beispiel: Abbildung 8.8 zeigt einen Wald. Abbildung 8.8: Ein Wald Satz 8.11. Sei B = (E, K) ein Baum mit |E| ≥ 2. Dann gibt es mindestens zwei Ecken mit Grad 1. Beweis. Sei (u0 , k1 , u1 , . . . , un−1 , kn , un ) ein Weg maximaler Länge in B. Da B zusammenhängend ist und |E| ≥ 2 gilt, gilt n ≥ 1. Da B keine Kreise enthält, gilt u0 6= un . Wir zeigen: d(u0 ) = d(un ) = 1. Angenommen d(u0 ) > 1. Dann gibt es Kante k 6= k1 mit Endknoten u0 . Der andere Mathematik 1 für (Bio-)Informatiker 89 8 Graphen Endknoten v von k kann nicht in {u0 , . . . , un } liegen. Denn sonst gäbe es in B einen Kreis. Somit gibt es mit (v, k, u0 , k1 , u1 , . . . , un−1 , kn , un ) einen längeren Weg im Graph. Dies ist ein Widerspruch zur Maximalität von u0 k1 . . . kn un . Somit gilt d(u0 ) = 1 und mit gleicher Argumentation gilt ebenfalls d(un ) = 1. Definition 8.12. Sei B ein Baum. Dann heißen die Ecken von Grad 1 Blätter. Die anderen Knoten heißen innere Knoten. Lemma 8.13. Sei G = (E, K) ein zusammenhängender Graph und c ein Kreis in G. Entfernt man in G eine Kante k, die zu c gehört, so ist der Graph G′ = (E, K \ {k}) auch zusammenhängend. Beweis. Klar. Satz 8.14. Sei G = (E, K) ein Graph. Dann sind folgende Aussagen äquivalent: a) Graph G ist Baum. b) Graph G ist zusammenhängend und es gilt |K| = |E| − 1. Beweis. „a) ⇒ b)“: Sei G = (E, K) ein Baum. Induktion nach |E|: IA: Sei |E| = n = 1. Der Graph G hat keine Kanten, denn eine Kante wäre bei diesem Graphen eine Schleife, was wiederum ein Kreis wäre. Ein Baum enthält per Definition jedoch keine Kreise. Es gilt hier 0 = 1 − 1 und der Graph ist zusammenhängend. IS: Sei |E| = n > 1. Nach 8.11 ein existiert u ∈ E mit d(u) = 1. Sei k die eindeutige Kante mit Endknoten u. Setze G′ = (E \ {u}, K \ {k}). G′ ist zusammenhängend, da G zusammenhängend und d(u) = 1. G′ enthält keine Kreise, da G keine Kreise enthält. Also G′ ist ein Baum. Per Induktionvoraussetzung gilt: |K| − 1 = |E| − 1 − 1 |K| = |E| − 1 „b) ⇒ a)“: Sei Graph G zusammenhängend und es gelte |K| = |E| − 1. Wir zeigen: G enthält keine Kreise. Angenommen doch. Entfernt man die Kante k1 aus dem Kreis, dann nach 8.13 Graph G′ = (E, K \ {k1 }) zusammenhängend. Entferne solange Kanten bis kein Kreis mehr existiert. Der Graph (E, K \ {k1 , . . . , km }), der übrig bleibt, ist zusammenhängend ohne Kreis, also ein Baum. Aus der bereits bewiesenen Implikation „a) ⇒ b)“ folgt |K| = |E| + m − 1. Da in der Annahme mindestens ein Kreis vorhanden ist, also m ≥ 1, führt dies zu einem Widerspruch: |K| = |E| + m − 1 6= |E| − 1. Es muss also m = 0 gewesen sein und damit waren keine Kreis im ursprünglichen Graphen und dieser ist somit ein Baum. Mathematik 1 für (Bio-)Informatiker 90 8 Graphen Bemerkung 8.15. Beweisteil „b) ⇒ a)“ aus 8.14 zeigt: In jedem zusammenhängenden Graphen G = (E, K) existiert eine Teilmenge K ′ ⊆ K, so dass Graph B = (E, K ′ ) ein Baum ist. Ein sogenannter aufspannender Baum. Korollar 8.16. Sei B = (E, K) ein Baum. Dann gilt X u∈E d(u) = 2 · |E| − 2 Beweis. Folgt aus 8.4 und 8.14. Bemerkung 8.17. Ein Baum, bei dem eine Ecke als Wurzel ausgezeichnet wird, heißt Wurzelbaum. Abbildung 8.9 zeigt einen Wurzelbaum, wobei die Wurzel bei solchen Visualisierungen meist oben liegen. Die Anzahl der Niveaus ist die Tiefe des Baums. In dem beispielhaften Wurzel P Niveau 1 Niveau 2 a b Niveau 3 Niveau 4 Abbildung 8.9: Ein Wurzelbaum Wurzelbaum sind a und b „Kinder“ von P bzw. P ist „Elternknoten“ zu a und b. Bei Wurzelbäumen wird die Wurzel, falls sie Grad 1 hat, nicht als Blatt bezeichnet. Wenn jeder Knoten höchstens zwei Kinder hat, so spricht man von einem Binären Wurzelbaum. Wenn jeder Knoten (bis auf die Blätter) genau 2 Kinder hat und wenn der Wurzelbaum Tiefe n hat (und jedes Blatt Niveau n hat), so hat der Baum genau 2n viele Blätter. In der Informatik spielen Bäume eine wichtige Rolle als Datenstruktur für Such- und Sortieralgorithmen. Mathematik 1 für (Bio-)Informatiker 91 9 Formale Aussagenlogik In der formalen Aussagenlogik werden wir den Formelbegriff aus Kapitel 1 präzise definieren. Dabei spielen die beiden Begriffe Syntax und Semantik eine bedeutende Rolle. Wir werden die konjunktive Normalform und die disjunktive Normalform kennenlernen und darüber hinaus das Resolutionskalkül vorstellen, welches hilft auf syntaktischer Ebene zu entscheiden, ob eine Formel erfüllbar ist. Definition 9.1. (Syntax der Aussagenlogik) a) Das Alphabet (die verwendeten Zeichen) bestehen aus: – V = Menge der Variablen (Aussagenvariablen) Beispiel: u, v, w, x, y, z, x1 , x2 , . . . , y1 , y2 , . . . – Konstanten: 0 und 1. – Logische Junktoren: ¬: Negationsjunktor ∨: Disjunktionsjunktor ∧: Konjunktionsjunktor – Klammern: ( und ). b) Ein Ausdruck ist eine Zeichenfolge, die nach gewissen Regeln gebildet werden muss. Induktive Definition: 1) 0, 1 und alle Variablen sind Ausdrücke ( atomare Ausdrücke). 2) Sind A und B Ausdrücke, so auch (¬A), (A ∨ B) und (A ∧ B). 3) Jede Zeichenkette, die durch (mehrfacher, endlich ofter) Anwendung mit Hilfe von 1) und 2) erzeugt werden kann, ist ein Ausdruck ( aussagenlogische Formel) und keine anderen. Wir bezeichnen mit A die Menge aller Ausdrücke. 92 9 Formale Aussagenlogik Beispiele: a) Folgende Zeichenfolgen sind Ausdrücke: (x ∨ y), (x ∧ y), (x ∧ 0), ((x ∨ 1) ∧ (¬y)). b) Folgende Zeichenfolgen sind keine Ausdrücke: )x ∧ y, x ∧ y, x ∨ ∧, ¬)x. c) Sind A, B Ausdrücke, so ist auch ((A ∨ B) ∧ (¬(A ∧ B))) ein Ausdruck. Dieser wird abgekürzt mit (A ⊕ B) oder (A XOR B) (vgl. 1.4 und Teil a) aus Beispiel 1.5). d) Der Ausdruck ((¬A) ∨ B) wird abgekürzt mit (A ⇒ B). Man beachte, dass ⇒ kein Zeichen des Alphabets ist. e) (((¬A) ∨ B) ∧ ((¬B) ∨ A)) wird abgekürzt mit (A ⇔ B). Man beachte, dass ⇔ kein Zeichen des Alphabets ist. Die Schreibweise wird häufig vereinfacht durch das Weglassen der äußersten Klammern. Definition 9.2. (Semantik der Aussagenlogik) In der Aussagenlogik kommt es nur auf die Wahrheitswerte von Aussagen an, nicht auf deren genauen Inhalt. Die Semantik (= Bedeutung) von Ausdrücken erfolgt durch Zuweisung eines Wahrheitswertes 0 oder 1. Schritt 1: Eine Abbildung I : V → {0, 1} heißt Belegung. Sie legt den Wert der Variablen fest. Schritt 2: Man erweitert I zur Abbildung I ∗ : A → {0, 1} fort. Die Abbildung I ∗ heißt Interpretation. Die Definition von I ∗ ist rekursiv: 1. I ∗ (0) := 0 und I ∗ (1) := 1. 2. Sei x ∈ V , so I ∗ (x) := I(x). 3. Sei B = (¬A) Ausdruck, so I ∗ (B) := 1 − I ∗ (A). 4. Sei B = (A1 ∨ A2 ) Ausdruck, so I ∗ (B) = max(I ∗ (A1 ), I ∗ (A2 )). 5. Sei B = (A1 ∧ A2 ) Ausdruck, so I ∗ (B) := min(I ∗ (A1 ), I ∗ (A2 )). Um alle möglichen Interpretationen von einer Aussage A zu bestimmen, muss man alle Belegungen der in A auftretenden Variablen betrachten, z.B. mit einer Wahrheitswertetabelle. Mathematik 1 für (Bio-)Informatiker 93 9 Formale Aussagenlogik Beispiel: Sei A = (x ∨ y) ∧ (¬(x ∧ y)) eine Aussage. Man schreibt für A auch x ⊕ y. Was sind mögliche Wahrheitswerte von A? I ∗ (x) I ∗ (y) I ∗ (x ∨ y) I ∗ (x ∧ y) I ∗ (¬(x ∧ y)) I ∗ ((x ∨ y) ∧ (¬(x ∧ y))) 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 0 0 0 1 0 Definition 9.3. I ∗ (A) = 1. a) Ein Ausdruck A heißt erfüllbar, wenn es eine Belegung I gibt mit b) Ein Ausdruck A heißt Tautologie, wenn I ∗ (A) = 1 gilt für alle Belegungen I. c) Ein Ausdruck A heißt Kontradiktion, wenn A nicht erfüllbar ist. D.h. es gilt I ∗ (A) = 0 für alle Belegungen von I. d) Eine endliche Menge F ⊆ A heißt erfüllbar oder konsistent, wenn es eine Belegung I gibt mit I ∗ (A) = 1 für alle A ∈ F. Eine solche Abbildung I heißt dann Modell für F. Gibt es keine solche Belegung, so heißt F unerfüllbar oder kontradiktorisch. Beispiel: a) Die Ausdrücke x ∨ y und x ∧ y sind jeweils erfüllbar, aber keine Tautologie (vgl. 1.2 und 1.3). b) Der Ausdruck 1 ist eine Tautologie, der Ausdruck 0 ist eine Kontradiktion. c) Der Ausdruck ¬A ∨ A ist eine Tautologie für jeden Ausdruck A. Der Ausdruck ¬A ∧ A ist eine Kontradiktion für jeden Ausdruck A. d) Sei F = {(x ∨ y) ∧ ¬z, z ∨ y, x, ¬y ∨ y}. F ist erfüllbar, z.B. mit I(x) = 1, I(y) = 1 und I(z) = 0. e) Sei F = {¬x, y, ¬y ∨ x}, dann ist F ist unerfüllbar. Lemma 9.4. Sei F = {A1 , . . . , An } endliche Menge von Ausdrücken. Dann ist F erfüllbar genau dann, wenn der Ausdruck (. . . ((A1 ∧ A2 ) ∧ A3 ) . . . An ) erfüllbar ist. Definition 9.5. Zwei Ausdrücke A und B heißen logisch äquivalent, A ≡ B, falls für jede Belegung I gilt I ∗ (A) = I ∗ (B). Man beachte: Das Symbol ≡ ist kein Zeichen der Sprache der Aussagenlogik. Das Symbol ≡ ist ein Zeichen der Metasprache der Aussagenlogik. Mathematik 1 für (Bio-)Informatiker 94 9 Formale Aussagenlogik Bemerkung 9.6. a) Es gilt A ≡ B genau dann, wenn A ⇔ B eine Tautologie ist. b) ≡ ist eine Äquivalenzrelation auf A. In der Äquivalenzklasse von 1 liegen alle Tautologien, in der Äquivalenzklasse von 0 liegen alle Kontradiktionen. Satz 9.7. Seien A, B, C ∈ A, so gilt: a) Doppelte Negation: ¬(¬A) ≡ A. b) Idempotenz: A ∨ A ≡ A und A ∧ A ≡ A. c) Kommutativität: A ∨ B ≡ B ∨ A und A ∧ B ≡ B ∧ A. d) Assoziativität: (A ∨ B) ∨ C ≡ A ∨ (B ∨ C) und (A ∧ B) ∧ C ≡ A ∧ (B ∧ C). e) Distributivität: A∨(B ∧C) ≡ (A∨B)∧(A∨C) und A∧(B ∨C) ≡ (A∧B)∨(A∧C). f) Absorption: A ∨ (A ∧ B) ≡ A und A ∧ (A ∨ B) ≡ A. g) De Morgan’sche Regeln: ¬(A ∨ B) ≡ ¬A ∧ ¬B und ¬(A ∧ B) ≡ ¬A ∨ ¬B. h) 1 ∨ A ≡ 1 1∧A≡A ¬A ∨ A ≡ 1, d.h. ¬A ∨ A ist eine Tautologie. i) 0 ∨ A ≡ A 0∧A≡0 ¬A ∧ A ≡ 0, d.h. ¬A ∧ A ist eine Kontradiktion. Beweis. Wir beweisen nur die erste De Morgan’sche Regel. Sei I eine beliebige Belegung. Dann gilt: I ∗ (¬(A ∨ B)) = 1 − I ∗ (A ∨ B) = 1 − max(I ∗ (A), I ∗ (B)) I ∗ (¬A ∧ ¬B) = min(I ∗ (¬A), I ∗ (¬B)) = min(1 − I ∗ (A), 1 − I ∗ (B)) = 1 − max(I ∗ (A), I ∗ (B)) Alternativ lässt sich der Beweis auch mit Hilfe einer Wahrheitswertetabelle führen: I ∗ (A) I ∗ (B) I ∗ (A ∨ B) I ∗ (¬(A ∨ B)) I ∗ (¬A) I ∗ (¬B) I ∗ (¬A ∧ ¬B) 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 1 1 1 Mathematik 1 für (Bio-)Informatiker 95 9 Formale Aussagenlogik Vereinfachte Schreibweise: Aufgrund der Assoziativität schreiben wir A∨B ∨C statt (A∨B)∨C oder auch A∧B ∧C statt (A ∧ B) ∧ C. Desweiteren definieren wir: m _ i=1 m ^ i=1 Ai := A1 ∨ A2 ∨ . . . ∨ Am Ai := A1 ∧ A2 ∧ . . . ∧ Am Sei I eine Belegung, so gilt: W Ai ) = 1 genau dann, wenn I ∗ (Ai ) = 1 für ein i ∈ {1, . . . , m} gilt. I∗ ( m Vi=1 m ∗ I ( i=1 Ai ) = 1 genau dann, wenn I ∗ (Ai ) = 1 für alle i ∈ {1, . . . , m} gilt. Lemma 9.8. Sei A ein Ausdruck, A0 ein Teilausdruck von A, d.h. eine zusammenhängende Zeichenfolge in A, die selbst ein Ausdruck ist. Angenommen es gelte A0 ≡ B für einen Ausdruck B. Ersetzt man in A den Teilausdruck A0 durch B, so entsteht ein neuer Ausdruck A′ mit A′ ≡ A. Beweis. Für jede Belegung I steht bei der Berechnung von I ∗ (A′ ) an der Stelle, wo I ∗ (B) auftritt, der gleiche Wert wie I ∗ (A0 ). Alle anderen Teile bleiben gleich. Somit gilt I ∗ (A) = I ∗ (A′ ). Beispiele: a) ¬(A1 ∧ A2 ∧ A3 ) 9.7 g) ≡ ¬(A1 ∧ A2 ) ∨ ¬A3 ≡ ¬A1 ∨ ¬A2 ∨ ¬A3 9.8 9.7 g) b) (A11 ∨ A12 ) ∧ (A21 ∨ A22 ∨ A23 ) ≡ ((A11 ∨ A12 ) ∧ (A21 ∨ A22 )) ∨ ((A11 ∨ A12 ) ∧ A23 ) ≡ (((A11 ∨ A12 ) ∧ A21 ) ∨ ((A11 ∨ A12 ) ∧ A22 )) ∨ 9.7 e) c) 9.7 e) c) 9.8 ((A11 ∧ A23 ) ∨ (A12 ∧ A23 )) Mathematik 1 für (Bio-)Informatiker 96 9 Formale Aussagenlogik ≡ 9.7 e) c) 9.8 (A11 ∧ A21 ) ∨ (A12 ∧ A21 ) ∨ (A11 ∧ A22 ) ∨ (A12 ∧ A22 ) ∨ (A11 ∧ A23 ) ∨ (A12 ∧ A23 ) Die Beispiele a) und b) lassen sich verallgemeinern und per Induktion und De Morgan bzw. Distributivität beweisen. Satz 9.9. a) Verallgemeinerte De Morgan’sche Regeln: m ^ ¬ i=1 m _ ¬ Ai Ai i=1 ! ≡ ! ≡ m _ i=1 m ^ i=1 ¬Ai ¬Ai b) ≡ (A1,1 ∨ . . . ∨ A1,k1 ) ∧ (A2,1 ∨ . . . ∨ A2,k2 ) ∧ (Am,1 ∨ . . . ∨ Am,km ) _ m (A1,i1 ∧ A2,i2 ∧ . . . ∧ Am,im ) (i1 ,...,im ) ∈ × {1,...,ks } s=1 Disjunktion von Qm j=1 kj vielen Ausdrücken, die alle Konjunktionen sind. Analog gilt die logische Äquivalenz für vertauschte ∧ und ∨. Definition 9.10. a) Die Ausdrücke x und ¬x für ein x ∈ V , heißen Literale. Die Menge der Literale wird bezeichnet mit L. b) Im Folgenden seien pi,j Literale. (i) Ein Ausdruck A ist eine konjunktive Normalform ( KNF), falls gilt A = A1 ∧ . . . ∧ Am , wobei Ai = pi,1 ∨ . . . ∨ pi,ki . (ii) Ein Ausdruck A ist eine disjunktive Normalform ( DNF), falls gilt A = A1 ∨ . . . ∨ Am , wobei Ai = pi,1 ∧ . . . ∧ pi,ki . Dabei ist m = 1 und ki = 1 möglich. Theorem 9.11. Zu jedem Ausdruck A ∈ A gibt es eine logisch äquivalente KNF und eine logisch äquivalente DNF (nicht eindeutig bestimmt). Beweis. Wir beweisen nur die Existenz der KNF mit Hilfe einer Induktion nach der Anzahl r (r = Rang von A) der in A auftretendenen Junktoren. IA: r = 0 Junktoren. Mathematik 1 für (Bio-)Informatiker 97 9 Formale Aussagenlogik (1) A = x mit x ∈ V , KNF. (2) A = 1, so A ≡ x ∨ ¬x, KNF mit m = 1, k1 = 2. (3) A = 0, so A ≡ x ∧ ¬x, KNF mit m = 2, k1 = k2 = 1. IS: r ≥ 1 Junktoren. IV: Behauptung sei richtig für alle Ausdrücke mit weniger als r Junktoren. (1) Sei A = ¬D. Per Induktion existiert eine KNF für D: D ≡ m ^ i=1 Weiter gilt: A ≡ 9.8 ≡ 9.9 a) ≡ 9.9 b) ¬ m ^ i=1 m _ i=1 ki _ j=1 ki ^ j=1 KNF pij ki _ j=1 pij ¬pij Dabei muss noch ¬(¬x) durch x ersetzt werden. (2) Sei A = D1 ∧ D2 . Nach Induktionsvorausetzung gilt Di ≡ Di′ wobei Di′ KNF ist für i = 1, 2. Nach 9.8 gilt somit A ≡ D1′ ∧ D2′ , wobei D1′ ∧ D2′ KNF ist. (3) Sei A = D1 ∨ D2 . Nach Induktionsvorausetzung gilt Di ≡ Di′ wobei Di′ KNF ist für i = 1, 2. Weiter gilt: A ≡ D1′ ∨ D2′ ≡ m ^1 9.8 ≡ 9.9 b) ki _ j=1 (1) pij ∨ D2′ Mathematik 1 für (Bio-)Informatiker ≡ i=1 m ^1 i=1 ki _ j=1 | ki _ j=1 ki _ (1) pij (1) pij j=1 (1) {z (∗) pij ∨ ∨ D2′ ∨ D2′ m ^2 i=1 } li _ j=1 (2) pij 98 9 Formale Aussagenlogik ≡ 9.9 b) m ^2 i=1 | ki _ (1) pij j=1 ∨ {z li _ j=1 (+) (2) pij Audruck (+) ersetzen für (∗) liefert eine KNF für A. } Beispiel: A = = ¬((x ⇒ y) ∧ (y ⇒ ¬z)) ¬((¬x ∨ y) ∧ (¬y ∨ ¬z)) ≡ ¬(¬x ∨ y) ∨ ¬(¬y ∨ ¬z) ≡ (x ∧ ¬y) ∨ (y ∧ z) ≡ (x ∨ (y ∧ z)) ∧ (¬y ∨ (y ∧ z)) ≡ (x ∨ y) ∧ (x ∨ z) ∧ (¬y ∨ y) ∧ (¬y ∨ z) ≡ (x ∨ y) ∧ (x ∨ z) ∧ 1 ∧ (¬y ∨ z) De Morgan De Morgan Distributivität Distributivität ≡ DNF (x ∨ y) ∧ (x ∨ z) ∧ (¬y ∨ z) KNF KNF Wahrheitswertetabelle für A: I ∗ (x) I ∗ (y) I ∗ (z) I ∗ (x ⇒ y) I ∗ (y 1 1 1 1 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 ⇒ ¬z) I ∗ ((x ⇒ y) ∧ (y ⇒ ¬z)) I ∗ (A) 0 0 1 1 1 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 Die DNF (x ∧ y ∧ z) ∨ (x ∧ ¬y ∧ z) ∨ (x ∧ ¬y ∧ ¬z) ∨ (¬x ∧ y ∧ z) für A hat die gleiche Wahrheitswertetabelle wie A, ist also logisch äquivalent zu A. Die KNF (¬x ∨ ¬y ∨ z) ∧ (x ∨ ¬y ∨ z) ∧ (x ∨ y ∨ ¬z) ∧ (x ∨ y ∨ z) für A hat die gleiche Wahrheitswertetabelle wie A, ist also logisch äquivalent zu A. Satz 9.12. Sei A ∈ A ein Ausdruck. Mathematik 1 für (Bio-)Informatiker 99 9 Formale Aussagenlogik a) Man bestimmt eine DNF für A folgendermaßen: Für jede Belegung I, für die I ∗ (A) = 1 ist, bildet man folgende Konjunktionen: Ist I(xi ) = 1, so tritt xi in der Konjunktion auf. Ist I(xi ) = 0, so tritt ¬xi in der Konjunktion auf. Dann wird Disjunktion über alle diese Konjunktionen gebildet. b) Man bestimmt KNF für A folgendermaßen: Für jede Belegung I, für die I ∗ (A) = 0 ist, bildet man folgende Disjunktionen: Ist I(xi ) = 1, so tritt ¬xi in der Disjunktion auf. Ist I(xi ) = 0, so tritt xi in der Disjunktion auf. Dann wird Konjunktion über alle diese Disjunktionen gebildet. Beweis. a) Sei D = K1 ∨ . . . ∨ Kl die angegebene DNF, wobei die Ki jeweils Konjunktionen von Literalen sind. Sei I eine Belegung mit I ∗ (A) = 1. Die Konjunktion enthält xi , falls I(xi ) = 1 und ¬xi , falls I(xi ) = 0. Also haben alle Literale in dieser Konjunktion unter I den Wert 1, d.h. ihre Konjunktion hat den Wert 1. Somit gilt I ∗ (D) = 1. Ist umgekehrt J eine Belegung mit J ∗ (D) = 1. Dann muss eines der Ki den Wert 1 haben, d.h. J ∗ (Ki ) = 1. Dann haben alle Literale in Ki den Wert 1. Nach Konstruktion der Ki ist also J Belegung mit J ∗ (A) = 1. Somit A ≡ D. b) Sei K die konstruierte KNF. Es gilt I ∗ (A) = 0 ⇔ I ∗ (¬A) = 1. Bilde DNF D nach a) für ¬A. Es gilt D ≡ ¬A und damit ¬D ≡ A. Wende De Morgan auf ¬D an. Das liefert gerade K und es gilt K ≡ ¬D ≡ A. Bemerkung 9.13. a) Bildet man für Ausdruck A ∈ A die DNF K1 ∨ . . . ∨ Km bzw. KNF D1 ∧ . . . ∧ Dl entsprechend nach 9.12, so enthalten alle diese Ki bzw. Dj jede Variable bzw. dessen Negation genau einmal. Solche DNF bzw. KNF sind bis auf die Reihenfolge der Konjunktionen bzw. Disjunktionen eindeutig bestimmt. Man nennt sie kanonische DNF bzw. kanonische KNF. b) Jede Bool’sche Funktion, d.h. jede Abbildung f : {0, 1}n → {0, 1}, lässt sich mit ∧, ∨ und ¬ ausdrücken. Insbesondere lässt sich jeder 2-stelliger logischer Junktor durch ∧, ∨ und ¬ darstellen. Dabei entspricht ein 2-stelliger logischer Junktor einer Abbildung f : {0, 1}2 → {0, 1}. Beweis. Teil b) folgt aus 9.12. Mathematik 1 für (Bio-)Informatiker 100 9 Formale Aussagenlogik Erfüllbarkeitsproblem: Gegeben ist ein Ausdruck A ∈ A. Frage: Ist A erfüllbar? 1.Möglichkeit: (semantisch) Bildung der Warheitswertetabelle. Sind n Variablen in Ausdruck A, so hat die Tabelle 2n Zeilen. Sehr zeitaufwendig. 2.Möglichkeit: (syntaktisch) Verwendung eines Kalküls: Resolutionskalkül. Idee: Sei F = {(x ∨ p1 ∨ . . . ∨ pl ), (¬x ∨ q1 ∨ . . . ∨ qm )}. Unter jeder Belegung I hat x entweder den Wert 0 oder 1. Ist F erfüllbar und I Belegung, die F enthält, dann muss I ∗ (p1 ∨ . . . ∨ pl ) = 1 oder I ∗ (q1 ∨ . . . ∨ qm ) = 1 gelten. F erfüllbar ⇔ F ∪ {p1 ∨ . . . ∨ pl ∨ q1 ∨ . . . ∨ qm } erfüllbar. Dies gilt auch, wenn F noch weitere Ausdrücke A1 , . . . , At enthält. Im Resolutionskalkül werden Disjunktionen von Literalen beschrieben als Menge dieser Literale. Z.B. x ∨ ¬y ∨ z → {x, ¬y, z}. Definition 9.14. a) Eine endliche Menge von Literalen heißt Klausel. b) Ist A = (p1,1 ∨ . . . ∨ p1,n1 ) ∧ . . . ∧ (pm,1 ∨ . . . ∨ pm,nm ) ∈ A eine KNF, pi,j Literale, so heißen die Mengen {pi,1 , . . . , pi,ni }, für i = 1, . . . , m, die Klauseln von A. Die Menge aller Klauseln heißt Klauselmenge von A, bezeichnet mit K(A). Beispiel: Sei A = (x ∨ y ∨ ¬z ∨ y) ∧ (¬x ∨ w ∨ y), so ist die Klauselmenge von A folgende: K(A) = {{x, y, ¬z}, {¬x, w, y}}. c) Sei K eine Klausel. Ist K = ∅, so setze A(K) := 0. W Ist K 6= ∅, so setze A(K) := q∈K q. Beispiel: Ist K = {x, y, ¬z}, so A(K) = x ∨ y ∨ ¬z. d) Ist M eine nicht leere Menge von Klauseln, so setze A(M) = {A(K) : K ∈ M}. Die Menge M heißt erfüllbar, falls A(M) erfüllbar. Sonst heißt M unerfüllbar. Beispiel: Ist M = {{x, y, ¬z}, {u, w, ¬x}}, so A(M) = {x ∨ y ∨ ¬z, u ∨ w ∨ ¬x}. M erfüllbar ⇔ (x ∨ y ∨ ¬z) ∧ (u ∨ w ∨ ¬x) erfüllbar. e) Zwei nicht leere Mengen M , N von Klauseln heißen (logisch) äquivalent, wenn V V L∈N A(L). K∈M A(K) (logisch) äquivalent Bemerkung 9.15. a) Die Menge M = {∅} ist nicht erfüllbar. Mathematik 1 für (Bio-)Informatiker 101 9 Formale Aussagenlogik b) Sind A, B ∈ A Ausdrücke in KNF, so gilt: A ≡ B genau dann, wenn K(A), K(B) logisch äquivalent. c) Ein Ausdruck A ∈ A in KNF ist erfüllbar genau dann, wenn K(A) erfüllbar ist. Beispiel: Sei A = (x ∨ y) ∧ (¬x ∨ z) ∧ (x ∨ y) ∈ A. Es gilt K(A) = {{x, y}, {¬x, z}} und A(K(A)) = {x ∨ y, ¬x ∨ z}. Schreibweise: Sei p ein Literal, so definieren wir: p := ( ¬x x p = x, x ∈ V p = ¬x, x ∈ V Bemerkung: KNF (x ∨ p1 ∨ . . . ∨ pm ) ∧ (¬x ∨ q1 ∨ . . . ∨ qt ) ∧ A1 ∧ . . . ∧ An erfüllbar ⇔ {x ∨ p1 ∨ . . . ∨ pm , ¬x ∨ q1 ∨ . . . ∨ qt , A1 , . . . , An } = F erüllbar ⇔ {x ∨ p1 ∨ . . . ∨ pm , ¬x ∨ q1 ∨ . . . ∨ qt , p1 ∨ . . . ∨ pm ∨ q1 ∨ . . . ∨ qt , A1 , . . . , An } = F ∪ {p1 ∨ . . . ∨ pm ∨ q1 ∨ . . . ∨ qt } erüllbar Die Mengen F und F ∪ {p1 ∨ . . . ∨ pm ∨ q1 ∨ . . . ∨ qt } sind logisch äquivalent. Definition 9.16. Seien K, L Klauseln. Existiert ein Literal p mit p ∈ K und p ∈ L, so heißt die Klausel R := (K \ {p}) ∪ (L \ {p}) Resolvente von K und L. Beispiele: a) Seien K = {x, ¬y, z}, L = {¬x, y}, dann ist {¬y, z, y} eine Resolvente von K und L, {x, z, ¬x} eine Resolvente von K und L, aber {z} ist keine Resolvente von K und L. b) Die Klauseln K = {x, y, ¬z} und L = {x, w} haben keine Resolvente. c) Die Klauseln {x} und {¬x} haben als Resolvente ∅. Lemma 9.17. Sei K eine endliche Menge von Klauseln und seien K, L ∈ K. Ist R eine Resolvente von K und L, so sind K und K ∪ R logisch äquivalent. Mathematik 1 für (Bio-)Informatiker 102 9 Formale Aussagenlogik Ist insbesondere R = ∅, so ist K unerfüllbar. Definition 9.18. Sei K eine nicht leere Menge von Klauseln. Definiere: Res(K) := K ∪ {R : R Resolvente zweier Klauseln aus K} Desweiteren führen wir folgende rekursive Definition ein: Res0 (K) := K Resn+1 (K) := Res(Resn (K)) ∀n ≥ 0 Man beachte, dass gilt: Res1 (K) = Res(Res0 (K)) = Res(K) n Res (K) ⊆ Resn+1 (K) ∀n ≥ 0 Beispiel: Wir betrachten den Ausdruck (x ∨ ¬y ∨ z) ∧ (y ∨ z) ∧ (¬x ∨ z) ∧ (¬x ∨ ¬y). Es gilt K = {{x, ¬y, z}, {y, z}, {¬x, z}, {¬x, ¬y}} und weiter gilt: Res(K) = K ∪ {{¬y, z}, {x, z}} Res(K)2 = Res(K) ∪ {{z}} Res(K)3 = Res(K)2 Res(K)n = Res(K)2 ∀n ≥ 2 Satz 9.19. Sei K eine endliche Menge von Klauseln. In den Klauseln seien insgesamt k verschiedene Literale enthalten. Dann gilt für alle n ∈ N0 : |Resn (K)| ≤ 2k Insbesondere existiert ein kleinstes r ∈ N0 , so dass für alle n ≥ r gilt: Rr (K) = Resn (K) Wir bezeichnen Resr (K) mit Res∗ (K). Beweis. Seien p1 , . . . , pk alle Literale in K, so ist K ⊆ P({p1 , . . . , pk }). Bei der Resolventenbildung entstehen keine neuen Literale. D.h. Resn (K) ⊆ P({p1 , . . . , pk }) für alle n ∈ N0 . Es gilt: |Resn (K)| ≤ |P({p1 , . . . , pk })| = 2k . 7.16 Mathematik 1 für (Bio-)Informatiker 103 9 Formale Aussagenlogik Theorem 9.20. Sei K eine nicht leere endliche Menge von Klauseln. Dann gilt: K erfüllbar ⇔ ∅ 6∈ Res∗ (K) Insbesondere: Ist A ein Ausdruck in KNF, so gilt: A erfüllbar ⇔ ∅ 6∈ Res∗ (K(A)) Beweis. Siehe Theorem 2.62 in [WHK04]. Korollar 9.21. Sei A ein Ausdruck. Durch Berechnung einer äquivalenten KNF und anschließender Durchführung des Resolutionskalküls ist in endlich vielen Schritten entscheidbar, ob A erfüllbar ist oder nicht. Beispiele: a) Sei A = (x ∨ ¬y ∨ z) ∧ (y ∨ z) ∧ (¬x ∨ z) ∧ (¬x ∨ ¬y), so ist K(A) genau die Menge der Klauseln aus dem Beispiel 9.18. Es gilt ∅ 6∈ Res∗ (K), also ist A erfüllbar nach 9.20. Modelle: I(z) = 1, mindestens eines von I(x) und I(y) gleich 0. b) Sei A = (w ∨ ¬x ∨ y) ∧ (¬w ∨ z) ∧ (z ∨ ¬y) ∧ (x ∨ z) ∧ (¬z ∨ x) ∧ (¬w ∨ ¬z) ∧ (¬y ∨ ¬z), so gilt: Res(K(A)) ⊇ K(A) ∪ {{¬x, y, z}, {¬z, w y}} Res2 (K(A)) ⊇ Res(K(A)) ∪ {{¬x, z}, {¬z, y}} Res3 (K(A)) ⊇ Res(K(A))2 ∪ {{z}, {¬z}} Es gilt ∅ ∈ Res4 (K(A)). Der Ausdruck A ist somit nicht erfüllbar. Bemerkung 9.22. Mit dem Resolutionskalkül kann man auch nachprüfen, ob ein Ausdruck A eine Tautologie ist. Es gilt: A Tautologie ⇔ ¬A nicht erfüllbar. Der Ausdruck ¬A lässt sich mit Resolutionskalkül testen, nachdem ¬A äquivalent auf KNF umgeformt wurde. Definition 9.23. Sei F eine nicht leere endliche Menge von Ausdrücken. Ein Ausdruck A ∈ A heißt logische Folgerung aus F, bezeichnet durch F |= A, wenn für jedes Modell I von F gilt I ∗ (A) = 1. Bemerkung 9.24. Sei F = {B1 , . . . , Bn }. Es gilt: F |= A ist Tautologie. ⇔ (B1 ∧ . . . ∧ Bn ) ⇒ A Beispiele: a) Sei F = {x, y} und A = x ∧ y. Der Ausdruck A ist eine logische Folgerung aus F. Mathematik 1 für (Bio-)Informatiker 104 9 Formale Aussagenlogik b) Sei F = {B, B ⇒ A}, so gilt F |= A. Bemerkung 9.25. Eine logische Folgerung F |= A kann man mit einer Wahrheitswertetabelle nachprüfen. Es geht auch mit dem Resolutionskalkül. Sei F = {B1 , . . . , Bn }, dann gilt: F |= A ⇔ (B1 ∧ . . . ∧ Bn ) ⇒ A ist Tautologie ⇔ ¬(¬(B1 ∧ . . . ∧ Bn ) ∨ A) ist unerfüllbar 9.24 ⇔ De Morgan B1 ∧ . . . ∧ Bn ∧ ¬A ist unerfüllbar Mathematik 1 für (Bio-)Informatiker 105 10 Halbgruppen, Monoide, Gruppen In der Algebra werden Mengen mit Verknüpfungen untersucht. Diese Verknüpfungen gehorchen gewissen Axiomen, man spricht daher auch von algebraischen Strukturen. In diesem Kapitel werden wir uns mit einigen grundlegenden Strukturen der Algebra vertraut machen. Definition 10.1. Sei X 6= ∅ eine Menge. Die folgende Abbildung ist eine Verknüpfung oder (abstrakte) Multiplikation auf X: ( X ×X →X (a, b) 7→ a · b Der Term a · b heißt auch Produkt von a und b. Man beachte: Das Symbol · muss nichts mit der normalen Multiplikation von Zahlen zu tun haben. Es steht als Platzhalter für andere Verknüpfungssymbole in speziellen Beispielen. Eine Verknüpfung · über einr endlichen Menge X = {x1 , . . . , xn } lässt sich durch eine Verknüpfungstafel wie folgt beschreiben: x1 x1 .. . xi .. . ... xj .. . .. . . . . . . . xi · xj . . . xn xn Beispiele: a) Sei X = {a, b} und sei eine Verknüpfung auf X durch folgende Tabelle gegebenen: a b a b b b a a 106 10 Halbgruppen, Monoide, Gruppen Diese Verknüpfung ist nicht assoziativ, denn es gilt beispielsweise (a·a)·a = b·a = a und a · (a · a) = a · b = b. Desweiteren ist die Verknüpfung auch nicht kommutativ, denn es gilt a · b = b und b · a = a. b) Sei X = Z \ N. Die normale Multiplikation ist keine Verknüpfung auf X, aber die normale Addition ist eine Verknüpfung auf X. Definition 10.2. Sei H 6= ∅ eine Menge mit einer Verknüpfung · . Das Tupel (H, ·) heißt Halbgruppe, wenn das Assoziativgesetz gilt: a · (b · c) = (a · b) · c ∀a, b, c ∈ H. Man beachte, dass beim Assoziativgesetz die Elemente a, b und c nicht notwendig verschieden sein müssen. Bemerkung 10.3. Das Assoziativgesetz bedeutet, dass bei endlichen Produkten bei jeder sinnvollen Klammerung dasselbe Ergebnis entsteht. Wir betrachten dazu beispielhaft ein Produkt mit vier Elementen. Mit Hilfe des Assoziativgesetzes gilt die Gleichheit für alle sinnvollen Klammerungen: (a · b) · (c · d) = ((a · b) · c) · d = (a · (b · c)) · d = a · ((b · c) · d) = a · (b · (c · d)) Man beachte: Die Reihenfolge der Faktoren darf dabei im Allgemeinen nicht verändert werden. Beispiele: a) Die Tupel (N, ·), (Z, ·), (Q, ·), (R, ·) sind Halbgruppen, wobei · die normale Multiplikation ist. Für die normale Multiplikation gilt: a · (b · c) = (a · b) · c ∀a, b, c. b) Die Tupel (N, +), (Z, +), (Q, +), (R, +) sind Halbgruppen, wobei + die normale Addition ist. Für die normale Addition gilt: a + (b + c) = (a + b) + c ∀a, b, c. c) Das Tupel (Q \ {0}, :) ist keine Halbgruppe, da : nicht assoziativ ist. Es gilt beispielsweise (6 : 2) : 3 = 3 : 3 = 1 und 6 : (2 : 3) = 6 : 32 = 9. d) Sei M eine Menge. Das Tupel (P(M ), ∪) ist eine Halbgruppe, denn es gilt: (A ∪ B) ∪ C = A ∪ (B ∪ C) ∀A, B, C ∈ P(M ). Das Tupel (P(M ), ∩) ist eine Halbgruppe, denn es gilt: (A ∩ B) ∩ C = A ∩ (B ∩ C) ∀A, B, C ∈ P(M ). S e) Sei A = 6 ∅ ein Alphabet, sei A+ := n∈N An . In A+ liegen alle Tupel (a1 , . . . , an ), wobei ai ∈ A und n ∈ N. Schreibweise: Statt (a1 , . . . , an ) schreibe a1 . . . an . A+ Mathematik 1 für (Bio-)Informatiker 107 10 Halbgruppen, Monoide, Gruppen besteht aus allen endlichen „Wörtern“ über A. A+ wird zur Halbgruppe durch Verknüpfung · mit: (a1 . . . an ) · (a′1 . . . a′m ) = a1 . . . an a′1 . . . a′m Diese Verknüpfung heißt Hintereinanderausführung oder Konkatenation. Speziell: Sei A = {x}, so gilt: xn := x . . . x + = m = A n x ·x n-mal n {x : n ∈ N} xn+m Die Elemente von A+ = {xn : n ∈ N} heißen Monome in x. f) Sei M 6= ∅ eine Menge und M M die Menge aller Abbildungen f : M → M . Das Tupel (M M , ◦) ist eine Halbgruppe, wobei ◦ die Hintereinanderausführung von Abbildungen ist mit: (f ◦ g)(m) := f (g(m)) ∀m ∈ M . Für ◦ gilt mit 3.7 b) das Assoziativgesetz: f ◦ (g ◦ h) = (f ◦ g) ◦ h ∀f, g, h ∈ M M . g) Sei n ∈ N und Zn = {0, 1, . . . , n − 1}. Wir definieren die Verknüpfung ⊕ wie folgt: ∀a, b ∈ Zn : a ⊕ b := (a + b) mod n ∈ Zn . Wir definieren die Verknüpfung ⊙ wie folgt: ∀a, b ∈ Zn : a ⊙ b := (a · b) mod n ∈ Zn . Es gilt die Assoziativität von ⊕: a ⊕ (b ⊕ c) = (a + (b ⊕ c)) mod n = (a + ((b + c) mod n)) mod n = (a + (b + c)) mod n = ((a + b) + c) mod n = (((a + b) mod n) + c) mod n = ((a ⊕ b) + c) mod n 6.13 6.13 = (a ⊕ b) ⊕ c Es gilt die Assoziativität von ⊙: a ⊙ (b ⊙ c) = (a + (b ⊙ c)) mod n = (a + ((b + c) mod n)) mod n = (a + (b + c)) mod n = ((a + b) + c) mod n = (((a + b) mod n) + c) mod n = ((a ⊙ b) + c) mod n 6.13 6.13 = (a ⊙ b) ⊙ c Somit sind (Zn , ⊕) und (Zn , ⊙) jeweils Halbgruppen. Mathematik 1 für (Bio-)Informatiker 108 10 Halbgruppen, Monoide, Gruppen Bemerkung: Bis auf e) und f) gilt in diesen Beispielen die Kommutativität: a · b = b · a∀a, b ∈ (H, ·). Gegenbeispiel für f): Sei M = {1, 2, 3}, f = ! 1 2 3 2 1 3 und g = ! 1 2 3 , dann gilt: 2 2 1 ! f ◦g = 1 2 3 1 1 2 g◦f = 1 2 3 2 2 1 g◦f 6= f ◦ g ! Definition 10.4. Eine Halbgruppe (H, ·) heißt kommutativ, falls gilt a · b = b · a ∀a, b ∈ H. Beispiel: Das Tupel (Z, +) ist eine kommutative Halbgruppe. Sei G ⊆ Z mit G = {x ∈ Z : 2 | x}, so ist (G, +) kommutative Halbgruppe. Definition 10.5. Sei (H, ·) eine Halbgruppe und ∅ 6= U ⊆ H. Die Menge U heißt Unterhalbgruppe von H, falls gilt u · v ∈ U ∀u, v ∈ U . Definition 10.6. Seien (H, ·) und (K, ∗) Halbgruppen. a) Eine Abbildung ϕ : H → K heißt Homomorphismus, falls gilt ϕ(a · b) = ϕ(a) ∗ ϕ(b) ∀a, b ∈ H. b) Ein bijektiver Homomorphismus heißt Isomorphismus. c) Existiert ein Isomorphismus zwischen (H, ·) und (K, ∗), so heißen H und K isomorph, H ∼ = K. Bemerkung: Isomorphe Halbgruppen sind algebraisch nicht zu unterscheiden. Ein Homomorphismus ist eine strukturerhaltende Abbildung. Die Abbildung 10.1 veranschaulicht die Situation. Beispiele: ( (N, +) → (R, ·) n 7→ rn Homomorphismus, denn für alle n, m ∈ N gilt: a) Sei r > 0 reelle Zahl. Definiere ϕr : . Die Abbildung ϕr ist ein ϕr (n + m) = rn+m Mathematik 1 für (Bio-)Informatiker 109 10 Halbgruppen, Monoide, Gruppen (H, ·) (K, ∗) ϕ a ϕ(a) b ϕ(b) a·b ϕ(a · b) Bedingung: ϕ(a) ∗ ϕ(b) = ϕ(a · b) Abbildung 10.1: Visualisierung eines Homomorphismus = rn · rm = ϕr (n) · ϕr (m) ( (N, +) → (N, +) . Die Abbildung ψk ist ein n 7→ k · n injektiver Homomorphismus, aber nicht surjektiv, falls k 6= 1: b) Sei k ∈ N. Wir definieren ψk : ψk (n + m) = k · (n + m) = k·n+k·m = ψk (n) + ψk (m) c) Das Tupel (H := {0, 1, −1}, ·) ist eine Unterhalbgruppe von (Z, ·). Wir definieren ϕ : (Z, ·) → (H, ·) wie folgt: ϕ(x) = 0 −1 1 x=0 x<0 x>0 Dann ist ϕ ein Homomorphismus, denn es gilt ϕ(x · y) = ϕ(x) · ϕ(y) ∀x, y ∈ Z. (A+ , ·) → (Zn , ⊕) ist ein Homomorphismus, denn für a1 . . . am 7→ m mod n mit a = a1 . . . am , b = b1 . . . bl gilt: d) Die Abbildung τn : alle a, b ∈ A+ ( τn (a · b) = = = 6.13 τn (a1 . . . am · b1 . . . bl ) (m + l) mod n ((m mod n) + (l mod n)) mod n Mathematik 1 für (Bio-)Informatiker 110 10 Halbgruppen, Monoide, Gruppen = (τn (a1 . . . am ) + τn (b1 . . . bl )) mod n = (τn (a) + τn (b)) mod n = τn (a) ⊕ τn (b) ( (R, +) → (R, +) ist kein Homomorphismus, denn es gilt x 7→ x2 nicht für alle Zahlen x, y ∈ R die Gleichheit (x + y)2 = x2 + y 2 , wobei: e) Die Abbildung ϕ : ϕ(x + y) = (x + y)2 ϕ(x) + ϕ(y) = x2 + y 2 Satz 10.7. Seien (H, ·), (K, ∗) Halbgruppen und sei ϕ : H → K ein Homomorphismus. a) ϕ(H) ist eine Unterhalbgruppe von K. b) Ist ϕ injektiv, so ist H ∼ = ϕ(H). c) Ist ϕ ein Isomorphismus, so ist auch ϕ−1 : K → H ein Isomorphismus. Beweis. a) Für alle ϕ(h1 ), ϕ(h2 ) ∈ ϕ(H) gilt ϕ(h1 ) ∗ ϕ(h2 ) = ϕ(h1 · h2 ) ∈ ϕ(H). | {z } ∈H Somit gilt für ϕ(H) die Abgeschlossenheit bzgl. ∗. Die Assoziativität von ∗ folgt daher, dass (K, ∗) eine Halbgruppe ist. b) Da ϕ injektiv und surjektiv ist, ist ϕ bijektiv. c) Ist ϕ bijektiv, so existiert eine Umkehrabbildung ϕ−1 , wobei ϕ−1 bijektiv ist. Seien k1 , k2 ∈ K. Da ϕ surjektiv, existieren h1 , h2 ∈ H mit ϕ(hi ) = ki für i = 1, 2. Es gilt ϕ−1 (ki ) = hi . Weiter gilt: ϕ−1 (k1 ∗ k2 ) = = ϕ Homomorphismus = = ϕ−1 (ϕ(h1 ) ∗ ϕ(h2 )) ϕ−1 (ϕ(h1 · h2 )) h1 · h2 ϕ−1 (k1 ) · ϕ−1 (k2 ) Beispiele: a) Sei r ∈ R mit r > 1. Nach 10.7 b) gilt (N, +) ∼ = ({rn : n ∈ N}, ·), da der Homomorphismus ϕr aus Beispiel 10.6 a) injektiv ist. Mathematik 1 für (Bio-)Informatiker 111 10 Halbgruppen, Monoide, Gruppen b) Sei k ∈ N. Nach 10.7 b) gilt (N, +) ∼ = ({k ·n : n ∈ N}, +), da der Homomorphismus ψk aus Beispiel 10.6 b) injektiv ist. Lemma 10.8. Sei (H, ·) eine Halbgruppe. Existieren für alle x ∈ H Elemente e1 , e2 ∈ H mit e1 · x = x · e1 = x und e2 · x = x · e2 = x, so ist e1 = e2 . Beweis. Es gilt e1 = e1 · e2 = e2 . Definition 10.9. Eine Halbgruppe (H, ·) heißt Monoid, falls ein e ∈ H existiert mit: e · x = x · e = x ∀x ∈ H Das Element e heißt neutrales Element oder Einselement/ Eins. Wir schreiben oft auch das Tupel (H, ·, e), wobei e nach 10.8 eindeutig bestimmt ist. Bei multiplikativer Schreibweise: Symbol 1 für das neutrale Element, Einselement. Bei additiver Schreibweise: Symbol 0 für das neutrale Element, Nullelement. Diese Schreibweisen werden auch dann angewendet, wenn H nicht aus Zahlen besteht. Beispiele: a) Sei A ein Alphabet, A+ = Menge aller endlichen Wörter über A. Das Element ε heißt leeres Wort für das gilt: εx = xε = x ∀x ∈ A+ . Sei A∗ := A+ ∪ {ε}, dann ist (A∗ , ·, ε) ein Monoid bzgl. Konkatenation. b) Die Halbgruppe (N, ·) mit normaler Multiplikation ist ein Monoid, das neutrales Element ist 1. Die Halbgruppe (N, +) mit normaler Addition ist kein Monoid. c) Die Halbgruppen (N0 , +), (Z, +), (Q, +), (R, +) sind Monoide mit neutralem Element 0. Ebenso bzgl. Multiplikation mit neutralem Element 1. d) Sei M eine Menge. Die Halbgruppe (P(M ), ∪) ist ein Monoid mit neutralem Element ∅. Die Halbgruppe (P(M ), ∩) ist ein Monoid mit neutralem Element M . e) Sei M eine Menge. Die Halbgruppe (M M , ◦) ist ein Monoid mit neutralem Element idM . f) Die Halbgruppe (Zn , ⊕) ist ein Monoid mit neutralem Element 0. Die Halbgruppe (Zn , ⊙) ist ein Monoid mit neutralem Element 1. Definition 10.10. Sei (H, ·, e) ein Monoid. Ein Untermonoid U von H ist eine Unterhalbgruppe, die e enthält, d.h. (U, ·, e) ist selbst ein Monoid. Man beachte: Die Mengen H, {e} mit · sind immer Untermonoide. Mathematik 1 für (Bio-)Informatiker 112 10 Halbgruppen, Monoide, Gruppen Beispiele: a) Das Tupel (N0 , +) ist ein Untermonoid von (Z, +). b) Betrachte das Tupel (H = {e, a}, ·) mit · gegeben durch: · e a e e a a a a Das Tupel (H = {e, a}, ·) ist ein Monoid mit neutralem Element e. Das Tupel ({a}, ·) ist eine Unterhalbgruppe und Monoid, aber kein Untermonoid von H, da e nicht enthalten ist. Lemma 10.11. Sei (H, ·, e) ein Monoid. Es gebe zu einem Element x ∈ H Elemente y, z ∈ H mit x · y = e und z · x = e, dann gilt y = z. Beweis. Es gilt: z = z · e = z · (x · y) = (z · x) · y = e · y = y. Definition 10.12. a) Sei (G, ·, e) ein Monoid und x ∈ G. Existiert zu x ein y ∈ G mit x · y = y · x = e, so heißt x invertierbar und y heißt das Inverse (oder das inverse Element) zu x. Bezeichnung für y bei multiplikativer Verknüpfung: x−1 . Bezeichnung für y bei additiver Verknüpfung: −x. Nach 10.11 ist x−1 eindeutig bestimmt. b) Ein Monoid (G, ·, e) heißt Gruppe, falls jedes Element invertierbar ist. c) Ist (G, ·, e) eine endliche Gruppe, so heißt die Anzahl der Elemente in G die Ordnung von G, bezeichnet mit |G|. d) Eine Gruppe, in der die Verknüpfung kommutativ ist, heißt kommutative Gruppe oder abelsche1 Gruppe. Satz 10.13. Sei (H, ·, e) ein Monoid. Dann ist die Menge der invertierbaren Elemente von H eine Gruppe. Genauer: • Neutrales Element e ist invertierbar. • Ist x invertierbar, so auch x−1 und (x−1 )−1 = x. 1 Niels Henrik Abel (1802 - 1829) war ein norwegischer Mathematiker. Mathematik 1 für (Bio-)Informatiker 113 10 Halbgruppen, Monoide, Gruppen • Sind x, y invertierbar, so ist auch x · y invertierbar und (x · y)−1 = y −1 · x−1 . Beweis. • e−1 = e, denn e · e = e. • x−1 · x = x · x−1 = e. x ist Inverses zu x−1 , (x−1 )−1 = x. • Es gilt: (x · y) · (y −1 · x−1 ) = x · (y · y −1 ) · x−1 = x · e · x−1 = x · x−1 = e (y −1 −1 ·x ) · (x · y) = y −1 · (x−1 · x) · y = y −1 · e · y = y −1 · y = e −1 (x · y) = y −1 · x−1 Beispiele: a) (Z, +, 0), (Q, +, 0), (R, +, 0) sind Gruppen. Inverses zu x ist −x. Das Tupel (N0 , +, 0) ist keine Gruppe. Die Menge der invertierbaren Elemente in (N0 , +, 0) ist {0}. b) Das Tupel (Z, ·, 1) ist keine Gruppe. Die Menge der invertierbaren Elemente ist {−1, 1} und bildet Gruppe bzgl. · . c) (Q, ·, 1) ist keine Gruppe, da 0 nicht invertierbar ist. (Q \ {0}, ·, 1) ist eine Gruppe. Ebenso ist (R \ {0}, ·, 1) eine Gruppe. d) Das Tupel (A∗ , ·) ist keine Gruppe. Nur ε ist invertierbar. Satz 10.14. Sei G eine Gruppe und seien a, b ∈ G. Es gibt genau ein x ∈ G mit a·x = b, nämlich x = a−1 · b. Es gibt genau ein y ∈ G mit y · a = b, nämlich y = b · a−1 . Beweis. x = a−1 · b ist eine Lösung: a · (a−1 · b) = (a · a−1 ) · b = e · b = b. Eindeutigkeit der Lösung zu a · x = b: x = e·x Mathematik 1 für (Bio-)Informatiker 114 10 Halbgruppen, Monoide, Gruppen = (a−1 · a) · x = a−1 · (a · x) = a−1 · b Die 2.Gleichung kann analog dazu bewiesen werden. Beispiel 10.15. Die Menge Bij(M ) aller bijektiver Abbildungen M → M bildet bzgl. Hintereinanderausführung eine Gruppe. Für die Invertierbarkeit gilt: ϕ ∈ M M invertierbar ⇔ ∃ψ ∈ M M : ϕ ◦ ψ = ψ ◦ ϕ = idM ⇔ ϕ bijektiv : ψ = ϕ−1 3.9 (Bij(M ), ◦) Gruppe nach Beispiel e) aus 10.9. Ist M = {1, . . . , n}, so heißt Bij(M ) symmetrische Gruppe von Grad n, bezeichnet mit Sn (Gruppe der Permutationen auf M ). Mit 7.5 gilt |Sn | = n!. Beispiel: Sei n = 3 und π ∈ S3 mit π = ! ! 1 2 3 , das Inverse zu π ist π −1 mit π −1 = 3 2 1 1 2 3 . Denn es gilt π ◦ π −1 = π −1 ◦ π = idM . Es ist π = π −1 , d.h. π ◦ π = idM . Sei 3 2 1 ! ! 1 2 3 1 2 3 weiter ̺ ∈ §3 mit ̺ = und ̺−1 = . S3 ist nicht kommutativ. Für 2 3 1 3 1 2 die Gleichung π ◦ x = ̺ gibt es die folgende eindeutige Lösung: x = π −1 ◦ ̺ = π◦̺ = ! 1 2 3 2 1 3 Für die Gleichung y ◦ π = ̺ gibt es die folgende eindeutige Lösung: y = ̺ ◦ π −1 = ̺◦π = ! 1 2 3 1 3 2 a) Sei n ∈ N, so ist (Zn = {0, . . . , n−1}, ⊕, 0) eine Gruppe: Monoid ( 0 x=0 klar und das Inverse zu x ist (−x) mod n, d.h. −x = . n − x x 6= 0 Beispiel 10.16. Mathematik 1 für (Bio-)Informatiker 115 10 Halbgruppen, Monoide, Gruppen b) Sei n ∈ N mit n > 1. Das Tupel (Zn , ⊙, 1) ist ein Monoid, aber keine Gruppe. Z.B. hat das Element 0 kein Inverses. Es gilt: x ∈ Zn invertierbar bzgl. ⊙ ⇔ ∃y ∈ Zn : x ⊙ y = 1 ⇔ ∃y ∈ Zn : x · y mod n = 1 ⇔ ∃ỹ ∈ Z : x · ỹ ≡ 1 (mod n) Dabei ist y = ỹ mod n. Nach 6.21 gilt: x ∈ Zn invertierbar bzgl. ⊙ ⇔ ggT(x, n) = 1 Die Menge Z∗n = {x ∈ Z : ggT(x, n) = 1} bildet eine Gruppe bzgl. ⊙ nach 10.13. Wir definieren: |Z∗n | =: ϕ(n) = Anzahl aller natürlichen Zahlen < n, die teilerfremd sind zu n Die Abbildung ϕ heißt Euler’sche ϕ-Funktion. Sei p eine Primzahl, so gilt ϕ(p) = p − 1. Wie berechnet man x−1 ? Erweiterter Euklidischer Algorithmus anwenden auf n und x. Liefert s, t ∈ Z mit s · n + t · x = 1. Es ist x−1 = t mod n, denn es gilt: (1) x ⊙ (t mod n) = = 6.13 x · (t mod n) mod n x · t mod n = (1 − s · n) mod n = (1 mod n − s · n mod n) mod n = (1 − 0) mod n (1) 6.13 = = 1 mod n 1 Beispiel: Sei n = 8 und x = 5. Es ist x ∈ (Z8 , ·) und x ist invertierbar, da ggT(8, 5) = 1. Anwenden des EEA ergibt 1 = 2 · 8 + (−3) · 5, dabei gilt −3 mod 8 = 5. Probe: 5 ⊙ 5 = (5 · 5) mod 8 = 25 mod 8 = 1 Mathematik 1 für (Bio-)Informatiker 116 10 Halbgruppen, Monoide, Gruppen Definition 10.17. Sei (G, ·) eine Gruppe. Eine Teilmenge U 6= ∅ von G heißt Untergruppe von G, falls U bzgl. · selbst eine Gruppe ist. Bezeichnung: U ≤ G Bemerkung: Jede Gruppe G besitzt {e} und G als Untergruppe (triviale Untergruppen). Bemerkung 10.18. Sei U ≤ G. Dann ist das neutrale Element von U gleich dem neutralen Element von G. Bemerkung: Daher gilt auch: Das Inverse zu u ∈ U ist das Inverse von u in G. Beweis. Sei e das neutrale Element in G und f das neutrale Element in U . Sei f −1 das Inverse zu f in G, d.h. f · f −1 = f −1 · f = e. Es gilt weilter: f ·f =f ⇒ f −1 · (f · f ) = f −1 · f ⇒ (f −1 · f ) · f = e ⇒ e·f =e ⇒ f =e Beispiele: a) Es gilt (Z, +) ≤ (Q, +) ≤ (R, +). b) Es gilt ({1, −1}, ·) ≤ (Q \ {0}, ·). c) Sei π = ! 1 2 3 2 3 1 ∈ S3 . Es gilt π ◦ π = id. Also {id, π} ≤ S3 . d) Sei n ∈ Z. Wir definieren: nZ := {n · k : k ∈ Z} = Menge aller ganzzahligen Vielfachen von n Sei n = 2, so ist 2Z = Menge aller geraden Zahlen. Es gilt (nZ, +) ≤ (Z, +). Denn Abgeschlossenheit gilt n · k1 + n · k2 = n · (k1 + k2 ) und Inverse existieren zu allen Elementen −n · k = n · (−k). Satz 10.19. Sei G Gruppe, ∅ = 6 U ⊆ G. Dann sind äquivalent: (1) U ≤ G (2) x−1 · y ∈ U ∀x, y ∈ U Mathematik 1 für (Bio-)Informatiker 117 10 Halbgruppen, Monoide, Gruppen (3) x−1 ∈ U ∀x ∈ U ∧ x · y ∈ U ∀x, y ∈ U Beweis. „(1) ⇒ (2)“: Sei U ≤ G. Es gilt x ∈ U ⇒ x−1 ∈ U . Sei y ∈ U , daraus folgt x−1 · y ∈ U , da U eine Gruppe ist und somit bzgl · abgeschlossen ist. „(2) ⇒ (3)“: U 6= ∅ ⇒ u ∈ U ⇒ e = u−1 · u ∈ U (2) x∈U x, y ∈ U ⇒ x−1 · e = x−1 ∈ U (2) ⇒ x−1 ∈ U ⇒ (x−1 )−1 · y = x · y ∈ U (2) „(3) ⇒ (1)“: U 6= ∅ ⇒ u ∈ U ⇒ u−1 ∈ U (3) ⇒ e = u−1 · u ∈ U (3) Also gilt (1). Satz 10.20. Sei G eine Gruppe und U ≤ G. Wir definieren die Relation ∼U auf G wie folgt: Seien x, y ∈ G, so gilt: x ∼U y ⇔ x−1 · y ∈ U Die Relation ∼U ist eine Äquivalenzrelation auf G. Ist x ∈ G, so ist x·U = {x·u : u ∈ U } die Äquivalenzklasse von x bzgl. ∼U . Die Äquivalenzklasse x · U heißt Linksnebenklasse von U in G. Es gilt also: x·U =y·U ⇔ x ∼U y ⇔ x−1 · y ∈ U Seien x, y ∈ G so gilt entweder x · U = y · U oder x · U ∩ y · U = ∅. Ist x ∈ / U , so x · U ∩ U = ∅, x · U ist keine Untergruppe. Wenn die Verknüpfung in G additiv ist, +, so schreiben wir für die Linksnebenklasse x + U = {x + u : u ∈ U }. Beweis. Sei x ∈ G, so x−1 · x = e ∈ U , d.h. es gilt die Reflexivität x ∼U x. x ∼U y ⇒ x−1 · y ∈ U Mathematik 1 für (Bio-)Informatiker 118 10 Halbgruppen, Monoide, Gruppen ⇒ y −1 · x = (x−1 · y)−1 ∈ U ⇒ y ∼U x Symmetrie x ∼U y ∧ y ∼U z ⇒ x−1 · y ∈ U ∧ y −1 · z ∈ U ⇒ x−1 · z = (x−1 · y) · (y −1 · z) ∈ U ⇒ x ∼U z Transitivität Äquivalenzklasse von x ist x · U : „[x] ⊆ x · U “: y ∈ [x] ⇒ y ∼U x ⇒ y −1 · x ∈ U ⇒ y −1 · x = u ∈ U ⇒ x=y·u ⇒ y = x · u−1 ∈ x · U „x · U ⊆ [x]“: y ∈x·U ⇒ y =x·u −1 ⇒ x für ein u ∈ U ·y =u∈U ⇒ x ∼U y ⇒ y ∈ [x] Beispiel: Wir betrachten (Z, +) und die Untergruppe U = nZ mit n ∈ N, siehe Beispiel 10.18 d). Linksnebenklasse k + nZ. Seien x, y ∈ Z, dann gilt: x ∼U y ⇔ −x + y ∈ nZ ⇔ y − x = n · k für ein k ∈ Z ⇔ n|x−y ⇔ x ≡ y (mod n) Verschiedene Nebenklassen: 0 + nZ, 1 + nZ, . . . , (n − 1) + nZ. Dabei gilt n + nZ = nZ. Diese Äquivalenzklassen nennt man auch Restklasse mod n. Lemma 10.21. Sei G eine Gruppe und U eine endliche Untergruppe von G. Ist x ∈ G, so ist |x · U | = |U |. Mathematik 1 für (Bio-)Informatiker 119 10 Halbgruppen, Monoide, Gruppen Beweis: Wir betrachten die Abbildung ϕ : u1 , u2 ∈ U , so gilt weiter: ( U →x·U u 7→ x · u . Die Abbildung ϕ ist surjektiv. Seien ϕ(u1 ) = ϕ(u2 ) ⇒ x · u1 = x · u2 ⇒ x−1 · (x · u1 ) = x−1 · (x · u2 ) ⇒ u1 = u2 Somit ist ϕ injektiv, also bijektiv. Damit gilt |U | = |x · U |. Theorem 10.22. (Satz von Lagrange2 ) Ist G eine endliche Gruppe und U ≤ G, so ist |U | ein Teiler von |G| und q := |G| |U | ist genau die Anzahl der verschiedenen Linksnebenklassen von U in G. Die Zahl q ist auch die Anzahl der verschiedenen Rechtsnebenklassen U · x, wobei x ∈ G und |U · x| = |U |. Im Allgemeinen gilt jedoch U · x 6= x · U . Beweis. Seien x1 · U, . . . , xq · U die verschiedenen Nebenklassen von U in G (siehe 10.20), U P so gilt nach 4.7 G = qi=1 xi · U . Weiter gilt |G| = qi=1 |xi · U | = q · |U |. 10.21 Beispiel: Sei G die symmetrische Gruppe auf {1, 2, 3, 4}, G = S4 . Es gilt |S4 | = 4! = 24. Mögliche Ordnungen von Untergruppen von S4 nach 10.22: 1, 2, 3, 4, 6, 8, 12, 24. Die Gruppe S4 enthält zu jedem dieser Teiler eine Untergruppe der entsprechenden Ordnung. Aber: Die Untergruppe der Ordnung 12 enthält keine Untergruppe der Ordnung 6. Man kann zeigen, das gilt: 1 2 3 4 6 12 24 Ordnung Anzahl der Untergruppe 1 9 4 7 4 1 1 Es gibt beispielsweise 9 Untergruppen der Ordnung 2: U = {id, π} mit π = π −1 . Drei Untergruppen dieser Art können durch folgende Elemente gebildet werden: 2 ! π1 = 1 2 3 4 2 1 4 3 π2 = 1 2 3 4 3 4 1 2 π3 = 1 2 3 4 4 3 2 1 ! ! Joseph Louis Lagrange (1736 - 1813) war ein italienischer Mathematiker. Mathematik 1 für (Bio-)Informatiker 120 10 Halbgruppen, Monoide, Gruppen Die Menge V = {id, π1 , π2 , π3 } bildet eine Untergruppe der Ordnung 4. Es gilt πi ◦πj = πk für alle i, j, k, die paarweise verschieden sind. Die Untergruppe V ist abelsch. Satz 10.23. Seien G1 , . . . , Gn Gruppen (nicht notwendig verschieden). Dann wird das kartesische Produkt G1 × . . . × Gn = {(g1 , . . . , gn ) : gi ∈ Gi } wieder zu einer Gruppe durch die folgende Verknüpfung: (g1 , . . . , gn ) · (g1′ , . . . , gn′ ) := (g1 · g1′ , . . . , gn · gn′ ) Man nennt dies auch das Direkte Produkt der Gruppen G1 , . . . , Gn . Weiter gilt: |G1 × . . . × Gn | = |G1 | · . . . · |Gn | Sind alle Gi kommutativ, so auch G1 × . . . × Gn . Beweis. Das Assoziativgesetz folgt aus dem Assoziativgesetz in G. Das neutrale Element ist (eG1 , . . . , eGn ), wobei eGi das neutrale Element in Gi ist. Weiter gilt (g1 , . . . , gn )−1 = (g1−1 , . . . , gn−1 ). Beispiel: Wir betrachten die Gruppe (Z2 , ⊕) und bilden Z2 × Z2 = {(0, 0), (1, 0), (0, 1), (1, 1)}. Die Verknüpfung wird additiv geschrieben: (z1 , z2 ) + (z1′ , z2′ ) = (z1 ⊕ z1′ , z2 ⊕ z2′ ). Untergruppen der Ordnung 1: {(0, 0)}. Untergruppen der Ordnung 4: Z2 × Z2 . Untergruppen der Ordnung 2: {(0, 0), (1, 0)}, {(0, 0), (0, 1)}, {(0, 0), (1, 1)}. Die Gruppe (Z4 , ⊕) besitzt genau eine Untergruppe der Ordnung 2: {0, 2}. Beispiel: Wir betrachten die Gruppe V = {id, π1 , π2 , π3 } aus Beispiel 10.22. Wir zeigen, dass gilt V ∼ = Z2 × Z2 . Wir definieren: x1 := (1, 0) ∈ Z2 × Z2 x2 := (0, 1) ∈ Z2 × Z2 x3 := (1, 1) ∈ Z2 × Z2 Weiter definieren wir die Abbildung ϕ : V → Z2 × Z2 mit ϕ(id) = (0, 0) und ϕ(πi ) = xi für i = 1, 2, 3. Dann gilt: ϕ(id ◦ id) = ϕ(id) = (0, 0) Mathematik 1 für (Bio-)Informatiker 121 10 Halbgruppen, Monoide, Gruppen = (0, 0) + (0, 0) = ϕ(id) + ϕ(id) ϕ(id ◦ πi ) = ϕ(πi ) = xi = (0, 0) + xi = ϕ(id) + ϕ(πi ) ϕ(πi ◦ id) = ϕ(πi ) = xi = xi + (0, 0) = ϕ(πi ) + ϕ(id) ϕ(πi ◦ πi ) = ϕ(id) = (0, 0) = xi + xi = ϕ(πi ) + ϕ(πi ) Für i 6= j gilt: ϕ(πi ◦ πj ) = ϕ(πk ) = xk = xi + xj = ϕ(πi ) + ϕ(πj ) Somit ist ϕ ein Homomorphismus. Da ϕ bijektiv ist, ist ϕ ein Isomorphismus. Satz 10.24. Seien G, H Gruppen mit neutralem Element eG bzw. eH und sei ϕ : G → H ein Homomorphismus. Dann gilt: a) ϕ(eG ) = eH . b) ϕ(x−1 ) = ϕ(x)−1 für alle x ∈ G. c) Ist U ≤ G, so ist ϕ(U ) = {ϕ(u) : u ∈ U } ≤ H. Insbesondere: ϕ(G) ≤ H. d) Ist G kommutativ, so ist ϕ(G) kommutativ. e) Der Kern von ϕ ist definiert durch ker(ϕ) := {x ∈ G : ϕ(x) = eH } und bildet eine Untergruppe von G. f) Für alle x, y ∈ G gilt: ϕ(x) = ϕ(y) ⇔ y −1 · x ∈ ker(ϕ) Mathematik 1 für (Bio-)Informatiker 122 10 Halbgruppen, Monoide, Gruppen ⇔ x · ker(ϕ) = y · ker(ϕ) Insbesondere: ϕ ist injektiv ⇔ ker(ϕ) = {eG }. Beweis. a) Es gilt ϕ(eG ) · ϕ(eG ) = ϕ(eG · eG ) = ϕ(eG ). Multipliziere diese Gleichung mit ϕ(eG )−1 : ϕ(eG ) = eH . b) Es gilt ϕ(x−1 ) · ϕ(x) = ϕ(x · x−1 ) = ϕ(eG ) = eH . Multipliziere diese Gleichung mit a) ϕ(x)−1 : ϕ(x−1 ) = ϕ(x)−1 . c) Übungsaufgabe. d) Übungsaufgabe. e) Es gilt ϕ(eG ) = eH , d.h. eG ∈ ker(ϕ) 6= ∅. Seien x, y ∈ ker(ϕ), dann gilt ϕ(x · y) = a) ϕ(x)·ϕ(y) = eH ·eH = eH . Somit gilt x·y ∈ ker(ϕ). Weiter gilt ϕ(x−1 ) = ϕ(x)−1 = b) −1 ∈ ker(ϕ). Nach 10.19 gilt ker(ϕ) ≤ G. e−1 H = eH . Somit gilt x f) Es gilt: ϕ(x) = ϕ(y) ⇔ ϕ(y)−1 · ϕ(x) = eH ⇔ ϕ(y −1 ) · ϕ(x) = eH b) ⇔ ϕ(y −1 · x) = eH ⇔ y −1 · x ∈ ker(ϕ) ⇔ x · ker(ϕ) = y · ker(ϕ) „⇐“: Es gelte ker(ϕ) = {eG }. Seien x, y ∈ G mit ϕ(x) = ϕ(y) ⇒ y −1 · x ∈ ker(ϕ) ⇒ y −1 · x = eG ⇒ x=y ⇒ ϕ injektiv „⇒“: Sei ϕ injektiv. x ∈ ker(ϕ) ⇒ ⇒ x = eG ⇒ ker(ϕ) = {eG } ϕ injektiv Mathematik 1 für (Bio-)Informatiker ϕ(x) = eH = ϕ(eG ) 123 10 Halbgruppen, Monoide, Gruppen Definition 10.25. Sei (G, ·, e) eine Gruppe und a ∈ G. Wir definieren: a0 := e am := (am−1 ) · a ∀m ∈ N Ist m ∈ Z \ N0 , so definieren wir am = (a−1 )−m . Der Ausdruck am heißt Potenz von a. Wird G additiv geschrieben, so schreibt man m · a statt am . Der Ausdruck m · a heißt dann Vielfaches von a. Beispiel: a−3 = (a−1 )−(−3) = (a−1 )3 = (a−1 )2 · a−1 = a−1 · a−1 · a−1 . Satz 10.26. Sei (G, ·, e) Gruppe, a ∈ G a) Für alle m ∈ Z gilt (a−1 )m = (am )−1 = a−m . b) Für alle m, n ∈ Z gilt am · an = am+n . c) Für alle m, n ∈ Z gilt (am )n = am·n . Beweis. a) Sei m ∈ N, so gilt (a−1 )m · am = |a−1 · {z . . . a−1} · a . . · a} = e. Genauer | · .{z m-mal Beweis: Induktion nach m. D.h. es gilt: (a−1 )m a−m = (am )−1 = (a−1 )−(−m) = (a−1 )m Def. m-mal m = 0: Klar. Sei m ∈ Z \ N, so gilt am = (a−1 )−m . Wende dies mit a−1 statt a an: Def. (a−1 )m = ((a−1 )−1 )−m = a−m (am )−1 = ((a−1 )−m )−1 = a−m b) Beweist man zunächst für m, n ≥ 0. Für die übrigen Fälle verwendet man a). c) Beweist man zunächst für m, n ≥ 0. Für die übrigen Fälle verwendet man a). Mathematik 1 für (Bio-)Informatiker 124 10 Halbgruppen, Monoide, Gruppen Satz 10.27. Sei (G, ·, e) eine Gruppe und a ∈ G. Dann ist hai := {ai : i ∈ Z} eine Untergruppe von G, die von a erzeugte zyklische Untergruppe. Sie ist die kleinste Untergruppe von G, die a enthält. Wird G additiv geschrieben, so hai = {i · a : i ∈ Z}. hai ist kommutativ. G heißt zyklisch, falls ein a ∈ G existiert mit G = hai. Beweis. Es gilt: a = a1 i −1 (a ) i j a ·a −i = a ∈ hai i+j = a hai ≤ G ∈ hai ∈ hai Sei U ≤ G, a ∈ U , m ∈ N, dann gilt: am = a . . · a} | · .{z m-mal 0 ∈U = e∈U a −1 ∈ U a Sei m ∈ Z \ N, so gilt am = (a−1 )−m ∈ U . Also: hai ≤ U . Beispiele: a) Sei G = S3 und a = ! 1 2 3 , dann gilt: 2 1 3 a2 = id a = a−1 ( id n a = a falls n gerade falls n ungerade hai = {a0 = id, a1 = a} b) Es gilt (Z, +) = h1i = h−1i. Die Gruppe (Z, +) ist zyklisch. Sei n ∈ Z, so gilt nZ = {n · k : k ∈ Z} ≤ Z und nZ = hni = h−ni. Die Gruppe (nZ, +) ist zyklisch. c) Sei m ∈ N, (Zm , ⊕), so gilt (Zm , ⊕) = h1i und weiter: m | {z· 1} = 0 Vielfaches bzgl. ⊕ Mathematik 1 für (Bio-)Informatiker 125 10 Halbgruppen, Monoide, Gruppen (m − 1) · 1 = −1 (m + 1) · 1 = 1 (m + 2) · 1 = 2 .. . (2 · m) · 1 = 0 Die gruppe (Zm , ⊕) ist zyklisch und ist von der Ordnung m. Definition 10.28. Sei G eine Gruppe. a ∈ G. Ist hai unendlich, so heißt a unendliche Ordnung. Ist hai endlich, |hai| = n, so hat a Ordnung n, bezeichnet mit o(a) = n. Beispiele: a) In (Z, +) hat jedes Element 6= 0 unendliche Ordnung. Das Element 0 hat die Ordnung 1, denn h0i = {0}. b) Wir betrachten die Gruppe S3 . Sei a = b= ! 1 2 3 . Es gilt o(a) = 2. Sei weiter 2 1 3 ! 1 2 3 . Es gilt: 2 3 1 b2 = 3 b = ! 1 2 3 3 1 2 ! 1 2 3 1 2 3 = id 2 b = b−1 hbi = {b0 = id, b1 = b, b2 } = hb2 i o(b) = 3 S3 enthält kein Element der Ordnung 6, denn sonst S3 = hci, d.h. S3 wäre kommutativ. Dies ist jedoch ein Widerspruch. Satz 10.29. Sei (G, ·, e) eine Gruppe und a ∈ G. a) Ist o(a) unendlich, so hai = {ak : k ∈ Z} und ai 6= aj für alle i 6= j. Die Abbildung ( (Z, +) → hai ∼ (Z, +). ist ein Isomorphismus, d.h. es gilt hai = ϕ: k 7→ ak Mathematik 1 für (Bio-)Informatiker 126 10 Halbgruppen, Monoide, Gruppen b) Ist o(a) endlich, so ist o(a) die kleinste natürliche Zahl(n mit an = e. Dann ist (Zn , ⊕) → hai hai = {a0 = e, a1 = 1, . . . , an−1 } und die Abbildung ψ : ist ein k 7→ ak Isomorphismus, d.h. hai ∼ = (Zn , ⊕). c) Ist o(a) = n ∈ N, so gilt: ak = e für k ∈ Z ⇔ o(a) | k d) Ist G endlich, so gilt a|G| = e für alle a ∈ G. Beweis. a) b) Angenommen es existieren i 6= j mit ai = aj . O.B.d.A. i > j, i − j ∈ N. ai−j = ai · a−j = ai · (aj )−1 = ai · (ai )−1 10.26 10.26 = e Dann existiert kleinste natürliche Zahl mit an = e. Dann sind a0 = e, a1 = a, . . ., an−1 paarweise verschieden (Argument wie oben). Außerdem gilt hai = {a0 , a1 , . . . , an−1 }. Sei i ∈ Z, ai ∈ hai. Division mit Rest: i = k ·n+r, 0 ≤ r ≤ n−1. ai = ak·n+r = (an )k · ar 10.26 = = ai = e · ar ar ∈ {a0 , . . . , an−1 } ai mod n (∗) Ist o(a) unendlich, so ai 6= aj für i 6= j. Die Abbildung ϕ aus a) ist ein Isomorphismus. Homomorphismus: ϕ(k + l) = ak+l = ak · al = ϕ(k) · ϕ(l) Ist o(a) = n, so hai = {a0 , . . . , an−1 }. Die Abbildung ψ aus b) ist ein Isomorphismus: Bijektivität klar. ψ(k ⊕ l) = ak⊕l = a(k+l) mod n = ak+l = ak · al (∗) = 10.26 Mathematik 1 für (Bio-)Informatiker ψ(k) · ψ(l) 127 10 Halbgruppen, Monoide, Gruppen c) „⇒“: Nach Voraussetzung gilt o(a) = n und ak = e. Nach (∗) gilt ak = ak mod n , k mod n < n. Somit k mod n = 0, n | k. „⇐“: Ist o(a) = n | k, so gilt k = n · l und weiter ak = an·l = (an )l = el = e. d) Satz von Lagrange: o(a) = |hai| | |G|. Mit Teil c) folgt a|G| = e. Bemerkung 10.30. Es gibt bis auf Isomorphie nur eine unendliche zyklische Gruppe, nämlich (Z, +). Es gibt bis auf Isomorphie zu jedem n ∈ N genau eine zyklische Gruppe der Ordnung n, nämlich (Zn , ⊕). Korollar 10.31. a) (Satz von Euler) Sei n ∈ N, a ∈ Z und ggT(a, n) = 1, dann ist aϕ(n) ≡ 1 (mod n). b) (Kleiner Satz von Fermat3 ) Ist p eine Primzahl, a ∈ Z und p ∤ a, so ist ap−1 ≡ 1 (mod p). Bemerkung: Mit Hilfe von 10.31 werden sogenannte Public-Key-Verfahren entwickelt, siehe dazu 4.4.4 in [WHK04]. Beweis. a) Wendet man auf a ≡ (a mod n) (mod n) ϕ(n)-mal 6.12 an, so erhält man aϕ(n) ≡ (a mod n)ϕ(n) (mod n). Es bleibt zu zeigen, dass (a mod n)ϕ(n) ≡ 1 (mod n) gilt. Denn dann gilt mit der Transitivität von ≡ die Behauptung. Sei also 1 ≤ a < n. Die Menge (Z∗n , ⊙, 1) = {a ∈ N : 1 ≤ a ≤ n, ggT(a, n) = 1} ist eine Gruppe bzgl. ⊙ nach 10.16 b). Es ist a ∈ Z∗n und es gilt: ∗ a|Zn | |Z∗n | a ⊙ .{z . . ⊙ a} | = 1 = ϕ(n) = 1 10.29 d) ϕ(n)-mal ϕ(n) mod n = 1 ϕ(n) mod n ≡ 1 (mod n) a a b) Folgt aus a) mit n = p. 3 Pierre de Fermat (1607/1608 - 1665) war ein französischer Mathematiker. Mathematik 1 für (Bio-)Informatiker 128 Literaturverzeichnis [WHK04] Manfred Wolff, Peter Hauck, and Wolfgang Küchlin. Mathematik für Informatik und BioInformatik. Springer-Verlag, 2004. 129 Index Abbildung, 20 (volles) Urbild), 23 bijektive, 24 Bild(menge), 23 gleich, 23 identische, 20 injektive, 24 Inverse, 29 Surjektive, 24 Absorption, 95 Abstrakte Multiplikatin, 106 Äquivalenz, 4 Äquivalenzklasse, 36 Äquivalenzrelation, 35 Allquantor, 7 Antisymmetrie, 33 Argument, 20 Assoziativität, 95 Atomarer Ausdruck, 92 Aufspannender Baum, 91 Ausdruck, 92 Atomarer, 92 Erfüllbarer, 94 Axiom, 8 Binomialkoeffizient, 73 Binomialsatz, 75 bipartit, 83 Blätter, 90 Ceiling-Funktion, 51 Chinesischer Restsatz, 67 De Morgan’sche Regeln, 95 Mengen, 16 De Morgan’schen Regeln, 6 Definition, 8 Definitionsbereich, 20 Dezimalsystem, 52 disjunkt, 37 paarweise, 37 disjunkte Vereinigung, 37 Disjunktion, 2 verallgemeinerte, 7 Disjunktive Normalform, 97 Distributivgesetz, 47 Verallgemeinertes, 47 Distributivität, 95 DNF, 97 Kanonische, 100 Doppelte Negation, 95 Doppeltsumme, 46 Durchschnitt, 13 Basis, 52 Baum, 88 Aufspannender, 91 Belegung, 93 Betragsfunktion, 21, 49 Bijektion, 24 Bijektivität, 24 Bild, 20 Bildbereich, 20 Binärer Wurzelbaum, 91 Binärsystem, 52 Ecke, 82 EEA, 61 Ein-Ausschließungs-Prinzip, 78 einfach, 84 Eins, 112 Einselement, 112 Element, 12 Endknoten, 82 130 Index erfüllbar, 94 Euklidischer Algorithmus, 59 Erweiterter, 61 Euler’sche ϕ-Funktion, 116 Euler’scher Graph, 87 Euler’scher Kantenzug, 87 Existenzquantor, 7 Fakultaetsfunktion, 43 Floor-Funktion, 51 Grad, 85 Graph, 20, 82 Bipartiter, 83 Einfacher, 84 Euler’scher, 87 Gerichteter, 84 Gewichteter, 84 Schlichter, 84 Vollständiger, 84 Zusammenhängender, 87 Größte gemeinsame Teiler, 58 Gruppe, 113 abelsche, 113 kommutative, 113 Symmetrische, 115 Halbgruppe, 107 Kommutative, 109 Handshaking-Lemma, 85 Hexadezimalsystem, 52 Hintereinanderausführung, 108 Assoziativgesetz, 28 Hintereinanderausführung, 27 Homomorphismus, 109 Idempotenz, 95 Implikation, 4 Indikatorfunktion, 22 Induktion, 40 vollstaendige, 40 Induktionsanfang, 40 Induktionsaxiom, 40 Induktionsschluss, 40 Induktionsschrit, 40 Mathematik 1 für (Bio-)Informatiker Injektivität, 24 Interpretation, 93 Inverse, 113 invertierbar, 113 isomorph, 109 Isomorphismus, 109 Junktoren logische, 1 Junktorenlogik, 1 Kanonische DNF, 100 Kanonische KNF, 100 Kante, 82 Kantenzug, 86 Euler’scher, 87 Geschlossener, 86 Weg, 87 Kantenzzug Einfacher, 86 Kartesisches Produkt, 19 Kern, 122 Klausel, 101 Klauselmenge, 101 Kleiner Satz von Fermat, 128 Kleinste gemeinsame Vielfache, 59 KNF, 97 Kanonische, 100 Knoten, 82 Innerer, 90 Königsberger Brückenproblem, 88 Kommutativität, 95 Komplement, 13 Kongruenzrelation, 55 Konjunktion, 2 verallgemeinerte, 7 Konjunktive Normalform, 97 Konkatenation, 108 konsistent, 94 Kontradiktion, 94 Kreis, 87 Hamilton, 88 Leere Summe, 46 Leeres Produkt, 46 131 Index Leeres Wort, 112 Lemma, 8 Linksnebenklasse, 118 Literal, 97 logisch äquivalent, 94 Logische Folgerung, 104 Menge, 12 Abzählbare, 26 De Morgan’sche Regeln, 16 Differenz, 13 Durchschnitt, 13 Komplement, 13 Potenzmenge, 17 Symmetrische Differenz, 13 Teilmenge, 13 Untermenge, 13 Vereinigung, 13 Mengen Disjunkte, 37 Metasprache, 94 Modell, 94 Monoid, 112 Monom, 108 Negation, 1 Netzwerk, 84 Neutrales Element, 112 Normalform Disjunktive, 97 Konjunktive, 97 Nullelement, 112 Oder Ausschließendes, 2 Einschließendes, 2 Oktalsystem, 52 Ordnung, 33, 113, 126 lexikographische, 34 lineare, 33 Partielle, 33 totale, 33 unendliche, 126 Ordnungsrelation, 33 Mathematik 1 für (Bio-)Informatiker paarweise teilerfremd, 58 Partition, 37 Pascal’sches Dreieck, 74 Permutation, 72 Potenz, 43, 124 Prädikat, 7 Prädikatenlogik, 6 Primfaktor, 66 Primzahl, 65 Produkt, 44 Leeres, 46 Quotient, 50 Reflexivität, 33 Relation, 32 Ordnungsrelation, 33 Repräsentantensystem, 38 Resolutionskalkül, 101 Resolvente, 102 Rest, 50 Ringschluss, 10 Satz, 8 Satz von Euler, 128 Schaltfunktion, 22 Schleife, 84 schlicht, 84 Summe, 43 Distributivgesetz, 47 Leere, 46 Surjektivität, 24 Symmetrie, 35 Symmetrische Differenz, 13 Tautologie, 94 Teiler, 49 teilerfremd, 58 paarweise, 58 Teilmenge, 13 Theorem, 8 Tiefe, 91 Transitivität, 33 Tupel, 18 132 Index Umkehrabbildung, 29 Unendliche Ordnung, 126 Untergruppe Zyklische, 125 Unterhalbgruppe, 109 Untermenge, 13 Untermonoid, 112 Urbild, 20 Valenz, 85 Venn-Diagramm, 14 Vereinigung, 13 Verknüpfung, 106 Vielfaches, 49, 124 Vollständiger Graph, 84 Vollständige Induktion, 40 Wahrheitswert, 1 Wald, 88 Weg, 87 Kreis, 87 Wurzelbaum, 91 Binärer, 91 XOR, 2 Zerlegung, 37 Ziffer, 52 Zusammenhängend, 87 zyklisch, 125 Zyklische Untergruppe, 125 Zyklisches Beweisverfahren, 10 Mathematik 1 für (Bio-)Informatiker 133