Inhaltsverzeichnis 1 Mathematische Logik 1.1 Aussagenlogik . . . . . . . . . . . . . . . . . . . 1.1.1 Logische Operatoren . . . . . . . . . . . 1.1.2 Aussageformen . . . . . . . . . . . . . . 1.1.3 Tautologien und Kontradiktionen . . . . 1.1.4 Implikationen . . . . . . . . . . . . . . . 1.1.5 Logische Äquivalenzen . . . . . . . . . . 1.1.6 Normalformen . . . . . . . . . . . . . . . 1.2 Prädikatenlogik . . . . . . . . . . . . . . . . . . 1.2.1 Einstellige Prädikate . . . . . . . . . . . 1.2.2 Mehrstellige Prädikate . . . . . . . . . . 1.2.3 Bemerkungen zur Implikation . . . . . . 1.3 Formale Systeme . . . . . . . . . . . . . . . . . 1.3.1 Die Aussagenlogik als formales System . 1.3.2 Die Prädikatenlogik als formales System 1.4 Beweise . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Indirekter Beweis . . . . . . . . . . . . . 1.4.2 Beweis durch Fallunterscheidung . . . . . 1.5 Übungsaufgaben . . . . . . . . . . . . . . . . . 2 Mengen 2.1 Beschreibung von Mengen 2.2 Teilmengen . . . . . . . . 2.3 Mengen und Quantoren . . 2.4 Einige wichtige Mengen . . 2.5 Mengenoperationen . . . . 2.6 Übungsaufgaben . . . . . . . . . . . . . . . . . 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 11 11 13 14 15 15 17 19 19 22 23 24 27 28 29 30 31 33 . . . . . . 35 35 37 38 39 40 44 8 3 Relationen 3.1 Allgemeines . . . . . . . . . . 3.2 Graphen . . . . . . . . . . . . 3.2.1 Gerichtete Graphen . . 3.2.2 Ungerichtete Graphen 3.2.3 Pfade . . . . . . . . . 3.2.4 Teilgraphen . . . . . . 3.2.5 Kreise . . . . . . . . . 3.2.6 Anwendungen . . . . . 3.3 Äquivalenzrelationen . . . . . 3.4 Ordnungsrelationen . . . . . . 3.5 Hüllen von Relationen . . . . 3.6 Übungsaufgaben . . . . . . . INHALTSVERZEICHNIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Funktionen 4.1 Grundbegriffe . . . . . . . . . . . . . . 4.2 Wichtige Eigenschaften von Funktionen 4.3 Zusammensetzung von Funktionen . . 4.4 Einschränkung von Funktionen . . . . 4.5 Bild und Urbild von Mengen . . . . . . 4.6 Umkehrung von Funktionen . . . . . . 4.7 Fixpunkte . . . . . . . . . . . . . . . . 4.8 Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Zahlen 5.1 Natürliche Zahlen . . . . . . . . . . . . . . 5.1.1 Das Wohlordnungsaxiom . . . . . . 5.1.2 Das Induktionsprinzip . . . . . . . 5.1.3 Varianten des Induktionsprinzips . 5.2 Folgen . . . . . . . . . . . . . . . . . . . . 5.3 Rekursionen . . . . . . . . . . . . . . . . . 5.3.1 Rekursiv definierte Folgen . . . . . 5.3.2 Allgemeine Summen und Produkte 5.3.3 Auflösung von Rekursionen . . . . 5.4 Ganze Zahlen . . . . . . . . . . . . . . . . 5.5 Division mit Rest . . . . . . . . . . . . . . 5.5.1 Division von natürlichen Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 47 49 49 50 52 53 53 54 55 58 63 64 . . . . . . . . 67 67 69 71 72 72 74 76 77 . . . . . . . . . . . . 79 79 79 80 82 83 84 84 85 86 88 90 90 INHALTSVERZEICHNIS 9 5.5.2 5.5.3 5.5.4 5.5.5 Division von ganzen Zahlen . . . . . . . . . . . . Ziffernentwicklungen von ganzen Zahlen . . . . . Restklassen und Kongruenzen . . . . . . . . . . . Der größte gemeinsame Teiler und der euklidische gorithmus . . . . . . . . . . . . . . . . . . . . . . 5.6 Rationale Zahlen . . . . . . . . . . . . . . . . . . . . . . 5.7 Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . Al. . . . . . . 91 . 92 . 94 6 Permutationen 6.1 Zyklendarstellung . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Transpositionen . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . 107 . 108 . 110 . 113 7 Zählen (Kombinatorik) 7.1 Anzahl der Elemente einer Menge . . . . . . . . . . . . . . 7.2 Anzahl von Funktionen und Teilmengen . . . . . . . . . . 7.2.1 Beliebige Funktionen und Teilmengen . . . . . . . . 7.2.2 Injektive Funktionen . . . . . . . . . . . . . . . . . 7.2.3 Bijektive Funktionen . . . . . . . . . . . . . . . . . 7.2.4 k-elementige Teilmengen und monotone Funktionen 7.2.5 Surjektive Funktionen und Partitionen . . . . . . . 7.2.6 Multinomialkoeffizienten . . . . . . . . . . . . . . . 7.3 Anwendungsbeispiel: Fehlerkorrigierende Codes . . . . . . 7.4 Das Einschluss-Ausschluss-Prinzip . . . . . . . . . . . . . . 7.4.1 Fixpunktfreie Permutationen . . . . . . . . . . . . . 7.4.2 Ein anderer Beweis der Formel für die Stirling’schen Zahlen 2. Art . . . . . . . . . . . . . 7.5 Elementare Wahrscheinlichkeiten . . . . . . . . . . . . . . 7.5.1 Ereignisse . . . . . . . . . . . . . . . . . . . . . . . 7.5.2 Wahrscheinlichkeiten . . . . . . . . . . . . . . . . . 7.6 Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 . 115 . 121 . 121 . 122 . 123 . 124 . 130 . 132 . 134 . 137 . 138 . . . . . . . . . . . . . . 151 . 151 . 151 . 152 . 153 8 Graphen 8.1 Grundbegriffe . . . . . . . . . . . . . . . 8.1.1 Isomorphie von Graphen . . . . . 8.1.2 Einige wichtige spezielle Graphen 8.1.3 Eckengrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 . 105 . 105 139 140 140 141 147 10 INHALTSVERZEICHNIS 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 8.10 8.1.4 Adjazenzlisten . . . . . . . . . . Wege und Wanderungen . . . . . . . . 8.2.1 Eulersche Wege . . . . . . . . . 8.2.2 Hamiltonsche Kreise . . . . . . Adjazenzmatrizen . . . . . . . . . . . . Bäume . . . . . . . . . . . . . . . . . . 8.4.1 Wurzelbäume . . . . . . . . . . 8.4.2 Aufspannende Bäume . . . . . . Kreisfreie Digraphen . . . . . . . . . . Bewertete Graphen und Digraphen . . 8.6.1 Kürzeste Wege . . . . . . . . . 8.6.2 Minimale aufspannende Bäume Färbung von Graphen . . . . . . . . . Planare Graphen . . . . . . . . . . . . Multigraphen . . . . . . . . . . . . . . Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Algebraische Strukturen 9.1 Halbgruppen . . . . . . . . . . . . . . . . . . . 9.2 Gruppen . . . . . . . . . . . . . . . . . . . . . . 9.2.1 Definitionen und Beispiele . . . . . . . . 9.2.2 Untergruppen . . . . . . . . . . . . . . . 9.2.3 Die Gruppe der primen Restklassen . . . 9.2.4 Anwendungsbeispiel: Verschlüsselung von 9.3 Ringe und Körper . . . . . . . . . . . . . . . . . 9.4 Polynome . . . . . . . . . . . . . . . . . . . . . 9.4.1 Polynomringe über Körpern . . . . . . . 9.5 Isomorphismen und Homomorphismen . . . . . 9.5.1 Isomorphismen . . . . . . . . . . . . . . 9.5.2 Der Körper der komplexen Zahlen . . . . 9.5.3 Homomorphismen . . . . . . . . . . . . . 9.6 Übungsaufgaben . . . . . . . . . . . . . . . . . A Testaufgaben mit Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nachrichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 159 160 164 165 167 169 179 182 186 188 196 199 203 210 212 215 . 215 . 219 . 219 . 221 . 226 . 232 . 234 . 238 . 241 . 244 . 244 . 248 . 251 . 256 259 Kapitel 1 Mathematische Logik 1.1 Aussagenlogik Im allgemeinen Sprachgebrauch verwendet man das Wort ”Aussage” für beliebige sprachliche Ausdrücke, die keine Fragen oder Befehle sind. In der Mathematik interessiert man sich dagegen vor allem für Aussagen, die nur entweder wahr oder falsch sein können (”zweiwertige Logik”). Die Aussagenlogik (engl. ”propositional calculus”) dient zur Formalisierung des Umgangs mit solchen Aussagen (”propositions”). Je nachdem, ob eine Aussage wahr oder falsch ist, ordnen wir ihr den Wahrheitswert (”truth value”) W oder F zu. Aussagen werden im Folgenden mit Kleinbuchstaben mit oder ohne Indizes bezeichnet: p, q, . . . , p1 , p2 , . . .. Statt ”p ist wahr” sagt man oft auch ”p gilt”. 1.1.1 Logische Operatoren Mit Hilfe der folgenden logischen Operatoren (”Junktoren”, ”logical connectives”) können aus gegebenen Aussagen neue Aussagen gebildet werden. Diese Operatoren werden durch ”Wahrheitstafeln” definiert, die den Wahrheitswert der neuen Aussage in Abhängigkeit von den Wahrheitswerten der gegebenen Aussagen enthalten. 11 12 KAPITEL 1. MATHEMATISCHE LOGIK Einstellige Operatoren: ¬ : Negation, ”nicht”: ¬p F W p W F ¬p ist also genau dann wahr, wenn p falsch ist. Andere Schreibweisen: ∼ p, p0 . Theoretisch gibt es noch drei weitere einstellige Operatoren: p W F v1 (p) v2 (p) v3 (p) W F W W F F Diese sind jedoch uninteressant: Bei v1 (p) und v2 (p) hängt der Wahrheitswert gar nicht von p ab, und v3 (p) hat in jedem Fall denselben Wahrheitswert wie p. Zweistellige Operatoren: ∧ : Konjunktion, ”und”; ∨ : Disjunktion, ”oder”; →: Subjunktion, ”wenn ... dann”; ↔: Bijunktion, ”genau dann ... wenn”: p W W F F q W F W F p∧q W F F F p∨q W W W F p→q W F W W p↔q W F F W Die Disjunktion wird oft auch als ”nichtausschließendes Oder” bezeichnet: p ∨ q ist wahr, wenn nur eine der beiden Aussagen p, q wahr ist; p ∨ q ist aber auch wahr, wenn beide Aussagen p, q wahr sind. Es gibt klarerweise insgesamt 24 = 16 zweistellige logische Operatoren. Die restlichen 12 haben aber nur untergeordnete Bedeutung. 1.1. AUSSAGENLOGIK 13 Bemerkungen zur Subjunktion: • Die Aussage ”Wenn es heute regnet, dann bleibe ich zu Hause.” ist nur in dem Fall falsch, dass es heute regnet und ich nicht zu Hause bleibe. Durch die Sprechweise ”wenn ... dann” wird allerdings oft eine Kausalbeziehung suggeriert. Davon ist aber nicht die Rede! Beispiel: Sei p die Aussage 0 = 1 und q die Aussage 2 + 2 = 4. Dann ist auf Grund der Definition der Subjunktion folgende Aussage wahr: 0 = 1 → 2 + 2 = 4. Man wird aber normalerweise nicht sagen ”Wenn 0 = 1, dann ist 2+2 = 4.”. • Besonders bemerkenswert ist die Tatsache, dass p → q auf jeden Fall wahr ist, wenn p falsch ist. Das heißt also, dass (im Sinne der Subjunktion) aus einer falschen Aussage jede beliebige Aussage folgt (”ex falso quodlibet”). Zum Beispiel sind folgende Aussagen wahr: a) Wenn man jeden Winkel mit Zirkel und Lineal in drei gleiche Teile teilen kann, dann bin ich der Kaiser von China. b) Jedes Element der leeren Menge ist eine Primzahl. (D.h.: x ∈ ∅ → x ist eine Primzahl.) 1.1.2 Aussageformen Durch ein- oder mehrmalige Anwendung von logischen Operatoren kann man aus elementaren Aussagen kompliziertere Aussagen aufbauen, deren Wahrheitswert aufgrund obiger Wahrheitstafeln in jedem Fall berechnet werden kann. Wir sprechen dann von einer Verknüpfung von Aussagen (”compound proposition”). Beispiel (”entweder - oder”, ”ausschließendes Oder”, ”exclusive or”): (p ∧ (¬q)) ∨ ((¬p) ∧ q) : p W W F F q W F W F p ∧ ¬q F W F F ¬p ∧ q F F W F (p ∧ (¬q)) ∨ ((¬p) ∧ q) F W W F 14 KAPITEL 1. MATHEMATISCHE LOGIK Man kann die hier vorkommenden Symbole p, q, . . . auch als Variablen ansehen, d.h. als ”Platzhalter”, für die beliebige Aussagen eingesetzt werden können. Dann nennt man so eine Verknüpfung auch Aussageform. Damit nicht so viele Klammern nötig sind, vereinbart man für die logischen Operatoren gewisse Prioritäten (ähnlich wie bei den algebraischen Operatoren). Die in der folgenden Liste weiter links stehenden Operatoren werden vor den weiter rechts stehenden durchgeführt: ¬, ∧, ∨, →, ↔ a ∨ ¬b → c ↔ a bedeutet also dasselbe wie ((a ∨ (¬b)) → c) ↔ a. Das obige ”entweder-oder” können wir jetzt kürzer so schreiben: p ∧ ¬q ∨ ¬p ∧ q. Deutlicher ist aber vielleicht: (p ∧ ¬q) ∨ (¬p ∧ q). 1.1.3 Tautologien und Kontradiktionen Definition 1.1 Eine Aussageform in den Variablen p, q, . . . heißt Tautologie (”tautology”), wenn sie immer wahr ist, unabhängig von den Wahrheitswerten der Variablen p, q, . . . . Sie heißt Widerspruch oder Kontradiktion (”contradiction”), wenn sie immer falsch ist. Beispiele für Tautologien: • p ∨ ¬p • (¬p ∨ q) ↔ (p → q), bzw. ohne Klammern: ¬p ∨ q ↔ p → q. Beweis: p W W F F q W F W F ¬p ∨ q W F W W Beispiele für Kontradiktionen: • p ∧ ¬p • (p ∨ q) ∧ (¬p ∧ ¬q) p→q W F W W (¬p ∨ q) ↔ (p → q) W W W W 1.1. AUSSAGENLOGIK 1.1.4 15 Implikationen Definition 1.2 Wenn A und B zwei Aussageformen sind, sodass A → B eine Tautologie ist, dann schreiben wir A⇒B und sagen ”aus A folgt B” oder ”A impliziert B” (”A implies B”). Man nennt A ⇒ B dann eine Implikation. Die folgenden aussagenlogischen Gesetze bilden eine Reihe von Beispielen dazu. Sie haben besondere Bedeutung für das logische Schließen (siehe die beiden nächsten Teilkapitel ”Formale Systeme” und ”Beweise”): p⇒p∨q p∧q ⇒p p ∧ (p → q) ⇒ q (p → q) ∧ (q → r) ⇒ (p → r) (p ∨ q) ∧ (p → r) ∧ (q → r) ⇒ r Abschwächung zur Disjunktion Abschwächung der Konjunktion Gesetz zum ”modus ponens” Transitivitätsgesetz Gesetz der Fallunterscheidung Alle diese Gesetze kann man wieder leicht mit Wahrheitstafeln beweisen. Bemerkung zum Transitivitätsgesetz: Statt (p → q) ∧ (q → r) schreibt man bei mathematischen Beweisen meist einfach p → q → r. Entsprechend sind auch längere Subjunktionsketten zu verstehen. Z.B.: p → q → r → s heißt (p → q) ∧ (q → r) ∧ (r → s). Analoges gilt für die Implikation: A ⇒ B ⇒ C heißt z.B., dass (A → B) ∧ (B → C) eine Tautologie ist, und daher gilt dann auch A ⇒ C. In der ”reinen” Logik werden solche Ketten dagegen meist so interpretiert: (p → q) → r bzw. ((p → q) → r) → s. 1.1.5 Logische Äquivalenzen Definition 1.3 Wenn A und B zwei Aussageformen sind, sodass A ↔ B eine Tautologie ist, so heißen sie logisch äquivalent (”logically equivalent”), und wir schreiben A ⇔ B. 16 KAPITEL 1. MATHEMATISCHE LOGIK Beispiele: a) ¬p ∨ q ⇔ p → q. b) ”Heute regnet es nicht, oder ich bleibe zu Hause.” ist logisch äquivalent mit ”Wenn es heute regnet, dann bleibe ich zu Hause.”. Die folgenden aussagenlogischen Gesetze sind ebenfalls logische Äquivalenzen (Beweis mit Wahrheitstafeln). • Kommutativität: • Assoziativität: p∧q ⇔q∧p p∨q ⇔q∨p (p ∧ q) ∧ r ⇔ p ∧ (q ∧ r) (p ∨ q) ∨ r ⇔ p ∨ (q ∨ r) In diesen Fällen kann man daher die Klammern weglassen. • Distributivität: p ∧ (q ∨ r) ⇔ (p ∧ q) ∨ (p ∧ r) p ∨ (q ∧ r) ⇔ (p ∨ q) ∧ (p ∨ r) (analog zum gewöhnlichen Distributivgesetz, mit ∧ an Stelle der Multiplikation und ∨ an Stelle der Addition bzw. umgekehrt) • Absorption: • de Morgan-Regel: p ∧ (p ∨ q) ⇔ p p ∨ (p ∧ q) ⇔ p ¬(p ∧ q) ⇔ ¬p ∨ ¬q ¬(p ∨ q) ⇔ ¬p ∧ ¬q (nach Augustus de Morgan, 1806 - 1871, Cambridge/London). • Regel für doppelte Verneinung: ¬(¬p) ⇔ p • Kon- oder Disjunktion mit einer wahren Aussage w: w∧a ⇔ a w∨a ⇔ w 1.1. AUSSAGENLOGIK 17 • Kon- oder Disjunktion mit einer falschen Aussage f : f ∧a ⇔ f f ∨a ⇔ a 1.1.6 Normalformen Auf Grund der folgenden logischen Äquivalenzen kann man jede Verknüpfung von Aussagen (bzw. Aussageformen) allein mit Hilfe der Operatoren ¬ und → ausdrücken: p ∧ q ⇔ ¬(p → ¬q) p ∨ q ⇔ ¬p → q p ↔ q ⇔ (p → q) ∧ (q → p) Der entstehende Ausdruck heißt dann (∧, ∨, ↔)-freie Normalform. Beispiel: (b → a) ∧ (¬b → (c ∨ a)) ⇔ (b → a) ∧ (¬b → (¬c → a)) ⇔ ¬((b → a) → ¬(¬b → (¬c → a))) Diese Normalform werden wir im Abschnitt ”Formale Systeme” verwenden. Wie wir schon wissen, gilt p → q ⇔ ¬p ∨ q. Daher kann man jede Aussageform mit ∧, ∨ und ¬ ausdrücken. Auf Grund der de Morgan-Formeln und der Distributivität kann man schließlich folgende Gestalt erreichen (disjunktive Normalform): A1 ∨ A2 ∨ . . . ∨ An wobei jedes Ai die Form Pi,1 ∧ Pi,2 ∧ . . . ∧ Pi,ki hat und die Pi,j entweder Aussagenvariable oder deren Negationen bezeichnen. Das ist also eine Disjunktion von Konjunktionen. Dabei kann ki auch = 1 sein, d.h. Ai kann einfach eine Aussagenvariable oder deren Negation sein. Auch n kann = 1 sein. Dann handelt es sich nur um eine Disjunktion von Aussagenvariablen oder Negationen davon. Beispiel: c → (a ∨ b) ∧ (¬a ∨ ¬b) ⇔ ¬c ∨ ((a ∨ b) ∧ (¬a ∨ ¬b)) ⇔ ¬c ∨ ((a ∨ b) ∧ ¬a) ∨ ((a ∨ b) ∧ ¬b) ⇔ ¬c ∨ (a ∧ ¬a) ∨ (b ∧ ¬a) ∨ (a ∧ ¬b) ∨ (b ∧ ¬b) ⇔ ¬c ∨ (b ∧ ¬a) ∨ (a ∧ ¬b) 18 KAPITEL 1. MATHEMATISCHE LOGIK ⇔ (a ∧ ¬b) ∨ (¬a ∧ b) ∨ ¬c. Bemerkung: Die disjunktive Normalform ist i.a. nicht eindeutig, selbst wenn man die Bestandteile alphabetisch ordnet. So könnte man z.B. die letzte Aussageform auch so schreiben: (a ∧ ¬b ∧ c) ∨ (¬a ∧ b ∧ c) ∨ ¬c. Es gibt aber eine besonders ausgezeichnete Normalform, die hier nur an dem soeben behandelten Beispiel erklärt werden soll. Wir gehen von der entsprechenden Wahrheitstafel aus: a W W W W F F F F b W W F F W W F F c W F W F W F W F a ∧ ¬b ¬a ∧ b F F F F W F W F F W F W F F F F ¬c F W F W F W F W (a ∧ ¬b) ∨ (¬a ∧ b) ∨ ¬c F W W W W W F W Wir betrachten nun die Zeilen der Wahrheitstafel, wo ganz rechts ein W steht, und bilden nun für jede solche Zeile die Konjunktion von a, b, c oder deren Negationen, je nachdem ob in der entsprechenden Spalte ein W oder F steht. Schließlich bilden wir die Disjunktion aller dieser Konjunktionen: (a∧b∧¬c)∨(a∧¬b∧c)∨(a∧¬b∧¬c)∨(¬a∧b∧c)∨(¬a∧b∧¬c)∨(¬a∧¬b∧¬c). Es ist nicht schwer einzusehen, dass diese Aussageform zu der obigen logisch äquivalent ist. Auf diese Weise kann man für jede nicht kontradiktorische Aussageform eine eindeutig bestimmte ausgezeichnete disjunktive Normalform ermitteln. Analog zur disjunktiven Normalform kann man jede logische Verknüpfung als Konjunktion von Disjunktionen darstellen (konjunktive Normalform). Beispiel: (a ∧ ¬b) ∨ (¬a ∧ b) ∨ ¬c ⇔ ((a ∨ b) ∧ (¬a ∨ ¬b)) ∨ ¬c ⇔ (a ∨ b ∨ ¬c) ∧ (¬a ∨ ¬b ∨ ¬c) Hier kann man sich ähnlich wie vorhin überlegen, dass es für jede nicht tautologische Aussageform eine ausgezeichnete konjunktive Normalform gibt, die 1.2. PRÄDIKATENLOGIK 19 eindeutig bestimmt ist. Man geht dabei von den Zeilen der Wahrheitstafel aus, wo ganz rechts ein F steht und bildet die Konjunktion der entsprechenden Negationen. Für obiges Beispiel ergibt sich auf diese Weise: (¬a ∨ ¬b ∨ ¬c) ∧ (a ∨ b ∨ ¬c), also dasselbe wie vorhin, nur in umgekehrter Reihenfolge. 1.2 1.2.1 Prädikatenlogik Einstellige Prädikate Die Aussagenlogik reicht bei weitem nicht aus, um die für die Wissenschaft bedeutsamen Überlegungen zu formalisieren. Z.B. kann damit der folgende einleuchtende Schluss nicht formal begründet werden: Aus den beiden Aussagen ”Alle Metalle leiten den elektrischen Strom.” ”Kupfer ist ein Metall.” folgt ”Kupfer leitet den elektrischen Strom.” Die Prädikatenlogik (”predicate calculus”) stellt nun eine Erweiterung der Aussagenlogik dar, in der nicht nur der Wahrheitswert, sondern auch die Struktur von Aussagen berücksichtigt wird, indem man Subjekt und Prädikat unterscheidet. In der Aussage ”Kupfer ist ein Metall.” ist zum Beispiel s = ”Kupfer” das Subjekt und P = ”ist ein Metall” das Prädikat. Diese Aussage schreiben wir dann so: P (s). Wenn P irgendein Prädikat und s irgendein Subjekt ist, so bedeutet P (s), dass das Prädikat P auf das Subjekt s zutrifft. P gibt also so etwas wie eine Eigenschaft an. Bei der ersten der obigen Aussagen kommt noch etwas für den logischen Schluss Wesentliches hinzu: das Wort ”alle”. Etwas umständlicher könnten wir die Aussage auch so formulieren: ”Für alle x gilt: Wenn x ein Metall ist, dann leitet x den elektrischen Strom.” 20 KAPITEL 1. MATHEMATISCHE LOGIK Bezeichnen wir die Prädikate ”ist ein Metall” und ”leitet den elektrischen Strom” mit M bzw. S und kürzen wir ”für alle x gilt” mit ∀x ab, so lautet die Aussage: (∀x) (M(x) → S(x)). Das Zeichen ∀ heißt Allquantor (”universal quantifier”). Von gleicher Bedeutung ist der Existenzquantor ∃ (”existential quantifier”): ∃x heißt ”es gibt (mindestens) ein x, sodass”. Bezeichnet z.B. P das Prädikat ”ist Primzahl”, so ist folgende Aussage wahr, da es bekanntlich unendlich viele Primzahlen gibt: (∃x) (P (x) ∧ (x > 1010 )). Etwas kürzere Schreibweise: ∀x : M(x) → S(x) bzw. ∃x : P (x) ∧ (x > 1010 ). Viele mathematische Aussagen enthalten sowohl Existenz- als auch Allquantoren. Sei z.B. N das Prädikat ”ist eine natürliche Zahl”. Dann gilt: (∀n) (N(n) → (∃x)(P (x) ∧ (x > n))) (in Worten: Zu jeder natürlichen Zahl n gibt es eine Primzahl, die größer als n ist). Existenz- und Allquantor werden zusammen als Quantoren bezeichnet. V Andere Schreibweise für die Quantoren: Statt ∀x schreibt man auch , statt x W ∃x auch . x Ein Symbol, das nach einem Quantor steht, heißt gebundene Variable (”bound variable”). Dadurch kommt zum Ausdruck, dass man dafür nicht etwas anderes einsetzen darf, also z.B. eine Aussage oder eine Zahl. Es ist nur eine Umbenennung des Symbols erlaubt: (∃x)P (x) bedeutet dasselbe wie (∃y)P (y). ”Echte” Variable, wie wir sie z.B. bei Aussageformen besprochen haben, werden zum Unterschied als freie Variable (”free variable”) bezeichnet. Manchmal möchte man ausdrücken, dass es genau ein x mit einer bestimmten Eigenschaft P gibt (und nicht mehrere). Man schreibt dafür (∃!x) P (x). Das ist eigentlich eine Abkürzung für (∃x)(P (x) ∧ (∀x0 )(P (x0 ) → x0 = x)). 1.2. PRÄDIKATENLOGIK 21 Der Beweis einer solchen Aussage besteht daher meist aus zwei Teilen: 1. Existenz, 2. Eindeutigkeit. Beispiel: (∃!x)(N(x) ∧ x2 = 9), wobei N dieselbe Bedeutung wie vorhin hat. Existenz: Sei x = 3. Dann ist x2 = 9. Eindeutigkeit: Sei x0 eine natürliche Zahl mit x02 = 9. Dann folgt auf Grund der bekannten Eigenschaften der natürlichen Zahlen leicht: x0 = 3 (siehe Kapitel 5.1). Eine genaue Darstellung der Prädikatenlogik geht über den Rahmen dieses Buches weit hinaus (siehe z.B. [9]). In großen Teilen der Mathematik wird nur die Schreibweise der Prädikatenlogik verwendet, um mathematische Sachverhalte klar ausdrücken zu können. Darüber hinaus ist es nützlich, die folgenden Regeln zu kennen. Diese erleichtern oft die Formulierung der Negation einer komplizierteren Aussage, wie man sie etwa beim indirekten Beweis braucht. (Siehe Abschnitt 1.4.1.) Negation einer All- bzw. Existenzaussage: ¬(∀x)P (x) ⇔ (∃x) (¬P (x)) ¬(∃x)P (x) ⇔ (∀x)(¬P (x)) (Die zweite Formel entsteht aus der ersten durch Negation und Vertauschung von linker und rechter Seite.) Das Zeichen ”⇔” bedeutet hier, dass es sich um eine Bijunktion handelt, die für jedes beliebige Prädikat P wahr ist. Wir sprechen wieder von einer logischen Äquivalenz. Die erste Formel lautet in Worten: ”Nicht alle x haben die Eigenschaft P .” ist gleichbedeutend mit ”Es gibt ein x, das die Eigenschaft P nicht hat.”. Die zweite Formel könnte man etwa so ausdrücken: ”Es gibt kein x mit der Eigenschaft P .” ist gleichbedeutend mit ”Alle x haben die Eigenschaft ¬P .”. Liest man diese Formeln von rechts nach links, so sieht man, dass der Existenzquantor durch den Allquantor und umgekehrt ausgedrückt werden kann. Ersetzt man P (x) durch P (x) → Q(x), so erhält man: ¬(∀x)(P (x) → Q(x)) ⇔ (∃x)(P (x) ∧ ¬Q(x)). Konkrete Beispiele dafür: 22 KAPITEL 1. MATHEMATISCHE LOGIK • Sei P = ”ist Österreicher” und Q = ”ist deutschsprachig”. Dann ergibt sich: ”Nicht alle Österreicher sind deutschsprachig.” ist gleichbedeutend mit ”Es gibt mindestens einen Österreicher, der nicht deutschsprachig ist.”. • Sei P (x) = ”x ist eine gerade natürliche Zahl ≥ 4” und Q(x) = ”x ist Summe zweier Primzahlen”. Dann erhalten wir mit der Negation der letzten Formel zwei äquivalente Formulierungen der berühmten Goldbach’schen Vermutung: ”Jede gerade natürliche Zahl ≥ 4 ist Summe zweier Primzahlen.” und ”Es gibt keine gerade natürliche Zahl ≥ 4, die nicht Summe zweier Primzahlen ist.”. (Christian Goldbach, 1690-1764, war eigentlich Jurist, hatte aber mit führenden Mathematikern seiner Zeit brieflichen Kontakt, insbesondere mit Leonhard Euler.) Ersetzt man in der letzten Formel Q(x) durch Q(x) ∧ R(x) bzw. Q(x) ∨ R(x), so ergibt sich: ¬(∀x)(P (x) → Q(x) ∧ R(x)) ⇔ (∃x)(P (x) ∧ (¬Q(x) ∨ ¬R(x))) ¬(∀x)(P (x) → Q(x) ∨ R(x)) ⇔ (∃x)(P (x) ∧ (¬Q(x) ∧ ¬R(x))) Als Negation einer Allaussage erhält man also eine Existenzaussage, bei der ∧ und ∨ vertauscht und die einzelnen Teilaussagen negiert sind. Beispiele: • Die Negation von ”Alle Schweden sind groß und blond” ist ”Es gibt (mindestens) einen Schweden, der nicht groß oder nicht blond ist”. • Die Negation von ”Für alle linearen Gleichungssysteme ist die Anzahl der Lösungen ≤ 1 oder unendlich.” lautet ”Es gibt ein lineares Gleichungssystem, dessen Lösungsanzahl > 1 und endlich ist.” (Welche dieser beiden Aussagen wahr ist, hängt davon ab, ob der zugrundeliegende Körper endlich oder unendlich ist; siehe Vorlesungen oder Bücher über Lineare Algebra, z.B. [21].) 1.2.2 Mehrstellige Prädikate Mehrstellige Prädikate drücken Beziehungen zwischen zwei oder mehr Subjekten bzw. Objekten aus. Beispiele: 1.2. PRÄDIKATENLOGIK 23 a) Sei P das Prädikat ”ist verheiratet mit”. Dann steht P (x, y) für den Satz ”x ist mit y verheiratet”. In diesem Fall handelt es sich um eine symmetrische Beziehung: (∀x)(∀y)(P (x, y) ↔ P (y, x)). Kürzere Schreibweise: ∀x, y : P (x, y) ↔ P (y, x). b) Sei T = ”ist Teiler von”. Das ist eine nichtsymmetrische Beziehung. Es gilt aber folgende Transitivität: (∀x)(∀y)(∀z) (T (x, y) ∧ T (y, z) → T (x, z)). (Genau genommen bedeutet hier T (x, y) ”x und y sind natürliche Zahlen, und x ist ein Teiler von y”.) c) Sei P (x, y, z) = (x < y) ∧ (y < z). Dafür schreibt man meist kürzer: x < y < z. Weiters sei Z(x, y, z) = ”y liegt zwischen x und z” und N (x) = ”x ist eine natürliche Zahl”. Dann gilt: (∀x)(∀y)(∀z) (N(x) ∧ N(y) ∧ N(z) → (Z(x, y, z) ↔ P (x, y, z) ∨ P (z, y, x))). 1.2.3 Bemerkungen zur Implikation Seien A und B zwei Aussagen, in denen eine oder mehrere freie Variablen x, y, . . . vorkommen. Dann bedeutet A ⇒ B, dass (∀x)(∀y) . . . A → B. Man nennt das wieder eine Implikation (vgl. Definition 1.2) und sagt wieder ”aus A folgt B” oder ”A impliziert B”. In analoger Weise verwendet man auch das Zeichen ⇔. Häufig wird eine der folgenden Ausdrucksweisen für A ⇒ B verwendet: ”A ist hinreichend (”sufficient”) für B” (oder: ”A ist eine hinreichende Bedingung für B”), ”B ist notwendig (”necessary”) für A” (oder ”B ist eine notwendige Bedingung für A”). Beispiele: 1) Sei U = ”a und b sind ungerade ganze Zahlen”, und G = ”a + b ist eine gerade ganze Zahl”. Dann ist U hinreichend für G, denn es gilt U ⇒ G. 24 KAPITEL 1. MATHEMATISCHE LOGIK Aber U ist keine notwendige Bedingung für G, da auch die Summe von zwei geraden Zahlen wieder gerade ist. 2) Sei P = ”x ist eine mehrstellige Primzahl” und E = ”Die Einerstelle von x ist entweder 1, 3, 7 oder 9”. Es gilt P ⇒ E, denn wenn die Einerstelle von x eine gerade Zahl ist, so ist auch x gerade, und wenn die Einerstelle gleich 5 ist, dann ist x durch 5 teilbar. E ist also eine notwendige Bedingung dafür, dass x eine mehrstellige Primzahl ist. E ist jedoch nicht hinreichend: z.B. ist 21 keine Primzahl. 3) Sei D = ”x ist durch 3 teilbar” und Z = ”Die Ziffernsumme von x ist durch 3 teilbar”. Dann gilt D ⇔ Z, das heißt Z ist eine notwendige und hinreichende Bedingung für D. 1.3 Formale Systeme Mathematische Theorien können als ”formale Systeme” aufgefasst werden. (Andere Bezeichnungen: ”Kalkül”, ”Kodifikat”.) Definition 1.4 Ein formales System (”formal system”) besteht aus • Symbolen (”symbols”), • zulässigen Ausdrücken (engl. ”well-formed formulas”), • Axiomen (”axioms”), • Ableitungsregeln (”rules of inference”). Dabei versteht man unter einem Ausdruck endlich viele hintereinander geschriebene Symbole. Es muss klargestellt sein, welche Symbole verwendet werden dürfen und welche Ausdrücke zulässig sind. Die Axiome sind ganz bestimmte zulässige Ausdrücke, von denen man ausgeht. Die Ableitungsregeln geben an, wie man von einem oder mehreren Ausdrücken zu einem neuen Ausdruck übergehen kann. 1.3. FORMALE SYSTEME 25 Schreibweise: A1 , . . . , An A Das heißt: Von A1 , . . . , An kann man zu A übergehen. Wenn das formale System etwas mit logischem Schließen zu tun hat, dann betrachtet man die Axiome als ”wahr” und sagt statt ”zu A übergehen” auch ”auf A schließen”. Wenn man einen Ausdruck aus den Axiomen mit Hilfe der Ableitungsregeln erhalten kann, so nennt man diesen Ausdruck Satz, Theorem oder ableitbarer Ausdruck. Die dabei auftretenden Zwischenschritte ergeben zusammen etwas, was man einen formalen Beweis oder auch eine Ableitung oder Herleitung (”deduction”) des Satzes nennt: Definition 1.5 Ein formaler Beweis (”formal proof”) eines zulässigen Ausdrucks S ist eine Folge von zulässigen Ausdrücken A1 , . . . , An−1 , An mit An = S, sodass sich jeder Ausdruck aus den Axiomen und den vorhergehenden Ausdrücken auf Grund der Ableitungsregeln des Systems ergibt. [11] Bemerkung: Für ”S ist ein ableitbarer Ausdruck” schreibt man auch: ` S. Beispiele: a) Das ”pg-System” [18]: Symbole: p, g, - (Die Beistriche gehören nicht zu den Symbolen.) zulässige Ausdrücke: alle Zeichenketten der Form X p Y g Z, wobei X,Y,Z Platzhalter für einen oder mehrere Striche - sind. Axiom: - p - g - Ableitungsregeln: 1) XpYgZ XpY-gZ- 2) XpYgZ X-pYgZ- Beispiel für einen Satz: - - p - - - g - - - - Ein formaler Beweis dieses Satzes: Axiom: - p - g - - 26 KAPITEL 1. MATHEMATISCHE LOGIK Regel 1): - p - - g - - nochmals Regel 1): - p - - - g - - - Regel 2): - - p - - - g - - - - - Dieses System besitzt eine einfach zu erkennende Interpretation: X p Y g Z kann man als X + Y = Z interpretieren, wenn man eine Folge von n Strichen mit der Zahl n identifiziert. b) Viele Spiele lassen sich als formale Systeme auffassen, z.B. das Schachspiel: Symbole: a,b,c,d,e,f,g,h,1,2,3,4,5,6,7,8,T,S,L,D,K,W,B zulässige Ausdrücke: alle Symbolfolgen, die eine ”Stellung” beschreiben (lässt sich relativ leicht formalisieren); Axiom: die Anfangsstellung Wa2b2c2d2e2f2g2h2Ta1Sb1Lc1Dd1Ke1Lf1Sg1Th1 Ba7b7c7d7e7f7g7h7Ta8Sb8Lc8Dd8Ke8Lf8Sg8Th8 Ableitungsregeln: Sämtliche Regeln des Schachspiels, entsprechend formalisiert. ”Sätze”: alle Stellungen, die unter Beachtung der Regeln zustandekommen können. Beweis eines ”Satzes”: Eine Folge von Stellungen, die von der Ausgangsstellung zu dem betrachteten ”Satz” führt. Hauptprobleme: Wie kann man feststellen, ob ein gegebener zulässiger Ausdruck ein Satz ist? Wie findet man einen Beweis zu einem gegebenen Satz? Im pg-System ist das kein Problem: XpYgZ ist genau dann ein Satz, wenn die Anzahl der Striche in X plus die Anzahl der Striche in Y gleich der Anzahl der Striche in Z ist. Auch die Beweise sind im pg-System sehr einfach, wie wir an obigem Beispiel gesehen haben. Bemerkung: Wenn man bereits einen oder mehrere Sätze bewiesen hat, dann kann man diese natürlich zur Herleitung eines weiteren Satzes benützen; man muss nicht immer bis zu den Axiomen zurückgehen. 1.3. FORMALE SYSTEME 27 Wir interessieren uns natürlich hauptsächlich für formale Systeme, die für die Mathematik und/oder Informatik von Bedeutung sind. 1.3.1 Die Aussagenlogik als formales System Die Aussagenlogik ist ein wichtiges Beispiel für ein formales System. Um mit möglichst wenigen Axiomen und Schlussregeln auszukommen, betrachten wir die (∧, ∨, ↔)-freie Form. Symbole: Kleinbuchstaben mit oder ohne Indizes (diese stehen für (elementare) Aussagen), sowie die Zeichen ¬, →, (, ). Zulässige Ausdrücke: a) Aussagesymbole. b) Wenn P und Q zulässige Ausdrücke sind, dann sind auch (P ), (¬P ) und (P → Q) zulässige Ausdrücke. Alle Verknüpfungen von Elementaraussagen stellen also zulässige Ausdrücke dar. Zur Vereinfachung der Schreibweise vereinbart man, dass äußerste Klammern weggelassen werden können, und dass ¬ stärker als → bindet. Axiome: Seien P, Q, R zulässige Ausdrücke. 1. P → (Q → P ) 2. (P → (Q → R)) → ((P → Q) → (P → R)) 3. (¬Q → ¬P ) → (P → Q) 28 KAPITEL 1. MATHEMATISCHE LOGIK Ableitungsregel: P, P → Q Q Das bedeutet: Von den beiden Aussagen P und P → Q kann man auf Q schließen. Diese Regel heißt modus ponens. Wenn man die Verknüpfungen dieses formalen Systems so interpretiert, wie wir es im Abschnitt ”Aussagenlogik” getan haben, so sieht man mit Hilfe der Wahrheitstafeln, dass jeder Satz dieses Systems eine Tautologie ist: die Axiome sind Tautologien, und die Ableitungsregel liefert aus zwei Tautologien wieder eine Tautologie. Man kann sogar zeigen, dass in diesem System jede Tautologie ableitbar ist. (Das ist die sogenannte ”Vollständigkeit” des Aussagenkalküls, siehe z.B. [24].) Überdies ist es möglich, relativ leicht (eventuell maschinell) für jeden gegebenen Ausdruck zu entscheiden, ob er ein Satz ist. Im Allgemeinen ist die Situation nicht so einfach! Die konkrete Herleitung eines Satzes ist allerdings schon für einfache Beispiele oft recht mühsam. Beispiel: Herleitung von a → a: Axiom 1 mit P = a und Q = (b → a) ergibt a → ((b → a) → a). Axiom 2 mit P = a, Q = (b → a) und R = a ergibt (a → ((b → a) → a)) → ((a → (b → a)) → (a → a)). Nach dem modus ponens können wir auf (a → (b → a)) → (a → a) schließen. Axiom 1: a → (b → a). Nochmalige Anwendung des modus ponens ergibt daher a → a. 1.3.2 Die Prädikatenlogik als formales System Die genaue Beschreibung ist sehr kompliziert und wird hier nicht durchgeführt. Die Axiome der Prädikatenlogik enthalten jedenfalls die Axiome der Aussagenlogik. Ableitungsregeln sind u.a. der modus ponens und folgende Regel [4]: (∀x)P (x) P (a) 1.4. BEWEISE 29 D.h. also: Wenn P (x) für alle x wahr ist, dann kann man in P (x) für x etwas beliebiges einsetzen, z.B. a, und man erhält eine wahre Aussage. Damit können wir jetzt z.B. den zu Beginn des Abschnitts ”Prädikatenlogik” formulierten Schluss formalisieren: Seien M, S die Prädikate ”ist ein Metall” bzw. ”leitet Strom”, und k sei das Subjekt ”Kupfer”. Dann schließen wir so: (∀x)(M(x) → S(x)) M(k) → S(k) Mit dem modus ponens erhalten wir die gewünschte Aussage: M(k), M(k) → S(k) . S(k) 1.4 Beweise Man kann jede mathematische Theorie als formales System auffassen, das die Aussagen- und Prädikatenlogik umfasst. Ein Beweis eines Satzes S ist dann eine Folge von zulässigen Ausdrücken A1 , . . . , An−1 , An mit An = S, sodass sich jeder Ausdruck aus den Axiomen und den vorhergehenden Ausdrücken auf Grund der Ableitungsregeln des Systems ergibt. Man braucht dabei natürlich nicht bei jedem Satz wieder von vorne anzufangen, sondern kann auf bereits bewiesene Sätze zurückgreifen. In der Praxis werden mathematische Beweise allerdings fast nie im Sinne eines formalen Beweises angegeben, da dies in den meisten Fällen viel zu kompliziert und auch für den Leser schwer durchschaubar wäre. Mathematische Beweise dienen u.a. dazu, 1. sich selbst zu überzeugen, dass man richtig überlegt hat; 2. die wesentlichen Ideen, die der Beweis enthält, zu vermitteln; 3. andere Mathematiker zu überzeugen, dass es prinzipiell möglich ist, diese Ideen zu einem formalen Beweis auszubauen; 4. den inneren Aufbau und die Zusammenhänge zwischen den Sätzen einer Theorie verständlich zu machen. In Vorlesungen und Lehrbüchern kommt noch ein weiterer wichtiger Zweck hinzu: 30 KAPITEL 1. MATHEMATISCHE LOGIK 5. den Studierenden die mathematische Denkweise nahezubringen und sie dadurch zu befähigen, mathematische Literatur zu verstehen und selbständig mathematische Probleme zu lösen. In Hinblick auf die Informatik sind zusätzlich folgende Aspekte von Bedeutung: 6. Beweise führen oft zu programmierbaren Verfahren (Algorithmen); 7. Abschätzungen von Rechenzeit- und Speicherplatzbedarf erfordern oft mathematische Beweistechniken; 8. in vielen Fällen ist es nötig oder wünschenswert, die Korrektheit eines Programms zu beweisen und nicht nur durch Tests abzusichern; 9. und gerade deswegen ist das automatische Beweisen ein wichtiges Teilgebiet der Informatik, zu dessen Verständnis man mit der Natur mathematischer Beweise vertraut sein muss. Sprache und Symbolik der Logik dienen oft dazu, größere Klarheit zu erreichen, auch wenn man keinen formalen Beweis angeben will. Für die Praxis ist wichtig, dass man für das Finden eines Beweises oft ein großes Maß an Intuition (anschauliches oder gefühlsmäßiges Erkennen) und Vorstellungsvermögen braucht, der Beweis selbst aber unabhängig von solchen Dingen sein muss. 1.4.1 Indirekter Beweis Viele Sätze haben die Form P → Q. Man nennt dann P die Voraussetzung (”premise”) und Q die Behauptung (”conclusion”). Um einen solchen Satz zu beweisen, ist es oft einfacher, ”indirekt” zu schließen. Es gibt zwei Varianten des indirekten Beweises: a) Man beweist (direkt) den Satz ¬Q → ¬P . Auf Grund des Axioms (¬Q → ¬P ) → (P → Q) kann man daraus mit dem modus ponens auf P → Q schließen. b) Man zeigt, dass sich aus P ∧ ¬Q ein Widerspruch ergibt (”proof by contradiction”). Genauer: man beweist (P ∧ ¬Q) → (R ∧ ¬R) 1.4. BEWEISE 31 für eine bestimmte Aussage R. Nun ist aber folgende Aussage eine Tautologie, wie man mit einer Wahrheitstafel leicht nachprüfen kann: ((P ∧ ¬Q) → (R ∧ ¬R)) → (P → Q) Da im System der Aussagenlogik jede Tautologie ableitbar ist, können wir mit dem modus ponens auf P → Q schließen. Die Negation der Behauptung, hier ¬Q, nennt man oft indirekte Annahme. Bei einem indirekten Beweis leitet man also aus der indirekten Annahme einen Widerspruch zur Voraussetzung her. Beispiele kommen in den nächsten Kapiteln immer wieder vor (z.B. Beweis von Satz 3.20 und Beweis der Eindeutigkeit bei Satz 5.9). 1.4.2 Beweis durch Fallunterscheidung Wenn sich P in der Form V1 ∨ V2 darstellen lässt, so kann man den Satz P → Q beweisen, indem man statt dessen die beiden Sätze V1 → Q und V2 → Q beweist, denn es gilt (V1 → Q) ∧ (V2 → Q) ⇒ ((V1 ∨ V2 ) → Q), was man wieder mit einer Wahrheitstafel überprüfen kann. Wenn P eine Disjunktion von drei oder mehr Voraussetzungen ist, geht es natürlich analog. Beispiel 1.6 Für jede natürliche Zahl x ist die Zahl x3 + x gerade. Sei dazu N = ”ist eine natürliche Zahl”, G = ”ist eine gerade natürliche Zahl” und U = ”ist eine ungerade natürliche Zahl”. N (x) bedeutet also dasselbe wie G(x) ∨ U (x). Zum Beweis von N(x) ⇒ G(x3 + x) (das heißt: (∀x)(N(x) → G(x3 + x)) ) gehen wir daher so vor: 1. Fall: x gerade. D.h. wir wollen zeigen: G(x) ⇒ G(x3 + x). Beweis: G(x) heißt (∃k)(N(k) ∧ x = 2k). Daher gilt mit so einem k: x3 + x = (2k)3 + (2k) = 8k3 + 2k = 2(4k3 + k), und wir sehen, dass x3 + x gerade ist. 2. Fall: x ungerade. Zu zeigen: U (x) ⇒ G(x3 + x). 32 KAPITEL 1. MATHEMATISCHE LOGIK Beweis: U(x) heißt (∃k)(N(k) ∧ x = 2k − 1). Daher: x3 + x = (2k − 1)3 + (2k − 1) = 8k 3 − 3 · 4k2 + 3 · 2k − 1 + 2k − 1 = 2(4k3 − 6k2 + 4k − 1), und wir sehen wieder, dass x3 + x gerade ist. (Das Zeichen zeigt das Ende eines Beweises an.) Manchmal verläuft der Beweis für zwei oder mehrere Fälle völlig analog. Dann führen wir den Beweis nur für einen Fall durch und sagen etwa: ”Ohne Beschränkung der Allgemeinheit (kurz: O.B.d.A.) können wir annehmen, dassdieser Fall vorliegt.”. Bevor wir uns ein typisches Beispiel ansehen, noch eine einfache, aber wichtige Definition. Definition 1.7 Sei x eine reelle Zahl. ½ x falls x ≥ 0, |x| := −x falls x < 0. |x| heißt der (absolute) Betrag (engl. ”absolute value”) von x. Wir setzen hier die reellen Zahlen als bekannt voraus. Wir könnten uns aber auch auf die ganzen oder rationalen Zahlen beschränken (siehe Abschnitte 2.4, 5.4 und 5.6). Bemerkung: Durch Fallunterscheidung sieht man sofort, dass für alle reellen Zahlen x gilt: x ≤ |x| und −x ≤ |x| . Jetzt zu einem Beispiel für ”o.B.d.A.”: Beispiel 1.8 Für beliebige reelle Zahlen x, y gilt |x − y| ≤ |x| + |y| . (”Dreiecksungleichung”) Beweis: Auf Grund der Definition des absoluten Betrages ist es naheliegend, folgende zwei Fälle zu unterscheiden: 1.5. ÜBUNGSAUFGABEN 33 1. x − y ≥ 0, d.h. x ≥ y. 2. x − y < 0, d.h. x < y. Da es nichts schadet, wenn wir den Fall x−y = 0 zweimal behandeln, können wir als 2. Fall auch x − y ≤ 0 nehmen. Dann geht der Beweis aber in beiden Fällen völlig analog, es werden nur die Rollen von x und y vertauscht. Wir sagen daher: Sei o.B.d.A. x ≥ y. Dann ist |x − y| = x−y = x+(−y) ≤ |x|+|y| auf Grund der vorhergehenden Bemerkung. Die folgende einfache Regel für den absoluten Betrag kann man ebenso leicht beweisen (Übungsaufgabe 10): |xy| = |x||y|. 1.5 Übungsaufgaben 1. Stellen Sie die folgenderweise definierte logische Operation ¤ zunächst mit Hilfe von ¬ und ∧ dar, und dann mit Hilfe von ¬ und →: p W W F F q W F W F p¤q F F F W Wie könnte man diese Operation sprachlich ausdrücken? 2. Beweisen Sie mit Hilfe von Wahrheitstafeln die folgenden aussagenlogischen Gesetze: a) (p ∨ q) ∧ ¬p ⇒ q b) (p → q) ∧ (q → r) ⇒ (p → r) c) p ⇒ (q → p) 3. Überprüfen Sie mit Hilfe von Wahrheitstafeln die folgenden logischen Äquivalenzen auf ihre Richtigkeit: a) p → q ⇔ p ∧ ¬q → ¬p b) p → q ⇔ ¬p → ¬q c) (p ∧ ¬q) → (r ∧ ¬r) ⇔ p → q (Prinzip des indirekten Beweises) Wenn eine dieser Formeln nicht stimmt, versuchen Sie eine ähnliche gültige Formel zu finden. 34 KAPITEL 1. MATHEMATISCHE LOGIK 4. Bestimmen Sie alle drei Normalformen für a) (p → q) ∧ (r → s), b) p → (q → s). 5. Formulieren Sie die Negationen der folgenden Aussagen so, dass kein Negationszeichen vor einer Klammer steht: a) (¬p ∧ q) ∨ (q → r), b) ((p → q) → r) → (p ∨ q). 6. Beweisen Sie das Gesetz zum Modus ponens: p ∧ (p → q) ⇒ q. 7. Formulieren Sie in geeigneter Weise die Negationen der folgenden Aussagen: a) (∀a)(∃b)(P (x, b) → Q(x, a)), b) ∃x : (R(x) ∧ (∀y)(P (x, y)), c) Es gibt eine Konstante c > 0, sodass für alle natürlichen Zahlen m die Ungleichung K(m, a) > c · m1−a gilt. d) Zu jedem ε > 0 gibt es eine Zahl δ > 0, sodass für alle Zahlen x mit |x| < δ die Beziehung |P (x)| < ε gilt. 8. Studieren Sie das folgende formale System: Symbole: a, b. Zulässige Ausdrücke: Alle Zeichenketten, die sich aus den Symbolen bilden lassen. Axiom: a. Ableitungsregeln: XaY XbaY , XaY XaaY , wobei X, Y Platzhalter für irgendwelche Zeichenketten sind (eventuell auch leer). Welche Ausdrücke lassen sich ableiten? 9. Leiten Sie im formalen System der Aussagenlogik die folgende Formel ab: ¬q → (q → p) (Überlegen Sie sich dazu folgenden ”Hilfssatz”: Wenn (im formalen System der Aussagenlogik) P → Q und Q → R ableitbar sind, dann ist auch P → R ableitbar.) 10. Beweisen Sie |xy| = |x||y| für beliebige reelle Zahlen x, y. Kapitel 2 Mengen Man kann die Mengenlehre als formales System definieren und behandeln. Das ist aber sehr kompliziert. Hier wird die Mengenlehre ”naiv” dargestellt, d.h. wir ignorieren die subtilen Schwierigkeiten, die sich bei der exakten formalen Behandlung ergeben (siehe z.B. [14]). Wir verwenden aber dennoch, soweit sinnvoll, Schreibweise und Formeln der mathematischen Logik. Eine Menge (engl. ”set”) ist eine Zusammenfassung von Objekten, welche die Elemente der Menge genannt werden. Wesentlich dabei ist, dass für jedes Objekt eindeutig feststellbar sein muss, ob es ein Element der Menge ist oder nicht. x ∈ M bedeutet: ”x ist ein Element der Menge M”. Man sagt dafür auch kurz ”x aus M” oder ”x in M”. Statt ¬(x ∈ M) schreibt man meist x ∈ / M. Die Anzahl der Elemente einer Menge M bezeichnen wir mit |M| . Man nennt |M| auch die Kardinalzahl (”cardinality”) von M und schreibt dafür auch card M oder #M. 2.1 Beschreibung von Mengen Zur Beschreibung von Mengen werden vor allem die folgenden zwei Möglichkeiten verwendet: 35 36 KAPITEL 2. MENGEN a) durch Aufzählen ihrer Elemente: Die Elemente der Menge werden, durch Beistriche getrennt, aufgeschrieben, und das Ganze wird mit geschwungenen Klammern eingeschlossen. Das ist vor allem für Mengen mit wenigen Elementen geeignet, z.B.: M = {2, 3, 5, 8}. Einige wesentliche Aspekte dabei: • Es kommt nicht auf die Reihenfolge der Elemente an: {1, 3, 2} = {1, 2, 3}. • Mehrfach vorkommende Elemente zählen nur einfach: {1, 3, 1, 2, 2, 1} = {1, 2, 3} = {1, 1, 1, 2, 3, 3} • Die Elemente einer Menge können selbst wieder Mengen sein: A = {1, 2, 3, {1, 2}, {1, 3}, 4, 5, {1}, 7}. Wenn alle Elemente von A Mengen sind, dann nennt man A auch eine Familie von Mengen. Eine Menge {a} mit nur einem Element a heißt auch Einermenge (von a) (”singleton”). Sie darf nicht mit dem Element a verwechselt werden. Eine besondere Menge ist die leere Menge (”empty set”). Sie enthält kein Element. Bezeichnung: ∅, manchmal auch {}. Bei Mengen mit vielen Elementen werden die Elemente oft unter Zuhilfenahme von ” . . . ” aufgezählt. Das ist allerdings nur sinnvoll, wenn kein Zweifel über die ausgelassenen Elemente besteht. Beispiele: a) Mengen von aufeinanderfolgenden natürlichen Zahlen: {1, 2, . . . , 100}, {1, . . . , n}. b) Mengen mit leicht erkennbarem Bildungsgesetz, auch mit unendlich vielen Elementen: {3, 6, 9, 12, . . .}. 2.2. TEILMENGEN 37 b) durch Angabe einer charakteristischen Eigenschaft: Sei P ein einstelliges Prädikat. Dann bedeutet {x | P (x)} die Menge aller x, für die P (x) wahr ist. Andere Schreibweise: {x : P (x)}. Beispiele: a) N = {x | x ist eine natürliche Zahl} = {1, 2, 3, . . .}. b) {x | x ∈ N ∧ (∃k ∈ N)(x = 3k)} = {3, 6, 9, 12, . . .}. (Kurzschreibweise: { 3k | k ∈ N }.) 2.2 Teilmengen Definition 2.1 Seien A und B Mengen. A heißt Teilmenge (”subset”) von B, wenn jedes Element von A auch Element von B ist. Bezeichnung: A ⊂ B. In formaler Schreibweise: A ⊂ B :⇔ (∀x)(x ∈ A → x ∈ B). (Der Doppelpunkt vor dem Äquivalenzzeichen bedeutet, dass die linke Seite durch die rechte Seite definiert wird.) Die durch das Zeichen ⊂ ausgedrückte Beziehung heißt auch Inklusion. Für A ⊂ B sagt man auch ”A ist in B enthalten”. (Für das Zeichen ∈ sollte man dann aber nicht das Wort ”enthalten” verwenden!) Zu den Teilmengen einer Menge B zählen auch ∅ und B selbst, denn die Aussagen x ∈ ∅ → x ∈ B und x ∈ B → x ∈ B sind für alle x wahr (siehe Abschnitt 1.1.1). Die von B verschiedenen Teilmengen von B werden auch echte Teilmengen (”proper subsets”) genannt. Andere Bezeichnungsweise: Oft verwendet man das Symbol ”⊂” nur für echte Teilmengen und bezeichnet die allgemeine Inklusion dann mit ”⊆”. Definition 2.2 Die Menge aller Teilmengen von A heißt Potenzmenge (”power set”) von A. Bezeichnung: P(A). 38 KAPITEL 2. MENGEN Wir können auch sagen: Die Potenzmenge von A ist die Familie aller Teilmengen von A. Beispiel: P({1, 2, 3}) = {∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}. Wir sehen, dass die Potenzmenge einer Menge mit 3 Elementen 8 Elemente hat, und 8 = 23 . Wir werden uns später überlegen (Satz 7.19), dass allgemein gilt: |P(A)| = 2|A| . Das erklärt den Namen ”Potenzmenge”. Zwei Mengen sind gleich, wenn sie dieselben Elemente haben. Das heißt: A = B ⇔ (A ⊂ B) ∧ (B ⊂ A). Die Gleichheit von zwei komplizierteren Mengen A, B wird oft dadurch bewiesen, dass man zuerst A ⊂ B und dann B ⊂ A zeigt. Sei M eine Menge und P ein Prädikat. Dann ist {x | x ∈ M ∧ P (x)} die Teilmenge von M, die aus allen Elementen besteht, für die P (x) wahr ist. Dafür schreibt man meist kürzer: {x ∈ M | P (x)}. Beispiel: {x ∈ N | x > 10} = {11, 12, 13, . . .}. 2.3 Mengen und Quantoren In der Mathematik kommen oft Aussagen vor, die eine der beiden folgenden Formen haben: ”Für alle x aus M gilt P (x).”, ”Es gibt ein x aus M, sodass P (x) gilt.”. Die folgende Tabelle enthält rechts die formale Schreibweise für diese Aussagen und links eine äquivalente kürzere Form, die von den meisten Mathematikern bevorzugt wird. (∀x ∈ M) P (x) :⇔ (∀x)(x ∈ M → P (x)) (∃x ∈ M) P (x) :⇔ (∃x)(x ∈ M ∧ P (x)) Andere Variante: ∀x ∈ M : P (x) bzw. ∃x ∈ M : P (x). Beispiele: Sei N die Menge der natürlichen Zahlen und P die Menge der Primzahlen. Die folgenden Aussagen a), b) und c) sind wahr, aber d) ist falsch: 2.4. EINIGE WICHTIGE MENGEN 39 a) ∀x ∈ P : (x = 2) ∨ (∃k ∈ N : x = 2k + 1). (Jede Primzahl außer 2 ist ungerade.) b)(∃x ∈ N)(∀y ∈ N)(x ≤ y). (Es gibt eine kleinste natürliche Zahl.) c)(∀x ∈ N)(∃y ∈ N)(x < y). (Zu jeder natürlichen Zahl gibt es eine größere natürliche Zahl.) d)(∃y ∈ N)(∀x ∈ N)(x < y). (Es gibt eine natürliche Zahl, die größer als alle natürlichen Zahlen ist.) Hier sehen wir, dass es bei ∀ und ∃ auf die Reihenfolge ankommt! 2.4 Einige wichtige Mengen N := Menge der natürlichen Zahlen (”positive integers”) = {1, 2, 3, . . .}. (Der Doppelpunkt vor dem Gleichheitszeichen bedeutet wieder, dass die linke Seite durch die rechte Seite definiert wird.) Z := Menge der ganzen Zahlen (”integers”) = {0, 1, −1, 2, −2, . . .}. Q := Menge der rationalen Zahlen (”rational numbers”): {x | (∃p ∈ Z)(∃q ∈ Z)(q 6= 0 ∧ x = p/q}. Etwas übersichtlicher ist folgende Schreibweise: p Q = { | p ∈ Z ∧ q ∈ Z ∧ q 6= 0}. q R := Menge der reellen Zahlen (”real numbers”) (= Menge aller Zahlen, die sich durch endliche oder unendliche Dezimalbrüche darstellen lassen. Genaueres: siehe Vorlesungen und Bücher über ”Analysis”, z.B. [30]). Wichtige Teilmengen von R sind die Intervalle (”intervals”): [a, b] := {x ∈ R | a ≤ x ≤ b} (abgeschlossenes Intervall), (a, b) := {x ∈ R | a < x < b} (offenes Intervall), [a, b) := {x ∈ R | a ≤ x < b}, (a, b] := {x ∈ R | a < x ≤ b} (rechts bzw. links halboffenes Intervall). 40 KAPITEL 2. MENGEN 2.5 Mengenoperationen (auch ”Boole’sche Operationen”, nach George Boole (1815-1864)) Definition 2.3 Durchschnitt (”intersection”) von A und B: A ∩ B := {x | x ∈ A ∧ x ∈ B}. Wenn A ∩ B = ∅, so sagt man: A und B sind disjunkt (”disjoint”). Definition 2.4 Vereinigung (”union”) von A und B: A ∪ B := {x | x ∈ A ∨ x ∈ B}. Definition 2.5 Differenz (”difference”, auch ”relative complement”) von A und B: A \ B := {x | x ∈ A ∧ x ∈ / B}. Oft sind alle Mengen, die man betrachtet, Teilmengen einer festen Grundmenge (”universal set”). Diese ist z.B. in der Zahlentheorie meist die Menge Z der ganzen Zahlen. Definition 2.6 Sei G die Grundmenge. Dann versteht man unter dem Komplement (”complement”) von A die Menge G\A. Bezeichnung: A0 , auch Ac , {A oder A. Aus den aussagenlogischen Gesetzen ergeben sich praktisch unmittelbar die folgenden Regeln für den Umgang mit Mengen (”Boole’sche Algebra”): • Kommutativität: • Assoziativität: A∩B =B∩A A∪B =B∪A (A ∩ B) ∩ C = A ∩ (B ∩ C) (A ∪ B) ∪ C = A ∪ (B ∪ C) Es hat also einen Sinn, wenn man A ∩ B ∩ C bzw. A ∪ B ∪ C schreibt, und analog für mehr als drei Mengen. Für den Durchschnitt bzw. die 2.5. MENGENOPERATIONEN 41 Vereinigung von n Mengen A1 , . . . , An schreibt man n T Ai bzw. i=1 und es gilt dann: n \ i=1 n [ i=1 n S Ai , i=1 Ai : = {x | ∀ i ∈ {1, . . . , n} : x ∈ Ai } Ai : = {x | ∃ i ∈ {1, . . . , n} : x ∈ Ai } Das lässt sich ohne weiteres auch auf unendliche Familien von Mengen übertragen. Sei F irgendeine Familie von Mengen. \ F : = {x | ∀ A ∈ F : x ∈ A } [ F : = {x | ∃ A ∈ F : x ∈ A } (Andere Schreibweise: \ A bzw. A∈F [ A.) A∈F Beispiel: Sei Ak := {n ∈ N | n ≥ k} und F := {X | ∃ kT∈ N : X =SAk }. (Kurzschreibweise: F := {Ak | k ∈ N}.) Dann ist F = ∅ und F = N. ∞ ∞ T S Ak = ∅ bzw. Ak = N.) (Wir könnten auch schreiben: k=1 k=1 Klarerweise gilt für jede Menge A aus F : \ [ F ⊂ A und A ⊂ F. • Distributivität: A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C) A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) • de Morgan-Regel: (A ∩ B)0 = A0 ∪ B 0 (A ∪ B)0 = A0 ∩ B 0 • Regel für das doppelte Komplement: (A0 )0 = A 42 KAPITEL 2. MENGEN Die folgenden Regeln liefern einen Zusammenhang zwischen Inklusion und Durchschnitt bzw. Vereinigung: A⊂B ⇔ A∩B =A A⊂B ⇔ A∪B =B Auch das kann man leicht mit Wahrheitstafeln beweisen: Bezeichnen wir mit a bzw. b die Aussagen ”x ∈ A” bzw. ”x ∈ B”, so sehen wir, dass sich die letzte Regel aus folgender logischen Äquivalenz ergibt: a → b ⇔ a ∨ b ↔ b. Definition 2.7 Symmetrische Differenz von A und B: A ∆ B := (A \ B) ∪ (B \ A). (Wir könnten auch schreiben: A ∆ B := {x | entweder x ∈ A oder x ∈ B}.) Eine andere, äquivalente Definition der symmetrischen Differenz ist folgende: A ∆ B := (A ∪ B) \ (A ∩ B). Auch für ∆ gelten einige leicht zu beweisende Regeln, wie z.B. Kommutativität und Assoziativität. Eine besondere Rolle spielt die folgende Operation (siehe Kapitel 3 und 4). Sie ist nach Cartesius = René Descartes (1596-1650) benannt. Definition 2.8 Cartesisches Produkt (”cartesian product”) von A und B: A × B := { (x, y) | x ∈ A ∧ y ∈ B }. Dabei bedeutet (x, y) ein (geordnetes) Paar. Der Unterschied zur Menge {x, y} besteht darin, dass es in (x, y) auf die Reihenfolge ankommt, d.h. wir gehen von folgendem Axiom aus: (x, y) = (x0 , y 0 ) ⇔ x = x0 ∧ y = y 0 . Auch (x, x) ist ein geordnetes Paar, wogegen {x, x} eine Menge mit nur einem Element ist. Beispiel: {1, 2} × {2, 4, 6} = {(1, 2), (1, 4), (1, 6), (2, 2), (2, 4), (2, 6)}. 2.5. MENGENOPERATIONEN 43 Die Elemente von A × B kann man sich in einer rechteckigen Anordnung vorstellen: 2 4 6 1 (1, 2) (1, 4) (1, 6) 2 (2, 2) (2, 4) (2, 6) Bemerkungen: 1) ∅ × A = A × ∅ = ∅ für jede Menge A. 2) Im Allgemeinen ist das cartesische Produkt nicht kommutativ: Wenn A und B zwei verschiedene nicht leere Mengen sind, dann gilt A × B 6= B × A. Beweis: Wenn A 6= B, dann gibt es ein a aus A, das nicht in B liegt, oder umgekehrt. Wir müssten also eigentlich zwei Fälle unterscheiden. Da die beiden Fälle aber durch Vertauschung von A und B ineinander übergehen, können wir sagen: Sei ohne Beschränkung der Allgemeinheit (o.B.d.A.) a∈A ∧ a∈ / B. Da wir B 6= ∅ voraussetzen, gibt es ein Element b ∈ B. Dann gilt (a, b) ∈ A × B, aber (a, b) ∈ / B × A, da ja a ∈ / B. Also folgt: A × B 6= B × A. Das cartesische Produkt von drei Mengen wird analog definiert: A × B × C := { (x, y, z) | x ∈ A ∧ y ∈ B ∧ z ∈ C}. (x, y, z) heißt (geordnetes) Tripel: (x, y, z) = (x0 , y 0 , z 0 ) ⇔ x = x0 ∧ y = y 0 ∧ z = z 0 . Meist unterscheidet man nicht zwischen (x, y, z) und den Paaren ((x, y), z), (x, (y, z)). Dann gilt folgendes Assoziativgesetz: A × B × C = (A × B) × C = A × (B × C). In analoger Weise kann man auch das cartesische Produkt von n Mengen A1 , . . . , An für beliebiges n ∈ N definieren. Die Elemente sind dann die (geordneten) n-Tupel (x1 , . . . , xn ) mit xi ∈ Ai für alle i ∈ {1, . . . , n}. Statt n-Tupel sagt man auch endliche Folge (”finite sequence”) (der Länge n). Definition 2.9 Sei A eine Menge. Dann heißen A2 := A × A, A3 := A × A × A, usw. die cartesischen Potenzen (”cartesian powers”) von A. 44 KAPITEL 2. MENGEN Beispiele: 1) R2 = {(x, y) | x ∈ R ∧ y ∈ R}, oder etwas kürzer: {(x, y) | x, y ∈ R}. Diese Menge dient als Modell der Ebene. Analog ist R3 ein Modell des dreidimensionalen Raums, und daher nennt man für eine beliebige natürliche Zahl n die Menge Rn den n-dimensionalen (euklidischen) Raum. Wenn x = (x1 , . . . , xn ) ∈ Rn , so heißen die Zahlen xi Koordinaten von x. Die Elemente des Rn kann man sich als Punkte oder Vektoren vorstellen. (Siehe Vorlesungen und Bücher über ”Lineare Algebra”, z.B. [2]). 2) Z2 = {(x, y) | x, y ∈ Z}. Diese Menge können wir als die Menge aller Punkte der Ebene mit ganzzahligen Koordinaten auffassen. Solche Punkte heißen auch ”Gitterpunkte” der Ebene. Analog ist Zn die Menge aller Gitterpunkte des Rn . 2.6 Übungsaufgaben 1. Vereinfachen Sie: a) A ∩ (B \ A), b) (A \ B) ∪ (A ∩ B), c) (A ∩ B) ∪ (A ∩ B ∩ (C \ A)) ∪ ((B \ A) ∩ C) 2. Beweisen Sie: a) A ∩ (B ∆ C) = (A ∩ B) ∆ (A ∩ C), b) A ∆ B ⊂ (A ∆ C) ∪ (B ∆ C). 3. Beweisen Sie: a) A × (B ∪ C) = (A × B) ∪ (A × C), b) A × (B ∩ C) = (A × B) ∩ (A × C). 4. Stimmt die folgende Formel: A \ (B \ C) = (A \ B) \ C ? (Wenn ja, dann beweisen Sie die Formel; wenn nein, dann geben Sie ein Gegenbeispiel an!) 5. Unter welchen Voraussetzungen stimmen die folgenden Formeln? a) P(A ∪ B) = P(A) ∪ P(B), b) P(A ∩ B) = P(A) ∩ P(B), c) A × (B \ C) = (A × B) \ (A × C), 2.6. ÜBUNGSAUFGABEN 45 d) (A ∪ B) × C = (A ∪ C) × (B ∪ C). 6. Für a = (a1 , a2 ) ∈ R2 sei G(a) := {x ∈ R2 | ∃λ ∈ R : x = (λa1 , λa2 )}. a) Was bedeutet G(a) anschaulich? b) Sei F = {G(a) | a ∈ R2 }. Was ist T F bzw. S F? 46 KAPITEL 2. MENGEN Kapitel 3 Relationen 3.1 Allgemeines Seien A, B zwei Mengen. (A 6= B wird nicht vorausgesetzt.) Unter einer ”Relation” zwischen A und B versteht man umgangssprachlich eine ”Beziehung” zwischen den Elementen von A und denen von B. (Beispiele: ”a kennt b”, ”a ist größer als b” für a ∈ A = Menge der männlichen Studenten, b ∈ B = Menge der weiblichen Studenten.) Wenn wir für a ∈ A und b ∈ B nur die zwei Möglichkeiten zulassen, dass die betrachtete Relation gilt oder nicht, so wird die Relation durch die Menge aller Paare (a, b) bestimmt, sodass für a und b die Relation gilt. Das führt zu folgender Definition: Definition 3.1 Eine (binäre) Relation (”binary relation”) zwischen den Elementen von A und B ist eine Teilmenge von A × B. Man sagt auch: ”Relation von A nach B.” Eine Teilmenge von A × A heißt auch ”Relation auf A”. Statt (x, y) ∈ R schreibt man in diesem Zusammenhang meist x R y. Man kann das auch so ausdrücken: x steht zu y in der Relation R. Beispiele: 1) {(x, y) ∈ N × N | x ≤ y}. Das ist eine Relation auf N, und zwar ein Beispiel für eine Ordnungsrelation (siehe Abschnitt 3.4). 2) Sei A = {0, 1, 2, . . . , 255} und B die Menge der in einem (gewöhnlichen) Computer darstellbaren Zeichen. C sei die Menge {(a, b) ∈ A × B | a ist der ASCII-Code von b}. 47 48 KAPITEL 3. RELATIONEN Es gilt z.B. 33 C ”!” und 122 C ”z”, wenn wir die Zeichen der Deutlichkeit halber mit Anführungsstrichen schreiben. In diesem Fall gibt es zu jedem a ∈ A genau ein b ∈ B, sodass aRb; und andererseits gibt es zu jedem b ∈ B genau ein a ∈ A, sodass aRb. So etwas nennt man eine bijektive Abbildung (siehe Kapitel 4). 3) Auf jeder Menge A können wir die Gleichheitsrelation {(x, y) ∈ A × A | x = y} betrachten. Diese heißt auch die Identität auf A. Wir bezeichnen sie mit IA oder kurz I. 4) Wenn A und B beliebige Mengen sind, dann ist auf Grund unserer Definition auch die leere Menge eine Relation zwischen den Elementen von A und B, da ja ∅ ⊂ A × B. Man nennt ∅ in diesem Zusammenhang auch leere Relation. 5) A × B ist natürlich auch eine Relation von A nach B. Sie wird manchmal universelle Relation genannt. Definition 3.2 Sei R eine Relation auf A. Die Relation {(x, y) ∈ A × A | (y, x) ∈ R} heißt die Umkehrrelation (”inverse relation”) von R. Bezeichnungen für die Umkehrrelation: R−1 , manchmal auch R← . Definition 3.3 Eine Relation R auf einer Menge A heißt reflexiv, wenn ∀x ∈ A : xRx; symmetrisch, wenn ∀x, y ∈ A : xRy → yRx; antisymmetrisch, wenn ∀x, y ∈ A : xRy ∧ yRx → x = y; transitiv, wenn ∀x, y, z ∈ A : xRy ∧ yRz → xRz. Die obigen Beispiele haben folgende Eigenschaften: 1) reflexiv, antisymmetrisch, transitiv; 2) ist keine Relation auf einer Menge; 3.2. GRAPHEN 49 3) reflexiv, symmetrisch, antisymmetrisch, transitiv; 4) symmetrisch, antisymmetrisch, transitiv; 5) reflexiv, symmetrisch, transitiv. (Bei 4) und 5) muss natürlich A = B vorausgesetzt werden.) Bemerkungen: Sei R eine Relation auf A. Dann gilt: a) R ist reflexiv ⇔ IA ⊂ R. b) R ist symmetrisch ⇔ R = R−1 . c) R ist antisymmetrisch ⇔ R ∩ R−1 ⊂ IA . Eine Relation R auf einer Menge A liefert in natürlicher Weise auch auf jeder Teilmenge von A eine Relation: Definition 3.4 Sei R eine Relation auf A, und S ⊂ A. Dann heißt folgende Relation Einschränkung (”restriction”) von R auf S: R|S := { (x, y) ∈ S × S | xRy } Z.B. kann man die natürliche Ordnungsrelation auf N als Einschränkung der natürlichen Ordnungsrelation auf Z auffassen. 3.2 3.2.1 Graphen Gerichtete Graphen Man erhält eine anschauliche Darstellung einer Relation R auf einer Menge V , wenn man die Elemente von V als Punkte (oder kleine Kreise) darstellt und für jedes Paar (x, y) ∈ R einen Pfeil von x nach y zeichnet. 50 KAPITEL 3. RELATIONEN Beispiel: Sei V = {1,2,3,4,5,6}, R = {(1,2),(2,1),(1,3),(1,5),(4,2),(4,3),(4,4)}. 2 1 4 6 3 5 Definition 3.5 Sei R eine Relation auf der Menge V. Das Paar D = (V, R) heißt gerichteter Graph (”directed graph”, kurz ”digraph”). Die Elemente von V heißen Ecken (”vertices”), die Elemente von R heißen Kanten (”edges”) von D. (Das Wort ”Digraph” wird auch im Deutschen verwendet.) Bei einem gerichteten Graphen kommt es also nicht auf die Lage der Ecken oder die Form der Kanten an! Der ”abstrakte” gerichtete Graph ist etwas anderes als seine zeichnerische Darstellung. Definition 3.6 Wenn (a, b) eine Kante ist, so heißt a der Anfangspunkt (”initial vertex”, ”tail”) und b der Endpunkt (”terminal vertex”, ”head”) der Kante. Wir sagen auch, die Kante geht von a nach b. Eine Kante der Form (x, x) heißt Schlinge (”loop”). 3.2.2 Ungerichtete Graphen Sei D = (V, R) ein gerichteter Graph, und R sei eine symmetrische Relation. Dann treten alle Kanten paarweise auf: Mit (x, y) ist auch (y, x) eine Kante. Wenn D keine Schlingen besitzt, kann man daher in diesem Fall die Relation durch die zweielementigen Mengen {x, y} angeben, für die (x, y) und (y, x) Kanten sind. Wenn es Schlingen gibt, so kann man diese durch einelementige Mengen {x} mit x ∈ V darstellen. 3.2. GRAPHEN 51 Definition 3.7 Sei V eine beliebige Menge und E eine Menge von einoder zweielementigen Teilmengen von V. Dann heißt G = (V, E) ein (ungerichteter) Graph. Die Elemente von V heißen wieder Ecken, die von E Kanten von G. Bemerkung: Dieser Begriff hat nichts mit Funktionsgraphen (siehe Kapitel 4) zu tun! Definition 3.8 Ein Graph ohne Schlingen heißt einfacher Graph (”simple graph”). Bemerkung: Manchmal wird generell vorausgesetzt, dass keine Schlingen auftreten, d.h. man versteht dann unter einem ”Graphen” einen einfachen Graphen. Zur Veranschaulichung eines ungerichteten Graphen werden für jede Kante die beiden zugehörigen Ecken durch eine Linie verbunden. Es kommt wieder nicht auf die Gestalt der Linie oder die Lage der Ecken an. Beispiel: Sei V = {1, 2, 3, 4} und E = {{1, 2}, {1, 3}, {1, 4}, {2, 3}}. 4 3 1 2 Zu jedem Graphen G gibt es einen zugehörigen gerichteten Graphen G0 : Für G = (V, E) ist G0 = (V, R) mit R = {(x, y) ∈ V × V | {x, y} ∈ E} . Jede ungerichtete Kante {x, y} wird also durch zwei gerichtete Kanten (x, y), (y, x) ersetzt. Für das letzte Beispiel sieht das so aus: 4 3 1 2 52 KAPITEL 3. RELATIONEN Umgekehrt kann man aus jedem gerichteten Graphen D einen ungerichteten Graphen U(D) machen, indem man (x, y) durch {x, y} ersetzt. U(D) heißt der D zugrundeliegende (ungerichtete) Graph (”underlying graph”). Dabei geht natürlich Information verloren! Bei einem ungerichteten Graphen kann man nicht zwischen Anfangs- und Endpunkt einer Kante unterscheiden, man nennt daher oft beide Ecken einer Kante ”Endpunkte”. 3.2.3 Pfade Definition 3.9 Eine (endliche) Folge von paarweise verschiedenen Ecken (x1 , x2 , . . . , xn ) in einem gerichteten Graphen D heißt (gerichteter) Pfad (”path”) (von x1 nach xn ), wenn (x1 , x2 ), (x2 , x3 ), . . . , (xn−1 , xn ) Kanten von D sind. Unter der Länge des Pfades versteht man dann die Zahl n − 1. In unserem ersten Beispiel für einen gerichteten Graphen ist etwa (4, 2, 1, 3) ein Pfad der Länge 3. Dagegen sind z.B. (1, 3, 4) und (1, 2, 1) keine (gerichteten) Pfade. Für ungerichtete Graphen wird der Begriff ”Pfad” ganz analog definiert: Definition 3.10 Eine (endliche) Folge von paarweise verschiedenen Ecken (x1 , x2 , . . . , xn ) in einem Graphen G heißt Pfad (von x1 nach xn , mit Länge n − 1), wenn {x1 , x2 }, {x2 , x3 }, . . . , {xn−1 , xn } Kanten von G sind. Definition 3.11 Ein (ungerichteter) Graph G heißt zusammenhängend (”connected”), wenn es für je zwei (verschiedene) Ecken x, y von G einen Pfad von x nach y gibt. Der folgende Graph ist nicht zusammenhängend: 3.2. GRAPHEN 53 Definition 3.12 Ein gerichteter Graph heißt zusammenhängend, wenn der zugrundeliegende ungerichtete Graph zusammenhängend ist. Das Beispiel im Abschnitt 3.2.1 ist nicht zusammenhängend. Lässt man die Ecke 6 weg, so wird er zusammenhängend, obwohl es z.B. keinen gerichteten Pfad von 1 nach 4 gibt. 3.2.4 Teilgraphen Definition 3.13 Seien (V, E) und (V 0 , E 0 ) zwei Graphen (entweder beide gerichtet oder beide ungerichtet). Wenn V 0 ⊂ V und E 0 ⊂ E, so heißt (V 0 , E 0 ) Teilgraph (”subgraph”) von (V, E). Wichtige Beispiele für Teilgraphen liefern die Pfade: Sei P = (x1 , x2 , . . . , xn ) ein Pfad in G = (V, E). Dann bilden die Ecken und Kanten von P einen Teilgraphen von G. Wenn G ein gerichteter Graph ist, dann ist so ein Pfad durch den entsprechenden Teilgraphen eindeutig bestimmt. Bei einem ungerichteten Graphen gehört allerdings der umgekehrte Pfad (xn , xn−1 , . . . , x1 ) zu demselben Teilgraphen. Im nächsten Abschnitt werden weitere wichtige Teilgraphen besprochen. 3.2.5 Kreise Grob gesagt ist ein Kreis ein geschlossener Pfad. Die genaue Definition lautet: Definition 3.14 Ein Teilgraph (V 0 , E 0 ) eines (ungerichteten) Graphen heißt Kreis oder Zyklus (”cycle”, manchmal auch ”circuit”), wenn man die Elemente von V 0 so nummerieren kann, dass V 0 = {x1 , x2 , . . . , xn }, n ≥ 3, und E 0 = {{xi , xi+1 } | i ∈ {1, . . . , n − 1}} ∪ {{xn , x1 }} . Die Zahl n heißt die Länge des Kreises. Man kann also einen Kreis auch durch eine Folge (x1 , x2 , . . . , xn ) von Ecken angeben, aber eine zyklische Vertauschung dieser Ecken definiert denselben Kreis, z.B. (x2 , x3 , . . . , xn , x1 ). Außerdem ist ein Kreis von dem durch die Eckenfolge definierten Pfad zu unterscheiden. Im Beispiel des Abschnitts 3.2.2 gibt es nur einen Kreis, nämlich (1, 2, 3). In einem gerichteten Graphen wird ”Kreis” analog definiert: 54 KAPITEL 3. RELATIONEN Definition 3.15 Ein Teilgraph (V 0 , E 0 ) eines gerichteten Graphen heißt (gerichteter) Kreis oder Zyklus, wenn man die Elemente von V 0 so nummerieren kann, dass V 0 = {x1 , x2 , . . . , xn }, n ≥ 2, und E 0 = {(xi , xi+1 ) | i ∈ {1, . . . , n − 1}} ∪ {(xn , x1 )} . Die Zahl n heißt wieder die Länge des Kreises. Schlingen werden manchmal als Zyklen der Länge 1 angesehen. (Genauer: Teilgraphen, die nur aus einer Ecke x und einer Kante {x, x} bzw. (x, x) bestehen.) Zur besseren Unterscheidung nennen wir deshalb Kreise mit Länge ≥ 2 auch echte Zyklen. In unserem gerichteten Graphen von Abschnitt 3.2.1 gibt es außer der Schlinge nur einen gerichteten Kreis, nämlich (1, 2). 3.2.6 Anwendungen Einige Anwendungsgebiete von (gerichteten und ungerichteten) Graphen (genaueres in Kapitel 8 und in Vorlesungen oder Büchern über Graphentheorie, wie z.B. [28] oder [20]): • Reise- oder Transportplanung • Elektrische Netzwerke (z.B. Layout von Platinen) • Datenstrukturen in der Informatik (”Bäume”) • Computernetzwerke • Organisationsplanung (z.B. Arbeitspläne, Maschineneinsatzpläne) • Analyse von Beziehungen in der Soziologie und Psychologie • Strukturformeln in der (organischen) Chemie • Anwendungen innerhalb der Mathematik: 1. Logische Abhängigkeit von Sätzen einer Theorie, 2. Gruppentheorie, 3. Diskrete Geometrie (z.B. Kreispackungen). 3.3. ÄQUIVALENZRELATIONEN 3.3 55 Äquivalenzrelationen Definition 3.16 Eine Relation R auf einer Menge M heißt Äquivalenzrelation (”equivalence relation”) auf M, wenn sie reflexiv, symmetrisch und transitiv ist. Für xRy sagen wir dann: ”x ist zu y äquivalent (bezüglich der Relation R)”. Es handelt sich also um eine Verallgemeinerung der Gleichheitsrelation. Deshalb werden Äquivalenzrelationen oft mit ∼, ', ≈, ≡ oder ähnlich bezeichnet. Sprechweise: Wenn klar ist, um welche Äquivalenzrelation es sich handelt, dann bedeutet ”x und y sind äquivalent”, dass (x, y) ein Element dieser Äquivalenzrelation ist, also z.B. x ∼ y. Typisches Beispiel: Sei A die Menge aller Schüler einer bestimmten Schule, und R := {(x, y) ∈ A2 | x und y gehen in dieselbe Klasse}. So wie in diesem Beispiel entspricht jede Äquivalenzrelation einer ”Klasseneinteilung”. Dazu: Definition 3.17 Sei S eine Familie von Mengen. Wenn je zwei Elemente von S disjunkt sind, so heißt S eine disjunkte Familie (”disjoint family”). Man sagt auch: Die Mengen aus S sind paarweise disjunkt (”pairwise disjoint”). Definition 3.18 Eine disjunkte Familie P von nicht leeren Teilmengen von A heißt Partition von A, wenn jedes Element von A in einer Menge aus P enthalten ist (d.h., wenn die Vereinigung aller Mengen aus P ganz A ist). Die Menge bzw. Familie der Schulklassen ist also eine Partition der Menge aller Schüler der betrachteten Schule. Definition 3.19 Sei R eine Äquivalenzrelation auf A und a ∈ A. Dann heißt [a] := {x ∈ A | xRa} die Äquivalenzklasse (”equivalence class”) von a (bezüglich der Relation R). 56 KAPITEL 3. RELATIONEN [a] besteht also aus allen Elementen von A, die zu a in der Relation R stehen. Wegen der Reflexivität gilt insbesondere a ∈ [a]. Man nennt a auch einen Repräsentanten der Klasse [a]. Im Beispiel mit den Schülern ist [a] die Menge aller Schüler, die in dieselbe Klasse wie a gehen. Dazu gehört auch a selbst. Bemerkung: Sei R eine Äquivalenzrelation auf A. Dann gilt für a, b ∈ A: [a] = [b] ⇔ aRb. Beweis: 1) Sei [a] = [b]. Dann gilt wegen a ∈ [a] auch a ∈ [b], und das heißt aRb. 2) Sei aRb. Wir zeigen zunächst [a] ⊂ [b]: x ∈ [a] ⇒ xRa aRb ⇒ xRb ⇒ x ∈ [b]. R transitiv Da man [b] ⊂ [a] analog erhält, folgt tatsächlich [a] = [b]. (Die geschwungene Klammer bedeutet natürlich eine Konjunktion der drei Aussagen.) Satz 3.20 Sei R eine Äquivalenzrelation auf A. Dann bilden die zugehörigen Äquivalenzklassen eine Partition von A. Beweis: Da jedes Element a von A in ”seiner” Äquivalenzklasse [a] liegt, ist nur die paarweise Disjunktheit der Äquivalenzklassen nachzuweisen. Seien also [a] und [b] zwei verschiedene Äquivalenzklassen. Indirekte Annahme: [a] ∩ [b] 6= ∅. Dann gibt es ein x ∈ [a] ∩ [b]. Das bedeutet: xRa ∧ xRb. Wegen der Symmetrie folgt daraus aRx ∧ xRb, und wegen der Transitivität folgt dann aRb. Das hätte jedoch nach der vorigen Bemerkung [a] = [b] zur Folge, im Widerspruch zur Voraussetzung. Es gilt auch die Umkehrung von Satz 3.20: Satz 3.21 Sei P eine Partition von A. Dann ist die folgenderweise definierte Relation R eine Äquivalenzrelation, und die Menge der zugehörigen Äquivalenzklassen stimmt mit der gegebenen Partition überein: R := {(x, y) ∈ A2 | (∃S ∈ P ) (x ∈ S ∧ y ∈ S) }. (Zwei Elemente von A stehen also genau dann in der Relation R zueinander, wenn sie in derselben Menge der Partition liegen.) 3.3. ÄQUIVALENZRELATIONEN 57 Beweis: Reflexivität: Sei x ∈ A. Da jedes Element von A in einer Menge aus P enthalten ist, gibt es ein S ∈ P, sodass x ∈ S. Daraus folgt aber schon (x, x) ∈ R. Symmetrie: folgt aus der Definition von R wegen der Kommutativität der Konjunktion ∧. Transitivität: xRy ∧ yRz ⇒ (∃S ∈ P ) (x ∈ S ∧ y ∈ S) ∧ (∃S 0 ∈ P ) (y ∈ S 0 ∧ z ∈ S 0 ). Wir sehen: y ∈ S ∩ S 0 . Da P eine Partition ist, muss also S = S 0 sein, und es folgt x ∈ S ∧ z ∈ S, also xRz. Sei nun [a] eine Äquivalenzklasse und S die (eindeutig bestimmte) Menge aus P, welche a enthält. Wir überlegen uns, dass [a] = S ist. S ⊂ [a]: Sei x ∈ S. Da a ∈ S, folgt sofort xRa, also x ∈ [a]. [a] ⊂ S: x ∈ [a] ⇒ xRa ⇒ (∃S 0 ∈ P ) (x ∈ S 0 ∧ a ∈ S 0 ) a ∈ S ∩ S0 ⇒ S = S0 ¾ ⇒ x ∈ S. Definition 3.22 Sei R eine Äquivalenzrelation auf A. Dann heißt die Menge der entsprechenden Äquivalenzklassen (d.i. die zugehörige Partition) Faktormenge oder Quotientenmenge (”quotient set”) von A nach R. Bezeichnung: A/R. Wir können auch sagen: A/R entsteht aus A durch Identifizierung äquivalenter Elemente. Beispiele: 1) Sei G ein (im Allgemeinen unzusammenhängender) Graph. Wir nennen zwei Ecken x, y von G äquivalent, wenn entweder x = y ist oder wenn es (in G) einen Pfad von x nach y gibt. Die Äquivalenzklassen heißen dann Zusammenhangskomponenten (”connected components”) von G. (Siehe letztes Beispiel im Abschnitt 3.2.3, dort gibt es drei Zusammenhangskomponenten.) Für den Beweis der Transitivität dieser Relation muss man sich Folgendes 58 KAPITEL 3. RELATIONEN überlegen: Wenn es einen Pfad von x nach y und einen von y nach z gibt, dann gibt es auch einen Pfad von x nach z. Dazu fügt man zunächst die beiden Pfade aneinander. Wenn es dann zwei gleiche Ecken gibt, lässt man alle dazwischenliegenden Ecken weg. (Das wird später noch ausführlicher behandelt, siehe Bemerkung 8.18.) 2) Wir definieren auf Z3 folgenderweise eine Äquivalenzrelation: (x, y, z)R(x0 , y 0 , z 0 ) :⇔ (x, y, z) und (x0 , y 0 , z 0 ) sind entweder gleich oder sie unterscheiden sich nur durch die Reihenfolge der Koordinaten. Dann gibt es Äquivalenzklassen mit 1, 3 oder 6 Elementen, z.B.: [(1, 1, 1)] = {(1, 1, 1)}, [(1, 2, 2)] = {(1, 2, 2), (2, 1, 2), (2, 2, 1)}, [(1, 2, 3)] = {(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)}. Das ist ein Beispiel mit unendlich vielen Äquivalenzklassen, wobei aber jede Klasse nur endlich viele Elemente hat. Im nächsten Beispiel hat jede Klasse, bis auf eine Ausnahme, unendlich viele Elemente: 3) Wir betrachten wieder Z3 und nennen zwei Elemente äquivalent, wenn sie proportional sind, d.h. u ∼ v :⇔ ∃ λ ∈ Q \ {0} : u = λv. Dann ist [(0, 0, 0)] = {(0, 0, 0)} und z.B. [(2, 6, −8)] = {(1, 3, −4), (−1, −3, 4), (2, 6, −8), (−2, −6, 8), (3, 9, −12), . . .}. Anschaulich gesprochen besteht hier jede Äquivalenzklasse 6= [(0, 0, 0)] aus Gitterpunkten oder -vektoren, die auf einer Geraden durch den Ursprung liegen. In jeder Äquivalenzklasse (6= [(0, 0, 0)] ) gibt es zwei besonders einfache Elemente, nämlich die Vektoren mit der kleinsten p Länge. (Unter der Länge des Vektors (x, y, z) versteht man die Zahl x2 + y 2 + z 2 .) Diese Situation, dass es nämlich in jeder Klasse einen oder wenige besonders einfache Repräsentanten (”Normalformen”) gibt, ist typisch für viele Äquivalenzrelationen. (Siehe Vorlesungen oder Bücher über Lineare Algebra, z.B. [21].) Sie erleichtert oft das Studium der Äquivalenzklassen. 3.4 Ordnungsrelationen Definition 3.23 Eine Relation R auf einer Menge A heißt Ordnungsrelation oder Halbordnung (”partial ordering”), wenn sie reflexiv, anti- 3.4. ORDNUNGSRELATIONEN 59 symmetrisch und transitiv ist. Das Paar (A, R) heißt dann (halb-)geordnete Menge (”partially ordered set”, kurz ”poset”). Das Musterbeispiel dafür ist die durch ”≤” definierte ”natürliche” Ordnung auf N, Z, Q, R oder einer Teilmenge davon. Ordnungsrelationen werden daher oft so ähnlich bezeichnet, z.B. mit v . Statt x v y schreibt man auch y w x. Andere Beispiele: 1) Auf N wird durch a|b :⇔ (∃k ∈ N) (ak = b) eine Ordnungsrelation definiert. Für a|b sagen wir: ”a teilt b” oder ”a ist ein Teiler von b”. Die Relation selbst heißt Teilbarkeitsrelation. Reflexivität: a · 1 = a. Antisymmetrie: Sei ak = b und bk0 = a. Dann folgt akk 0 = a, also (wegen a 6= 0) kk 0 = 1. Das ist aber nur für k = k 0 = 1 möglich, also folgt a = b. Transitivität: (ak = b) ∧ (bk0 = c) ⇒ (akk 0 = c) ⇒ a|c. 2) Sei M eine beliebige (nicht leere) Menge. Dann wird auf der Potenzmenge P(M) durch die Inklusion ”⊂” eine Halbordnung definiert. Bei diesen Beispielen fällt gegenüber der natürlichen Ordnung auf N etc. auf, dass es ”unvergleichbare” Elemente gibt. Es gilt z.B. weder 3|4 noch 4|3. Definition 3.24 Sei v eine Ordnungsrelation auf A. Dann heißt die folgenderweise definierte Relation @ die zugehörige strikte Ordnung(srelation): x @ y :⇔ (x v y) ∧ (x 6= y). Eine strikte Ordnungsrelation ist zwar auch antisymmetrisch und transitiv, aber nicht reflexiv. Den Zusammenhang zwischen einer Ordnungsrelation v auf einer Menge A und der zugehörigen strikten Ordnungsrelation @ könnte man auch so ausdrücken: v = @ ∪ IA . Definition 3.25 Sei v eine Ordnungsrelation auf A. Zwei Elemente x, y ∈ A heißen vergleichbar (”comparable”), wenn x v y oder y v x. Wenn je zwei Elemente von A vergleichbar sind, so heißt v Totalordnung (”total order”). 60 KAPITEL 3. RELATIONEN (Das erklärt die Bezeichnung Halbordnung bzw. partial ordering für den allgemeinen Fall.) Die natürliche Ordnung auf N ist also eine Totalordnung. Weitere Beispiele erhält man mit folgendem Begriff: Definition 3.26 Sei (A, v) eine geordnete Menge und @ die zugehörige strikte Ordnung. Dann heißt die folgenderweise definierte Ordnungsrelation auf A × A die (zugehörige) lexikographische Ordnung (x1 , x2 ) ¹ (y1 , y2 ) :⇔ x1 @ y1 ∨ (x1 = y1 ∧ x2 v y2 ). (Die lexikographische Ordnung auf beliebigen cartesischen Produkten von zwei oder mehr geordneten Mengen wird analog definiert.) Satz 3.27 Wenn v eine Totalordnung auf A ist, dann ist die zugehörige lexikographische Ordnung auf A × A ebenfalls eine Totalordnung. Beweis: Übungsaufgabe 6. Es gibt noch eine andere sehr natürliche Ordnung auf A2 (Produktordnung): (x1 , x2 ) ¹ (y1 , y2 ) :⇔ x1 v y1 ∧ x2 v y2 . Das ist im Allgemeinen keine Totalordnung. Z.B. sind in Z2 die Elemente (1, 0) und (0, 1) bezüglich dieser Ordnung nicht vergleichbar. Die mit (0, 0) vergleichbaren Elemente bilden die beiden ”Quadranten” {(x, y) | x ≥ 0 ∧ y ≥ 0} und {(x, y) | x ≤ 0 ∧ y ≤ 0}. Man kann eine Ordnungsrelation so wie jede Relation durch einen gerichteten Graphen darstellen. Übersichtlicher ist jedoch die folgende nach dem bedeutenden Zahlentheoretiker Helmut Hasse (1898 - 1979) benannte Methode: Definition 3.28 Unter dem Hasse-Diagramm einer Halbordnung v auf einer (endlichen) Menge A versteht man den gerichteten Graphen mit Eckenmenge A und folgender Kantenmenge: H := { (x, y) ∈ A2 | x @ y ∧ ¬(∃z ∈ A)(x @ z @ y) }. 3.4. ORDNUNGSRELATIONEN 61 D.h. also: Wenn x @ y, so wird nur dann eine Kante von x nach y gezeichnet, wenn es kein Element ”zwischen” x und y gibt. Auf einer endlichen Menge ist eine Ordnungsrelation durch ihr Hasse-Diagramm eindeutig bestimmt: x v x muss sowieso für alle x ∈ A gelten, und wenn es ein oder mehrere Elemente zwischen x und y gibt, so ergibt sich x v y auf Grund der Transitivität. Anders ausgedrückt: x v y gilt genau dann, wenn entweder x = y ist oder im Hasse-Diagramm ein gerichteter Pfad von x nach y existiert. Aus Gründen der Übersichtlichkeit zeichnet man das Hasse-Diagramm so, dass alle Kanten von unten nach oben zeigen. Man kann dann die Pfeile weglassen. Beispiel: Hasse-Diagramm der Teilbarkeitsrelation auf {1, 2, . . . , 12}: 9 12 8 6 4 10 3 2 5 7 11 1 Definition 3.29 Sei (A, v) eine geordnete Menge. Ein Element m aus A heißt maximales Element von A, wenn es in A kein ”größeres” Element als m gibt, d.h. (∀x ∈ A) (m v x → m = x). (Analog: minimales Element). Im letzten Beispiel gibt es 6 maximale Elemente: 9, 12, 8, 10, 7, 11, aber nur ein minimales Element: 1. 62 KAPITEL 3. RELATIONEN Achtung: Wenn m maximales Element von A ist, so heißt das im Allgemeinen nicht, dass x v m für alle x ∈ A. (Siehe Beispiel!) Definition 3.30 Ein Element g von A heißt größtes Element (”greatest element”) von A, wenn x v g für alle x ∈ A. (Analog: kleinstes Element (”least element”)). In unserem Beispiel gibt es kein größtes Element, aber 1 ist das kleinste Element. Bemerkung: Jede endliche, nicht leere, geordnete Menge hat mindestens ein minimales und ein maximales Element. Wenn es ein größtes bzw. kleinstes Element gibt, dann ist dieses eindeutig bestimmt: Wären etwa x und x0 zwei kleinste Elemente, dann wäre sowohl x v x0 als auch x0 v x und daher wegen der Antisymmetrie der Ordnungsrelation x = x0 . Definition 3.31 Sei (A, v) eine geordnete Menge. Eine Teilmenge C von A heißt Kette (”chain”), wenn je zwei Elemente von C vergleichbar sind. (D.h. wenn die Einschränkung der Relation v auf C eine Totalordnung ist.) Im Hasse-Diagramm bilden z.B. die gerichteten Pfade Ketten. Definition 3.32 Sei (A, v) eine geordnete Menge. Eine Teilmenge B von A heißt Antikette (”antichain”), wenn keine zwei Elemente von B vergleichbar sind. Beispiel: Die Menge der maximalen Elemente einer geordneten Menge ist eine Antikette. (Wenn die Menge unendlich viele Elemente hat, ist diese Antikette unter Umständen leer, z.B. bei N.) Die Menge aller Ketten in einer geordneten Menge bildet selbst wieder eine geordnete Menge, und zwar bezüglich der Inklusion. Wir können daher von maximalen Ketten reden. Die maximalen Ketten sind im Allgemeinen nicht alle gleich ”lang”. Im obigen Beispiel mit dem Hasse-Diagramm gibt es mehrere verschieden lange maximale Ketten, zum Beispiel {1, 11}, {1, 5, 10}, {1, 2, 4, 8}. 3.5. HÜLLEN VON RELATIONEN 3.5 63 Hüllen von Relationen In der Mathematik gibt es viele verschiedene ”Hülle”-Begriffe (engl. ”closure” oder ”hull”). Es geht dabei immer um das kleinste Element (im Sinne der Inklusion) in einer bestimmten Familie von Mengen, welche eine feste Menge T0 enthalten. Die vorigen Abschnitte führen in folgender Weise zu drei natürlichen Hülle-Begriffen: Satz 3.33 Sei R eine Relation auf der Menge A. Dann gibt es eine (im Sinne der Inklusion) kleinste reflexive Relation auf A, welche R enthält. Ebenso gibt es eine kleinste R enthaltende symmetrische bzw. transitive Relation. Beweis für ”transitiv”: Sei R die Menge aller transitiven Relationen auf A, welche R enthalten: R = {M ⊂ A2 | M ist transitiv ∧ R ⊂ M}. R ist sicher nicht leer, denn die universelle Relation ist transitiv und enthält R. Nun bilden wir den Durchschnitt aller Mengen aus der Familie R : \ \ M. H := R= M∈R Wir haben zu zeigen: 1) H ∈ R , 2) H ⊂ M für alle M ∈ R. Zu Teil 2): Sei x ∈ H. Dann ist (nach Definition des Durchschnitts) x ∈ M für alle M ∈ R. Zu Teil 1) haben wir folgendes zu überprüfen: a) H ⊂ A2 , b) H ist transitiv, c) R ⊂ H. Zu a): Nach Teil 2) ist H ⊂ M für alle M ∈ R. Da M ⊂ A2 für alle M ∈ R, folgt: H ⊂ A2 . Zu b): Seien x, y, z ∈ A und (x, y) ∈ H, (y, z) ∈ H. Dann gilt (x, y) ∈ M ∧ (y, z) ∈ MTfür alle M ∈ R. Daher ist (x, z) ∈ M für alle M ∈ R und folglich (x, z) ∈ R = H. 64 KAPITEL 3. RELATIONEN Zu c): Sei x ∈ R. T Dann gilt (nach Definition von R) x ∈ M für alle M ∈ R, und daher x ∈ R = H. Die Beweise für ”reflexiv” und ”symmetrisch” verlaufen ganz analog. Definition 3.34 Sei R eine Relation auf der Menge A. Die kleinste R enthaltende reflexive (symmetrische, transitive) Relation auf A heißt die reflexive (symmetrische, transitive) Hülle (”closure”) von R. Bezeichnung: r(R) bzw. s(R) bzw. t(R). Beispiele: 1) Sei D = (V, R) ein gerichteter Graph. Dann entspricht die symmetrische Hülle von R dem zugrundeliegenden ungerichteten Graphen. (D.h. U(D) = (V, {{x, y} | (x, y) ∈ s(R)}) ). 2) Sei (A, H) das Hasse-Diagramm einer Ordnungsrelation R auf A. Dann ist R = t(r(H)). 3) Sei R irgendeine Relation auf A. Dann ist t(s(r(R))) die kleinste R enthaltende Äquivalenzrelation auf A. (Übungsaufgabe 11) Bemerkung: Die reflexive und die symmetrische Hülle kann man leicht direkt angeben: r(R) = R ∪ IA , s(R) = R ∪ R−1 . Bei der transitiven Hülle ist das nicht ganz so einfach (siehe Abschnitt 8.6.1). Jedenfalls gilt (x, y) ∈ t(R) genau dann, wenn es im entsprechenden Digraphen einen gerichteten Pfad von x nach y gibt. 3.6 Übungsaufgaben 1. Untersuchen Sie für jede der folgenden Relationen, ob sie reflexiv, symmetrisch, antisymmetrisch oder transitiv ist: a) xRy :⇔ x · y gerade (auf Z). b) xRy :⇔ x · y > 0 (auf Z). c) xRy :⇔ x und y sind senkrecht oder parallel zueinander (auf der Menge aller Geraden in der Ebene). d) wie c), aber auf der Menge aller Geraden im Raum. 3.6. ÜBUNGSAUFGABEN 65 2. Geben Sie ein Beispiel für eine Relation an, die a) antisymmetrisch und transitiv, aber nicht reflexiv ist, b) symmetrisch, aber nicht reflexiv und nicht transitiv ist. 3. Eine Relation R sei reflexiv und habe folgende Eigenschaft: aRb ∧ aRc ⇒ bRc. Ist R symmetrisch, antisymmetrisch oder transitiv? 4. Zeichnen Sie den gerichteten Graphen D der folgenden Relation auf {1, 2, 3, 4, 5}: R := {(1, 2), (2, 3), (3, 4), (4, 5), (5, 1), (2, 4), (2, 5)}. a) Geben Sie alle gerichteten Kreise auf D an! b) Wie viele (gerichtete) Pfade gibt es in D von 1 nach 5 ? c) Wie a) und b), aber für den zugrundeliegenden ungerichteten Graphen. 5. Zeigen Sie, dass auf N × N durch (a, b) ∼ (a0 , b0 ) :⇔ a + b0 = a0 + b eine Äquivalenzrelation definiert wird, und zeichnen Sie eine Skizze der zugehörigen Äquivalenzklassen. 6. Beweisen Sie: Wenn v eine Totalordnung auf A ist, dann ist die zugehörige lexikographische Ordnung auf A×A ebenfalls eine Totalordnung. 7. Geben Sie die reflexive, symmetrische und transitive Hülle der Relation von Aufgabe 4 an. 8. Zeichnen Sie das Hasse-Diagramm aller Teilmengen von {a, b, c, d} bezüglich der durch die Inklusion definierten Ordnung. Wie viele maximale Ketten gibt es hier? 9. Sei A eine endliche Menge (”Alphabet”) und B die Menge aller Worte mit endlich vielen Buchstaben aus A. Wenn w1 und w2 zwei solche Worte sind, bezeichnen wir mit w1 w2 das Wort, das durch Hintereinanderschreiben von w1 und w2 entsteht. Zeigen Sie, dass folgenderweise eine Halbordnung auf B definiert wird: w1 ¹ w2 :⇔ ∃ u ∈ B : w1 u = w2 66 KAPITEL 3. RELATIONEN (wir sagen dafür: ”w1 ist ein Prefix von w2 ”), und zeichnen Sie für A = {a, b} das entsprechende Hasse-Diagramm für alle Worte mit maximal 3 Buchstaben. (Anmerkung: Wir lassen hier auch das ”leere Wort” zu, das aus null Buchstaben besteht.) 10. Sei (A, ≤) eine geordnete Menge und M eine Teilmenge von A. Unter einer oberen Schranke von M versteht man ein s ∈ A mit x ≤ s für alle x ∈ M. Wenn die Menge aller oberen Schranken von M ein kleinstes Element besitzt, heißt dieses kleinste obere Schranke. a) Sei A = {2, . . . , 10} mit der Teilbarkeitsrelation. Suchen Sie eine Teilmenge von A mit mindestens zwei Elementen, welche eine kleinste obere Schranke besitzt, und eine andere Teilmenge, welche keine obere Schranke besitzt. b) Geben Sie ein möglichst einfaches Beispiel einer geordneten Menge an, in der es eine Teilmenge gibt, die zwar obere Schranken besitzt, aber keine kleinste obere Schranke. c) Was ist die kleinste obere Schranke von {a, b} ⊂ N bezüglich der Relation ”a teilt b”? d) Sei S eine beliebige Menge. Was ist die kleinste obere Schranke einer Teilmenge von P(S) bezüglich der Inklusion? e) Die ”größte untere Schranke” ist analog zur kleinsten oberen Schranke definiert. Wie lauten die Antworten zu den zu c) und d) analogen Fragen? Bemerkung: Wenn es in einer geordneten Menge A zu je zwei Elementen eine kleinste obere und eine größte untere Schranke gibt, so heißt A ein Verband (engl. ”lattice”). 11. Sei R irgendeine Relation auf einer Menge A. Zeigen Sie, dass t(s(r(R))) die kleinste R enthaltende Äquivalenzrelation auf A ist. 12. Sei R eine antisymmetrische, transitive Relation auf A, sodass (x, x) ∈ / R für alle x ∈ A. Zeigen Sie, dass die reflexive Hülle von R eine Ordnungsrelation ist, und dass R die zugehörige strikte Ordnung ist. (Man könnte daher definieren: Eine Relation R auf A heißt strikte Ordnung, wenn sie antisymmetrisch und transitiv ist, und (x, x) ∈ / R für alle x ∈ A.) Kapitel 4 Funktionen 4.1 Grundbegriffe Es geht hier um einen besonders wichtigen Typ von Relationen. Definition 4.1 Sei R eine Relation von A nach B mit folgender Eigenschaft: Zu jedem x ∈ A gibt es genau ein y ∈ B, sodass (x, y) ∈ R. Dann heißt f := (A, B, R) eine Abbildung (”map”, ”mapping”) oder Funktion (”function”) von A nach B. A heißt der Definitionsbereich (”domain”) und B der Bildbereich oder Wertebereich von f . (Hier ist die englische Terminologie nicht einheitlich, man findet z.B. die Bezeichnungen ”image” und ”range”, aber diese Worte werden auch in anderem Sinne verwendet.) Schreibweise: f : A → B. (Beachten Sie, dass der einfache Pfeil → also zwei verschiedene Bedeutungen hat: Wenn er zwischen zwei Aussagen oder Aussageformen steht, bezeichnet er die Subjunktion. Dagegen dient er in der hier angeführten Schreibweise zur Angabe einer Funktion.) Das zu x ∈ A eindeutig bestimmte y ∈ B mit (x, y) ∈ R wird mit f (x) bezeichnet und heißt das Bild (”image”) von x (unter der Funktion f ) oder der Wert (”value”) von f an der Stelle x. Die zugehörige Relation R wird im Allgemeinen nicht eigens bezeichnet. 67 68 KAPITEL 4. FUNKTIONEN Durch eine Funktion von A nach B wird jedem Element von A ein Element von B zugeordnet. Wir können daher eine Funktion bei gegebenen Mengen A, B auch als Zuordnungsvorschrift ansehen. Will man eine Funktion definieren, so muss man zunächst Definitions- und Bildbereich und dann die Zuordnungsvorschrift angeben. Das schreibt man dann oft in folgender Form: f : A → B : x 7→ f (x). Wenn man beweisen will, dass zwei Funktionen f, g gleich sind, muss man zuerst überprüfen, ob Definitions- und Wertebereich übereinstimmen und dann zeigen, dass für alle x aus dem Definitionsbereich f (x) = g(x) gilt. (Siehe z.B. Beweis von Satz 4.16, Teil c)) Beispiele: 1) f : N → N : x 7→ 2x + 1. 1, falls x > 0, 0, falls x = 0, 2) sign : R → {−1, 0, 1} : sign(x) = −1, falls x < 0. (sign heißt Signum- oder Vorzeichenfunktion.) 1 7→ 5 2 7→ 5 3) g : {1, 2, 3, 4} → {5, 6, 7} : 3 7→ 7 4 7→ 6 So einfache Funktionen wie diese kann man auch durch den zugehörigen gerichteten Graphen veranschaulichen. Davon zu unterscheiden ist der folgende Begriff: Definition 4.2 Sei f eine Abbildung von A nach B. Eine zeichnerische Darstellung der zugehörigen Relation { (x, y) ∈ A × B | y = f (x) } (als Menge von Punkten aus A × B) heißt Funktionsgraph von f und wird oft auch kurz als Graph von f bezeichnet. Eine solche zeichnerische Darstellung kommt vor allem dann in Frage, wenn A und B Teilmengen von R sind, eventuell auch für A ⊂ R2 und B ⊂ R. 4.2. WICHTIGE EIGENSCHAFTEN VON FUNKTIONEN 69 Beispiele für Relationen, die nicht zu Funktionen führen: 4) { (2x, x) | x ∈ N } ist zwar eine Relation auf N, liefert aber keine Funktion von N nach N, da den ungeraden natürlichen Zahlen nichts zugeordnet wird. Dieselbe Relation ergibt aber sehr wohl eine Funktion von G nach N, wenn wir mit G die Menge der geraden natürlichen Zahlen bezeichnen. 5) Die Relation { (1, 5), (1, 6), (2, 7), (3, 5), (4, 5) } entspricht keiner Abbildung von {1, 2, 3, 4} nach {5, 6, 7}, da der Zahl 1 zwei verschiedene Elemente des Bildbereichs zugeordnet werden. Es ist aber durchaus zulässig, dass zwei verschiedene Elemente des Definitionsbereichs dasselbe Bild haben (vgl. Beispiele 2) und 3)). Beispiele für unzulässige Funktionsdefinitionen: 6) Durch h : N → N : x 7→ 2x − 3 wird keine Funktion definiert, da h(1) = 2 · 1 − 3 = −1 ∈ / N. 7) f : R → R : x 7→ 1 x ist keine Funktion, da f (0) nicht definiert ist. Richtig wäre etwa: f : R \ {0} → R : x 7→ x1 . Bemerkung 4.3 Jedes n-Tupel a = (a1 , a2 , . . . , an ) von Elementen einer Menge M kann auch als Funktion a : {1, . . . , n} → M : k 7→ ak aufgefasst werden (und umgekehrt). (Vgl. Definition des cartesischen Produkts von mehreren Mengen.) 4.2 Wichtige Eigenschaften von Funktionen Funktionen, die eine der folgenden Eigenschaften haben, spielen eine besondere Rolle. Definition 4.4 Eine Funktion f : A → B heißt injektiv (”injective”, ”oneto-one”), wenn keine zwei verschiedenen Elemente von A dasselbe Bild haben: f ist injektiv :⇔ ∀x, x0 ∈ A : f (x) = f (x0 ) → x = x0 . 70 KAPITEL 4. FUNKTIONEN Die Funktionen 1) und 7) sind injektiv, 2) und 3) nicht. Ein n-Tupel (a1 , a2 , . . . , an ) entspricht genau dann einer injektiven Funktion, wenn die ai paarweise verschieden sind. Definition 4.5 Eine Funktion f : A → B heißt surjektiv (”surjective”, ”onto B”), wenn jedes Element von B Bild von mindestens einem Element aus A ist: f ist surjektiv :⇔ (∀y ∈ B) (∃x ∈ A) y = f (x) Die Funktionen 2) und 3) sind surjektiv, 1) dagegen nicht. Wenn f eine surjektive Funktion von A nach B ist, sagt man auch: f ist eine Funktion (oder Abbildung) von A auf B. Definition 4.6 Eine Funktion heißt bijektiv (”bijective”, ”ono-to-one correspondence”), wenn sie injektiv und surjektiv ist: f ist bijektiv :⇔ (∀y ∈ B) (∃!x ∈ A) y = f (x) Keine der obigen Funktionen ist bijektiv. Beispiele für bijektive Funktionen: 4a) g : G → N : x 7→ x/2. 7a) f : R \ {0} → R \ {0} : x 7→ 1 . x 8) h : Z2 → Z2 : (x, y) 7→ (y, x). 9) Für jede Menge M ist die identische Funktion (”identity function”) I : M → M : x 7→ x trivialerweise bijektiv. Sie heißt auch Identität. (Das Wort ”trivial” bedeutet in der Mathematik so viel wie ”unmittelbar einsichtig”, ”keines Beweises bedürftig”.) Die identische Funktion auf einer Menge M bezeichnen wir auch mit IM . Injektive, surjektive bzw. bijektive Abbildungen heißen auf englisch auch ”injections”, ”surjections” bzw. ”bijections”. 4.3. ZUSAMMENSETZUNG VON FUNKTIONEN 4.3 71 Zusammensetzung von Funktionen Definition 4.7 Unter der Zusammensetzung (”composition”) zweier Abbildungen f : A → B und g : B → C versteht man folgende Abbildung: g ◦ f : A → C : x 7→ g(f (x)). Wendet man also g ◦ f auf ein Element x an, so wird zuerst f angewendet und dann (auf das Resultat) g. Zusammensetzungen von Funktionen sind also gewissermaßen von rechts nach links zu lesen. √ Beispiel: Sei f : N →√N : x 7→ x + 1 und g : N → R : x 7→ x. Dann ist g ◦ f : N → R : x 7→ x + 1. Wenn f und g Funktionen A → A sind, dann ist sowohl g ◦ f als auch f ◦ g sinnvoll. Im Allgemeinen ist aber g ◦ f 6= f ◦ g, d.h. die Zusammensetzung von Funktionen ist im Allgemeinen nicht kommutativ. √ Beispiel: Mit f1 : R → R : x 7→ x + 1, g1 : R → R : x 7→ 3 x ist √ √ 3 g1 ◦ f1 : R → R : x 7→ 3 x + 1, insbesondere 1 7→ 2, √ f1 ◦ g1 : R → R : x 7→ 3 x + 1, also 1 7→ 2. Satz 4.8 Wenn f : A → B und g : B → C injektiv sind, dann ist auch g ◦ f : A → C injektiv. Das gilt auch, wenn man ”injektiv” durch ”surjektiv” oder ”bijektiv” ersetzt. Beweis für ”injektiv”: Sei g(f (x)) = g(f (y)). Dann folgt wegen der Injektivität von g, dass f (x) = f (y) ist. Daraus folgt x = y wegen der Injektivität von f. Beweis für ”surjektiv”: Sei y ∈ C. Da g surjektiv ist, gibt es ein z ∈ B, sodass g(z) = y. Zu diesem z gibt es wegen der Surjektivität von f ein x ∈ A, sodass f (x) = z. Es folgt: g (f (x)) = y, also (g ◦ f )(x) = y. Diese beiden Beweise ergeben zusammen den Beweis für ”bijektiv”. 72 4.4 KAPITEL 4. FUNKTIONEN Einschränkung von Funktionen Der Begriff der Einschränkung wird für Funktionen etwas anders als für Relationen definiert: Definition 4.9 Sei f : A → B und S ⊂ A. Dann heißt die folgenderweise definierte Funktion die Einschränkung (”restriction”) von f auf S. f |S : S → B : x 7→ f (x) Beispiel: Die Funktion f : Z → Z : x 7→ x2 ist nicht injektiv, ihre Einschränkung auf N aber schon. Wenn f : A → B und g : C → D mit B ⊂ C, so kann man g|B ◦ f bilden. Man schreibt dafür meist einfach wieder g ◦ f. x Beispiel: f1 : N → N : x 7→ x + 1, f2 : Q → Q : x 7→ . 2 x+1 . f2 ◦ f1 : N → Q : x 7→ 2 Manchmal wird auch der Bildbereich eingeschränkt. Eine so eingeschränkte Funktion wird allerdings meist genau so bezeichnet wie die ursprüngliche Funktion. 4.5 Bild und Urbild von Mengen Definition 4.10 Sei f : A → B und S ⊂ A. Dann heißt die Menge { f (x) | x ∈ S } das Bild (”image”) von S (unter der Abbildung f, kurz ”f -Bild von S”) und wird mit f (S) bezeichnet. Wir könnten auch schreiben: f (S) = { y ∈ B | ∃x ∈ S : y = f (x) }. Hier hat f also genau genommen zwei verschiedene Bedeutungen. Sollte das zu Schwierigkeiten führen, muss man für das f -Bild eine andere Bezeichnung wählen, etwa f∗ . 4.5. BILD UND URBILD VON MENGEN 73 Beispiele: 1) Sei f : N → N : x 7→ 2x + 1. Dann ist f ({1, 2, 3}) = {3, 5, 7}, und f (N) ist die Menge aller ungeraden natürlichen Zahlen mit Ausnahme von 1. 7b) Sei f : R \ {0} → R : x 7→ x1 . Dann ist f (N) = {1, 12 , 13 , . . .}. Bemerkung: Eine Funktion f : A → B ist also genau dann surjektiv, wenn f (A) = B. Schränkt man den Wertebereich einer beliebigen Funktion f : A → B auf das Bild f (A) des Definitionsbereichs ein, so wird sie surjektiv: f : A → f (A) ⊂ B. Eine injektive Funktion wird auf diese Weise bijektiv. Durch eine injektive Abbildung f : A → B wird also A bijektiv auf die Teilmenge f (A) von B abgebildet. Man sagt dafür auch: ”A wird durch f in die Menge B eingebettet.”. Das macht auch die Bezeichnung ”injektiv” verständlicher. Definition 4.11 Sei f : A → B und T ⊂ B. Dann heißt die Menge { x ∈ A | f (x) ∈ T } das Urbild (”pre-image”, ”inverse image”) von T (unter der Abbildung f, kurz ”f -Urbild von T ”). Bezeichnung: meist f −1 (T ), manchmal auch f ← (T ), f ∗ (T ) oder ähnlich. Beispiele: 2) sign−1 ({0, 1}) ist die Menge aller nicht negativen reellen Zahlen. Mit R+ := { x ∈ R | x > 0 } gilt also: sign−1 ({0, 1}) = R+ ∪ {0}. 10) Sei F : R2 → R : (x, y) → x − y. Dann ist F −1 ({0}) = { (x, x) | x ∈ R }, das ist die Gerade durch den Ursprung mit 45◦ Anstieg. F −1 (R+ ) ist die Menge aller Punkte der Ebene, die rechts unterhalb dieser Geraden liegen. (So etwas nennt man eine ”offene Halbebene”). Definition 4.12 Das f -Urbild einer einelementigen Menge {t} heißt auch Lösungsmenge der Gleichung (”solution set of the equation”) f (x) = t (in der Unbekannten x). Beispiel: Sei f : R → R : x 7→ x2 − 3x + 2. Dann ist f −1 ({0}) = {1, 2} die Lösungsmenge der (quadratischen) Gleichung x2 − 3x + 2 = 0, denn x2 − 3x + 2 = (x − 1)(x − 2), und das ist genau dann = 0, wenn x = 1 oder x = 2 ist. 74 KAPITEL 4. FUNKTIONEN Satz 4.13 Sei f : A → B eine beliebige Funktion. Dann wird durch x ∼ x0 :⇔ f (x) = f (x0 ) auf A eine Äquivalenzrelation definiert, und die zugehörigen Äquivalenzklassen sind die Mengen f −1 ({y}) mit y ∈ f (A). Beweis: Reflexivität, Symmetrie und Transitivität ergeben sich unmittelbar aus den entsprechenden Eigenschaften des Gleichheitszeichens. z ∈ [x] ⇔ z ∼ x ⇔ f (z) = f (x) ⇔ f (z) ∈ {f (x)} ⇔ z ∈ f −1 ({f (x)}) Das heißt aber [x] = f −1 ({f (x)}), und damit ist der Satz bewiesen. Beispiel: Sei wieder F : R2 → R : (x, y) 7→ x−y. Dann gilt für die zugehörige Äquivalenzrelation: (x, y) ∼ (x0 , y 0 ) ⇔ x − y = x0 − y 0 . Die Äquivalenzklassen sehen so aus: F −1 ({c}) = { (x, y) | x − y = c } = { (x, y) | y = x − c }. Das sind also (zueinander parallele) Geraden mit Anstieg 45◦ . Ein ”besonders einfacher” Repräsentant aus F −1 ({c}) ist (c, 0). Weiteres Beispiel: Restklassen in Z (siehe Kapitel 5). 4.6 Umkehrung von Funktionen Sei f : A → B eine beliebige Funktion. Nehmen wir an, dass ein y ∈ B gegeben ist. Wir suchen nun ein x ∈ A, sodass f (x) = y. Da tauchen im Allgemeinen zwei Probleme auf: 1. Es kann sein, dass es kein solches x gibt. Das ist immer dann möglich, wenn f nicht surjektiv ist. 2. Es kann sein, dass es mehrere solche x gibt. Das ist immer dann möglich, wenn f nicht injektiv ist. Die ”Gleichung” f (x) = y ist also nur dann für jedes y ∈ B eindeutig lösbar, wenn f sowohl injektiv als auch surjektiv ist, d.h. wenn f bijektiv ist. In diesem Fall hat die Menge f −1 ({y}) genau ein Element. Definition 4.14 Sei f : A → B bijektiv. Dann wird für jedes y ∈ B das eindeutig bestimmte Element von f −1 ({y}) mit f −1 (y) bezeichnet, und die Abbildung f −1 : B → A : y 7→ f −1 (y) heißt die Umkehrfunktion (”inverse function”) von f. 4.6. UMKEHRUNG VON FUNKTIONEN 75 (Ähnlich wie beim f -Bild hat f −1 für bijektive Abbildungen genau genommen zwei verschiedene Bedeutungen.) Wegen der Existenz einer Umkehrfunktion nennt man bijektive Funktionen auch umkehrbar eindeutige Zuordnungen. Die Umkehrfunktionen der obigen Beispiele für bijektive Funktionen sehen so aus: 4a) g −1 : N → G : y 7→ 2y. 1 , also f −1 = f x : Z2 → Z2 : (x, y) 7→ (y, x), auch hier ist also h−1 = h. 7a) f −1 : R \ {0} → R \ {0} : x 7→ 8) h−1 Ein Beispiel, in welchem die Umkehrfunktion nicht sofort erkennbar ist: x . 11) a : R → (−1, 1) : x 7→ 1 + |x| Zunächst stellen wir fest, dass die Funktion a ”wohldefiniert” ist, d.h. dass durch die Zuordnungsvorschrift wirklich für jedes x ∈ R ein Element aus (−1, 1), also mit Betrag < 1, definiert wird. Das sieht man auf Grund von x |x| < 1 + |x|. Wir versuchen nun, die Gleichung 1+|x| = y zu gegebenem y ∈ (−1, 1) nach x ”aufzulösen”. Wenn das eindeutig möglich ist, haben wir einerseits gezeigt, dass die Funktion a bijektiv ist, und andererseits auch gleich die Umkehrfunktion berechnet. Wir unterscheiden zwei Fälle: 1. x ≥ 0 : In diesem Fall lautet die Gleichung nach Multiplikation mit dem Nenner: y x = (1 + x)y, also x(1 − y) = y, und wir erhalten als Lösung x = 1−y . Wir sehen wegen 1 − y > 0 außerdem, dass y dasselbe Vorzeichen wie x hat. 2. x < 0 : Hier erhalten wir x = (1 − x)y und daher x = Vorzeichen wie x. y , 1+y und wieder hat y dasselbe Wir können daher zusammenfassend schreiben: a−1 : (−1, 1) → R : y 7→ . y . 1 − |y| Satz 4.15 Sei f : A → B eine bijektive Funktion. Dann gilt f −1 ◦ f = IA und f ◦ f −1 = IB . 76 KAPITEL 4. FUNKTIONEN Beweis: 1) Sei x ∈ A. Dann ist nach Definition der Umkehrfunktion f −1 (f (x)) = x. 2) Sei y ∈ B und x = f −1 (y). Das bedeutet f (x) = y, also folgt f (f −1 (y)) = y. Satz 4.16 Sei f : A → B und g : B → A. Wenn g ◦ f = IA und f ◦ g = IB , dann sind f und g bijektiv, g = f −1 und f = g −1 . Beweis: Es genügt zu zeigen, dass f bijektiv ist und g = f −1 . Die anderen beiden Aussagen folgen durch Vertauschung von f mit g und von A mit B. a) Injektivität von f : Sei f (x) = f (x0 ). Dann ist g(f (x)) = g(f (x0 )). Nach Voraussetzung heißt das IA (x) = IA (x0 ), also x = x0 . b) Surjektivität von f : Sei y ∈ B. Dann ist f (g(y)) = IB (y) = y, also f (x) = y mit x = g(y) ∈ A. c) Nach b) ist g(y) ∈ f −1 ({y}) und daher, wegen der bereits bewiesenen Bijektivität von f, g(y) = f −1 (y). Da das für alle y ∈ B gilt, folgt g = f −1 . Satz 4.17 Seien f : A → B und g : B → C bijektive Abbildungen. Dann gilt (g ◦ f )−1 = f −1 ◦ g −1 . Beweis: (g ◦ f ) ◦ (f −1 ◦ g−1 ) = g ◦ f ◦ f −1 ◦ g −1 = IC , und (f −1 ◦ g−1 ) ◦ (g ◦ f ) = f −1 ◦ g −1 ◦ g ◦ f = IA , also folgt die Behauptung aus dem vorhergehenden Satz. 4.7 Fixpunkte Definition 4.18 Ein Fixpunkt (”fixed point”) einer Abbildung f : A → A ist ein Element x ∈ A mit f (x) = x. Die Menge {x ∈ A | f (x) = x} aller Fixpunkte von f heißt Fixpunktmenge von f . 4.8. ÜBUNGSAUFGABEN 77 Die Fixpunktmenge von f kann als Lösungsmenge der Gleichung f (x) = x angesehen werden. Beispiele: 1) f : N → N : x 7→ 2x + 1 hat keine Fixpunkte. 7a) f : R \ {0} → R \ {0} : x 7→ 1 x hat genau zwei Fixpunkte: 1 und −1. 8) Die Fixpunktmenge von h : Z2 → Z2 : (x, y) 7→ (y, x) ist die ”Diagonale” { (x, x) | x ∈ Z }. 4.8 Übungsaufgaben 1. Überlegen Sie bei jeder der folgenden Funktionen, ob sie injektiv, surjektiv oder bijektiv ist: a) f : R → R : x 7→ xn , wobei n ∈ N. 1 c) h : Q+ 0 → [0, 2 ] : x 7→ x , x2 +1 b) g : Z → Q : x 7→ x . x2 +1 wobei Q+ 0 := {x ∈ Q | x ≥ 0}. 2. Geben Sie jeweils ein Beispiel einer bijektiven Funktion an, welche keine Fixpunkte hat: a) Z → Z, b) N → N, c) {1, 2, 3, 4, 5} → {1, 2, 3, 4, 5}. 3. Geben Sie ein Beispiel einer bijektiven Funktion Z → N an. 4. Sei f : R → R : x 7→ ax2 + bx + c mit a, b, c ∈ R. Beschreiben Sie die Mengen f −1 (R+ ) und f −1 (R− ) in Abhängigkeit von a, b und c. (R+ = {x ∈ R | x > 0}, R− = {x ∈ R | x < 0}.) 5. Stellen Sie fest, welche der folgenden Formeln richtig bzw. falsch sind, und geben Sie dementsprechend einen Beweis bzw. ein Gegenbeispiel an: a) f (A ∪ B) = f (A) ∪ f (B), c) f −1 (A∪B) = f −1 (A)∪f −1 (B), b) f (A ∩ B) = f (A) ∩ f (B), d) f −1 (A∩B) = f −1 (A)∩f −1 (B). 6. Sei f : A → B eine beliebige Abbildung. Beweisen Sie: a) f −1 (f (S)) ⊃ S für jede Teilmenge S von A. b) f (f −1 (T )) ⊂ T für jede Teilmenge T von B. 7. Unter welchen Voraussetzungen können bei der vorigen Aufgabe die Inklusionszeichen durch Gleichheitszeichen ersetzt werden? (Beweis!) 78 KAPITEL 4. FUNKTIONEN 8. Sei f : R2 → R : (x, y) 7→ x2 + y 2 und (x, y) ∼ (x0 , y 0 ) :⇔ f (x, y) = f (x0 , y 0 ). Beschreiben Sie die zugehörigen Äquivalenzklassen. 9. Sei Z0 die Menge der Äquivalenzklassen von Z bezüglich der durch m ≈ n :⇔ m2 = n2 definierten Äquivalenzrelation. a) Kann man auf Z0 folgenderweise eine Ordnungsrelation definieren: [m] v [n] :⇔ m ≤ n ? b) Kann man auf folgende Weise Funktionen Z0 → Z definieren? f ([m]) := m2 + m + 1 g([m]) := m4 + m2 + 1 10. Kann man folgenderweise eine Äquivalenzrelation auf der Menge aller Funktionen N → N definieren? Wenn ja, geben Sie ein Beispiel für zwei verschiedene äquivalente und ein Beispiel für zwei nicht äquivalente Funktionen an. a) f ∼ g :⇔ ∀n ∈ N : |f (n) − g(n)| ≤ 1. b) f ' g :⇔ es gibt ein n0 ∈ N, sodass f (n) = g(n) für alle n ≥ n0 . 11. Sei F die Menge aller Funktionen N → R. Für f, g ∈ F sagt man ”g dominiert f asymptotisch”, wenn es eine positive reelle Zahl c und eine natürliche Zahl n0 gibt, sodass |f (n)| ≤ c |g(n)| für alle natürlichen Zahlen n ≥ n0 . (Man schreibt dafür oft auch f (n) = O(g(n)), obwohl es sich keineswegs um eine Gleichung handelt. Das O wird ”Landau-Symbol” genannt.) a) Welche Eigenschaften hat die folgende Relation ¹ auf f ? f ¹ g :⇔ g dominiert f asymptotisch. Ist ¹ eine Halbordnung? b) Ist die durch f ∼ g :⇔ (f ¹ g) ∧ (g ¹ f ) definierte Relation eine Äquivalenzrelation? c) Untersuchen Sie, welche der Relationen ¹, ∼ zwischen den folgenden Funktionen f, g, h bestehen: f (n) := n2 , g(n) := 1000n, h(n) := 2n . d) Geben Sie Beispiele für Funktionen f, g an, sodass weder f ¹ g noch g ¹ f gilt. Kapitel 5 Zahlen 5.1 5.1.1 Natürliche Zahlen Das Wohlordnungsaxiom Die Menge der natürlichen Zahlen {1, 2, 3, . . .} bezeichnen wir mit N. Manchmal nimmt man auch die Null dazu: N0 := {0, 1, 2, 3, . . .}. Wir könnten die natürlichen Zahlen als formales System mit Hilfe von Axiomen definieren. Wir würden dazu eine größere Anzahl (etwa 12) Axiome benötigen, um alle wesentlichen Eigenschaften bezüglich Addition, Multiplikation und Ordnung der natürlichen Zahlen festzuhalten. Z.B. müssten wir für die Ordungsrelation die Reflexivität, Antisymmetrie, Transitivität und die Totalordnungseigenschaft als Axiome anführen. Das Zusammenspiel der Ordnungsrelation mit der Addition und Multiplikation wird durch folgende Axiome geregelt: ∀ x, y, z ∈ N0 : x ≤ y → x + z ≤ y + z, x ≤ y → xz ≤ yz. Im Folgenden setzen wir die natürlichen Zahlen als bekannt voraus und diskutieren nur ein Axiom, das eine besondere Rolle spielt, ausführlicher: Wohlordnungsaxiom: Jede nichtleere Teilmenge von N besitzt ein kleinstes Element. D.h.: (∀T ⊂ N) ( T 6= ∅ → (∃t0 ∈ T ) (∀t ∈ T ) (t0 ≤ t)) 79 80 KAPITEL 5. ZAHLEN Beispiel für die Anwendung des Wohlordnungsaxioms: Sei x ∈ R, x ≥ 0. Dann gibt es eine eindeutig bestimmte kleinste natürliche Zahl, welche ≥ x ist. Sie wird mit dxe bezeichnet. Es gibt auch eine größte Zahl ∈ N0 , welche ≤ x ist: Falls x ∈ N0 , ist diese gleich dxe , und sonst gleich dxe − 1. Diese Zahl wird mit bxc bezeichnet. bxc entsteht also (für x ≥ 0) durch Weglassung der Stellen nach dem Komma. Beispiel einer einfachen Regel für b c : Sei n ∈ N0 . jnk ½ n falls n gerade, = 2 n − 1 falls n ungerade. 2 Bemerkung: Wenn man von Z anstelle von N0 ausgeht, so ergibt sich in natürlicher Weise folgende Definition: Definition 5.1 Sei x ∈ R. Die kleinste ganze Zahl, welche ≥ x ist, wird mit dxe bezeichnet (”ceiling of x”). Die größte ganze Zahl, welche ≤ x ist, wird mit bxc bezeichnet (”floor of x”, oft auch [x]). Für negatives x entsteht durch Weglassung der Nachkommastellen dxe : b−2.4c = −3, d−2.4e = −2. 5.1.2 Das Induktionsprinzip Aus dem Wohlordnungsaxiom ergibt sich ein wichtiges Beweisprinzip: Prinzip der vollständigen Induktion: Sei P ein einstelliges Prädikat. Wenn die folgenden beiden Aussagen wahr sind: 1. P (1), 2. (∀n ∈ N) (P (n) → P (n + 1)) , dann ist auch die Aussage (∀n ∈ N) P (n) wahr. Wenn man also einen Satz der Form (∀n ∈ N) P (n) beweisen will, so zeigt man zuerst P (1) (”Induktionsanfang”) und dann für alle n ∈ N die Implikation P (n) → P (n + 1) (”Schluss von n auf n + 1”, kurz ”n → n + 1”). 5.1. NATÜRLICHE ZAHLEN 81 Man spricht dann von einem Beweis mit vollständiger Induktion (kurz: Induktionsbeweis, ”mathematical induction”). Beim Schluss von n auf n + 1 nennt man P (n) auch die Induktionsvoraussetzung und P (n + 1) die Induktionsbehauptung. Das Wort ”vollständig” verwendet man, um zu betonen, dass es sich nicht um einen Induktionsschluss handelt, wie er in anderen Wissenschaften verwendet wird (etwa nach dem Muster: Wenn wir bereits 1000-mal beobachtet haben, dass am Morgen die Sonne aufgeht, dann wird sie (höchstwahrscheinlich) auch das 1001-te Mal am Morgen aufgehen.). Das Prinzip der vollständigen Induktion kann man mit einem indirekten Beweis auf das Wohlordnungsaxiom zurückführen: Angenommen, die Aussage (∀n ∈ N) P (n) ist falsch. D.h. (∃n ∈ N)(¬P (n)). Dann ist die Menge T := {n ∈ N | ¬P (n)} nicht leer und besitzt daher ein kleinstes Element, sagen wir n0 . Wegen P (1) muss n0 6= 1 sein. Daher ist auch n0 − 1 eine natürliche Zahl. Wenn die Implikation P (n) → P (n + 1) für alle n ∈ N wahr ist, dann insbesondere für n0 − 1 an Stelle von n, d.h.: P (n0 − 1) → P (n0 ). / T, da n0 das kleinste Element von T ist. Folglich ist P (n0 − 1) wahr, n0 − 1 ∈ und nach dem modus ponens können wir auf P (n0 ) schließen. Andererseits ist n0 ∈ T, und das bedeutet ¬P (n0 ). Es ergibt sich also ein Widerspruch. Beispiel für einen Induktionsbeweis: Beispiel 5.2 Seien n ∈ N und x ∈ R, x ≥ −1. Dann gilt (1 + x)n ≥ 1 + xn. (”Bernoulli’sche Ungleichung”) (Jakob Bernoulli (1654 - 1705) ist ein berühmter Schweizer Mathematiker. Er hat unter anderem Entscheidendes zur Begründung der Wahrscheinlichkeitstheorie geleistet.) Beweis: Die Behauptung ist hier eigentlich ein zweistelliges Prädikat. Wir betrachten sie aber als Prädikat in der Variablen n. Das x denken wir uns ”festgehalten”. Wir können auch sagen: ”Wir führen den Beweis mit Induktion nach n”. Wir setzen also P (n) := ((1 + x)n ≥ 1 + xn) . 82 KAPITEL 5. ZAHLEN Induktionsanfang: P (1) ist die trivialerweise richtige Aussage 1 + x ≥ 1 + x. Schluss von n auf n + 1 : Wir haben zu zeigen: Aus (1 + x)n ≥ 1 + xn folgt (1 + x)n+1 ≥ 1 + x(n + 1). Nehmen wir also an, dass (1 + x)n ≥ 1 + xn gilt. Dann folgt: (1 + x)n+1 = (1 + x)n (1 + x) ≥ (1 + xn)(1 + x) = = 1 + xn + x + x2 n ≥ 1 + x(n + 1), da ja x2 n ≥ 0. Es folgt also tatsächlich die Induktionsbehauptung. Die Voraussetzung x ≥ −1 geht insoferne ein, als wir eine Ungleichung mit 1 + x multiplizieren. Das ist bekanntlich nur erlaubt, wenn 1 + x ≥ 0 ist. Bemerkung: Oft ist der Induktionsanfang sehr einfach einzusehen. Man darf trotzdem nicht darauf vergessen. Zur Illustration ein offensichtlich falscher Induktionsbeweis: Behauptung: (∀n ∈ N) (n = n + 5) ”Induktionsbeweis”: Aus n = n+5 folgt n+1 = (n+5)+1 = n+6 = (n+1)+5, also (n + 1) = (n + 1) + 5. 5.1.3 Varianten des Induktionsprinzips Es kommt oft vor, dass es ein n0 ∈ N gibt, sodass P (n) nur für die natürlichen Zahlen n ≥ n0 stimmt. Für den entsprechenden Beweis verwendet man dann folgende Verallgemeinerung des Induktionsprinzips, die sich ebenfalls leicht auf das Wohlordnungsaxiom zurückführen lässt: 1. Verallgemeinerung des Prinzips der vollständigen Induktion: Sei P ein einstelliges Prädikat und n0 ∈ N. Wenn die folgenden beiden Aussagen wahr sind: 1. P (n0 ), 2. (∀n ≥ n0 ) (P (n) → P (n + 1)) , dann ist auch die Aussage (∀n ≥ n0 ) P (n) wahr. (Dabei ist ”∀n ≥ n0 ” eine Abkürzung für ”∀n ∈ {x ∈ N | x ≥ n0 }”.) 5.2. FOLGEN 83 Beispiel 5.3 Für alle natürlichen Zahlen n ≥ 3 gilt 2n > 2n + 1. Bemerkung: Aus der Bernoullischen Ungleichung folgt (mit x = 1) nur 2n ≥ n + 1. Beweis: n = 3: 23 > 2 · 3 + 1, da 8 > 7. ”n → n+1”: 2n+1 = 2n ·2 > (2n+1)·2 = 4n+2 = 2(n+1)+2n > 2(n+1)+1, da 2n > 1. Manchmal benötigt man die folgende Verallgemeinerung des Induktionsprinzips, die ebenfalls aus dem Wohlordnungsaxiom folgt: 2. Verallgemeinerung des Prinzips der vollständigen Induktion: Sei P ein einstelliges Prädikat. Wenn die folgenden beiden Aussagen wahr sind: 1. P (1), 2. (∀n ∈ N) ((∀m ≤ n : P (m)) → P (n + 1)) , dann ist auch die Aussage (∀n ∈ N) P (n) wahr. (Dabei ist ”∀m ≤ n” eine Abkürzung für ”∀m ∈ {x ∈ N | x ≤ n}”.) Den 2. Schritt bezeichnen wir kurz so: ” ≤ n → n + 1”. Beispiel: Siehe Abschnitt 5.3.1. 5.2 Folgen Definition 5.4 Sei M eine beliebige Menge. Eine (unendliche) Folge (”sequence”) von Elementen aus M ist eine Abbildung a : N → M. Schreibweise: Statt a(n) schreibt man meist an , und die ganze Folge a schreibt man in der Form (a1 , a2 , . . .), (an )n∈N oder kurz (an ). Die Zahl n bei an nennt man Index. Beispiel: Sei an = 2n . Dann ist a = (2, 4, 8, 16, . . .) eine Folge natürlicher Zahlen. 84 KAPITEL 5. ZAHLEN Bemerkung: Oft lässt man als Definitionsbereich auch N0 := {0, 1, 2, 3, . . .} oder eine Teilmenge von N der Form {x ∈ N | x ≥ n0 } zu. Beispiel: Sei bn = 1 . Hier ist b1 nicht definiert. log n (b2 , b3 , . . .) = ( 1 1 , , . . .) log 2 log 3 wird trotzdem als Folge reeller Zahlen angesehen. Man könnte statt dessen 1 auch b0n = betrachten. log(n + 1) 5.3 5.3.1 Rekursionen Rekursiv definierte Folgen Eine Folge a wird häufig dadurch definiert, dass man das erste Element a1 (oder die ersten n0 Elemente) angibt und dann beschreibt, wie man an+1 aus den vorhergehenden Folgenelementen a1 , . . . , an berechnet, wobei n eine beliebige natürliche Zahl ≥ 1 (bzw. ≥ n0 ) ist. Diese Vorgangsweise nennt man rekursive Definition einer Folge. Beispiel: Sei f1 := 1 und fn+1 := (n + 1) fn für n ≥ 1. Dann ist f = (1, 2, 6, 24, 120, . . .). Definition 5.5 n! := fn mit dem soeben definierten f heißt n Faktorielle (”n factorial”) (oder n Fakultät). Weiteres Beispiel: Sei g0 := 1, g1 := 1 und gn+1 := gn + gn−1 . Dann ist g = (1, 1, 2, 3, 5, 8, 13, . . .). (Fibonacci-Folge). (Fibonacci = Leonardo von Pisa (ca. 1170 - 1250) war einer der größten Mathematiker des Mittelalters.) Beispiel für vollständige Induktion zum Beweis von Eigenschaften rekursiv definierter Folgen: Beispiel 5.6 Sei t1 := 1 und tn = 2 tbn/2c . Dann ist tn die größte natürliche Zahl der Form 2k mit 2k ≤ n und k ∈ N0 . 5.3. REKURSIONEN 85 Beweis: n = 1: t1 = 20 . ≤ n → n + 1: Sei m = ¥ n+1 ¦ 2 . m ≤ n, denn aus 1 ≤ n folgt n + 1 ≤ 2n, und daraus folgt n+1 2 ≤ n. Nach Induktionsvoraussetzung gibt es ein k ∈ N0 , sodass tm = 2k ≤ m und 2k+1 > m, d.h. 2k+1 ≥ m + 1. tn+1 = 2tm = 2k+1 , und 2k+1 ≤ 2m ≤ n+1, 2k+2 ≥ 2(m+1) = 2m+2 > n+1, da ½ n + 1 falls n ungerade, 2m = n falls n gerade. (Siehe Regel für b c Seite 80.) 5.3.2 Allgemeine Summen und Produkte Seien a1 , . . . , an ∈ R. Dann schreibt man meist und n Q i=1 n P i=1 ai für a1 + a2 + · · · + an ai für a1 a2 · · · an . Genauer definiert man mit Rekursion: 1 P i=1 1 Q ai := a1 , ai := a1 , i=1 n+1 P i=1 n+1 Q i=1 µ n P ¶ ai + an+1 , ¶ µi=1 n Q ai := ai · an+1 . ai := i=1 Manchmal beginnt man die Rekursion mit 0 und setzt 0 Q 0 P ai := 0 sowie i=1 ai := 1. i=1 Z.B. gilt n! = n Q i, 0! = 1. i=1 Wir können jetzt auch die Potenzen einer Zahl exakt definieren: Sei a ∈ R und n ∈ N0 . Dann setzen wir an := n Y i=1 a. 86 KAPITEL 5. ZAHLEN Man könnte natürlich auch so vorgehen, dass man a0 := 1 setzt und an+1 := a · an . Insbesondere gilt auf Grund dieser Definition 00 = 1 und 0n = 0 für alle n ∈ N. Beispiel für Anwendung der vollständigen Induktion bei solchen Summen: Beispiel 5.7 n P 3 i = i=1 Beweis: n = 1: 1 P µ n P i=1 i3 = 1 = i=1 n → n + 1: 2(n + µ 1)n n+1 2 i ¶2 µ . 1 P i=1 ¶2 i ¶2 µ n ¶2 n n n P P P P i + (n + 1) = i + 2(n + 1) i + (n + 1)2 = i3 + i=1 2 + (n + 1) = n P i=1 3 i=1 i=1 3 i + (n + 1) . i=1 Wenn a = (an ) eine Folge reeller Zahlen ist, so heißt die Folge s = (sn ) mit n P sn = ai die zu a gehörige Partialsummenfolge. i=1 1 . Dann ist s = ( 12 , 34 , 78 , 15 , . . .), und man sieht leicht 16 2n 1 (mit vollständiger Induktion): sn = 1 − n . 2 Bemerkung: Falls die Partialsummenfolge einer Folge (an ) konvergiert, nennt ∞ P man ihren Grenzwert ”Summe der unendlichen Reihe ai ”, siehe VorlesunBeispiel: Sei an = i=1 gen oder Bücher über Analysis, z.B. [30]. In unserem Beispiel ist ∞ P ai = 1. i=1 5.3.3 Auflösung von Rekursionen Unter gewissen Umständen kann man eine rekursive Definition durch eine direkte Definition (”geschlossene Form”) ersetzen. Der nächste Satz behandelt einen Typ von rekursiven Definitionen, bei denen dies möglich ist. Satz 5.8 Seien a, b zwei reelle Zahlen, nicht beide = 0, und (sn )n∈N0 eine Folge von reellen Zahlen, sodass für alle n ≥ 1 sn+1 = asn + bsn−1 . 5.3. REKURSIONEN 87 Seien r1 , r2 die Lösungen der quadratischen Gleichung x2 − ax − b = 0. Falls r1 6= r2 , gibt es c1 , c2 ∈ R, sodass sn = c1 r1n + c2 r2n für alle n ∈ N0 . Falls r1 = r2 =: r, gibt es c1 , c2 ∈ R, sodass sn = (c1 +nc2 )rn für alle n ∈ N0 . 1. Bemerkung: Die hier auftretende quadratische Gleichung heißt auch charakteristische Gleichung. 2. Bemerkung: Wenn s0 und s1 gegeben sind, kann man die Konstanten c1 , c2 leicht durch Einsetzen in die Formeln für sn finden. Für r1 6= r2 ergibt sich folgendes lineare Gleichungssystem mit den zwei Unbekannten c1 , c2 : s0 = c1 + c2 , s1 = c1 r1 + c2 r2 , für r1 = r2 = r ergibt sich s0 = c1 , s1 = (c1 + c2 )r. 3. Bemerkung: Es gibt eine Methode, mit der man jede Rekursion der Form sn+k = ak−1 sn+k−1 + ak−2 sn+k−2 + . . . + a0 sn lösen kann (lineare homogene Rekursionen, Methode der erzeugenden Funktionen, siehe z.B. [8]). Beweis des Satzes: Seien r1 , r2 die Lösungen der charakteristischen Gleichung. Dann gilt jedenfalls r12 = ar1 + b und r22 = ar2 + b. Wir überlegen uns zunächst, dass das zugehörige lineare Gleichungssystem zur Bestimmung der Unbekannten c1 , c2 (eindeutig) lösbar ist. Dazu genügt es, zu zeigen, dass die Determinante ∆ dieses Systems 6= 0 ist (vgl. dazu Vorlesungen oder Bücher über Lineare Algebra, z.B. [2]): Falls r1 6= r2 , ist ∆ = r2 − r1 6= 0. Für r1 = r2 6= 0 ist ∆ = r1 6= 0. Der Fall r1 = r2 = 0 ist nicht möglich, da dann a = b = 0 wäre. Sei nun (c1 , c2 ) die Lösung dieses Gleichungssystems und s0n := c1 r1n + c2 r2n bzw. (c1 + nc2 )rn . Dann ist jedenfalls s00 = s0 und s01 = s1 . Wenn wir zeigen können, dass s0n+1 = as0n + bs0n−1 für alle n ≥ 1, dann folgt (mit Induktion) s0n = sn für alle n ∈ N0 . 1. Fall: r1 6= r2 : 88 KAPITEL 5. ZAHLEN as0n + bs0n−1 = a(c1 r1n + c2 r2n ) + b(c1 r1n−1 + c2 r2n−1 ) = = (ar1 + b)c1 r1n−1 + (ar2 + b)c2 r2n−1 = r12 c1 r1n−1 + r22 c2 r2n−1 = c1 r1n+1 + c2 r2n+1 = s0n+1 . 2. Fall: r1 = r2 : Für die Lösungen der charakteristischen Gleichung gelten allgemein die bekannten Formeln r r a2 a2 a a r1 = + + b, r2 = − + b. 2 4 2 4 2 Wenn r1 = r2 = r ist, folgt also r = a2 und a4 + b = 0, somit a = 2r und b = −r2 . Wir können nun folgenderweise schließen: as0n + bs0n−1 = a(c1 + nc2 )rn + b(c1 + (n − 1)c2 )rn−1 = 2r(c1 + nc2 )rn − r2 (c1 + (n − 1)c2 )rn−1 = (c1 + (n + 1)c2 )rn+1 = s0n+1 . Beispiel: Bei der Fibonacci-Folge ist a = b = 1. Die charakteristische √ √Glei1+ 5 1− 5 2 chung x − x − 1 = 0 hat die beiden Lösungen r1 = 2 und r2 = 2 . √ √ Das lineare Gleichungssystem hat die Lösungen c1 = r1 / 5, c2 = −r2 / 5, und wir erhalten daher folgende geschlossene Form für die Elemente der Fibonaccifolge: à √ !n+1 à √ !n+1 ¢ 1 ¡ 1 1+ 5 1− 5 . − gn = √ r1n+1 − r2n+1 = √ 2 2 5 5 5.4 Ganze Zahlen Wie die natürlichen Zahlen, setzen wir auch die Menge der ganzen Zahlen Z ={. . . , −2, −1, 0, 1, 2, . . .} als bekannt voraus. Trotzdem wird im Folgenden erläutert, wie man die ganzen Zahlen mit Hilfe der natürlichen Zahlen definieren kann, denn in ähnlicher Weise geht man auch bei anderen ”Zahlenbereichserweiterungen” vor. Die Grundidee besteht darin, dass jede ganze Zahl als Differenz von zwei natürlichen Zahlen dargestellt werden kann. Diese Darstellung ist natürlich nicht eindeutig: a − b = a0 − b0 genau dann, wenn a + b0 = a0 + b. Das führt zu folgender Vorgangsweise. Wir definieren auf N20 eine Äquivalenzrelation durch (a, b) ∼ (a0 , b0 ) :⇔ a + b0 = a0 + b. 5.4. GANZE ZAHLEN 89 Reflexivität, Symmetrie und Transitivität sind leicht nachzuprüfen. Dann können wir Z als die Menge der zugehörigen Äquivalenzklassen definieren. Z.B. wird −3 durch das Paar (2, 5) repräsentiert: −3 = [(2, 5)]. Nun muss man Addition, Multiplikation und Ordnung auf Z erklären. Wir denken dabei wieder daran, dass (a, b) so viel wie a − b bedeuten soll: [(a, b)] + [(c, d)] := [(a + c, b + d)] [(a, b)] · [(c, d)] := [(ac + bd, ad + bc)] [(a, b)] ≤ [(c, d)] :⇔ a + d ≤ b + c Als nächstes müsste man nachprüfen, dass diese Definitionen unabhängig von der Wahl der Repräsentanten der vorkommenden Äquivalenzklassen sind, also z.B.: (a, b) ∼ (a0 , b0 ) ⇒ (a + c, b + d) ∼ (a0 + c, b0 + d). Diese Beweise führen wir hier nicht aus, sie erfordern nur etwas Schreibarbeit. Der nächste Punkt wäre die Überprüfung der Gültigkeit aller Rechenregeln, die wir uns von den ganzen Zahlen erwarten, also z.B. Kommutativität und Assoziativität der Addition und Multiplikation: ∀x, y, z ∈ Z : x + y = y + x, (x + y) + z = x + (y + z), x · y = y · x, (x · y) · z = x · (y · z), das Distributivgesetz x(y + z) = xy + xz, die Eigenschaften einer Totalordnung, sowie die folgenden Regeln für das Rechnen mit Ungleichungen: ∀ x, y, z ∈ Z : x ≤ y → x + z ≤ y + z, x ≤ y ∧ z ≥ 0 → xz ≤ yz. Das sind zwar etwas umständliche, aber völlig elementare Übungsaufgaben. (Vgl. auch Kapitel 9.3.) Weiters möchten wir N0 als Teilmenge von Z ansehen können. Dazu identifizieren wir a ∈ N0 mit [(a, 0)] ∈ Z, d.h. wir unterscheiden nicht zwischen a und [(a, 0)]. Das ist insoferne gerechtfertigt, als Addition, Multiplikation und 90 KAPITEL 5. ZAHLEN Ordnung der Elemente aus Z der Form [(a, 0)] genau der Addition, Multiplikation und Ordnung der zugehörigen Elemente a ∈ N0 entsprechen, z.B. gilt [(a, 0)] + [(b, 0)] = [(a + b, 0)]. Um schließlich Z in der Form {. . . , −2, −1, 0, 1, 2, . . .} schreiben zu können, definieren wir das Negative einer ganzen Zahl durch −[(a, b)] := [(b, a)]. Auch das ist wieder unabhängig von der Wahl des Repräsentanten, und wir sehen, dass die Regel x + (−x) = 0 gilt: [(a, b)] + [(b, a)] = [(a + b, a + b)] = [(0, 0)]. Nun gilt mit unserer Identifikation: für a > b, [(a − b, 0)] = a − b [(0, 0)] = 0 für a = b, [(a, b)] = [(0, b − a)] = −(b − a) für a < b. Wir sehen also, dass jede ganze Zahl entweder eine natürliche Zahl oder Null oder das Negative einer natürlichen Zahl ist. 5.5 5.5.1 Division mit Rest Division von natürlichen Zahlen Satz 5.9 Seien a, m ∈ N. Dann gibt es eindeutig bestimmte q, r ∈ N0 , sodass a = q m + r, 0 ≤ r < m. Beweis: 1. Existenz: Sei M = {k ∈ N | km > a}. M 6= ∅, denn a + 1 ∈ M: Aus m ≥ 1 folgt am ≥ a und daraus (a + 1)m = am + m ≥ a + m > a. Nach dem Wohlordnungsaxiom besitzt daher M ein kleinstes Element, sagen wir k0 . Dann ist q := k0 − 1 ∈ / M. Also gilt qm ≤ a < (q + 1)m. Subtrahieren wir von dieser Ungleichung qm, so folgt mit r := a − qm: 0 ≤ r < m. 5.5. DIVISION MIT REST 91 2. Eindeutigkeit: Angenommen, a = qm + r = q0 m + r0 mit r und r0 ∈ {0, 1, . . . , m − 1}. Dann ist (q − q0 )m = r0 − r. Wäre q −q 0 6= 0, dann wäre |q −q 0 | ≥ 1 und daher |(q −q0 )m| = |q −q 0 |m ≥ m. Andererseits ist aber |r − r0 | < m, und das ergäbe einen Widerspruch. Also folgt q = q0 und damit auch r = r0 . Definition 5.10 Sei a = qm+r gemäß letztem Satz. Dann heißt q der Quotient (”quotient”) und r der Rest (”remainder”) bei (ganzzahliger) Division von a durch m. Bemerkung: Aus dem Existenzbeweis erkennen wir: q ≤ jak . q= m 5.5.2 a m < q + 1. D.h. Division von ganzen Zahlen Der letzte Satz gilt auch, wenn a negativ ist. Dann ist auch der Quotient q negativ: Satz 5.11 Sei a ∈ Z und m ∈ N. Dann gibt es eindeutig bestimmte q ∈ Z und r ∈ N0 , sodass a = q m + r, 0 ≤ r < m. Beweis: 1. Existenz: Wenn a = 0 ist, dann ist die Behauptung mit q = 0 und r = 0 trivialerweise richtig. Wenn a < 0, dann ist −a ∈ N, und daher gibt es nach dem vorhergehenden Satz q 0 , r0 ∈ N0 mit 0 ≤ r0 < m, sodass −a = q 0 m + r0 , also a = −q 0 m − r0 . Wenn r0 = 0, dann folgt die Behauptung mit q := −q 0 . Wenn r0 > 0, dann ist 0 < m − r0 < m, und aus a = (−q0 − 1)m + (m − r0 ) erkennen wir, dass die Behauptung mit q := −q0 − 1 und r := m − r0 stimmt. 2. Eindeutigkeit: wie bei der Division natürlicher Zahlen. ¥a¦ Bemerkung: Auch hier ist wieder q = m . 92 KAPITEL 5. ZAHLEN Beispiel: −18 = (−4) · 5 + 2, b−18/5c = b−3.6c = −4. Bemerkung: Man kann den Satz auch auf beliebige ganze Zahlen m 6= 0 verallgemeinern. Dann gilt für den Rest 0 ≤ r < |m| . (Beweis: Übungsaufgabe 7.) 5.5.3 Ziffernentwicklungen von ganzen Zahlen Satz 5.12 Sei b ∈ N, b ≥ 2. Dann gibt es für jede Zahl a ∈ N0 eine eindeutig bestimmte Zahl s ∈ N0 sowie eindeutig bestimmte Zahlen r0 , r1 , . . . , rs ∈ {0, 1, . . . , b − 1} mit rs 6= 0, sodass a = r0 + r1 b + . . . + rs bs . Definition 5.13 r0 , r1 , . . . , rs heißen die Ziffern (”digits”) von a bezüglich der Basis b. (Auch: b-adische Ziffern von a) Meist werden die Ziffern in umgekehrter Reihenfolge angeschrieben: Definition 5.14 Seien r0 , r1 , . . . , rs die Ziffern von a bezüglich der Basis b. Dann heißt (rs , . . . , r1 , r0 )b die b-adische Darstellung (oder Entwicklung) von a. Also z.B.: 14 = (1, 4)10 = (1, 1, 2)3 = (1, 1, 1, 0)2 Bemerkung: Die b-adische Darstellung heißt für b = 10 Dezimal-, für b = 2 Binär-, und für b = 16 Hexadezimaldarstellung (bzw. -entwicklung). Beweis von Satz 5.12: 1. Existenz: Wir dividieren zunächst a durch b, dann den Quotienten wieder durch b, usw., so lange sich ein Quotient 6= 0 ergibt: a = q0 b + r0 , q0 = q1 b + r1 , q1 = q2 b + r2 , ... 5.5. DIVISION MIT REST 93 ... qs−2 = qs−1 b + rs−1 , qs−1 = 0 · b + rs . Wegen b > 1 gilt a > q0 > q1 > . . . . Da alle qi ≥ 0 sind, muss sich also irgendwann einmal als Quotient die Zahl Null ergeben. Nun sehen wir durch sukzessives Einsetzen: a = r0 + q0 b = r0 + r1 b + q1 b2 = r0 + r1 b + r2 b2 + . . . + rs bs . 2. Eindeutigkeit: 0 Angenommen, a = r0 + r1 b + . . . + rs bs = r00 + r10 b + . . . + rs0 0 bs . O.B.d.A. sei s0 ≤ s. Wenn s0 < s ist, setzen wir rk0 := 0 für s0 < k ≤ s. Es folgt nun: a = r0 + r1 b + r2 b2 + . . . + rs bs = r00 + r10 b + r20 b2 + . . . + rs0 bs . Indirekte Annahme: Es gilt nicht für alle i ∈ {0, 1, . . . , s}: ri = ri0 . D.h. es gibt (mindestens) eine Zahl i ∈ {0, 1, . . . , s} mit ri 6= ri0 . Sei i0 die kleinste solche Zahl. Dann können wir in der letzten Gleichung die Summanden mit Index < i0 wegkürzen und erhalten ri0 bi0 + ri0 +1 bi0 +1 + . . . + rs bs = ri00 bi0 + ri00 +1 bi0 +1 + . . . + rs0 bs . Division durch bi0 ergibt: ri0 + ri0 +1 b + . . . + rs bs−i0 = ri00 + ri00 +1 b + . . . + rs0 bs−i0 . Wir sehen: Die linke Seite ergibt bei Division durch b den Rest ri0 , die rechte Seite ri00 . Wegen der Eindeutigkeit des Restes muss aber ri0 = ri00 gelten, im Widerspruch zur Definition von i0 . Dieser Beweis liefert also gleichzeitig ein Verfahren, mit dem man auch in komplizierteren Fällen die Ziffern relativ leicht berechnen kann. Beispiel: Berechnung der Hexadezimaldarstellung von 13579: 13579 = 848 · 16 + 11, 848 = 53 · 16 + 0, 53 = 3 · 16 + 5, 3 = 0 · 16 + 3. 94 KAPITEL 5. ZAHLEN Also: 13579 = (3, 5, 0, 11)16 . Bemerkung: In der Hexadezimaldarstellung schreibt man meist statt 10,11,12, 13,14,15 die Buchstaben A,B,C,D,E,F und lässt Klammern und Beistriche weg. Statt des Index 16 wird oft H geschrieben. In unserem Beispiel: 350BH . 5.5.4 Restklassen und Kongruenzen Teiler Definition 5.15 Seien a, t ∈ Z, t 6= 0. a heißt durch t teilbar (”divisible”), wenn es ein q ∈ Z gibt, sodass a = qt. Man sagt auch ”t teilt a” oder ”t ist ein Teiler von a” und schreibt t|a. (”t divides a”, ”t is a divisor of a”) Achtung: t|a heißt, dass a/t eine ganze Zahl ist. t|a bedeutet also, dass bei Division von a durch t kein Rest bleibt (d.h. der Rest ist = 0). Der Spezialfall a = 0 ist ziemlich trivial, denn wegen 0 = 0 · t ist jede ganze Zahl 6= 0 ein Teiler von 0. t ist genau dann Teiler von a, wenn ±t ein Teiler von ±a ist. (Dabei bedeutet ±t so viel wie ”t oder −t”.) Wir beschränken uns daher bei Teilbarkeitsfragen oft auf positive ganze Zahlen, d.h. auf N. Bemerkung 5.16 Für a, t ∈ Z \ {0} gilt: t|a ⇒ |t| ≤ |a|. Beweis: Sei a = qt und daher |a| = |q||t|. Wegen a 6= 0 muss auch q 6= 0 sein. Wäre |t| > |a|, so würde wegen |q| ≥ 1 folgen: |a| = |q||t| ≥ |t| > |a|, Widerspruch. Definition 5.17 Eine natürliche Zahl t heißt echter Teiler von a, wenn t|a und t 6= 1, t 6= a. Definition 5.18 Eine natürliche Zahl ≥ 2 heißt Primzahl (”prime (number)”), wenn sie keinen echten Teiler hat. 5.5. DIVISION MIT REST 95 Kongruenzen Definition 5.19 Sei m ∈ N. Zwei ganze Zahlen a, a0 heißen kongruent (”congruent”) modulo m, wenn a − a0 durch m teilbar ist. Schreibweise: a ≡ a0 mod m. Die Zahl m heißt in diesem Zusammenhang Modul. Bemerkungen: a) a ≡ a0 mod m heißt, dass a und a0 bei Division durch m denselben Rest liefern. (Beweis: Übung) b) In vielen Programmiersprachen gibt es eine Funktion, die Mod oder ähnlich heißt und folgenderweise definiert ist: Mod(x, m) := Rest bei Division von x durch m. Für diese Funktion gelten folgende Beziehungen zu dem oben definierten Symbol mod: a ≡ a0 mod m ⇔ Mod(a, m) = Mod(a0 , m), x ≡ Mod(x, m) mod m. c) Wenn man den Rest bei Division von x durch m bestimmt, so sagt man manchmal auch: man reduziert x modulo m. Das Rechnen mit Kongruenzen geht weitgehend analog zum Rechnen mit Gleichungen: 1) Man kann zu beiden Seiten dieselbe ganze Zahl addieren: mod m Aus a ≡ a0 0 folgt a + b ≡ a + b mod m, denn aus a − a0 = qm folgt (a + b) − (a0 + b) = qm. 2) Man kann beide Seiten mit derselben ganzen Zahl multiplizieren: Aus a ≡ a0 mod m folgt ka ≡ ka0 mod m, denn aus a − a0 = qm folgt ka − ka0 = kqm, und das ist wieder durch m teilbar. 96 KAPITEL 5. ZAHLEN 3) Man kann zwei Kongruenzen addieren oder multiplizieren: Aus a und b folgt a + b und ab ≡ ≡ ≡ ≡ a0 b0 a0 + b0 a0 b0 mod m mod m mod m mod m, denn aus a − a0 = qm und b − b0 = pm folgt (a + b) − (a0 + b0 ) = (q + p)m und ab = (a0 + qm)(b0 + pm) = a0 b0 + (a0 p + b0 q + qpm)m, also ab − a0 b0 = (. . .)m. Beispiel: 10 ≡ 1 mod 9 ⇒ 102 ≡ 12 = 1 mod 9, und daher (mit Induktion) 10k ≡ 1 mod 9. Daraus folgt nun: r0 + r1 10 + r2 102 + . . . + rs 10s ≡ r0 + r1 + r2 + . . . + rs mod 9, d.h. der Neunerrest einer natürlichen Zahl ist gleich dem Neunerrest ihrer Ziffernsumme in der Dezimalentwicklung. Restklassen Satz 5.20 Sei m eine natürliche Zahl. Dann wird durch a Rm a0 :⇔ a ≡ a0 mod m auf Z eine Äquivalenzrelation Rm definiert. Beweis: Reflexivität: a ≡ a mod m, da a − a = 0 durch m teilbar ist: 0 = 0 · m. Symmetrie: Wenn a − b = qm, dann ist b − a = (−q)m. Transitivität: a − b = qm ∧ b − c = q 0 m ⇒ a − c = (q + q0 )m. Definition 5.21 Die zur Relation Rm gehörigen Äquivalenzklassen heißen Restklassen (”congruence classes”) modulo m. Wir bezeichnen die zu einem x ∈ Z gehörige Restklasse modulo m mit [x]m oder, wenn klar ist, um welchen Modul es sich handelt, einfach mit [x]. Andere Schreibweise: x̄. Für r ∈ {0, 1, . . . , m − 1} ist [r]m die Menge aller ganzen Zahlen, die bei Division durch m den Rest r liefern: x ≡ r mod m ⇔ ∃ q ∈ Z : x − r = qm ⇔ ∃ q ∈ Z : x = qm + r. Beispiel: [1]4 = {. . . , −7, −3, 1, 5, 9, . . .}. 5.5. DIVISION MIT REST 97 Satz 5.22 Es gibt genau m verschiedene Restklassen modulo m, nämlich [0], [1], . . . , [m − 1]. Beweis: 1. Jede ganze Zahl a gehört zu einer dieser m Restklassen: Wir können a in der Form qm+r mit r ∈ {0, 1, . . . , m−1} darstellen, und daher ist a−r = qm, also a ≡ r mod m. 2. Diese m Restklassen sind wegen der Eindeutigkeit des Restes paarweise disjunkt (und daher jedenfalls voneinander verschieden). Die Restklassen haben eigentlich nur für m ≥ 2 einen Sinn, denn für m = 1 gibt es nur eine Restklasse: [0]1 = Z. Definition 5.23 Für m ∈ N, m ≥ 2: Zm := Z / Rm = Menge der Restklassen modulo m. Also z.B.: Z2 = {[0], [1]}. Dabei ist [0] die Menge der geraden ganzen Zahlen und [1] die Menge der ungeraden ganzen Zahlen. Auf Zm kann man in natürlicher Weise Addition und Multiplikation definieren: [r] + [s] := [r + s], [r] · [s] := [rs]. Unabhängigkeit dieser Definitionen von der Wahl der Repräsentanten: Sei etwa r ≡ r0 mod m. Dann gilt r + s ≡ r0 + s mod m und rs ≡ r0 s mod m, somit [r + s] = [r0 + s] und [rs] = [r0 s]. Potenzen [r]n mit n ∈ N kann man rekursiv durch [r]1 := [r] und [r]n+1 := [r]n [r] definieren, und mit Induktion sieht man leicht: [r]n = [rn ].(Diese Potenzen sind trotz der gleichen Schreibweise etwas ganz anderes als die cartesischen Potenzen (siehe Kapitel 2.5).) Beispiele: Für m = 6 ist [3]+[4] = [7] = [1], [3]·[4] = [12] = [0], [3]2 = [9] = [3] und allgemein [3]n = [3] für alle n ∈ N. m = 12 bzw. 24 entspricht dem Rechnen mit Uhrzeiten (in Stunden), m = 7 dem Rechnen mit Wochentagen. 98 KAPITEL 5. ZAHLEN Die bekannten Rechenregeln für ganze Zahlen übertragen sich ohne weiteres (vgl. Abschnitt 5.4). Eine Besonderheit besteht darin, dass das Produkt von zwei Restklassen, die 6= [0] sind, [0] ergeben kann (siehe obiges Beispiel für m = 6). Genaueres: siehe Kapitel 9.3. Bemerkung: Wenn man mehrere Multiplikationen oder auch Additionen von Restklassen hintereinander durchführt, ist es oft zweckmäßig, in jedem Schritt den Rest (bei Division durch den betrachteten Modul m) zu bilden. Dadurch werden die Restklassen immer durch Repräsentanten aus {0, 1, . . . , m − 1} dargestellt (siehe Satz 5.22) das Rechnen mit größeren ©§ ¨und man vermeidet ª Zahlen. Wenn man r ∈ m2 , . . . , m − 1 durch r − m ersetzt, kommt man ¥ ¦2 sogar mit Zahlen aus, deren Absolutbetrag niemals m2 übersteigt. Beispiel: Wir wollen [22]16 = [2216 ] in Z53 berechnen, ohne die große Zahl 2216 explizit (d.h. ihre Dezimaldarstellung) zu bestimmen. Genauer gesagt, wollen wir [2216 ] durch eine Zahl aus {0, 1, . . . , 52} darstellen bzw. 2216 modulo 53 reduzieren. [22] · [22] = [484] = [7], [22]4 = [7]2 = [49] = [−4], [22]8 = [−4]2 = [16], [22]16 = [16]2 = [256] = [44]. In der Schreibweise mit Kongruenzen sieht das so aus: 222 = 484 ≡ 7 mod 53, 224 ≡ 72 = 49 ≡ −4 mod 53, 228 ≡ (−4)2 = 16 mod 53, 2216 ≡ 162 = 256 ≡ 44 mod 53. 5.5.5 Der größte gemeinsame Teiler und der euklidische Algorithmus (Euklid, eigentlich Eukleides von Alexandria (um 300 v. Chr.) ist vor allem durch sein Sammelwerk ”Elemente” berühmt geworden, in dem er das mathematische Wissen seiner Zeit zusammenfassend dargestellt hat.) 5.5. DIVISION MIT REST 99 Definition 5.24 Seien a, b ∈ N. Die größte natürliche Zahl, welche a und b teilt, heißt größter gemeinsamer Teiler (”greatest common divisor”) von a und b. Bezeichnung: GGT(a, b) oder GCD(a, b), oft auch einfach (a, b). Die Berechnung des größten gemeinsamen Teilers, rein auf Grund dieser Definition, kann sehr aufwändig sein. Es gibt aber ein viel einfacheres Verfahren. Dazu: Hilfssatz 5.25 Für a, b, m, n, t ∈ Z mit t 6= 0 gilt: t|a ∧ t|b ⇒ t | (ma + nb). (D.h., ein gemeinsamer Teiler von a und b teilt auch jede ganzzahlige Linearkombination von a und b.) Beweis: Aus a = q1 t und b = q2 t folgt ma + nb = (mq1 + nq2 )t. Hilfssatz 5.26 Seien a, b ∈ N und a = qb + r mit q, r ∈ N0 , 0 ≤ r < b. Dann gilt: ½ b falls r = 0, GGT(a, b) = GGT(b, r) falls r > 0. Beweis: 1. Fall: r = 0, d.h. a = qb. In diesem Fall ist b ein Teiler von a und daher der größte gemeinsame Teiler von a und b. 2. Fall: r > 0. Sei T (a, b) die Menge aller natürlichen Zahlen, die sowohl a als auch b teilen. Es genügt, zu zeigen, dass T (a, b) = T (b, r) ist. Nach dem vorigen Hilfssatz können wir folgenderweise schließen: T (a, b) ⊂ T (b, r): t ∈ T (a, b) ⇒ t|b ∧ t | (a − qb) ⇒ t|b ∧ t|r ⇒ t ∈ T (b, r). T (b, r) ⊂ T (a, b): t ∈ T (b, r) ⇒ t|b ∧ t | (qb + r) ⇒ t|b ∧ t|a ⇒ t ∈ T (a, b). 100 KAPITEL 5. ZAHLEN Der euklidische Algorithmus: Satz 5.27 Seien a, b ∈ N, a ≥ b. Sei r1 := Rest bei Division von a durch b, r2 := Rest bei Division von b durch r1 , r3 := Rest bei Division von r1 durch r2 , usw. Dann ergibt sich nach endlich vielen (sagen wir n) Schritten rn = 0, und der letzte nichtverschwindende Rest rn−1 ist gleich dem größten gemeinsamen Teiler von a und b. Das Rechenschema sieht also folgendermaßen aus: a b r1 ... rn−4 rn−3 rn−2 = = = ... = = = q1 b + r1 q2 r1 + r2 q3 r2 + r3 ... qn−2 rn−3 + rn−2 qn−1 rn−2 + rn−1 qn rn−1 Beweis: 1. Das Verfahren endet nach endlich vielen Schritten: Der Rest ist immer kleiner als der Divisor (d.i. die Zahl, durch die dividiert wird). Das heißt: b > r1 > r2 > . . . ≥ 0. Es muss sich also spätestens nach b Schritten der Rest Null ergeben. 2. rn−1 = GGT(a, b): GGT(a, b) = GGT(b, r1 ) = GGT(r1 , r2 ) = . . . = GGT(rn−2 , rn−1 ) = rn−1 (nach Hilfssatz 5.26). Beispiel: Berechnung von GGT(2406, 654): 2406 = 3 · 654 + 444, 654 = 1 · 444 + 210, 444 = 2 · 210 + 24, 210 = 8 · 24 + 18, 24 = 1 · 18 + 6, 18 = 3 · 6. Der gesuchte größte gemeinsame Teiler ist also 6. 5.5. DIVISION MIT REST 101 Algorithmen und ihre Effizienz: Bemerkung: Allgemein versteht man unter einem Algorithmus ein Verfahren zur schrittweisen Lösung eines Problems, das durch folgende Eigenschaften gekennzeichnet ist: 1. In jedem Schritt ist eindeutig festgelegt, was zu tun ist. 2. Das Verfahren endet nach endlich vielen Schritten mit der Lösung des Problems. Zur Angabe eines Algorithmus bedient man sich häufig einer Art PseudoProgrammiersprache, die relativ leicht in jede beliebige Programmiersprache übersetzbar ist. Der euklidische Algorithmus könnte etwa in Anlehnung an die Sprache PASCAL folgendermaßen formuliert werden, wenn wir mit Mod(a, b) den Rest bei Division von a durch b bezeichnen: GGT(a, b) : r := b s := Mod(a, b) while s > 0 do t := Mod(r, s) r := s s := t end of while return(r) Eine etwas elegantere Variante ergibt sich, wenn man Programme zulässt, die sich selbst aufrufen (”rekursive Programme”): 102 KAPITEL 5. ZAHLEN gcd(a, b) : r := Mod(a, b) if r = 0 then return(b) else return( gcd(b, r) ) Hier wird deutlich sichtbar, dass das Wesentliche der Hilfssatz 5.26 ist. Der euklidische Algorithmus ist ein Beispiel für einen sehr effizienten Algorithmus, verglichen etwa mit der Berechnung des GGT auf Grund der Definition. Als Maß für die Effizienz eines Algorithmus betrachtet man die Anzahl der Rechenschritte in Abhängigkeit von der Größe der Eingabedaten. Zur Analyse der Effizienz des euklidischen Algorithmus können wir folgendermaßen vorgehen (wir nehmen dabei a ≥ b an): Sei ri−1 = qi+1 ri + ri+1 mit 0 ≤ ri+1 < ri . Wegen qi+1 ≥ 1 folgt ri−1 ≥ ri + ri+1 > 2ri+1 , also ri+1 < ri−1 . 2 Es gilt also r1 < a/2, r3 < r1 /2, usw., und wir sehen: r2k−1 < a/2k für alle k. (Genauer mit vollständiger Induktion!) Spätestens wenn a/2k ≤ 1 ist, muss r2k−1 = 0 sein. a/2k ≤ 1 ⇔ a ≤ 2k ⇔ log2 a ≤ k. Wenn r2k0 −1 der letzte Rest 6= 0 mit ungeradem Index ist, so muss also k0 < log2 a gelten. Für die Anzahl d der Divisionen gilt somit (wenn wir die letzte Division nicht zählen) d ≤ 2k0 ≤ b2 log2 ac . Diese Schranke wird im Allgemeinen nicht erreicht. In Übungsaufgabe 12 wird aber eine Klasse von Beispielen behandelt, wo die Anzahl der Divisionen dieser Schranke ziemlich nahe kommt. Beispiel: Für die Berechnung des GGT von zwei Zahlen mit bis zu 16 Dezimalstellen braucht man höchstens b2 log2 1016 c = 106 Divisionen. Die Größe der Eingabedaten können wir z.B. durch die Anzahl n der Binärstellen von a messen. Wenn wir die maximale Anzahl der Divisionen mit d(n) bezeichnen, sehen wir: d(n) ≤ 2n. 5.5. DIVISION MIT REST 103 d(n) ist also höchstens proportional zu n. Wenn es auf den Proportionalitätsfaktor nicht ankommt, schreibt man dafür d(n) = O(n). Allgemein bedeutet g(n) = O(f (n)), dass es eine Konstante c > 0 und ein n0 ∈ N gibt, sodass |g(n)| ≤ c · |f (n)| für alle n ≥ n0 . Es handelt sich also nicht um eine Gleichung, sondern um eine Ungleichung! Besser ist es daher, wenn man schreibt ”g(n) ist (ein) O(f (n))”. Man sagt auch: ”g(n) ist (höchstens) von der Ordnung f (n)”. Das hier verwendete O heißt LandauSymbol. (Edmund Landau (1877-1938), Arbeiten und Bücher über Zahlentheorie und Analysis.) Andere Beispiele für die Verwendung des Landau-Symbols: a) n! ist O(nn ). b) Sei gn die n-te Fibonacci-Zahl. Dann gilt gn ≤ 2gn−1 für n ≥ 2. Wegen g5 = 23 folgt gn ≤ 2n−2 für n ≥ 5, also gn = O(2n−2 ) und daher auch gn = O(2n ). Folgerungen aus dem euklidischen Algorithmus: Satz 5.28 Zu je zwei natürlichen Zahlen a, b gibt es m, n ∈ Z, sodass GGT(a, b) = ma + nb. (D.h.: GGT(a, b) lässt sich immer als ganzzahlige Linearkombination von a und b darstellen.) Beweis: Aus der vorletzten Zeile des euklidischen Algorithmus ergibt sich: GGT(a, b) = rn−1 = rn−3 − qn−1 rn−2 . Auf Grund der drittletzten Zeile können wir rn−2 durch rn−3 und rn−4 ausdrücken und erhalten: GGT(a, b) = rn−3 − qn−1 (rn−4 − qn−2 rn−3 ) = −qn−1 rn−4 + (1 + qn−1 qn−2 )rn−3 . Aus der viertletzten Zeile können wir rn−3 durch rn−4 und rn−5 ausdrücken, usw., bis wir schließlich bei der ersten Zeile angelangt sind. Dann haben wir GGT(a, b), wie gewünscht, durch a und b ausgedrückt. Beispiel: Darstellung von 6 als ganzzahlige Linearkombination von 2406 und 654 (siehe Beispiel nach Satz 5.27): 104 KAPITEL 5. ZAHLEN 6 = 24 − 1 · 18 = = 24 − 1 · (210 − 8 · 24) = −1 · 210 + 9 · 24 = = −1 · 210 + 9 · (444 − 2 · 210) = 9 · 444 − 19 · 210 = = 9 · 444 − 19 · (654 − 1 · 444) = −19 · 654 + 28 · 444 = = −19 · 654 + 28 · (2406 − 3 · 654) = 28 · 2406 − 103 · 654. Hier ist also m = 28 und n = −103. Definition 5.29 Zwei natürliche Zahlen a, b heißen relativ prim (”coprime”), wenn GGT(a, b) = 1. Aus dem letzten Satz ergibt sich: Folgerung 5.30 Zwei natürliche Zahlen a, b sind genau dann relativ prim, wenn es ganze Zahlen m, n gibt, sodass ma + nb = 1. Beweis: Es ist nur zu zeigen: ma + nb = 1 ⇒ GGT(a, b) = 1. Sei t ∈ N ein gemeinsamer Teiler von a, b. Dann folgt aus Hilfssatz 5.25: t | (ma + nb), also t|1 und daher t = 1. Beispiel: GGT(3, 5) = 1, (−3) · 3 + 2 · 5 = 1. Folgerung 5.31 Jeder gemeinsame Teiler von a und b teilt den größten gemeinsamen Teiler von a und b. (D.h.: GGT(a, b) ist auch bezüglich der durch die Teilbarkeit definierten Halbordnung auf N das größte Element der Menge aller gemeinsamen Teiler von a und b.) Beweis: Sei t ein gemeinsamer Teiler von a und b, also t|a und t|b. Nach Satz 5.28 gibt es m, n ∈ Z, sodass ma + nb = GGT(a, b). Nach Hilfssatz 5.25 folgt t | (ma + nb), also t | GGT(a, b). 5.6. RATIONALE ZAHLEN 5.6 105 Rationale Zahlen Obwohl wir auch die rationalen Zahlen als bekannt voraussetzen, können wir sie, ähnlich wie die ganzen Zahlen, durch eine Äquivalenzklassenbildung definieren. Ausgangspunkt ist die folgende Beobachtung: a0 a = 0 ⇔ ab0 = a0 b. b b Wir betrachten nun auf der Menge P := Z × (Z \ {0}) die durch (a, b) ∼ (a0 , b0 ) :⇔ ab0 = a0 b definierte Äquivalenzrelation und setzen Q gleich der Menge der entsprechenden Äquivalenzklassen. Wenn wir uns an die Regeln für das Rechnen mit Brüchen erinnern, so ist es naheliegend, Addition, Multiplikation und Ordnung auf Q folgenderweise zu definieren. [(a, b)] + [(c, d)] := [(ad + bc, bd)], [(a, b)] · [(c, d)] := [(ac, bd)], [(a, b)] ≤ [(c, d)] :⇔ (ad − bc) · (bd) ≤ 0. Es ist wieder eine leichte Übungsaufgabe, nachzuprüfen, dass diese Definitionen unabhängig von den gewählten Repräsentanten sind, und dass alle bekannten Rechenregeln gelten (vgl. auch Kapitel 9.3). Wenn wir [(a, 1)] mit a identifizieren, können wir Z als Teilmenge von Q ansehen. 5.7 Übungsaufgaben 1. Für welche natürlichen Zahlen n gilt 2n > n2 ? Beweisen Sie Ihre Antwort mit vollständiger Induktion. 2. Ebenso: n! ≥ 2n ? 3. Sei x0 := 1 und xn := n−1 P i=0 xi für n ≥ 1. Geben Sie eine einfache Formel für xn an und beweisen Sie diese mit vollständiger Induktion. 4. Sei b0 = b1 = 1 und bn = 2bn−1 + bn−2 . Berechnen Sie zunächst einige bn rekursiv und dann eine geschlossene Formel. Zeigen Sie schließlich, dass alle bn ungerade sind. 106 KAPITEL 5. ZAHLEN 5. Zeigen Sie mit vollständiger Induktion: a) n5 − n ist für alle n ∈ N durch 5 teilbar. n P √ √ 1 √ ≤ 2 n − 1. b) Für alle n ∈ N gilt: n ≤ i i=1 6. Versuchen Sie, eine Formel für n P k 2k zu finden. Beweisen Sie die ver- k=1 mutete Formel dann mit vollständiger Induktion. 7. Zeigen Sie, dass für beliebige ganze Zahlen a, m mit m 6= 0 eindeutig bestimmte ganze Zahlen q, r existieren, sodass a = qm + r und 0 ≤ r < |m|. 8. Stellen Sie jede der folgenden Zahlen bezüglich der Basis 2, 7, und 13 dar: a) 137, b) 6243, c) 12345. 9. Bestimmen Sie den Rest bei Division der folgenden Zahlen durch 10 bzw. 9, ohne die Multiplikation bzw. Potenzierung durchzuführen: a) 23456 · 65432, b) 1110 . 10. Seien r0, r1 , . . . , rs die Dezimalziffern der natürlichen Zahl a. Zeigen Sie x ≡ r0 − r1 + r2 − . . . + (−1)s rs mod 11. 11. Bestimmen Sie ganze Zahlen x, y, z so, dass 252 x + 420 y + 315 z = 42. 12. Wie sieht die Folge der Reste aus, wenn man den GGT zweier aufeinanderfolgender Fibonaccizahlen gn , gn−1 mit dem euklidischen Algorithmus berechnet? Vergleichen Sie auf Grund dessen die Anzahl der Rechenschritte etwa für GGT(g10 , g9 ) mit der im Text bewiesenen Schranke. Kapitel 6 Permutationen Definition 6.1 Eine bijektive Abbildung einer endlichen Menge A auf sich heißt Permutation von A. Die Menge aller Permutationen von {1, . . . , n} bezeichnen wir mit Sn . Eine Permutation α ∈ Sn ist durch eine endliche Folge (α1 , α2 , . . . , αn ) von paarweise verschiedenen Zahlen aus {1, . . . , n} gegeben, sodass α(k) = αk für alle k ∈ {1, . . . , n}. Manchmal schreibt man der Deutlichkeit halber ¶ µ 1 2 ... n . α1 α2 . . . αn Die Zusammensetzung α ◦ β von zwei Permutationen α, β heißt auch Produkt von α und β und wird oft αβ geschrieben. Dabei kommt es im Allgemeinen auf die Reihenfolge an. Sei z.B. ¶ ¶ µ µ 1 2 3 1 2 3 . , β= α= 2 1 3 2 3 1 Dann ist αβ = µ 1 2 3 3 2 1 ¶ , βα = µ 1 2 3 1 3 2 ¶ . Die identische Funktion auf {1, . . . , n} bezeichnen wir auch mit ε und nennen sie identische Permutation. Die Umkehrfunktion zu einer Permutation π von A ist natürlich wieder eine Permutation von A und heißt deshalb auch die zu π inverse Permutation (Bezeichnung: π −1 ). 107 108 6.1 KAPITEL 6. PERMUTATIONEN Zyklendarstellung Eine Permutation α von A entspricht einer speziellen Relation auf A und kann daher durch einen gerichteten Graphen D dargestellt werden, den wir ”Digraph von α” nennen. Die Ecken von D sind die Elemente von A, und die Kanten sind die geordneten Paare der Form (x, α(x)) mit x ∈ A. Da α eine Funktion ist, geht von jeder Ecke von D genau eine Kante aus. Wegen der Bijektivität von α ist andererseits jede Ecke von D auch Endpunkt von genau einer Kante. Satz 6.2 Der Digraph einer Permutation einer n-elementigen Menge besteht aus einem oder mehreren (gerichteten) Zyklen, von denen je zwei keine Ecke gemeinsam haben. (Dabei gelten Schlingen auch als Zyklen.) Beweis mit Induktion: n = 1: Für A = {a} gibt es nur eine Permutation, nämlich die identische Abbildung, und deren Digraph besteht aus einer Schlinge. ≤ n → n + 1: Sei α eine Permutation von A = {a1 , . . . , an+1 } und D der zugehörige Digraph. Von a1 geht genau eine Kante von D aus. Deren Endpunkt bezeichnen wir mit ak1 . Davon geht wieder genau eine Kante aus, und deren Endpunkt nennen wir ak2 , usw. Da A nur endlich viele Elemente hat, kommen wir auf diese Weise sicher einmal zu einer Ecke, bei der wir schon waren. Sei akm die erste solche Ecke. Wäre akm = akj mit j ∈ {1, . . . , m −1}, so wären (akm−1 , akm ) und (akj−1 , akj ) zwei verschiedene Kanten mit demselben Endpunkt. Also muss akm = a1 sein, d.h. (a1 , ak1 , . . . , akm−1 ) = (ak1 , . . . , akm ) ist ein gerichteter Zyklus Z. (Für m = 1 ergibt sich eine Schlinge.) Sei nun D0 der Digraph, der aus D durch Entfernen der Ecken und Kanten von Z entsteht. D0 entspricht einer Permutation der Menge A0 := A \ {ak1 , . . . , akm }. Nach Induktionsvoraussetzung besteht D0 aus eckendisjunkten Zyklen, und diese Zyklen haben auch mit Z keine Ecke gemeinsam. Damit ist der Satz bewiesen. Bemerkung: Zyklen der Länge 1 entsprechen Fixpunkten der Permutation. 6.1. ZYKLENDARSTELLUNG 109 Beispiel: Der Digraph der Permutation µ 1 2 3 4 5 6 4 6 1 3 5 2 ¶ sieht so aus: 3 1 2 6 5 4 Definition 6.3 Eine Permutation, deren Digraph, abgesehen von Schlingen, aus genau einem Zyklus besteht, heißt Zyklus-Permutation oder meist einfach auch Zyklus (”cycle”). Schreibweise: Wenn (ak1 , . . . , akm ) der einzige (echte) Zyklus des Digraphen von α ist, so schreiben wir einfach α = (ak1 , . . . , akm ). Das ist insoferne nicht eindeutig, als daraus nicht der Definitionsbereich von α hervorgeht. Das führt aber im Allgemeinen nicht zu Schwierigkeiten. Wenn wir genau zwischen den beiden Zyklus-Begriffen unterscheiden wollen, so bezeichnen wir die zu einem (graphentheoretischen) Zyklus γ gehörige Zykluspermutation mit γ̃. Definition 6.4 Zwei Zyklen bzw. Zykluspermutationen (b1 , . . . , bm ) und (c1 , . . . , cl ) heißen elementfremd, wenn {b1 , . . . , bm } ∩ {c1 , . . . , cl } = ∅. Bemerkung 6.5 Sei π = γ̃ 1 ◦ . . . ◦ γ̃ k eine Zusammensetzung von paarweise elementfremden Zykluspermutationen γ̃ 1 , . . . , γ̃ k . Dann ist π(x) = γ̃ j (x), wenn x eine Ecke des Zyklus γ j ist. Es kommt daher nicht auf die Reihenfolge der Zyklen an. Satz 6.6 Jede Permutation 6= ε lässt sich bis auf die Reihenfolge eindeutig als Produkt von elementfremden echten Zyklen darstellen. Beweis: Sei α eine Permutation von A, α 6= ε. 1. Existenz: Der Digraph D(α) von α besteht aus Zyklen, welche paarweise keine Ecke gemeinsam haben. Seien γ 1 , . . . , γ k die Zyklen, welche keine Schlingen sind. 110 KAPITEL 6. PERMUTATIONEN Wenn wir mit γ̃ i die entsprechenden Zyklus-Permutationen bezeichnen, so ist α = γ̃ 1 ◦ . . . ◦ γ̃ k , wie man sich folgenderweise überlegen kann: Sei x ∈ A. Wenn α(x) = x, dann gehört x zu einer Schlinge von D(α) und somit zu keinem der Zyklen, und daher ist γ̃ 1 ◦ . . . ◦ γ̃ k (x) = x. Wenn α(x) 6= x, dann gibt es genau einen Zyklus γ j , zu dem x gehört. Dann folgt aber (vgl. Bemerkung 6.5) γ̃ 1 ◦ . . . ◦ γ̃ k (x) = γ̃ j (x) = α(x). 2. Eindeutigkeit: Wenn α = γ̃ 1 ◦ . . . ◦ γ̃ k mit elementfremden echten Zyklen γ̃ i 6= ε, so sind die γ i die echten Zyklen von D(α). Diese stimmen mit den von Schlingen verschiedenen Zusammenhangskomponenten des Digraphen von α überein und sind somit eindeutig bestimmt. Zur Schreibweise: Das kleinste Element eines Zyklus schreibt man meist als erstes. Das Zusammensetzungszeichen ◦ wird oft weggelassen. Die Reihenfolge der Zyklen ist belanglos, manchmal ordnet man sie nach dem ersten Element. Beispiele: ¶ µ 1 2 3 4 5 6 = (1, 4, 3)(2, 6). a) 4 6 1 3 5 2 Meist lässt man die Beistriche weg: (1 4 3)(2 6). Man kann auch die Zyklen der Länge 1 dazuschreiben: (1 4 3)(2 6)(5). ¶ µ 1 2 3 4 5 6 7 8 9 = (1 5 2)(3 8 7 4)(6 9). b) 5 1 8 3 2 9 4 7 6 c) Sei α = (1 4 2)(3 7 5), β = (2 3)(4 6 5). Dann ist α ◦ β = (1 4 6 3)(2 7 5) und β ◦ α = (1 6 5 2)(3 7 4). 6.2 Transpositionen Definition 6.7 Zyklen der Länge 2 heißen Transpositionen. Eine Transposition (x, y) vertauscht also zwei Elemente von {1, . . . , n} und lässt alle übrigen fest. Bemerkung 6.8 Jede Transposition ist zu sich selbst invers. D.h.: (a b)(a b) = ε. 6.2. TRANSPOSITIONEN 111 Satz 6.9 Jede Permutation lässt sich als Produkt von Transpositionen darstellen. Beweis: Nach dem letzten Satz genügt es zu zeigen, dass sich jeder Zyklus als Produkt von Transpositionen darstellen lässt. Eine Möglichkeit ist die folgende: (x1 , x2 , . . . , xk−1 , xk ) = (x1 xk )(x1 xk−1 ) · · · (x1 x3 )(x1 x2 ). Bemerkung: Diese Transpositionen sind im Allgemeinen weder eindeutig bestimmt noch elementfremd, und es kommt auf die Reihenfolge an. Beispiel: (1 3 2 4) = (1 4)(1 2)(1 3) = (1 3)(3 4)(2 3), aber (1 2)(1 4)(1 3) = (1 3 4 2) 6= (1 3 2 4). Bemerkung: Nicht einmal die Anzahl der Transpositionen ist eindeutig bestimmt, z.B.: (1 2 3) = (1 3)(1 2) = (1 2)(1 3)(2 3)(1 2). Umso interessanter ist der folgende Satz. Satz 6.10 Bei der Darstellung einer Permutation als Produkt von Transpositionen ist die Anzahl der Transpositionen modulo 2 eindeutig bestimmt. (Man sagt auch: Die ”Parität” (d.h. Geradheit oder Ungeradheit) der Anzahl der Transpositionen ist eindeutig.) Zum Beweis: Hilfssatz 6.11 Sei π eine Permutation, die durch k elementfremde Zyklen dargestellt wird, und τ eine Transposition. Dann wird τ π durch k + 1 oder k − 1 elementfremde Zyklen dargestellt, wenn man die Zyklen der Länge 1 mitzählt. Beweis: Sei τ = (ab). Wir unterscheiden zwei Fälle: 1. Fall: a und b kommen im gleichen Zyklus von π vor. Wir schreiben diesen Zyklus an erster Stelle, und zwar mit a als erstem Element. Wenn a und b in diesem Zyklus unmittelbar aufeinanderfolgen, erhalten wir o.B.d.A.: π = (abx · · · y)( ) · · · ( ), 112 KAPITEL 6. PERMUTATIONEN τ π = (ab)(abx · · · y)( ) · · · ( ) = (a)(bx · · · y)( ) · · · ( ). Wenn a und b nicht unmittelbar aufeinanderfolgen, sieht es so aus: π = (a · · · xb · · · y)( ) · · · ( ), τ π = (ab)(a · · · xb · · · y)( ) · · · ( ) = (a · · · x)(b · · · y)( ) · · · ( ). In diesem Fall hat also τ π um einen Zyklus mehr als π. 2. Fall: a und b kommen in verschiedenen Zyklen von π vor. Wir schreiben zuerst den Zyklus mit a und dann den mit b. Dann ist π = (a · · · x)(b · · · y)( ) · · · ( ), τ π = (ab)(a · · · x)(b · · · y)( ) · · · ( ) = (a · · · xb · · · y)( ) · · · ( ). Hier hat τ π also um einen Zyklus weniger als π. Beweis von Satz 6.10: Angenommen, π = τ 1 · · · τ r = σ 1 · · · σ s mit Transpositionen τ i , σ i . Dann ist π −1 = σ s · · · σ 1 und daher τ 1 · · · τ r σ s · · · σ 1 = ε bzw. τ 1 · · · τ r σ s · · · σ 1 ε = ε. Hier erhalten wir also nach Multiplikation mit r + s Transpositionen wieder dieselbe Permutation ε und daher insbesondere dieselbe Anzahl von Zyklen. Nach dem Hilfssatz ist das nur möglich, wenn r + s eine gerade Zahl ist, und das heißt: r und s sind entweder beide gerade oder beide ungerade. Auf Grund des letzten Satzes ist folgende Definition sinnvoll: Definition 6.12 Eine Permutation heißt gerade, wenn sie Zusammensetzung einer geraden Anzahl von Transpositionen ist. Andernfalls heißt sie ungerade. Definition 6.13 Das Signum (”signature”) einer Permutation ist +1 oder −1, je nachdem die Permutation gerade oder ungerade ist. Bezeichnung: sign(π) Bemerkung: Wenn man π durch p Transpositionen darstellen kann, dann ist sign(π) = (−1)p . 6.3. ÜBUNGSAUFGABEN 113 Bemerkung 6.14 1) sign(π ◦ σ) = sign(π) · sign(σ). 2) Das Signum eines Zyklus der Länge k ist gleich (−1)k−1 . Beweis: 1) Sei π durch p und σ durch s Transpositionen dargestellt. Dann kann man πσ durch p + s Transpositionen darstellen, und daher ist sign(πσ) = (−1)p+s = (−1)p (−1)s = sign(π) sign(σ). 2) Siehe Beweis von Satz 6.9. Dieses Signum spielt z.B. bei Determinanten eine Rolle. 6.3 Übungsaufgaben 1. Schreiben Sie folgende Permutation ¶ µ 1 2 3 4 5 6 7 8 9 6 7 8 4 9 5 3 2 1 a) als Produkt von elementfremden Zyklen, b) als Produkt von Transpositionen. 2. Unter der Ordnung einer Permutation α versteht man die kleinste natürliche Zahl n, sodass αn = ε (vgl. Definition 9.23). Bestimmen Sie die Ordnung der folgenden Permutationen: a) (1 6)(3 6), b) (1 3 5)(2 5 1), c) (1 3)(2 6 3). 114 KAPITEL 6. PERMUTATIONEN Kapitel 7 Zählen (Kombinatorik) 7.1 Anzahl der Elemente einer Menge Insbesondere für unendliche Mengen ist es notwendig, diesen Begriff zu präzisieren. Definition 7.1 Zwei Mengen A, B heißen gleichmächtig, wenn es eine bijektive Abbildung A → B gibt. Man sagt dann auch, A und B haben dieselbe Kardinalzahl (”are of equal cardinality”). Dadurch wird auf jeder Menge von Mengen eine Äquivalenzrelation definiert. Man nennt deshalb gleichmächtige Mengen auch äquivalent. Im Folgenden benötigen wir oft die Menge {1, . . . , n} := {x ∈ N | x ≤ n}. Wir bezeichnen sie zur Abkürzung mit In . Also: I0 = ∅, I1 = {1}, usw. Definition 7.2 Sei A eine Menge. Wenn es eine natürliche Zahl n ∈ N0 gibt, sodass A und In gleichmächtig sind, so heißt A endlich (”finite”), und n heißt die Anzahl der Elemente oder Kardinalzahl (”cardinality”) von A. Bezeichnung: |A| = n. (Andere übliche Bezeichnungsweisen sind #A und card A.) Insbesondere ist |∅| = 0. Wenn A eine Menge mit n Elementen ist, gibt es also eine bijektive Abbildung In → A : j 7→ aj . D.h., wir können die Elemente von A ”durchnummerieren”, sodass A = {a1 , . . . , an } und ai 6= aj für i 6= j. 115 116 KAPITEL 7. ZÄHLEN (KOMBINATORIK) Obwohl kaum jemand bezweifeln wird, dass die Kardinalzahl einer endlichen Menge eindeutig bestimmt ist, wollen wir uns überlegen, auf welche Weise man das zeigen kann, da einerseits der Beweis an sich interessant ist und wir andererseits als Folgerung ein öfter gebrauchtes Beweisprinzip kennenlernen. Satz 7.3 Für n 6= m gibt es keine bijektive Abbildung In → Im . Beweis: Da wir ohne Beschränkung der Allgemeinheit n > m annehmen können, ist das eine Folgerung aus dem nächsten Satz. Satz 7.4 Für n > m gibt es keine injektive Abbildung In → Im . Beweis mit Induktion nach n: n = 1 ist trivial, denn dann müsste m = 0 sein, und es gibt überhaupt keine Abbildung in die leere Menge I0 . n → n + 1: Angenommen, für ein m < n + 1 gibt es eine injektive Abbildung f : In+1 → Im . 1. Fall: f (i) 6= m für alle i ∈ In . Dann wäre die Einschränkung von f auf In eine injektive Abbildung nach Im−1 . 2. Fall: Es gibt ein k ∈ In , sodass f (k) = m. Wegen der Injektivität von f ist z := f (n+1) 6= m. Wir könnten nun eine injektive Abbildung f˜ : In → Im−1 konstruieren, indem wir die Einschränkung von f auf In insoferne abändern, als wir k auf das ”freigewordene” z abbilden: f˜(k) := z, f˜(i) := f (i) für i 6= k. In jedem Fall ergäbe sich also ein Widerspruch zur Induktionsvoraussetzung. Folgerung 7.5 Die Kardinalzahl einer endlichen Menge ist eindeutig bestimmt. Beweis: Indirekte Annahme: Es gibt eine Menge A, sodass für zwei verschiedene natürliche Zahlen n, m bijektive Abbildungen f : A → In und g : A → Im existieren. Dann wäre g ◦ f −1 eine bijektive Abbildung In → Im im Widerspruch zu Satz 7.3. 7.1. ANZAHL DER ELEMENTE EINER MENGE 117 Folgerung 7.6 (Schubfachprinzip, ”pigeonhole principle”) Seien A, B zwei endliche Mengen mit |A| > |B|. Dann gibt es keine injektive Abbildung von A nach B. Bemerkung: Diesen Satz kann man so interpretieren: Will man n Gegenstände in m Schubfächern unterbringen, und n > m, dann muss man in mindestens ein Schubfach mehr als einen Gegenstand legen. Beweis: Sei n := |A| und m := |B|. Dann gibt es bijektive Abbildungen f : A → In und g : B → Im . Gäbe es eine injektive Abbildung h : A → B, so wäre g ◦ h ◦ f −1 : In → Im eine injektive Abbildung. Das widerspricht für n > m dem letzten Satz. Definition 7.7 Eine Menge, die nicht endlich ist, heißt unendlich (”infinite”). Wenn M eine unendliche Menge ist, schreiben wir auch |M| = ∞. Im Gegensatz zu endlichen Mengen kann eine unendliche Menge zu einer echten Teilmenge gleichmächtig sein. Z.B. ist die Menge N zu der echten Teilmenge 2N = {2, 4, 6, . . .} gleichmächtig, da die Abbildung N → 2N : x 7→ 2x bijektiv ist. Es gilt sogar: Satz 7.8 Eine Menge ist genau dann unendlich, wenn sie zu einer echten Teilmenge gleichmächtig ist. Beweis: Siehe Vorlesungen oder Bücher über Mengenlehre, z.B. [14]. Nicht alle unendlichen Mengen sind gleichmächtig (siehe Satz 7.13)! Definition 7.9 Wenn eine unendliche Menge zu N gleichmächtig ist, heißt sie abzählbar (”countable”), sonst überabzählbar (”uncountable”). Wenn A abzählbar ist, dann gibt es also eine Folge (an ) mit paarweise verschiedenen Elementen, sodass A = {an | n ∈ N}. Beispiele: 1) Z ist abzählbar. Z.B. ist folgende Abbildung bijektiv (Beweis: Übungsaufgabe): ½ n/2 für n gerade, f : N → Z : n 7→ (1 − n)/2 für n ungerade. 118 KAPITEL 7. ZÄHLEN (KOMBINATORIK) 2) N × N ist abzählbar. Beweis (1. Cantor’sches Diagonalverfahren): Wir betrachten nachstehende Folge von Elementen aus N × N: ((1, 1), (1, 2), (2, 1), (1, 3), (2, 2), (3, 1), (1, 4), . . . ). Es ist nicht schwer einzusehen, dass diese Folge eine bijektive Abbildung N → N × N darstellt. Die folgende Tabelle dient zur Erklärung der Bezeichnung ”Diagonalverfahren”. Die Pfeile deuten die Reihenfolge an, in welcher die Elemente von N × N in der Folge aufscheinen. (1, 1) (1, 2) (1, 4) . . . . (2, 1) (2, 2) (2, 3) (2, 4) . . . . . . . (3, 1) (3, 2) (3, 3) (3, 4) . . . . . . . (4, 1) (4, 2) (4, 3) (4, 4) . . . .. .. .. .. . . . . . . . . (1, 3) . . (Georg Cantor (1845 - 1918) gilt als Begründer der Mengenlehre.) Analog kann man zeigen, dass allgemeiner gilt: Satz 7.10 Das cartesische Produkt von zwei abzählbaren Mengen ist abzählbar. Der folgende Satz ist zwar sehr plausibel, wir sehen uns aber dennoch den Beweis an: Satz 7.11 Jede Teilmenge einer abzählbaren Menge ist entweder endlich oder abzählbar. Beweis: Sei U eine unendliche Teilmenge der abzählbaren Menge A. Wir können also annehmen, dass A = {an | n ∈ N} mit ai 6= ak für i 6= k. Wir definieren nun rekursiv eine Folge (un ) von Elementen aus U: u1 sei ein beliebiges Element aus U. Angenommen, u1 , . . . , un sind bereits definiert. Da U unendlich ist, folgt U \ {u1 , . . . , un } 6= ∅. Nach dem Wohlordnungsaxiom gibt es daher einen kleinsten Index k, sodass ak ∈ U \{u1 , . . . , un }. 7.1. ANZAHL DER ELEMENTE EINER MENGE 119 Wir setzen un+1 := ak und haben uns nur zu überlegen, dass auf diese Weise alle Elemente von U erfasst werden. Indirekte Annahme: Es gibt ein am ∈ U \{un | n ∈ N}. Die Menge {un |n > 1} ist nicht endlich und daher keine Teilmenge von {a1 , . . . , am }. Es gibt somit einen Index r > 1, sodass ur = ak mit k > m. Nun ist am ∈ U \{u1 , . . . , ur−1 }. Nach Definition der Folge (un ) müsste k die kleinste natürliche Zahl mit ak ∈ U \ {u1 , . . . , ur−1 } sein, also k ≤ m, Widerspruch. Satz 7.12 Die Menge Q der rationalen Zahlen ist abzählbar. Beweis: Jede rationale Zahl lässt sich eindeutig als ”gekürzter Bruch” darstellen, d.h. in der Form ab mit a ∈ Z, b ∈ N und GGT(a, b) = 1. (Das kann man mit Hilfe der Eindeutigkeit der Primfaktorzerlegung beweisen, siehe Satz 9.35.) Damit erhalten wir eine bijektive Abbildung a {(a, b) ∈ Z × N | GGT(a, b) = 1} → Q : (a, b) 7→ . b Der Definitionsbereich dieser Abbildung ist nach den beiden vorhergehenden Sätzen abzählbar. Satz 7.13 Die Menge R der reellen Zahlen ist überabzählbar. Zum Beweis (2. Cantor’sches Diagonalverfahren) benützt man die Dezimalbruchentwicklung von reellen Zahlen, die wir hier als bekannt voraussetzen. (Siehe Vorlesungen oder Bücher über Analysis, z.B. [30].) Die Dezimalbruchentwicklung ist nicht unbedingt eindeutig, so ist z.B. 3.1999... = 3.2000... . Um Eindeutigkeit zu erreichen, verbietet man Dezimalbrüche, bei denen ab einer bestimmten Stelle alle Ziffern gleich 9 sind. Angenommen, R wäre abzählbar. Dann wäre nach Satz 7.11 auch das Intervall [0, 1) := {x ∈ R | 0 ≤ x < 1} abzählbar. Es gäbe also eine Folge (an ), sodass [0, 1) = {an | n ∈ N}. Seien an1 , an2 , an3 , . . . die Dezimalziffern von an (nach dem Komma bzw. Dezimalpunkt). Dann könnten wir folgenderweise eine Zahl b ∈ [0, 1) konstruieren, welche von allen an verschieden ist, was einen Widerspruch zur Folge hätte: Für jedes k ∈ N sei bk ∈ {0, 1, . . . , 8} \ {akk }, und b sei die Zahl mit den Dezimalziffern b1 , b2 , . . . . Man schließt hier bk = 9 aus, damit sicher keiner der oben erwähnten ”verbotenen” Dezimalbrüche entsteht. 120 KAPITEL 7. ZÄHLEN (KOMBINATORIK) Satz 7.14 Seien A1 , . . . , An paarweise disjunkte endliche Mengen. Dann gilt: ¯n ¯ n ¯[ ¯ X ¯ ¯ |Ai |. ¯ Ai ¯ = ¯ ¯ i=1 i=1 Beweis mit Induktion: n = 1: trivial. n = 2: A∩B = ∅ ⇒ |A ∪ B| = |A|+|B| ist praktisch unmittelbar klar, kann aber formal durch Induktion nach der Anzahl der Elemente von B bewiesen werden. ¯n+1 ¯ ¯µ n ¯ ¶ ¯S ¯ ¯ S ¯ n → n + 1: ¯¯ Ai ¯¯ = ¯¯ Ai ∪ An+1 ¯¯ = (nach dem Fall n = 2) i=1 i=1 ¯n ¯ ¯S ¯ = ¯¯ Ai ¯¯ + |An+1 | = (nach Induktionsvoraussetzung) i=1 = n P i=1 |Ai | + |An+1 | = n+1 P i=1 |Ai |. Satz 7.15 |A × B| = |A| · |B| (für endliche Mengen A, B). Beweis: Sei B = {b1 , . . . , bn } (mit bi 6= bk für i 6= k). Dann ist A × B = n S (A × {bi }). i=1 (A × {bi }) ∩ (A × {bk }) = ∅ für i 6= k, und |A × {bi }| = |A|, da die Abbildung A → A × {bi } : a 7→ (a, bi ) bijektiv ist. Somit folgt dieser Satz aus dem vorhergehenden. Bemerkung 7.16 Mit Induktion kann man zeigen, dass allgemeiner gilt: |A1 × . . . × Ak | = k Y i=1 |Ai | (für endliche Mengen Ai ). Daraus folgt insbesondere ¯ k¯ ¯A ¯ = |A|k . 7.2. ANZAHL VON FUNKTIONEN UND TEILMENGEN 7.2 121 Anzahl von Funktionen und Teilmengen Von nun an werden alle Mengen als endlich vorausgesetzt, wenn nichts gegenteiliges gesagt wird. 7.2.1 Beliebige Funktionen und Teilmengen Satz 7.17 Es gibt genau |B||A| Funktionen von A nach B. Zum Beweis sei k := |A| und n := |B|. Wir verwenden Induktion nach k: k = 1: Es gibt n Möglichkeiten, dem einen Element von A ein Element von B zuzuordnen. k → k + 1: Sei A = {a1 , . . . , ak+1 }. Nach Induktionsvoraussetzung gibt es nk Funktionen {a1 , . . . , ak } → B. Jede dieser Funktionen kann auf n verschiedene Arten zu einer Funktion A → B erweitert werden, indem man dem Element ak+1 eines der n Elemente von B zuordnet. Daher gibt es insgesamt n · nk = nk+1 Funktionen A → B. Anderer Beweis: Sei A = {a1 , . . . , ak }. Jede Abbildung f : A → B mit A = {a1 , . . . , ak } entspricht umkehrbar eindeutig einem k-Tupel (f (a1 ), . . . , f (ak )) mit f (aj ) ∈ B für alle j ∈ Ik . Daher ist die Menge aller solchen Abbildungen gleichmächtig zu B k , und |B k | = |B|k = |B||A| nach Bemerkung 7.16. Bezeichnung: Die Menge aller Abbildungen von A nach B wird auf Grund dieses Satzes manchmal mit B A bezeichnet. Bemerkungen: 1) Die Funktionen Ik → B nennt man auch (endliche) Folgen (der Länge k) von Elementen aus B. Diese Folgen kann man mit den geordneten k-Tupeln (b1 , . . . , bk ) mit bi ∈ B identifizieren (siehe Definition des cartesischen Produkts, Abschnitt 2.5). Früher sprach man in diesem Zusammenhang auch von Variationen mit Wiederholung (”ordered selections with repetition”). 2) Die in der Informatik häufig verwendeten ”(verketteten) Listen” sind vom mathematischen Standpunkt nichts anderes als endliche Folgen. Wir werden solche Listen insbesondere zur Beschreibung graphentheoretischer Algorithmen verwenden (Kapitel 8). 3) Wenn man die Elemente von B als Buchstaben auffasst, so bezeichnet man die endlichen Folgen von Elementen aus B auch als Worte. Man schreibt sie 122 KAPITEL 7. ZÄHLEN (KOMBINATORIK) dann ohne Klammern und Beistriche. Z.B. ist baacba ein Wort mit sechs Buchstaben aus B = {a, b, c}. Die Menge B wird dann Alphabet genannt. Mit Hilfe des letzten Satzes kann man auch leicht die Frage beantworten, wie viele Teilmengen eine endliche Menge hat. Dazu: Definition 7.18 Sei S eine Teilmenge von A. Dann versteht man unter der Indikatorfunktion von S die folgenderweise definierte Funktion ½ 1 für a ∈ S, 1S : A → {0, 1}, 1S (a) := 0 für a ∈ / S. Jeder Teilmenge S von A entspricht umkehrbar eindeutig ihre Indikatorfunktion. Die Anzahl der Teilmengen von A ist daher gleich der Anzahl der Funktionen A → {0, 1}, und somit gilt folgender Satz: Satz 7.19 Es gibt genau 2|A| Teilmengen von A. Das heißt: |P(A)| = 2|A| . Bemerkung 7.20 Für A = Ik entsprechen die Funktionen A → {0, 1} endlichen Folgen der Länge k, die nur aus Nullen und Einsen bestehen. Solche Folgen nennt man auch 0-1-Folgen. Wir haben somit eine umkehrbar eindeutige Zuordnung zwischen den Teilmengen von Ik und 0-1-Folgen der Länge k. Es gibt daher genau 2k solche Folgen. 7.2.2 Injektive Funktionen Satz 7.21 Sei k = |A| und n = |B|. Die Anzahl der injektiven Funktionen A → B beträgt k−1 Y (n − i) = n(n − 1) · · · (n − k + 1) i=0 Beweis mit Induktion nach k: k = 1: In diesem Fall spielt die Injektivität keine Rolle. Es gibt n Funktionen {a} → B. 7.2. ANZAHL VON FUNKTIONEN UND TEILMENGEN 123 k → k + 1: Sei A = {a1 , . . . , ak+1 }. Wollen wir eine injektive Funktion f : {a1 , . . . , ak } → B auf A so erweitern, dass sie injektiv bleibt, so haben wir für f (ak+1 ) nur n−k Möglichkeiten. Auf Qk−1 QkGrund der Induktionsvoraussetzung gibt es daher (n − k) · i=0 (n − i) = i=0 (n − i) Funktionen A → B. Bemerkungen: Für k > n gibt es keine injektive Funktion A → B, und unsere n! Formel liefert den Wert 0. Für k ≤ n kann die Anzahl auch in der Form (n−k)! geschrieben werden. Für A = Ik sind die injektiven Funktionen A → B die Folgen (b1 , . . . , bk ) von k Elementen aus B, in denen kein Element mehrfach vorkommt. Wenn wir B als Alphabet ansehen, erhalten wir die Anzahl der Worte der Länge k, die man mit n Buchstaben bilden kann, wenn jeder Buchstabe nur einmal vorkommen darf (Variationen ohne Wiederholung, engl. ”ordered selections without repetition”). Einfaches Beispiel: A = I2 , B = {a, b, c}. Menge der entsprechenden Worte: {ab, ba, ac, ca, bc, cb}. Anzahl = 3 · 2 = 6. 7.2.3 Bijektive Funktionen Hilfssatz 7.22 Seien A, B zwei Mengen mit n Elementen. Dann ist jede injektive Funktion A → B sogar bijektiv. Beweis: Sei f eine injektive Abbildung A → B. Durch Einschränkung des Bildbereichs erhalten wir eine bijektive Funktion f : A → f (A) ⊂ B. f (A) ist also gleichmächtig mit A, d.h. f (A) ist eine n-elementige Teilmenge der n-elementigen Menge B, also muss f (A) = B gelten, d.h. f ist auch surjektiv. Satz 7.21 mit k = n ergibt daher: Satz 7.23 Seien A, B zwei (eventuell gleiche) Mengen mit n ≥ 1 Elementen. Dann gibt es genau n! bijektive Abbildungen A → B. Für A = In und |B| = n entsprechen die bijektiven Abbildungen A → B genau den Folgen (b1 , . . . , bn ), in denen jedes Element von B genau einmal vorkommt, d.h. den möglichen Reihenfolgen der Elemente von B. Es gibt also n! Möglichkeiten, die Elemente von B in einer Folge anzuordnen. 124 KAPITEL 7. ZÄHLEN (KOMBINATORIK) Beispiel: Sei B = {x, y, z}. Dann gibt es 3! = 6 mögliche Reihenfolgen, nämlich (x, y, z), (x, z, y), (y, x, z), (y, z, x), (z, x, y), (z, y, x). Der Spezialfall A = B ist besonders wichtig: Folgerung 7.24 Es gibt genau n! Permutationen von n Elementen, d.h. |Sn | = n!. (Siehe Kapitel 6.) 7.2.4 k-elementige Teilmengen und monotone Funktionen Anzahl der k-elementigen Teilmengen Hilfssatz 7.25 Die Anzahl der k-elementigen Teilmengen einer n-elementigen Menge hängt nicht von der speziellen Gestalt dieser Menge ab. Beweis: Sei B eine Menge mit n Elementen. Mit T (B, k) bzw. T (In , k) bezeichnen wir die Menge der k-elementigen Teilmengen von B bzw. In . Es gibt eine bijektive Abbildung f : In → B, und mit deren Hilfe können wir auch eine bijektive Abbildung T (In , k) → T (B, k) angeben, nämlich: {j1 , . . . , jk } 7→ {f (j1 ), . . . , f (jk )}. Die Bijektivität dieser Abbildung ist leicht einzusehen, und wir erhalten: |T (B, k)| = |T (In , k)| für jede beliebige n-elementige Menge B. Die folgende Definition ist somit sinnvoll: Definition 7.26 Seien k, n ∈ N0 . Dann bezeichnen wir mit der k-elementigen Teilmengen einer n-elementigen Menge. ¡n¢ k die Anzahl (”Kombinationen ohne Wiederholung”, ”unordered selections without repetition”) ¡ ¢ ¡ ¢ Bemerkung: nk wird ”n über k” gesprochen (”n choose k”). Die Zahlen nk werden auch Binomialkoeffizienten (”binomial coefficients”) genannt. 7.2. ANZAHL VON FUNKTIONEN UND TEILMENGEN 125 In Analogie zu dieser Bezeichnungsweise wird die aller k-elementigen ¡BMenge ¢ Teilmengen einer Menge B manchmal auch mit k bezeichnet. Wir könnten also schreiben: ¯µ ¶¯ µ ¶ ¯ B ¯ |B| ¯ ¯ ¯ k ¯= k . ¡ ¢ Bemerkung 7.27 nk ist auch gleich der Anzahl der 0-1-Folgen der Länge n, welche genau k Einsen enthalten. (Vgl. Bemerkung 7.20.) ¡ ¢ Für einige Werte von k ist nk sehr einfach: ¡ ¢ ¡n¢ = 1, nn = 1, (”Anfangswerte”) 0 ¡n¢ = n, 1 ¡n¢ = 0 für k > n. k ¡ ¢ Manchmal definiert man zusätzlich nk := 0 für k < 0. Da jede Teilmenge durch ihr Komplement eindeutig bestimmt ist, gibt es genau so viele k-elementige Teilmengen wie (n − k)-elementige, d.h.: µ ¶ µ ¶ n n = . k n−k Die Summe der Anzahlen aller k-elementigen Teilmengen von In für k ∈ {0, . . . , n} ist nichts anderes als die Anzahl aller Teilmengen von In , und daher gilt: n µ ¶ X n = 2n . k k=0 Satz 7.28 Für n > k > 0 gilt folgende Rekursionsformel: µ ¶ µ ¶ µ ¶ n n−1 n−1 = + . k k−1 k Beweis: Sei |B| = n und b ein (festes) Element von B. Wir zerlegen die Menge T (B, k) aller k-elementigen Teilmengen von B folgenderweise in zwei Teile: T (B, k) = M1 ∪ M2 , mit M1 := {S ∈ T (B, k) | b ∈ S} und M2 := {S ∈ T (B, k) | b ∈ / S}. 126 KAPITEL 7. ZÄHLEN (KOMBINATORIK) Jeder Teilmenge S ∈ M1 entspricht umkehrbar eindeutig eine (k¡ − 1)¢ elementige Teilmenge von B \ {b}, nämlich S \ {b}. Daher ist |M1 | = n−1 . k−1 M2 ist ¡gleich ¢ der Menge aller k-elementigen Teilmengen von B \ {b}, also n−1 |M2 | = k . Wegen M1 ∩ M2 = ∅ (und Satz 7.14) folgt die Behauptung. ¡ ¢ Mit dieser Rekursionsformel können wir im Prinzip nk für beliebige Werte von n und k (mit 0 ≤ k ≤ n) berechnen. Man kann dazu folgendes Schema verwenden (”Pascal’sches Dreieck”): ¡0¢ ¡1¢ 0 ¡1¢ ¡2¢ 0 ¡2¢ 1 ¡2¢ ¡3¢ 0 ¡3¢ 1 ¡3¢ 2 ¡3¢ 0 1 2 3 usw.. In jeder Zeile ist das erste und letzte Element = 1, und jedes andere Element ergibt sich nach dem Satz durch Addition der schräg links und rechts darüber stehenden Elemente. So erhält man folgende Werte: 1 1 1 1 1 usw., z.B. ¡5¢ 2 1 2 3 4 1 3 6 1 4 1 = 4 + 6 = 10. (Blaise Pascal (1623 - 1662) trug u.a. Wesentliches zur Entwicklung der Wahrscheinlichkeitsrechnung bei.) Es gibt noch eine andere Berechnungsmöglichkeit: Satz 7.29 Für 0 ≤ k ≤ n gilt: µ ¶ n(n − 1) · · · (n − k + 1) n(n − 1) · · · (k + 1) n n! = = . = (n − k)! k! k! (n − k)! k n! . Da bn0 = bnn = 1 (Anfangswerte), genügt es zu Beweis: Sei bnk := (n−k)! k! ¡ ¢ zeigen, dass die bnk dieselbe Rekursionsbedingung wie die nk erfüllen: bn−1,k−1 + bn−1,k = (n−1)! (n−k)! (k−1)! + (n−1)! (n−1−k)! k! = (n−1)! k (n−k)! k! + (n−1)! (n−k) (n−k)! k! = 7.2. ANZAHL VON FUNKTIONEN UND TEILMENGEN = (n−1)! (k+n−k) (n−k)! k! 127 = bnk . Bemerkung: Der dritte und vierte Ausdruck in obigem Satz erfordern weniger Rechenoperationen. Der dritte ist für k ≤ n/2, der vierte für k ≥ n/2 zu bevorzugen. Der dritte Ausdruck liefert außerdem auch für k > n den richtigen Wert, nämlich 0. Der Name ”Binomialkoeffizienten” wird durch folgenden Satz verständlich: Satz 7.30 (Binomischer Lehrsatz) Für n ∈ N0 und x, y ∈ R gilt: n µ ¶ X n k n−k n x y . (x + y) = k k=0 Bemerkung: Diese Formel gilt auch für x, y aus einem beliebigen kommutativen Ring mit Einselement (siehe Kapitel 9.3). Beweis mit Induktion: P0 ¡0¢ k 0−k n = 0: = 1 · x0 y 0 = 1 = (x + y)0 . k=0 k x y n → n + 1: (x + y)n+1 = (x + y)n (x + y) = (nach Induktionsvoraussetzung) ¡Pn ¡n¢ k n−k ¢ P ¡ ¢ P ¡ ¢ = (x + y) = nk=0 nk xk+1 y n−k + nk=0 nk xk y n+1−k = k=0 k x y (bei der ersten Summe k durch k − 1 ersetzen) ¡ n ¢ k n+1−k Pn ¡n¢ k n+1−k P = n+1 + k=0 k x y = k=1 k−1 x y (ersten Summanden der 2. Summe und letzten Summanden der 1. Summe getrennt schreiben) P ¡¡ n ¢ ¡n¢¢ k n+1−k = x0 y n+1 + nk=1 k−1 + xn+1 y 0 = + k x y (nach der Rekursionsformel) P ¡ ¢ k n+1−k Pn+1 ¡n+1¢ k n+1−k n+1 0 = x0 y n+1 + nk=1 n+1 y + x y = . x x y k=0 k k Folgerung 7.31 Für n ∈ N gilt µ ¶ n X k n = 0. (−1) k k=0 128 KAPITEL 7. ZÄHLEN (KOMBINATORIK) Beweis: 0 = 0n = (−1 + 1)n = Pn k=0 ¡n¢ ¡ ¢ P (−1)k 1n−k = nk=0 (−1)k nk . k Wenn man in analoger Weise (1 + 1)n nach dem Binomischen ent¢ P ¡ Lehrsatz wickelt, erhält man einen zweiten Beweis für die Formel nk=0 nk = 2n (siehe vor Satz 7.28). Anzahl der streng monotonen Funktionen Definition 7.32 Seien (A, v), (B, ≤) geordnete Mengen. Eine Funktion f : A → B heißt monoton oder monoton wachsend (”increasing”), wenn ∀x, y ∈ A : x v y → f (x) ≤ f (y). f heißt streng monoton (wachsend) (”strictly increasing”), wenn ∀x, y ∈ A : x @ y → f (x) < f (y). Satz 7.33 Seien Ik und In mit der natürlichen Ordnung versehen. Die streng monotonen Funktionen Ik → In entsprechen umkehrbar eindeutig den k-elementigen Teilmengen von In . Die Anzahl dieser Funktionen ist daher ¡ ¢ gleich nk . Beweis: Sei {x1 , . . . , xk } eine k-elementige Teilmenge von In . Da es bei der Beschreibung einer Menge nicht auf die Reihenfolge der Elemente ankommt, können wir annehmen, dass die xi der Größe nach geordnet sind, d.h. x1 < x2 < . . . < xk . Das k-Tupel (x1 , . . . , xk ) entspricht daher der streng monoton wachsenden Funktion Ik → In : j 7→ xj . Umgekehrt gehört zu jeder streng monoton wachsenden Funktion g : Ik → In eine eindeutige k-elementige Teilmenge von In , nämlich {g(1), g(2), . . . , g(k)}. Bemerkung: Ähnlich wie bei Hilfssatz 7.25 sieht man leicht, dass man statt Ik bzw. In beliebige totalgeordnete Mengen A, B mit k bzw. n Elementen nehmen kann. Anzahl der (nicht notwendig streng) monotonen Funktionen Satz 7.34 Die monotonen Funktionen Ik → In entsprechen umkehrbar eindeutig den 0-1-Folgen der Länge n − 1 + k, welche aus n − 1 Nullen und k Einsen bestehen. 7.2. ANZAHL VON FUNKTIONEN UND TEILMENGEN 129 Bemerkung: Hier kann k > n sein! Beweis des Satzes: Eine monotone Funktion Ik → In kann in eindeutiger Weise definiert werden, indem man angibt, wie oft jedes Element von In als Funktionswert vorkommt. Sagen wir, i kommt ri -mal vor (für i = 1, . . . , n). Dann entspricht die betrachtete Funktion der Folge (1, . . . , 1, 2, . . . , 2, . . . , n, . . . , n) mit r1 Einsen, r2 Zweien, usw., wobei ri natürlich auch = 0 sein kann. Diese Folge entspricht aber andererseits umkehrbar eindeutig einer 0-1-Folge der Form (1, . . . 1, 0, 1, . . . , 1, 0, . . . . . . , 0, 1, . . . , 1), wobei zuerst r1 Einsen stehen, dann eine Null, dann r2 Einsen, dann wieder eine Null, usw.. Das sind aber genau die im Satz angegebenen 0-1-Folgen. (Die Nullen haben hier gewissermaßen die Bedeutung von Trennungsstrichen.) Wir erhalten daher (siehe Bemerkung 7.27): Satz 7.35 Die Anzahl der monotonen Funktionen Ik → In beträgt ¡n−1+k¢ . k Bemerkung: Wir könnten auch sagen: Anzahl der monoton wachsenden Folgen der Länge k, welche aus n gegebenen Zahlen gebildet werden können. (Kombinationen mit Wiederholung, ”unordered selections with repetition”) Beispiele: 1) Wir würfeln gleichzeitig mit drei ganz gleich¡aussehenden Wie ¢ ¡8¢ Würfeln. 6−1+3 8·7·6 viele verschiedene Ergebnisse gibt es? Antwort: = 3 = 3·2 = 56. 3 2) Wie groß ist die Anzahl a(k, n) der Folgen (n1 , n2 , . . . , nk ) mit ni ∈ N0 bei gegebener Summe n1 + . . . + nk = n? Diese Folgen kann man bijektiv den monoton wachsenden Folgen der Länge k − 1 von Zahlen aus {0, . . . , n} zuordnen: (n1 , n2 , . . . , nk ) 7→ (n1 , n1 + n2 , . . . , n1 + n2 + . . . + nk−1 ). Wir ordnen also jeder Folge ihre Partialsummenfolge zu. Die Umkehrabbildung sieht so aus: (s1 , s2 , . . . , sk−1 ) 7→ (s1 , s2 − s1 , . . . , sk−1 − sk−2 , n − sk−1 ). ¡ ¢ ¡n+k−1¢ Es folgt: a(k, n) = (n+1)−1+(k−1) = k−1 . k−1 130 7.2.5 KAPITEL 7. ZÄHLEN (KOMBINATORIK) Surjektive Funktionen und Partitionen Der Begriff ”Partition” wurde bereits in Kapitel 3.3 erklärt. Wenn eine Partition P von A aus k Teilmengen besteht, so sagen wir: P ist eine Partition von A in k Teile. Definition 7.36 Die Anzahl der Partitionen einer n-elementigen Menge in k Teile bezeichnen wir mit S(n, k). Bemerkung: Wir könnten auch sagen: Anzahl der Partitionen von In in k Teile. (Vgl. Hilfssatz 7.25.) Beispiele: a) S(n, 1) = 1, S(n, n) = 1 (”Anfangswerte”). b) Für n ≥ 2 ist S(n, 2) gleich der halben Anzahl der echten nicht-leeren Teilmengen von In , das ist 2n−1 −1, denn jede solche Teilmenge bildet zusammen mit ihrem Komplement eine Partition in 2 Teile. Konkret gibt es z.B. 22 − 1 = 3 Partitionen von {1, 2, 3} in 2 Teile: {{1}, {2, 3}}, {{2}, {1, 3}}, {{3}, {1, 2}}. ¡ ¢ c) S(n, n − 1) = n2 : Bei einer Partition in n − 1 Teile besteht genau ein Teil aus 2 Elementen, und dieser Teil bestimmt die Partition eindeutig. Die Anzahl solcher Partitionen ist daher gleich der Anzahl der 2-elementigen Teilmengen. d) Für k > n ist S(n, k) natürlich = 0. e) S(n, 0) = 0 für alle n ∈ N. S(0, 0) = 1. (Eine Partition der leeren Menge in 0 Teile ist nichts anderes als wiederum die leere Menge.) Die Zahlen S(n, k) heißen Stirling’sche Zahlen 2. Art (nach James Stirling, 1692 - 1770). (Bezüglich der Stirling’schen Zahlen erster Art siehe Übungsaufgabe 12.) Jede surjektive Funktion A → B = {b1 , . . . , bk } liefert eine Partition von A in k Teile, nämlich {f −1 ({b1 }), . . . , f −1 ({bk })} . (Wegen der Surjektivität von f sind die f −1 ({bi }) sämtlich nicht leer.) Allerdings wird durch eine Partition die zugehörige surjektive Funktion nicht eindeutig bestimmt: Die Reihenfolge der Partitionsmengen liegt ja nicht fest. Da es k! solche Reihenfolgen gibt, folgt schon der nachstehende Satz. 7.2. ANZAHL VON FUNKTIONEN UND TEILMENGEN 131 Satz 7.37 Sei |A| = n und |B| = k. Dann gibt es genau k! S(n, k) surjektive Funktionen A → B. (Achtung: Die Rollen von n und k sind hier gegenüber den vorher diskutierten Funktionen vertauscht. Das entspricht der üblichen Bezeichnungsweise.) Zur Berechnung der S(n, k) gibt es eine Rekursionsformel, die ähnlich wie bei den Binomialkoeffizienten aussieht: Satz 7.38 Für n > k > 1 gilt S(n, k) = S(n − 1, k − 1) + k S(n − 1, k). Beweis: Wir bezeichnen die Menge aller Partitionen von A in k Teile mit P (A, k). Sei |A| = n und a ein (festes) Element von A. Wir gehen ähnlich wie bei Satz 7.28 vor und zerlegen P (A, k) in zwei Teile: M1 := Menge aller Partitionen von A in k Teile, sodass ein Teil gleich {a} ist, und M2 := Menge aller übrigen Partitionen von A in k Teile. Jede Partition aus M1 entspricht genau einer Partition von A\{a} in k−1 Teile, daher ist |M1 | = S(n−1, k−1). Die Partitionen aus M2 erhält man, indem man A \ {a} in k Teile zerlegt und dann a zu einem dieser Teile dazu gibt. Dafür gibt es jeweils k Möglichkeiten. Daher ist |M2 | = kS(n − 1, k), und der Satz ist bewiesen. Die Stirling’schen Zahlen kann man also wieder mit einer Art Pascal-Dreieck berechnen. Dabei ist zu beachten, dass man hier mit 1 zu zählen beginnt, und nicht mit 0 wie bei den Binomialkoeffizienten. 1 1 1 1 1 1 3 7 15 1 6 25 1 10 1 usw., also z.B. S(6, 3) = 15 + 3 · 25 = 90. Die Anzahl der surjektiven Funktionen I6 → I3 beträgt daher 3! · 90 = 540. Es gibt auch eine ”geschlossene” Formel für die Stirling’schen Zahlen, die allerdings etwas komplizierter als bei den Binomialkoeffizienten ist: Satz 7.39 µ ¶ k−1 1 X r k S(n, k) = (k − r)n . (−1) r k! r=0 132 KAPITEL 7. ZÄHLEN (KOMBINATORIK) Man kann diese Formel ähnlich wie Satz 7.29 beweisen, indem man zeigt, dass die rechte Seite die Anfangswerte und die Rekursionsgleichung erfüllt. Ein durchsichtigerer Beweis wird in Abschnitt 7.4.2 besprochen. Beispiele: 1) Wie viele Möglichkeiten gibt es, 6 Geschenke so auf 4 Personen zu verteilen, dass jede mindestens ein Geschenk bekommt? Antwort: 4! · S(6, 4) = 24 · 65 = 1560. 2) Wie viele Äquivalenzrelationen mit 4 Klassen gibt es auf einer Menge mit 8 Elementen? Antwort: S(8, 4) = 1701. 7.2.6 Multinomialkoeffizienten Angenommen, k Zahlen n1 , . . . , nk ∈ N0 sind gegeben, und n = n1 + . . . + nk . Wie viele Möglichkeiten gibt es, n (unterscheidbare) Objekte in k Schachteln zu geben, sodass in der 1. Schachtel n1 Objekte liegen, in der 2. Schachtel n2 , usw.? Wir können die n Objekte in irgendeine Reihenfolge bringen und dann die ersten n1 in die erste Schachtel legen, die nächsten n2 in die 2. Schachtel, usw.. Von den insgesamt n! Reihenfolgen liefern diejenigen dasselbe Ergebnis, die sich nur durch eine Permutation der ersten n1 Objekte unterscheiden, ebenso jene, die sich nur durch eine Permutation der nächsten n2 Objekte unterscheiden, usw.. In der Sprache der Funktionen ausgedrückt, ergibt sich somit folgender Satz. Satz 7.40 Seien n1 , . . . , nk ∈ N0 und n = n1 + . . . + nk . Es gibt genau n! n1 ! n2 ! · · · nk ! Abbildungen f : In → Ik , sodass |f −1 ({j})| = nj für alle j ∈ Ik . Diesen Satz kann man auch so interpretieren: Sei (x1 , . . . , xn ) eine Folge von Zahlen aus Ik , und nj gebe an, wie oft die Zahl j in dieser Folge vorkommt. Dann gibt es genau n1 ! n2n!! ···nk ! verschiedene Permutationen der Indizes, die zu verschiedenen Folgen führen. Man spricht in diesem Zusammenhang auch von Permutationen mit Wiederholung. Eine eng verwandte Frage ist die nach der Anzahl der Partitionen einer n-elementigen Menge in k Teile mit gegebenen Kardinalzahlen n1 , . . . , nk . 7.2. ANZAHL VON FUNKTIONEN UND TEILMENGEN 133 Der Unterschied besteht darin, dass es nicht auf die Reihenfolge der Teile ankommt, soferne diese gleich viele Elemente haben. Man muss also durch die Anzahl der Permutationen von Ik dividieren, welche das k-Tupel (n1 , . . . , nk ) unverändert lassen, d.h. durch m1 ! · · · mn !, wobei mi angibt, wie oft i in diesem k-Tupel vorkommt. Definition 7.41 Für n1 , . . . , nk ∈ N0 und n = n1 + . . . + nk , ¶ µ n! n := . n1 ! n2 ! · · · nk ! n1 , . . . , nk Für k = 2 sind das die Binomialkoeffizienten, denn dann ist n2 = n − n1 . Diese Zahlen heißen daher Multinomialkoeffizienten, und es gilt analog zu Satz 7.30: µ ¶ X n n (x1 + . . . + xk ) = xn1 1 · · · xnk k . n1 , . . . , nk n1 +...+nk =n, ni ≥0 ¡ ¢ Die Anzahl der Summanden auf der rechten Seite ist gleich n+k−1 . (Siehe k−1 zweites Beispiel nach Satz 7.35.) Bemerkung: µ n n1 , . . . , nk ¶ µ ¶µ ¶ µ ¶ n n − n1 n − (n1 + . . . + nk−2 ) = ··· n2 nk−1 n1 Das sieht man sofort, wenn man die Binomialkoeffizienten auf der rechten Seite gemäß Satz 7.29 durch Faktorielle ausdrückt. Damit erhalten wir z.B. folgende Entwicklung eines Trinoms: ¶ n X n−k µ ¶µ X n n − k k j n−k−j n (x + y + z) = x yz . k j k=0 j=0 Beispiele: 1) Wir wollen 7 gleich große Objekte in 3 Schachteln legen, wobei in der ersten Schachtel 2 Objekte ¡ ¢ Platz haben, in der zweiten nur eines und in der dritten vier. Es gibt 2, 71, 4 = 2 7!· 4! = 105 Möglichkeiten. Das ist auch die Anzahl der verschiedenen Anordnungen der Elemente der Folge (1, 1, 2, 3, 3, 3, 3). 2) Wie viele verschiedene Möglichkeiten gibt es, 20 verschiedene Spielkarten auf 4 Spieler zu verteilen, sodass jeder Spieler 5 Karten bekommt? Die 20! Antwort lautet: (5!) 4 = 11 732 745 024. 3) Wie viele Äquivalenzrelationen mit 4 gleichmächtigen (also 2-elementigen) 8! Klassen gibt es auf einer Menge mit 8 Elementen? Antwort: 4! (2!) 4 = 105. 134 7.3 KAPITEL 7. ZÄHLEN (KOMBINATORIK) Anwendungsbeispiel: Fehlerkorrigierende Codes In der Codierungstheorie geht es um die Übertragung von Informationen, wobei auf dem Übertragungsweg (”channel”) im Allgemeinen gewisse Störungen auftreten. Man möchte nun die einzelnen Informationen so codieren, d.h. durch gewisse Zeichenketten darstellen, dass sie trotz der durch die Störungen verursachten Fehler möglichst eindeutig rekonstruiert werden können. Wir gehen von einem Alphabet A mit q Zeichen aus und nehmen an, dass alle zur Codierung verwendeten Zeichenketten die gleiche Länge n haben, d.h. An ist die Menge der betrachteten Worte. Damit eine Fehlerkorrektur möglich ist, dürfen wir natürlich nicht alle diese Worte zur Codierung verwenden, sondern müssen darauf achten, dass sich die Codeworte ”deutlich” voneinander unterscheiden. Um das zu präzisieren, definieren wir den Abstand zweier Worte folgenderweise: Definition 7.42 Seien x = (x1 , . . . , xn ), y = (y1 , . . . , yn ) ∈ An . Dann heißt d(x, y) := | {i ∈ In | xi 6= yi } | die Hamming-Distanz von x und y. (Richard Wesley Hamming (1915-1998, USA) wurde vor allem durch seine 1950 publizierte Arbeit über ”Error detecting and error correcting codes” bekannt.) d(x, y) gibt also an, an wie vielen Stellen sich x und y unterscheiden. Bemerkung 7.43 Die Hamming-Distanz ist eine Metrik, d.h. für alle x, y, z aus An gilt: 1) d(x, y) = 0 ⇔ x = y, 2) d(x, y) = d(y, x) (Symmetrie), 3) d(x, z) ≤ d(x, y) + d(y, z) (Dreiecksungleichung). Beweis: 1) und 2) sind trivial. 3) sieht man z.B. so: Aus xi 6= zi ⇒ xi 6= yi ∨ yi 6= zi folgt {i ∈ In | xi 6= zi } ⊂ {i ∈ In | xi 6= yi } ∪ {i ∈ In | yi 6= zi }. In Analogie zu den gewöhnlichen Kugeln im R3 definiert man: 7.3. ANWENDUNGSBEISPIEL: FEHLERKORRIGIERENDE CODES135 Definition 7.44 Für c ∈ An heißt K(c, r) := { x ∈ An | d(x, c) ≤ r } Kugel (”ball”, manchmal auch ”sphere”) mit Mittelpunkt c und Radius r. Sei C ⊂ An die Menge der Codeworte (kurz: Code). Wenn bei der Übertragung eines Codeworts c ∈ C ein Wort w mit d(c, w) = s entsteht, so sagen wir: ”w enthält s Fehler.”. K(c, r) besteht also aus den Worten, die bezüglich c höchstens r Fehler enthalten. Wesentlich ist nun die folgende Beobachtung: Bemerkung 7.45 Sei r ∈ N und C ⊂ An . Wenn je zwei Kugeln mit Radius r und Mittelpunkt ∈ C disjunkt sind, gibt es zu jedem Wort w mit höchstens r Fehlern genau ein c ∈ C mit d(c, w) ≤ r. Das heißt, für jedes Wort mit höchstens r Fehlern kann das entsprechende Codewort eindeutig rekonstruiert werden. Eine Menge von paarweise disjunkten Kugeln heißt auch (Kugel-)Packung (”sphere packing”). Bemerkung 7.46 Die Kugeln mit Radius r und Mittelpunkten aus C bilden genau dann eine Packung, wenn für je zwei Elemente u, v ∈ C mit u 6= v gilt: d(u, v) ≥ 2r + 1. Beweis: Wir zeigen die Äquivalenz der Negationen der beiden fraglichen Aussagen. a) Angenommen, es gibt u, v ∈ C mit u 6= v, sodass d(u, v) ≤ 2r. Dann können wir o.B.d.A. annehmen, dass sich u und v höchstens an den ersten 2r Stellen unterscheiden. Sei nun für 1 ≤ i ≤ r, ui vi für r + 1 ≤ i ≤ 2r, wi := ui = vi für 2r < i ≤ n. Dann ist d(u, w) ≤ r und d(v, w) ≤ r, also K(u, r) ∩ K(v, r) 6= ∅. b) Angenommen, die Kugeln bilden keine Packung, d.h., es gibt u, v ∈ C mit u 6= v und ein w ∈ An , sodass d(u, w) ≤ r und d(v, w) ≤ r. Dann folgt aber aus der Dreiecksungleichung d(u, v) ≤ 2r. Es stellt sich nun die Frage, wie man zu gegebenem r vorgehen soll, damit man möglichst viele Codeworte in der Menge An ”unterbringen” kann, sodass 136 KAPITEL 7. ZÄHLEN (KOMBINATORIK) die entsprechenden Kugeln mit Radius r paarweise disjunkt sind. Das ist ein zentrales Thema der Codierungstheorie, welches wir hier nicht eingehend behandeln können. Wir überlegen uns nur eine obere Schranke für die Anzahl m der Codeworte. Dadurch hat man dann eine Vergleichsmöglichkeit, um die Güte eines konkreten Codes einigermaßen abzuschätzen. Wenn wir wissen, wie viele Elemente eine Kugel K(c, r) hat, erhalten wir eine derartige Schranke, denn für eine Kugelpackung aus m Kugeln mit Radius r gilt klarerweise m · |K(c, r)| ≤ |An | = q n , also m≤ qn . |K(c, r)| Sei F (c, k) = { x ∈ An | d(x, c) = k } die Menge der Worte, die gegenüber c genau k Fehler enthalten. Jedes Wort aus F (c, k) ist durch 2 Dinge umkehrbar eindeutig bestimmt: a) die k Stellen, an denen die Fehler auftreten; diese entsprechen einer kelementigen Teilmenge {i1 , . . . , ik } von In ; b) die k fehlerhaften Zeichen an diesen Stellen; diese entsprechen einer Folge (x1 , . . . , xk ) mit xj ∈ A \ {cij }. F (c, k) ist daher gleichmächtig zu der Menge der geordneten Paare (T, Z) k ¡ ¢ Q mit T ∈ Ikn und Z aus dem cartesischen Produkt (A \ {cij }), d.h. j=1 ¯µ ¶ ¯ µ ¶ k ¯ I ¯ Y n ¯ n ¯ (q − 1)k . |F (c, k)| = ¯ × (A \ {cij })¯ = ¯ k ¯ k j=1 K(c, r) = r S k=0 F (c, k), die F (c, k) mit k ∈ {0, 1, . . . , r} sind paarweise dis- junkt, also folgt: |K(c, r)| = also: r P k=0 |F (c, k)| = r ¡ ¢ P n (q − 1)k . Wir erhalten k k=0 qn m≤ P . r ¡ ¢ n k (q − 1) k k=0 Im einfachsten, aber doch wichtigen Fall r = 1 und q = 2 (also z.B. A = 2n {0, 1}) ergibt sich: m ≤ 1+n . Diese Schranke könnte also das exakte Maximum 7.4. DAS EINSCHLUSS-AUSSCHLUSS-PRINZIP 137 von m angeben, wenn 1+n eine Zweierpotenz ist, also z.B. n = 3 oder n = 7. Für n = 3 ergibt sich m ≤ 2, und diese Schranke kann trivial erreicht werden, indem man die beiden Codeworte (0, 0, 0) und (1, 1, 1) nimmt. Man kann nun zeigen, dass es für jedes n der Form 2s − 1 mit s ∈ N, s ≥ 2, tatsächlich 2n einen Code mit m = 1+n Worten gibt (siehe z.B. [31]). Für n = 7 gibt die nachstehende Tabelle einen solchen Code an. 0000000 1110000 1001100 0111100 0101010 1011010 1100110 0010110 1101001 0011001 0100101 1010101 1000011 0110011 0001111 1111111 Dieser Code besteht genau aus den Lösungsvektoren des folgenden linearen Gleichungssystems modulo 2: x4 + x5 + x6 + x7 ≡ 0 x2 + x3 + x6 + x7 ≡ 0 x1 + x3 + x5 + x7 ≡ 0 Auch für beliebige Werte von s erhält man solche Codes als Lösungsmengen von linearen Gleichungssystemen, sie heißen daher lineare Codes. 7.4 Das Einschluss-Ausschluss-Prinzip Wenn A, B zwei nicht disjunkte Mengen sind, dann gilt |A ∪ B| = |A| + |B| − |A ∩ B|, da bei |A| + |B| die Elemente des Durchschnitts doppelt gezählt werden. Wie lautet eine analoge Formel für mehr als zwei Mengen? Für drei Mengen A, B, C werden bei |A| + |B| + |C| − |A ∩ B| − |A ∩ C| − |B ∩ C| die Elemente des Durchschnitts A ∩ B ∩ C zuerst dreimal gezählt und dann wieder dreimal weggezählt, sie müssen daher am Ende nochmals dazugezählt werden: |A ∪ B ∪ C| = |A| + |B| + |C| − |A ∩ B| − |A ∩ C| − |B ∩ C| + |A ∩ B ∩ C|. 138 KAPITEL 7. ZÄHLEN (KOMBINATORIK) Allgemein gilt folgende Formel (auch Poincaré-Formel genannt, nach Henri Poincaré (1854 - 1912), der auf vielen Gebieten der Mathematik und Physik Hervorragendes geleistet hat): Satz 7.47 (Siebprinzip, Einschluss-Ausschluss-Prinzip): ¯n ¯ n ¯[ ¯ X ¯ ¯ n−1 (−1)k−1 αk , ¯ Ai ¯ = α1 − α2 + α3 − . . . + (−1) αn = ¯ ¯ i=1 i=1 wobei αk die Summe der Kardinalzahlen der Durchschnitte von je k der Mengen Ai ist. D.h. also: α1 = n P i=1 und allgemein |Ai |, α2 = P 1≤i<j≤n αk = wobei ¡In ¢ |Ai ∩ Aj |, X M∈(Ikn ) ¯ ¯ ¯\ ¯ ¯ ¯ Ai ¯ , ¯ ¯ ¯ i∈M wieder die Menge aller k-elementigen Teilmengen von In bedeutet. S Beweis: Sei x ein beliebiges Element aus ni=1 Ai . Wir überlegen uns, dass x auf der rechten Seite der Poincaré-Formel insgesamt genau einmal gezählt wird. Angenommen, x ist in genau m Mengen Ai enthalten, sagen wir in Ai1 , . . . , Aim . Dann wird x bei α1 genau m-mal gezählt. Bei αk wird¡x ¢so oft gezählt, als es k-elementige Teilmengen von {i1 , . . . , im } gibt, also m -mal. k Insgesamt wird x daher so oft gezählt: µ ¶ m X k−1 m . (−1) k k=1 k Multipliziert die Formel ¡m¢ Pman ¡ ¢ von Folgerung 7.31 mit (−1), so erhält man m k−1 m (−1) 0 + k=1 (−1) = 0. Die fragliche Summe hat also immer den k Wert 1, was zu zeigen war. 7.4.1 Fixpunktfreie Permutationen Als erstes Beispiel für die Anwendung des Siebprinzips behandeln wir die Frage nach der Anzahl von Permutationen, die keinen Fixpunkt haben (engl. ”derangements”). Sei Sn die Menge aller Permutationen von In , und für 7.4. DAS EINSCHLUSS-AUSSCHLUSS-PRINZIP 139 jedes i ∈ In sei Ai die Menge derjenigen Permutationen p, welche i fest lassen, d.h. p(i) = i. Für die Anzahl dn der Permutationen aus Sn , welche keinen Fixpunkt haben, gilt daher: ¯ ¯n ¯[ ¯ ¯ ¯ dn = |Sn | − ¯ Ai ¯ = n! − α1 + α2 − . . . + (−1)n αn , ¯ ¯ i=1 P mit αk = |PM | , wobei PM die Menge der Permutationen von In M∈(Ikn ) ¡In ¢ bezeichnet, welche die Elemente aus M fest lassen. Für jedes¡ M ∈ gibt k ¢ . es genau (n−k)! solche Permutationen, und daher insgesamt nk (n−k)! = n! k! Wir erhalten somit: µ ¶ n X 1 1 1 n 1 dn = n! 1 − + − . . . + (−1) (−1)k . = n! 1! 2! n! k! k=2 Man kann leicht nachprüfen, dass die Zahlen dn folgende Rekursion erfüllen: dn = (n − 1)(dn−1 + dn−2 ). Zusammen mit d1 = 0 und d2 = 1 ist dadurch die Folge (dn ) eindeutig charakterisiert, ähnlich wie die Fibonacci-Folge: (dn ) = (0, 1, 2, 9, 44, 265, . . .) 7.4.2 Ein anderer Beweis der Formel für die Stirling’schen Zahlen 2. Art Sei A = {a1 , . . . , an } und B = {b1 , . . . , bk }. Für i ∈ {1, . . . , k} bezeichnen wir mit Fi die Menge aller Abbildungen A → B, bei denen bi nicht im Bild von A vorkommt, d.h. Fi := { f : A → B | bi ∈ / f (A) }. Dann ist F1 ∪. . .∪Fk die Menge aller nicht surjektiven Abbildungen A → B. r T T Für eine r-elementige Teilmenge M = {i1 , . . . , ir } von Ik ist Fi = Fij i∈M j=1 nichts anderes als die Menge aller ¡ ¢ Abbildungen A → B \ {bi1 , . . . , bir }, hat also (k − r)n Elemente. Da es kr solche Teilmengen gibt, folgt ¯ ¯ X ¯¯ \ ¯¯ µk¶ (k − r)n . Fi ¯ = αr := ¯ ¯ ¯ r i∈M M∈T (Ik ,r) 140 KAPITEL 7. ZÄHLEN (KOMBINATORIK) Die Anzahl der nicht surjektiven Abbildungen A → B ist daher nach dem Siebprinzip gleich µ ¶ k X r−1 k (−1) (k − r)n . r r=1 Subtrahieren wir diesen Ausdruck von der Anzahl kn aller Abbildungen von A nach B, so erhalten wir die in Satz 7.39 angegebene Formel. 7.5 Elementare Wahrscheinlichkeiten 7.5.1 Ereignisse Die beschriebenen Zählmethoden sind insbesondere für die Wahrscheinlichkeitsrechnung von Bedeutung. Da eine eingehende Behandlung der Wahrscheinlichkeitsrechnung weit über den Rahmen dieses Buches hinausgeht, wird hier nur kurz die Beziehung zwischen Kombinatorik und Wahrscheinlichkeitsrechnung erklärt. Für alles Weitere wird auf Vorlesungen und Bücher über Wahrscheinlichkeitsrechnung oder Stochastik verwiesen, z.B. [5]. Es geht um Vorgänge oder Experimente, bei denen der Zufall eine wesentliche Rolle spielt. Wir sprechen von Zufallsexperimenten. Ein Musterbeispiel dafür ist das Würfeln. Da gibt es die 6 möglichen ”Ergebnisse” oder ”Ausfälle” (”outcomes”) 1,2,3,4,5,6. Man kann sich nun zum Beispiel dafür interessieren, ob man eine gerade Zahl würfelt, d.h. ob das Ergebnis aus der Menge {2,4,6} ist. Das ist ein Beispiel für etwas, was man ”zufälliges Ereignis” nennt. Definition 7.48 Sei Ω die Menge der möglichen Ausfälle eines Zufallsexperiments. Wenn Ω eine endliche Menge ist (und nur dafür interessieren wir uns hier), versteht man unter einem Ereignis (”event”) eine beliebige Teilmenge von Ω. Die Menge Ω selbst heißt dann der Ereignisraum (”sample space”) des Zufallsexperiments. Beispiel: Wir würfeln gleichzeitig mit zwei Würfeln. Es gibt dann verschiedene sinnvolle Möglichkeiten, den Ereignisraum zu definieren, z.B.: a) Wir können die Menge aller Paare (i, k) mit i, k ∈ I6 als Ereignisraum ansehen, also Ω = I26 . Typische Ereignisse wären dann etwa {(i, k) ∈ Ω | k = 6}, {(i, k) ∈ Ω | i = k}, {(i, k) ∈ Ω | i + k = 7}. 7.5. ELEMENTARE WAHRSCHEINLICHKEITEN 141 b) Wenn man die Würfel nicht unterscheiden möchte, ist es unter Umständen sinnvoll, die Menge aller Kombinationen mit Wiederholung von 2 Elementen aus I6 als Ereignisraum zu nehmen (d.h. die Menge aller monotonen Funktionen I2 → I6 ). c) Bei vielen Spielen kommt es nur auf die Summe der Augenzahlen an. Man könnte also auch Ω = {2, 3, . . . , 12} setzen. Vereinigung und Durchschnitt von Ereignissen Wenn A und B zwei Ereignisse sind (also Teilmengen von Ω), so ist A ∪ B das Ereignis, dass A oder B eintritt. Beim Würfeln mit einem Würfel könnte z.B. A = {2, 4, 6} (”gerade Augenzahl”) und B = {1, 2, 3} (”Augenzahl ≤ 3”) sein. A ∪ B = {1, 2, 3, 4, 6} ist dann das Ereignis ”Augenzahl gerade oder ≤ 3”. A ∩ B ist das Ereignis, dass A und B eintritt. In unserem Beispiel: A ∩ B = {2}, ”Augenzahl gerade und ≤ 3”. Wenn A ∩ B = ∅ ist, so bedeutet das, dass A und B einander ausschließen, z.B. A wie oben und B = {1, 3, 5}, d.h. ”ungerade Augenzahl”. A und B heißen dann disjunkte Ereignisse. 7.5.2 Wahrscheinlichkeiten Wie kann man nun den Begriff ”Wahrscheinlichkeit” exakt definieren? Diese Frage hat eine lange Geschichte und beinhaltet philosophische Probleme. In der Mathematik hat sich bei diesem und anderen schwierigen Begriffen folgende axiomatische Vorgangsweise bewährt: Man nimmt wichtige Eigenschaften, die der zu definierende Begriff B haben soll, und sagt dann im Wesentlichen: Unter B versteht man irgendetwas, das diese Eigenschaften hat. Man betrachtet dann eigentlich ein formales System (im Sinne von Kapitel 1.3), bei dem diese Eigenschaften als Axiome aufscheinen. Im Falle des Begriffs ”Wahrscheinlichkeit” sieht das so aus: Unter der Wahrscheinlichkeit eines Ereignisses E stellen wir uns etwas vor, das man nähe- 142 KAPITEL 7. ZÄHLEN (KOMBINATORIK) rungsweise dadurch bestimmen kann, dass man das betrachtete Zufallsexperiment sehr oft, sagen wir n-mal, wiederholt und dann die relative Häufigkeit von E bestimmt. Die relative Häufigkeit von E ist gleich a(E) , wobei a(E) n angibt, wie oft das Ereignis E eingetreten ist. Auf Grund dieser Vorstellung kommen wir zu folgenden Annahmen: a) Die Wahrscheinlichkeit eines Ereignisses ist eine Zahl aus dem Intervall [0, 1]. b) Wenn A und B zwei disjunkte Ereignisse sind, ist die Wahrscheinlichkeit dafür, dass A oder B eintritt, gleich der Summe der Wahrscheinlichkeiten von A und B. c) Wenn Ω die Menge aller möglichen Ergebnisse ist, dann ist es hundertprozentig sicher, dass sich ein Element aus Ω ergibt. Die Wahrscheinlichkeit des ”sicheren” Ereignisses Ω wird daher gleich 1 gesetzt. Das führt zu folgender Definition: Definition 7.49 Sei Ω eine endliche Menge und P eine Abbildung P(Ω) → [0, 1] mit den Eigenschaften P (A ∪ B) = P (A) + P (B) für disjunkte Ereignisse A, B ⊂ Ω, und P (Ω) = 1. Dann nennt man P eine Wahrscheinlichkeit (”probability”) auf Ω. (Statt ”Wahrscheinlichkeit” sagt man auch ”Wahrscheinlichkeitsmaß” oder ”Wahrscheinlichkeitsverteilung”.) Das erste dieser beiden Axiome nennt man die Additivität von P. Durch Induktion folgt daraus für paarweise disjunkte Ereignisse A1 , . . . , Ak : ! Ãk k [ X Ai = P (Ai ). P i=1 i=1 Weiters folgt aus der Additivität P (Ω) = P (∅) + P (Ω), und daher P (∅) = 0. ∅ nennt man auch das ”unmögliche” Ereignis. 7.5. ELEMENTARE WAHRSCHEINLICHKEITEN 143 Bemerkung: In der Wahrscheinlichkeitstheorie untersucht man auch Wahrscheinlichkeiten auf unendlichen Mengen. Das erfordert aber einige Modifikationen, und zwar muss man einerseits im Allgemeinen die Ereignisse auf einen geeigneten Teil der Potenzmenge von Ω einschränken und andererseits die Axiome für eine Wahrscheinlichkeit durch die folgenden ersetzen: S P∞ P( ∞ A ) = i i=1 i=1 P (Ai ) für paarweise disjunkte Ereignisse A1 , A2 , . . . , P (∅) = 0, P (Ω) = 1. Das erste dieser drei Axiome nennt man σ-Additivität. Auf Grund des zweiten Axioms folgt daraus die gewöhnliche Additivität, indem man Ai = ∅ setzt für alle i > k. Bemerkung 7.50 Man kann die Wahrscheinlichkeit jedes (endlichen) Ereignisses berechnen, wenn man die Wahrscheinlichkeiten der einelementigen Teilmengen von Ω (”Elementarereignisse”) kennt, denn auf Grund der Additivität gilt: k X P ({x1 , . . . , xk }) = P ({xi }). i=1 Auf ein und demselben Ereignisraum kann es verschiedene Wahrscheinlichkeiten geben. Z.B. wird man bei einem unverfälschten Würfel und einer guten Versuchsdurchführung davon ausgehen, dass P ({k}) = 16 für jedes k ∈ I6 . Ein Falschspieler wird aber einen Würfel bevorzugen, bei dem etwa P ({6}) = 16 + 0.01 und dafür P ({1}) = 16 − 0.01 ist. Im Allgemeinen ist es nicht leicht, die Wahrscheinlichkeit eines Ereignisses zu bestimmen oder auch nur einigermaßen genau abzuschätzen. Die entscheidende Schwierigkeit besteht darin, die Wahrscheinlichkeiten der Elementarereignisse anzugeben. (Das ist ein typisches Thema der Statistik .) Wir befassen uns daher nur mit dem einfachen aber wichtigen Fall, dass die Gültigkeit der folgenden Voraussetzung angenommen wird: Definition 7.51 Sei P eine Wahrscheinlichkeit auf Ω, und |Ω| = n. Wenn 1 für alle x ∈ Ω, n so sagen wir, ”P erfüllt die Laplace-Annahme” bzw. ”das zugrundeliegende Experiment ist ein Laplace-Experiment”. P ({x}) = 144 KAPITEL 7. ZÄHLEN (KOMBINATORIK) (Von Pierre Simon Laplace (1749-1827) stammen nicht nur grundlegende Arbeiten zur Wahrscheinlichkeitsrechnung, sondern auch zur Himmelsmechanik.) Bemerkung 7.52 P erfüllt genau dann die Laplace-Annahme, wenn P ({x}) für alle x ∈ Ω denselben Wert hat. Beweis: Sei Ω = {x1 , . . . , xn } und P ({x1 }) = . . . = P ({xn }) =: p. Dann gilt (siehe Bemerkung 7.50): P (Ω) = n X i=1 P ({xi }) = np, und daraus folgt wegen P (Ω) = 1 sofort p = n1 . Die Laplace-Annahme bedeutet also, dass alle möglichen Ausgänge gleich wahrscheinlich sind. Diese Annahme ist allerdings auch bei ”idealen” Experimenten oft nicht erfüllt, z.B. bei den in Abschnitt 7.5.1 beschriebenen Ereignisräumen b) und c) (2 Würfel). Bei b) werden ja für i 6= k zwei verschiedene Ausgänge gemäß a), nämlich (i, k) und (k, i), zu einem Ausgang {i, k} zusammengefasst, für i = k jedoch nicht. Bei c) werden verschieden viele Ausgänge zu einem zusammengefasst, nämlich für jedes s ∈ {2, . . . , 12} die Elemente der Menge {(i, k) ∈ I26 | i + k = s}. Wenn wir also bei a) die Laplace-Annahme treffen, so folgt daraus, dass sie bei b) und c) unter denselben Versuchsbedingungen nicht erfüllt sein kann. Ob die Laplace-Annahme für ein bestimmtes Experiment gerechtfertigt ist oder nicht, kann man im Allgemeinen nicht mathematisch entscheiden. Aus der Laplace-Annahme folgt, dass man die Wahrscheinlichkeit eines Ereignisses durch ”Abzählen” bestimmen kann: Bemerkung 7.53 Für ein Laplace-Experiment gilt: P (E) = |E| |Ω| für jedes Ereignis E ⊂ Ω. Beweis: Sei Ω = {x1 , . . . , xn } und E = {xj1 , . . . xjk }. Dann ist (siehe Bemerkung 7.50): k X |E| 1 . P ({xji }) = k · = P (E) = n |Ω| i=1 7.5. ELEMENTARE WAHRSCHEINLICHKEITEN 145 Beispiele: 1. Wir ziehen aus einem Paket mit 52 Bridgekarten blind eine Karte. Wie groß ist die Wahrscheinlichkeit p, dass wir ”Herz” ziehen? Es gibt 13 Karten der Farbe ”Herz”. Unter der Laplace-Annahme lautet die Antwort daher: p = 13 . 52 2. Wir würfeln gleichzeitig mit 2 Würfeln. Wie groß ist die Wahrscheinlichkeit ps , dass die Summe der Augenzahlen gleich einer bestimmten Zahl s ∈ {2, . . . , 12} ist? Wir wählen, wie bereits erläutert, als Ereignisraum I26 und nehmen an, dass alle Paare (i, k) ∈ I26 gleich wahrscheinlich sind. Es geht dann um das Ereignis Es = {(i, k) ∈ I26 | i + k = s}. Wir überlegen uns also zunächst, wie viele Elemente Es hat und sehen dann: ps = P (Es ) = also (p2 , . . . , p12 ) = min(s − 1, 13 − s) |Es | = , 2 |I6 | 36 ¡1 ¢ 2 3 4 5 6 5 4 3 2 1 , , , , , , , , , , . 36 36 36 36 36 36 36 36 36 36 36 3. Wir werfen n-mal eine Münze. Wie groß ist die Wahrscheinlichkeit, dass wir genau k-mal ”Kopf” (und somit (n − k)-mal ”Adler”) werfen? Wir nehmen als Ereignisraum {0, 1}n , wobei 1 ”Kopf” und 0 ”Adler” symbolisiert. Das fragliche Ereignis Ek ist dann die Menge der 0-1Folgen der Länge n mit genau k Einsen. Unter der Laplace-Annahme (n) ist daher P (Ek ) = 2kn . 4. In einer Schachtel (oder ”Urne”) befinden sich N Kugeln, wovon s schwarz und w weiß sind, N = s + w. Wir ziehen blind und mit einem Griff n Kugeln. Wie groß ist die Wahrscheinlichkeit, dass wir genau k schwarze Kugeln ziehen? Der Ereignisraum Ω ist in diesem Fall die Menge aller n-elementigen Teilmengen von IN , wobei wir annehmen, dass Is den schwarzen Kugeln entspricht. Wir interessieren uns nun für die Menge Ek derjenigen n-elementigen Teilmengen von IN , welche genau k Elemente aus Is enthalten. Jede solche Teilmenge kann als geordnetes Paar (S, W ) aufgefasst werden, wobei S eine k-elementige Teilmenge aus Is und W eine (n−k)-elementige Teilmenge ¡Is ¢ ¡INaus ¢IN \Is = \Is {s + 1, . . . , N } ist. Ek ist also gleichmächtig mit k × n−k . Daher ¡ ¢¡ w ¢ ist |Ek | = ks n−k , und die gesuchte Wahrscheinlichkeit ist ¡s¢¡ w ¢ P (Ek ) = k ¡Nn−k ¢ . n 146 KAPITEL 7. ZÄHLEN (KOMBINATORIK) 5. Welche Situation liegt vor, wenn wir nacheinander n Kugeln ziehen, aber jede Kugel sofort wieder zurücklegen? Da wir dieselbe Kugel ein zweites Mal ziehen können, ist hier der Ereignisraum des vorigen Beispiels ungeeignet. Wir wählen statt dessen die Menge InN aller geordneten n-Tupel (x1 , . . . , xn ) mit xi ∈ IN . Das Ereignis, genau k schwarze Kugeln zu ziehen, wird jetzt durch die Menge derjenigen n-Tupel dargestellt, welche an k Stellen eine Zahl aus Is und an den restlichen n − k Stellen eine Zahl aus IN \ Is haben. Jedes derartige n-Tupel ist durch folgende drei Dinge umkehrbar eindeutig bestimmt: a) eine k-elementige Teilmenge T aus {1, . . . , n}, welche angibt, auf welchen Plätzen die Zahlen aus Is stehen, b) ein geordnetes k-Tupel S aus {1, . . . , s}, welches angibt, welche Zahlen auf diesen Plätzen stehen, c) ein geordnetes (n − k)-Tupel W aus {s + 1, . . . , N }, welches angibt, welche Zahlen auf den restlichen Plätzen stehen. Das fragliche Ereignis Ek kann also bijektiv auf die Menge aller entsprechenden Tripel (T, S, W ) abgebildet werden, d.h. auf die Menge ¡In ¢ k n−k × (I . Es folgt: × I N \Is ) s k ¡n¢ k n−k µ ¶ s w n k n−k = p q P (Ek ) = k n N k mit p = s N und q = w N = 1 − p. Bemerkungen: a) Bei den Beispielen 4) und 5) kann man auf der Menge {0, . . . , n} eine Wahrscheinlichkeit P̃ definieren, indem man P̃ ({k}) := P (Ek ) setzt (siehe Bemerkung 7.50). Es ist nur zu überprüfen, dass P̃ ({0, . . . , n}) = 1 ist, und das sieht man so: ! à n n n X X [ P̃ ({k}) = P̃ ({0, . . . , n}) = P (Ek ) = P Ek = P (Ω) = 1. k=0 k=0 k=0 7.6. ÜBUNGSAUFGABEN 147 Diese Wahrscheinlichkeit heißt für Beispiel 4) ”hypergeometrische Verteilung”, für Beispiel 5) ”Binomialverteilung”. Beispiel 3) liefert dieselbe Verteilung wie 5) mit p = 12 . b) Wegen n P P (Ek ) = 1 ergibt sich aus Beispiel 4) die folgende interessante k=0 Formel: ¶ µ ¶ n µ ¶µ X s N −s N = k n−k n k=0 für 0 ≤ s ≤ N. Bei Beispiel 5) erhalten wir nichts anderes als die Entwicklung von (p + q)n = 1 nach dem Binomischen Lehrsatz, mit p = Ns und q = 1 − p. 7.6 Übungsaufgaben 1. In ein gleichseitiges Dreieck mit Seitenlänge 1 werden 5 Punkte eingezeichnet. Zeigen Sie mit Hilfe des Schubfachprinzips, dass darunter sicher 2 Punkte mit Abstand ≤ 12 sind. 2. Beweisen Sie, dass in jeder Menge von n ganzen Zahlen (n ≥ 2) mindestens zwei vorkommen, deren Differenz durch n − 1 teilbar ist. Was ist, wenn man hier statt der Differenz die Summe betrachtet? 3. Berechnen Sie für n, m ∈ N mit n ≥ m: µ ¶ µ ¶ µ ¶ m m+1 n + + ... + . m m m Beweisen Sie das Ergebnis mit vollständiger Induktion. 4. Berechnen Sie für n ∈ N: µ ¶ µ ¶ µ ¶ n 1 n n n +2 + ... + 2 . 0 1 n 5. Wie viele binäre Relationen, die reflexiv und symmetrisch sind, gibt es auf einer Menge mit n Elementen? 6. Berechnen Sie die Koeffizienten von a) x2 y 2 in (2x − y − 3z)2 , b) x2 y 2 in (−x + 4y − 3)7 , c) wx2 y 4 z in (w + x2 + y 2 − z)5 . 148 KAPITEL 7. ZÄHLEN (KOMBINATORIK) 7. Wie viele fünfstellige Telefonnummern enthalten eine Ziffer mindestens zweimal, wenn die 0 als Anfangsziffer nicht erlaubt ist? 8. Wie viele Worte der Länge 6 mit lauter verschiedenen Buchstaben lassen sich aus A,C,D,H,I,U bilden, sodass niemals ICH oder DU darin vorkommen? 9. Wie viele Lösungen (x1 , x2 , x3 , x4 ) ∈ Z4 hat die Gleichung x1 + x2 + x3 + x4 = 32, wenn a) xi > 0 für 1 ≤ i ≤ 4, b) xi ≥ −2 für 1 ≤ i ≤ 4, c) x1 , x2 ≥ 5 und x3 , x4 ≥ 7, d) xi > 0 für 1 ≤ i ≤ 4 und x4 < 25 ? (Hinweis: Betrachten Sie etwa für a) yi := xi − 1.) 10. Beweisen Sie: S(n, 3) = 12 (3n−1 + 1) − 2n−1 . (S(n, k) bezeichnet die Stirling’schen Zahlen 2. Art.) 11. Wie viele Worte der Länge n kann man aus k Buchstaben bilden, a) wenn in jedem Wort alle Buchstaben vorkommen sollen? b) wenn außerdem niemals zwei gleiche Buchstaben hintereinanderstehen dürfen? (Konkrete Werte z.B.: n = 4, k = 3) 12. Sei P (n, k) die Anzahl der Permutationen von In , welche aus k elementfremden Zyklen bestehen, wobei Zyklen der Länge 1 mitgezählt werden. Zeigen Sie in ähnlicher Weise wie bei den Stirling’schen Zahlen 2. Art: P (n, k) = P (n − 1, k − 1) + (n − 1)P (n − 1, k). Bilden Sie damit das entsprechende Analogon zum Pascal’schen Dreieck, etwa für n ∈ {1, . . . , 5}. Bemerkung: Die Zahlen S1 (n, k) := (−1)n−k P (n, k) heißen Stirling’sche Zahlen 1. Art. 13. Wie viele Möglichkeiten gibt es, mn Gegenstände so auf m Fächer zu verteilen, dass in jedem Fach n Gegenstände sind? 7.6. ÜBUNGSAUFGABEN 149 14. Sei C ein Code auf An mit M Worten, sodass je zwei Worte aus C mindestens Abstand a haben (bezüglich der Hamming-Distanz). Wenn C maximal ist, d.h., wenn man zu C unter Einhaltung des Mindestabstands a kein Wort mehr hinzufügen kann, dann bilden die Kugeln mit Mittelpunkt aus C und Radius a − 1 eine Überdeckung von An , d.h. [ K(c, a − 1) = An . c∈C Leiten Sie aus dieser Überlegung eine untere Schranke für die Kardinalzahl eines maximalen Codes her, und vergleichen Sie diese mit der im Text angegebenen oberen Schranke, speziell für |A| = 2 und a = 3. 15. Wir werfen achtmal einen (idealen) Würfel. a) Wie groß ist die Wahrscheinlichkeit, dass jede der Augenzahlen 1, 2, 3, 4, 5, 6 mindestens einmal erscheint? b) Wie groß ist die Wahrscheinlichkeit, dass man genau zweimal eine Sechs würfelt? 16. Eine Sekretärin bereitet n verschiedene Briefe vor und beschriftet entsprechend n Kuverts. Jemand, der nicht lesen kann, steckt die Briefe völlig ”zufällig” in die Kuverts hinein. Wie groß ist die Wahrscheinlichkeit, dass dann wenigstens ein Brief im richtigen Kuvert steckt? (Konkret etwa für n = 5.) 150 KAPITEL 7. ZÄHLEN (KOMBINATORIK) Kapitel 8 Graphen 8.1 Grundbegriffe Gerichtete und ungerichtete Graphen sowie Ecken, Kanten, Pfade und Kreise wurden bereits in Kapitel 3.2 definiert. Statt ”Ecken” sagt man oft auch ”Knoten” (engl. ”nodes”). Für gerichtete Graphen verwenden wir auch im Deutschen das Wort ”Digraph”. Wir betrachten hier nur endliche Graphen. 8.1.1 Isomorphie von Graphen Wenn sich zwei Graphen nur durch die Bezeichnung der Ecken unterscheiden, dann sind sie ”im Wesentlichen” gleich. Dieser Gedanke wird folgenderweise präzisiert: Definition 8.1 Seien G = (V, E), G0 = (V 0 , E 0 ) zwei Graphen. Eine bijektive Abbildung ϕ : V → V 0 heißt Isomorphismus (”isomorphism”) der Graphen G, G0 , wenn für alle x, y ∈ V gilt: {x, y} ∈ E ↔ {ϕ(x), ϕ(y)} ∈ E 0 . Wenn es einen solchen Isomorphismus gibt, heißen G und G0 isomorph (”isomorphic”). Für Digraphen werden diese Begriffe analog definiert (mit runden statt geschwungenen Klammern). 151 152 KAPITEL 8. GRAPHEN Beispiele: a) Sei V = {1, 2, 3} und E1 = {{1, 2}, {2, 3}}, E2 = {{1, 3}, {2, 3}}. Dann sind die Graphen G1 = (V, E1 ) und G2 = (V, E2 ) isomorph, denn die Transposition (2, 3) ist ein Isomorphismus. b) Die beiden gerichteten Graphen mit Eckenmenge V = {1, 2, 3} und Kantenmengen {(1, 2), (2, 3)}, {(1, 3), (2, 3)} sind nicht isomorph: Im zweiten Graphen gibt es eine Ecke, welche Endpunkt von zwei Kanten ist, im ersten dagegen nicht. c) Sei G ein Graph mit Eckenmenge ⊂ N. Wenn man G zeichnet, dann erzeugt man eigentlich einen zu G isomorphen Graphen, indem man den Ecken gewisse Punkte und den Kanten gewisse Kurven in der Ebene zuordnet (vgl. Definition 8.68). Im allgemeinen ist es nicht leicht, zu zwei gegebenen Graphen (mit gleich vielen Ecken und Kanten) festzustellen, ob sie isomorph sind. Im schlimmsten Fall muss man dazu alle Permutationen aus Sn ausprobieren (wobei n die Anzahl der Ecken bedeutet). 8.1.2 Einige wichtige spezielle Graphen ¡ ¢ Definition 8.2 Sei V eine (endliche) Menge und E = V2 die Menge aller 2-elementigen Teilmengen von V. Dann heißt G = (V, E) der vollständige Graph (”complete graph”) auf V. Beispiel: Hier sind zwei vollständige Graphen mit je vier Ecken und einer mit 5 Ecken zu sehen: Bemerkung 8.3 Wenn |V | = |V 0 |, dann sind die vollständigen Graphen auf V und V 0 isomorph: Jede bijektive Abbildung V → V 0 ist ein Isomorphismus. Es gibt daher bis auf Isomorphie nur einen vollständigen Graphen mit n Ecken. Dieser wird mit Kn bezeichnet. Jeder einfache Graph mit n Ecken kann als Teilgraph von Kn angesehen werden. 8.1. GRUNDBEGRIFFE 153 Definition 8.4 Sei G = (V, E) ein Graph. Wenn es eine Partition {A, B} von V gibt, sodass E ⊂ { {x, y} | x ∈ A, y ∈ B }, so heißt G ein bipartiter Graph (”bipartite graph”) (mit Eckenpartition {A, B}). Wenn E = { {x, y} | x ∈ A, y ∈ B }, heißt G ein vollständiger bipartiter Graph. Bemerkung 8.5 Seien G = (V, E) und G0 = (V 0 , E 0 ) zwei vollständige bipartite Graphen mit zugehörigen Eckenpartitionen {A, B} und {A0 , B 0 }. Wenn |A| = |A0 | und |B| = |B 0 |, dann sind G und G0 isomorph: Seien f : A → A0 und g : B → B 0 bijektive Abbildungen. Dann ist die durch ½ f (x) für x ∈ A, h(x) := g(x) für x ∈ B definierte Abbildung h : V → V 0 ein Isomorphismus. Es gibt daher zu gegebenen Kardinalzahlen n, m bis auf Isomorphie nur einen vollständigen bipartiten Graphen mit Eckenpartition {A, B} und |A| = n, |B| = m. Bezeichnung: Kn,m . Das folgende Bild zeigt einen K4,3 : Jeder bipartite Graph ist Teilgraph eines vollständigen bipartiten Graphen. 8.1.3 Eckengrade Definition 8.6 Sei x eine Ecke eines ungerichteten Graphen G. Die Anzahl aller Kanten von G mit Ecke x heißt der Grad (”degree”) von x, Bezeichnung: d(x). Dabei werden Schlingen doppelt gezählt. Wenn {a, b} eine Kante von G ist, so nennen wir a, b (in G) benachbart (”adjacent”). Wir sagen auch: ”a ist ein Nachbar von b.” oder umgekehrt. Der Grad einer Ecke x ist also die Anzahl der Nachbarn von x. 154 KAPITEL 8. GRAPHEN Beispiele: a) Alle Ecken von Kn haben Grad n − 1. Je zwei Ecken von Kn sind benachbart. b) In Kn,m gibt es n Ecken mit Grad m und m Ecken mit Grad n. Definition 8.7 Ecken mit Grad 0 heißen isoliert (”isolated”). Definition 8.8 Sei x eine Ecke eines gerichteten Graphen D. Die Anzahl aller Kanten von D, welche x als Anfangspunkt haben, heißt Ausgangsgrad (”outdegree”) von x, Bezeichnung: d− (x). Die Anzahl der Kanten von D, welche x als Endpunkt haben, heißt Eingangsgrad (”indegree”) von x, Bezeichnung: d+ (x). Die entsprechenden Kanten heißen dann Ausgangskanten bzw. Eingangskanten von x. Beispiele: a) In einem Digraphen, der nur aus einem gerichteten Kreis besteht, gilt für jede Ecke x: d+ (x) = d− (x) = 1. b) Sei D der Digraph, der durch das Hasse-Diagramm der Teilbarkeitsrelation auf I12 definiert ist (siehe Kapitel 3.4). Dort ist z.B. d− (1) = 5, d+ (1) = 0, d− (6) = 1, d+ (6) = 2. c) Sei D ein Digraph, der aus einem Graphen G durch beliebige Orientierung der Kanten entsteht. (Man nennt so etwas auch einen orientierten Graphen.) Dann gilt für jede Ecke x: d(x) = d− (x) + d+ (x), wobei sich natürlich d auf G und d− , d+ auf D beziehen. Diese Beziehung gilt allerdings im Allgemeinen nicht, wenn D ein beliebiger Digraph und G der zugrundeliegende Graph ist, wie schon das einfache Beispiel V = {1, 2}, E = {(1, 2), (2, 1)} zeigt: Hier ist d(1) = d− (x) = d+ (x) = 1. Satz 8.9 Wenn G = (V, E) ein ungerichteter Graph ist, dann gilt: X d(x) = 2|E|. x∈V Wenn G ein gerichteter Graph ist, dann gilt: X X d− (x) = d+ (x) = |E|. x∈V x∈V 8.1. GRUNDBEGRIFFE 155 Beweis für P ungerichtete Graphen: Da jede Kante genau zwei Endpunkte hat, wird in x∈V d(x) jede Kante doppelt gezählt. (Das gilt auch, wenn Schlingen vorhanden sind, da diese ja beim Grad doppelt gezählt werden.) Beweis für gerichtete Graphen: Jede Kante hat genau einen Anfangspunkt. P In der Summe x∈V d− (x) wird daher jede Kante genau einmal gezählt. Analoges gilt für die Endpunkte von G. Definition 8.10 Wenn d(x) eine gerade Zahl ist, heißt x eine gerade Ecke (”even vertex”). Wenn d(x) eine ungerade Zahl ist, heißt x eine ungerade Ecke (”odd vertex”). Folgerung 8.11 (”handshaking lemma”) Die Anzahl der ungeraden Ecken eines Graphen ist gerade. Beweis: Sei P u die Anzahl der ungeraden und g die Anzahl der geraden Ecken. Dann ist x∈V d(x) ≡ u·1+g ·0 = u mod 2, nach dem Satz also u ≡ 0 mod 2. Der Name ”handshaking lemma” erklärt sich so: Betrachten wir einen Graphen, dessen Ecken die Teilnehmer einer Party symbolisieren, wobei zwei Ecken genau dann durch eine Kante verbunden sind, wenn sich die entsprechenden Personen die Hände geschüttelt haben. Dann besagt obige Folgerung, dass die Anzahl der Party-Teilnehmer, die einer ungeraden Anzahl von Personen die Hände geschüttelt haben, gerade ist. Definition 8.12 Ein Graph heißt regulär vom Grade r (oder kurz ”r-regulär”), wenn alle Ecken denselben Grad r haben. Bemerkung: Nach Satz 8.9 gilt für jeden r-regulären Graphen: r |V | = 2|E|. Beispiele: a) Kn ist (n − 1)-regulär. b) Kn,n ist n-regulär. Für n 6= m ist Kn,m nicht regulär. c) Ein (endlicher!) Graph ist genau dann 2-regulär, wenn er nur aus disjunkten Kreisen besteht. 156 KAPITEL 8. GRAPHEN d) Ein interessanter 3-regulärer Graph ist der folgende ”Petersen-Graph” (nach Julius Peter Christian Petersen 1839 - 1910, einem dänischen Mathematiker): e) Die folgenden regulären Graphen sind durch die Ecken und Kanten der fünf regulären Polyeder (”platonischen Körper”) definiert (Tetraeder, Würfel, Oktaeder, Dodekaeder, Ikosaeder): (Plato oder Platon (ca. 428-348 v. Chr.) ist einer der bedeutendsten altgriechischen Philosophen.) Definition 8.13 Sei G ein Graph. vj (G) := Anzahl der Ecken von G mit Grad j. Die nächste einfache Bemerkung erleichtert oft die Feststellung der NichtIsomorphie von zwei Graphen: Bemerkung 8.14 Die folgende Bedingung ist notwendig für die Isomorphie zweier Graphen G, G0 : vj (G) = vj (G0 ) für alle j ∈ {0, 1, . . . , m}, wobei m der maximale Grad der Ecken von G und G0 ist. Beweis: Übungsaufgabe. 8.1. GRUNDBEGRIFFE 157 Für Digraphen erhalten wir analog die Bedingungen vj+ (D) = vj+ (D0 ) und vj− (D) = vj− (D0 ), wobei natürlich vj+ (D) bzw. vj− (D) die Anzahl der Ecken von D mit Ein- bzw. Ausgangsgrad j bedeutet. Beispiele: a) Die folgenden beiden Graphen haben zwar gleich viele Ecken und Kanten, sind aber nicht isomorph, da z.B. der linke zwei Ecken vom Grad 2 hat, der rechte jedoch nur eine. b) Das folgende Beispiel zeigt, dass die Bedingung nicht hinreichend ist. Beide Graphen sind 3-regulär und haben 6 Ecken. Die obige notwendige Bedingung ist also erfüllt. Der linke Graph (K3,3 ) enthält keinen Kreis der Länge 3, der rechte Graph enthält dagegen zwei Kreise der Länge 3. Die beiden Graphen können daher nach folgender Bemerkung nicht isomorph sein: Bemerkung 8.15 Wenn zwei Graphen isomorph sind, dann enthalten sie für jede natürliche Zahl r ≥ 3 gleich viele Kreise der Länge r. (Das ist also eine weitere notwendige Bedingung für die Isomorphie zweier Graphen.) 158 KAPITEL 8. GRAPHEN Definition 8.16 Sei G = (V, E) ein einfacher Graph. Dann heißt G := ¡V ¢ (V, 2 ÂE) der zu G komplementäre Graph. Bemerkung: Zwei einfache Graphen G und G0 sind genau dann isomorph, wenn die dazu komplementären Graphen isomorph sind. Bei Graphen mit vielen Kanten lässt sich auf diese Weise die Frage nach der Isomorphie oft leichter beantworten. Bei den letzten beiden Graphen ergeben sich z.B. links zwei Kreise der Länge 3 und rechts ein Kreis der Länge 6. 8.1.4 Adjazenzlisten Zur Bearbeitung eines (gerichteten oder ungerichteten) Graphen G = (V, E) mit einem Computer eignet sich oft die Darstellung mit Adjazenzlisten (”adjacency lists”). Bei einem ungerichteten Graphen gibt man dazu für jede Ecke x die Menge A(x) aller Nachbarn von x an: A(x) := {y ∈ V | {x, y} ∈ E}. A ist also eigentlich eine Abbildung V → P(V ), und |A(x)| = d(x), falls G keine Schlingen enthält. Wenn für jede Ecke die Adjazenzliste gegeben ist, kann man natürlich die Kantenmenge des Graphen leicht rekonstruieren: E = {{x, y} | x ∈ V, y ∈ A(x)}. Wenn es sich um einen gerichteten Graphen handelt, betrachtet man entweder die Mengen A− (x) der Ecken, welche Endpunkte einer von x ausgehenden Kante sind, oder die Mengen A+ (x) der Ecken, welche Anfangspunkte von Kanten sind, deren Endpunkt x ist: A− (x) := {y ∈ V | (x, y) ∈ E}, A+ (x) := {y ∈ V | (y, x) ∈ E}. Wir sehen: |A− (x)| = d− (x), und ebenso |A+ (x)| = d+ (x). Durch jede der beiden Abbildungen A− und A+ wird der Digraph eindeutig beschrieben. Oft ist es jedoch zweckmäßig, sowohl A− als auch A+ zu verwenden. Beispiel: Sei V = {1, 2, 3, 4, 5}, E = {(1, 2), (1, 3), (1, 4), (2, 1), (3, 2), (3, 4)}. In der folgenden Tabelle sind die Adjazenzlisten von D = (V, E) sowie des 8.2. WEGE UND WANDERUNGEN 159 zugrundeliegenden ungerichteten Graphen G zu sehen: D: A− (1) = {2, 3, 4} A− (2) = {1} A− (3) = {2, 4} A− (4) = {} A− (5) = {} G: A(1) = {2, 3, 4} A(2) = {1, 3} A(3) = {1, 2, 4} A(4) = {1, 3} A(5) = {} Diese Mengen kann man in einem Computer durch (eindimensionale) Felder (”arrays”) oder (verkettete) Listen (”linked lists”) darstellen (siehe z.B. [27]). Felder sind sehr einfach zu handhaben, allerdings muss die maximale Anzahl der Eintragungen, also der maximale Grad, bekannt sein. Verkettete Listen sind zwar etwas schwieriger zu programmieren, dafür ist aber die Anzahl der Eintragungen nur durch den verfügbaren Speicherplatz begrenzt. Ein eindimensionales Feld bzw. eine verkettete Liste ist eigentlich eine endliche Folge, da durch die Art der Abspeicherung natürlich eine bestimmte Reihenfolge festgelegt ist. Wir schreiben daher Listen mit runden Klammern, und es hat einen Sinn, vom ”ersten Element” einer Liste zu sprechen. Im Übrigen verwenden wir für Listen dieselben Symbole ∈, ∪, ∩, \ wie für Mengen. Dabei bedeutet etwa L1 ∪ L2 , dass die Listen L1 und L2 aneinandergefügt werden, z.B.: (a, b, d) ∪ (c, f ) = (a, b, d, c, f ). Für Listen sind ∪ und ∩ natürlich nicht kommutativ! 8.2 Wege und Wanderungen Definition 8.17 Seien a, b Ecken des Graphen G = (V, E). Eine Folge w = (x1 , x2 , . . . , xn ) von Ecken von G heißt Wanderung (”walk”) von a nach b, wenn x1 = a, xn = b, und ui := {xi , xi+1 } ∈ E für alle i ∈ {1, . . . , n − 1}. Wenn alle Kanten ui paarweise verschieden sind, heißt w ein Weg (”trail”, ”tour”) von a nach b. Wenn a = b ist, heißt w eine geschlossene Wanderung bzw. ein geschlossener Weg. (Analog für Digraphen mit ui := (xi , xi+1 ).) Unter der Länge von w verstehen wir wie bei einem Pfad die Zahl n − 1. Achtung: Diese Begriffe sind leider nicht standardisiert! In manchen Büchern werden z.B. Wanderungen als ”path” bezeichnet. Geschlossene Wege heißen oft ”circuits”. 160 KAPITEL 8. GRAPHEN Bemerkung: Eine Wanderung mit paarweise verschiedenen Ecken ist ein Pfad. Beispiel: Sei G der vollständige bipartite Graph mit Eckenpartition {{1, 2, 3}, {4, 5, 6}}. (1, 5, 4, 2) ist keine Wanderung von 1 nach 2, da {5, 4} keine Kante ist. (1, 5, 1, 4, 2) ist eine Wanderung von 1 nach 2, aber kein Weg, da die Kante {1, 5} = {5, 1} zweimal vorkommt. (1, 5, 3, 4, 1, 6, 2) ist ein Weg, aber kein Pfad. (1, 5, 3, 4, 2) ist ein Pfad. Bemerkung 8.18 Durch Weglassung von geschlossenen Teilstücken kann jede Wanderung (und daher auch jeder Weg) zu einem Pfad gemacht werden. Ebenso kann jede geschlossene Wanderung zu einem Kreis gemacht werden. Beweis: Sei (x1 , x2 , . . . , xn ) eine Wanderung von a nach b. Angenommen xi = xk mit i < k. Dann ist (xi , . . . , xk−1 , xk ) ein geschlossenes Teilstück. Lassen wir dessen Ecken mit Ausnahme von xi von der Wanderung weg, so entsteht eine kürzere Wanderung von a nach b. Das können wir so lange wiederholen, bis alle Ecken paarweise verschieden sind. Im Falle einer geschlossenen Wanderung ergibt das den trivialen Pfad (a). Wenn wir aber den Fall i = 1, k = n nicht zulassen, erhalten wir am Ende einen Kreis. Bemerkung 8.19 Bei einem geschlossenen Weg kann jede Ecke des Weges als Anfangspunkt gewählt werden: Wenn (x1 , x2 , . . . , xn−1 , xn = x1 ) ein geschlossener Weg ist, dann ist auch (xk , xk+1 , . . . , xn = x1 , x2 , . . . , xk ) ein geschlossener Weg (für jedes k ∈ {2, . . . , n − 1}). 8.2.1 Eulersche Wege Definition 8.20 Ein Weg, der alle Kanten von G enthält, heißt Eulerweg oder eulerscher Weg (”eulerian trail”) (von G). (Leonhard Euler, 1707-1783, war die prägende Gestalt der Mathematik im 18. Jahrhundert. Er erzielte bahnbrechende Resultate in allen mathematischen Disziplinen.) 8.2. WEGE UND WANDERUNGEN 161 Die Existenz eines geschlossenen Eulerweges bedeutet also, dass man auf G eine ”Rundreise” machen kann, bei der man jede ”Straße” (= Kante) genau einmal benützt. Wenn ein Graph ohne isolierte Ecken einen eulerschen Weg besitzt, ist er klarerweise zusammenhängend. Bei einer Wanderung entlang eines Eulerweges muss man jede Ecke, die man besucht, auf einer noch nicht benutzten Kante wieder verlassen, da keine Kante zweimal vorkommen darf. Abgesehen von Anfangs- und Endpunkt des Weges muss daher jede Ecke geraden Grad haben. Interessanterweise sind diese notwendigen Bedingungen für die Existenz eines Eulerweges bereits hinreichend: Satz 8.21 In einem Graphen ohne isolierte Ecken gibt es genau dann einen geschlossenen Eulerweg, wenn er zusammenhängend ist und alle Ecken geraden Grad haben. Bemerkung: Wenn es in einem Graphen einen geschlossenen Eulerweg gibt, heißt der Graph eulersch (”eulerian”). Beweis: Sei G ein zusammenhängender Graph, in dem alle Ecken geraden Grad haben. Der triviale Fall, dass G nur aus einer Ecke besteht, ist dabei ausgeschlossen. Sei w = (x1 , x2 , ..., xn ) ein Weg mit maximaler Länge und Gw der zugehörige Teilgraph. Da wir G 6= K1 annehmen, ist jedenfalls n ≥ 2. Wenn w bereits ein geschlossener Eulerweg ist, sind wir fertig. Sonst unterscheiden wir zwei Fälle: 1. Fall: xn 6= x1 . Der Grad von xn ist in Gw ungerade (siehe Bemerkung vor dem Satz), in G aber gerade. Daher gibt es in G eine von xn ausgehende Kante {xn , y}, welche nicht zu Gw gehört. Dann ist aber (x1 , x2 , ..., xn , y) ein längerer Weg als w, Widerspruch. 2. Fall: xn = x1 , d.h., w ist ein geschlossener Weg (enthält aber nicht alle Kanten). Sei {a, b} eine Kante von G, welche nicht zu w gehört. a kann nicht auf w liegen, denn wäre etwa a = xk , so wäre (xk , xk+1 , . . . , xn = x1 , . . . , xk = a, b) ein längerer Weg als w. Da G zusammenhängend ist, gibt es einen Weg u von x1 nach a. Sei xl die letzte Ecke von u, die auch auf w liegt. Da a nicht auf w liegt, ist xl 6= a, und es gibt daher eine auf xl folgende Ecke y von u. 162 KAPITEL 8. GRAPHEN Dann ist aber (xl , xl+1 , . . . , xn = x1 , . . . xl , y) wieder ein längerer Weg als w, Widerspruch. Satz 8.22 In einem Graphen ohne isolierte Ecken gibt es genau dann einen Eulerweg von a nach b mit a 6= b, wenn er zusammenhängend ist und außer a und b alle Ecken geraden Grad haben. Beweis: Sei also G ein zusammenhängender Graph, in welchem außer a und b alle Ecken geraden Grad haben. Wir unterscheiden wieder zwei Fälle: 1. Fall: {a, b} ist keine Kante von G. In diesem Fall erhalten wir durch Hinzufügung der Kante {a, b} einen Graphen G0 , in dem alle Ecken geraden Grad haben. In einem geschlossenen Eulerweg von G0 muss die Kante {a, b} vorkommen. Wir können daher annehmen, dass dieser Weg so aussieht: (x1, . . . , xn−2 , b, a = x1 ). Dann ist aber (x1, . . . , xn−2 , b) ein Eulerweg von a nach b in G. 2. Fall: {a, b} ist eine Kante von G. Wir fügen in die Kante {a, b} eine Ecke ein, d.h. wir ersetzen {a, b} durch zwei Kanten {a, c}, {c, b} mit einer ”neuen” Ecke c ∈ / V. Dann liegt der 1. Fall vor, und es gibt daher einen Eulerweg w von a nach b. In diesem müssen entweder a, c, b oder b, c, a hintereinander vorkommen. Ersetzen wir diese drei Ecken durch a, b bzw. b, a, so erhalten wir einen Eulerweg im ursprünglichen Graphen. Diese Sätze führen in naheliegender Weise zu Algorithmen für die Konstruktion eines Eulerweges. Es genügt den geschlossenen Fall zu betrachten, da sich der nicht geschlossene wie beim Beweis des letzten Satzes leicht darauf zurückführen lässt. 8.2. WEGE UND WANDERUNGEN 163 Algorithmus zur Berechnung eines geschlossenen Eulerweges in einem einfachen zusammenhängenden Graphen: Eingabe: Eckenliste V Adjazenzlisten A(x) für alle x ∈ V. for x ∈ V do d(x) := |A(x)| if ∃x : mod(d(x), 2) = 1 then Ausgabe: ”Es gibt keinen geschlossenen Eulerweg.” else P q := 12 x∈V d(x) ( = Anzahl der Kanten) x := erstes Element von V C := (x) while q > 0 do while A(x) 6= ∅ do y := erstes Element von A(x) füge y am Ende von C an entferne y aus A(x) entferne x aus A(y) q := q − 1 x := y end of while if q > 0 then x := erstes Element von C mit A(x) 6= ∅ schreibe C mit x als erstem und letztem Element end of if end of while Ausgabe: C end of if 164 8.2.2 KAPITEL 8. GRAPHEN Hamiltonsche Kreise Ein Kreis enthält immer genauso viele Kanten wie Ecken. In einem Graphen mit mehr Kanten als Ecken gibt es daher sicher keinen Kreis, der alle Kanten enthält. Die Frage, ob es einen Kreis gibt, der alle Ecken enthält, ist dagegen ein interessantes und schwieriges Problem. Definition 8.23 Ein Kreis, der alle Ecken eines Graphen G enthält, heißt Hamiltonkreis oder hamiltonscher Kreis (”hamiltonian cycle”). Ein Pfad, der alle Ecken von G enthält, heißt Hamiltonpfad. (William Rowan Hamilton, 1805 - 1865, ist als Entdecker der Quaternionen bekannt. Er war auch ein bedeutender theoretischer Physiker.) Es geht also um die Frage, ob es in einem gegebenen Graphen eine ”Rundreise” gibt, bei der man jede ”Stadt” (= Ecke) genau einmal besucht. Nicht jeder Graph besitzt einen Hamiltonkreis bzw. -pfad. Wenn ein Graph einen Hamiltonkreis besitzt, dann nennt man den Graphen hamiltonsch. Wenn ein Graph einen Hamiltonkreis besitzt, dann enthält er auch einen Hamiltonpfad (man braucht nur eine Kante des Hamiltonkreises wegzulassen), aber nicht umgekehrt. Beispiele: a) Die Graphen der fünf regulären Polyeder sind hamiltonsch (siehe Übungsaufgabe 3). b) Jeder hamiltonsche Graph ist zusammenhängend, und alle Eckengrade sind ≥ 2. Wenn ein Graph nur aus einem Pfad besteht, dann ist dieser ein Hamiltonpfad; es gibt in diesem Graphen aber keinen Hamiltonkreis. c) Es gibt schon sehr einfache Graphen, die nicht einmal einen Hamiltonpfad enthalten, z.B. G = ( {1, 2, 3, 4}, {{1, 2}, {1, 3}, {1, 4}} ). Im allgemeinen ist es sehr schwer, festzustellen, ob ein Graph einen Hamiltonkreis bzw. -pfad besitzt. Es handelt sich hier um ein sogenanntes ”NPvollständiges” Problem. (”NP” kommt von ”non-deterministic polynomial”, siehe Vorlesungen oder Bücher über Algorithmen und Komplexität, z.B. [27].) In der Praxis bedeutet das, dass es nicht möglich ist, ein Programm zu schreiben, das für einen beliebigen Graphen auch nur mäßiger Größe in einem vernünftigen Zeitraum mit Sicherheit entscheiden kann, ob er hamiltonsch ist. 8.3. ADJAZENZMATRIZEN 8.3 165 Adjazenzmatrizen Eine m×n-Matrix von Elementen einer Menge S ist, anschaulich gesprochen, eine Tabelle mit m Zeilen und n Spalten, in der Elemente von S eingetragen sind. Genauer: Definition 8.24 Seien m, n ∈ N und S eine beliebige Menge. Unter einer m × n-Matrix von Elementen aus S versteht man eine Abbildung A : Im × In → S. Schreibweise: Ähnlich wie bei Folgen schreibt man für A((i, k)) meist aik . Die ganze Matrix wird dann folgenderweise geschrieben: a11 a12 . . . a1n a21 a22 . . . a2n A = .. .. .. . . . am1 am2 . . . amn oder kurz: A = (aik ). aik ist also das Element in der i-ten Zeile und k-ten Spalte. m nennt man die Zeilenanzahl und n die Spaltenanzahl dieser Matrix. Matrizen werden in Vorlesungen und Büchern über Lineare Algebra ausführlich diskutiert (siehe z.B. [2]). Insbesondere wird dort erklärt, warum es sinnvoll ist, das Produkt zweier Matrizen in folgender Weise zu definieren: Definition 8.25 Sei A eine m × n-Matrix und B eine n × s-Matrix von reellen Zahlen (oder allgemeiner von Elementen eines Rings). Dann versteht man unter dem Produkt AB von A und B die m × s-Matrix C = (cik ) mit cik = n X aij bjk = ai1 b1k + . . . + ain bnk . j=1 cik entsteht also durch Multiplikation der Elemente der i-ten Zeile von A mit den entsprechenden Elementen der k-ten Spalte von B und anschließende Summation. AB ist nur definiert, wenn die Spaltenanzahl von A gleich der Zeilenanzahl von B ist. 166 KAPITEL 8. GRAPHEN Im allgemeinen ist AB 6= BA, auch wenn beide Produkte definiert sind. Beispiel: µ µ 1 2 0 3 1 1 0 1 ¶µ ¶µ 1 1 0 1 1 2 0 3 ¶ ¶ = = µ µ 1 3 0 3 1 5 0 3 ¶ ¶ Wenn A eine quadratische Matrix ist, d.h. gleich viele Zeilen wie Spalten hat, dann kann man AA bilden und daher auch beliebige Potenzen An mit n ∈ N, indem man A1 := A und An+1 := An A setzt. Definition 8.26 Sei G ein (gerichteter oder ungerichteter) Graph mit n Ecken x1 , . . . , xn . Die Adjazenzmatrix (”adjacency matrix”) von G ist die n × n-Matrix A = (aik ) mit ½ 1 falls (xi , xk ) ∈ E bzw. {xi , xk } ∈ E, aik := 0 sonst. Beispiel: Die Adjazenzmatrizen des Digraphen von zugrundeliegenden Graphen sehen so aus: 0 1 1 0 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 Abschnitt 8.1.4 und des 1 0 1 0 0 0 0 0 0 0 Die Zeilensummen der Adjazenzmatrix ergeben die Ausgangsgrade der Ecken, die Spaltensummen die Eingangsgrade: n X k=1 − aik = d (xi ), n X aik = d+ (xk ). i=1 Es ist nun interessant, dass die Matrizenmultiplikation auch für Adjazenzmatrizen von Graphen eine sehr natürliche Bedeutung hat: Satz 8.27 Sei A die Adjazenzmatrix eines (gerichteten oder ungerichteten) (s) Graphen mit Eckenmenge {x1 , . . . , xn }. Dann gibt das Element aik in der i-ten Zeile und k-ten Spalte der Matrix As an, wie viele (gerichtete) Wanderungen der Länge s es von xi nach xk gibt. 8.4. BÄUME 167 Beweis mit Induktion nach s: s = 1: Eine Wanderung der Länge 1 ist nichts anderes als eine Kante. s → s + 1: Jede Wanderung der Länge s + 1 von xi nach xk besteht aus einer Wanderung der Länge s von xi zu einer Ecke xj und einer Kante (xj , xk ). Nach Induktionsvoraussetzung ist die Anzahl der Wanderungen der Länge s (s) (s) von xi nach xj gleich aij . Wir haben also die aij für alle xj zu addieren, welche mit xk durch eine Kante verbunden sind. Die gesuchte Anzahl ist daher n X (s) (s+1) aij ajk = aik . j=1 Beispiel: Die Adjazenzmatrix des K3,3 mit Eckenpartition {{1, 2, 3}, {4, 5, 6}} sieht so aus: 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 A= 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 Die zweite und dritte Potenz von A sagt uns, wie viele Wanderungen der Länge 2 bzw. 3 es jeweils gibt: 2 A = 8.4 3 3 3 0 0 0 3 3 3 0 0 0 3 3 3 0 0 0 0 0 0 3 3 3 0 0 0 3 3 3 0 0 0 3 3 3 3 , A = 0 0 0 9 9 9 0 0 0 9 9 9 0 0 0 9 9 9 9 9 9 0 0 0 9 9 9 0 0 0 9 9 9 0 0 0 . Bäume Eine besondere Rolle spielen Graphen, die keinen Kreis enthalten. Definition 8.28 Ein zusammenhängender Graph, der keinen Kreis enthält, heißt Baum (”tree”). 168 KAPITEL 8. GRAPHEN Hier zählen auch Schlingen als Kreise, d.h. ein Baum darf keine Schlinge enthalten und ist daher immer ein einfacher Graph. Definition 8.29 Ein beliebiger Graph, der keinen Kreis enthält, heißt Wald (”forest”). Jede Zusammenhangskomponente eines Waldes ist also ein Baum. Der allereinfachste Baum ist der Graph K1 . Wir nennen ihn auch den trivialen Baum. Satz 8.30 Ein einfacher Graph G ist genau dann ein Baum, wenn es zu je zwei Ecken von G genau einen Verbindungspfad gibt. Beweis: 1) Seien x, y zwei Ecken eines Baumes G. Da G zusammenhängend ist, gibt es mindestens einen Pfad von x nach y. Angenommen, es gäbe zwei solche Pfade, P = (x = x1 , x2 , . . . , xn = y) und P 0 = (x = x01 , x02 , . . . , x0m = y). Mit V (P 0 ) bezeichnen wir die Eckenmenge von P 0 . Wenn P 6= P 0 ist, dann gibt es einen Index i > 1, sodass xi 6= x0i . Sei i0 der kleinste solche Index und folglich xi0 −1 = x0i0 −1 . Da P und P 0 denselben Endpunkt y haben, gibt es einen Index i ≥ i0 mit xi ∈ V (P 0 ) (nämlich i = n). Sei i1 der kleinste derartige Index, also xi1 = x0k1 für ein k1 ≥ i0 . Dann wäre aber (xi0 −1 , xi0 , . . . , xi1 , x0k1 −1 , . . . , x0i0 ) ein Kreis, Widerspruch. 2) Sei G ein einfacher Graph, in dem es zu je zwei Ecken genau einen Verbindungspfad gibt. Dann ist G jedenfalls zusammenhängend. Wenn G kein Baum ist, dann enthält G einen Kreis K. Da K keine Schlinge ist, hat K mindestens zwei Ecken, und diese sind durch zwei verschiedene Pfade verbunden, im Widerspruch zur Voraussetzung. Bemerkung: In einem Baum ist jeder Weg ein Pfad; denn ein Weg, der kein Pfad ist, enthält immer einen Kreis (siehe Bemerkung 8.18). Satz 8.31 In einem nichttrivialen Baum gibt es stets mindestens zwei Ecken mit Grad 1. Beweis: Sei G ein Baum 6= K1 und P = (x1 , . . . , xn ) ein Pfad in G mit maximaler Länge. Wäre d(x1 ) > 1, dann wäre x1 außer mit x2 noch mit einer anderen Ecke y verbunden. y ∈ / {x1 , . . . , xn }, denn sonst ergäbe sich ein Kreis. Also wäre (y, x1 , . . . , xn ) ein Pfad. Das ist aber ein Widerspruch zur Maximalität von P. Es folgt d(x1 ) = 1, und analog d(xn ) = 1. 8.4. BÄUME 169 Satz 8.32 Ein zusammenhängender Graph G = (V, E) ist genau dann ein Baum, wenn |E| = |V | − 1 ist. Beweis: 1) Sei G = (V, E) ein Baum. Wir verwenden Induktion nach |V |. |V | = 1: In diesem Fall handelt es sich um den trivialen Baum, und da ist |E| = 0 = |V | − 1. |V | − 1 → |V |: Nach dem vorigen Satz gibt es eine Ecke a mit Grad 1. Lassen wir diese Ecke (und die zugehörige Kante) weg, so entsteht ein Baum G0 mit |V | − 1 Ecken, denn durch das Weglassen von a wird der Zusammenhang nicht zerstört und es kann auch kein Kreis entstehen. Die Anzahl der Kanten von G0 beträgt nach Induktionsannahme |V | − 2. Der ursprüngliche Graph G hat eine Kante mehr, also |V | − 1. 2) Sei G = (V, E) ein zusammenhängender Graph mit |E| = |V | − 1. Wenn G einen Kreis enthielte, dann könnte man aus diesem Kreis eine Kante weglassen, ohne dass der Graph unzusammenhängend wird. Das könnte man so lange wiederholen, bis man schließlich einen Graphen G0 = (V, E 0 ) ohne Kreise erhielte. Das wäre dann ein Baum, und nach dem 1. Teil des Beweises würde |E 0 | = |V | − 1 folgen. Wegen |E 0 | < |E| ergäbe das aber einen Widerspruch zur Voraussetzung. Bemerkung: Für einen Wald mit z Zusammenhangskomponenten gilt offensichtlich |E| = |V | − z. 8.4.1 Wurzelbäume Bei vielen Anwendungen von Bäumen, z.B. zur Darstellung von hierarchischen Strukturen, gibt es eine besonders ausgezeichnete Ecke. Das führt zu: Definition 8.33 Sei G ein Baum und r eine Ecke von G. Dann heißt T = (G, r) ein Wurzelbaum (”rooted tree”), und die Ecke r heißt Wurzel (”root”) von T. Unter den Ecken und Kanten von T verstehen wir dann natürlich die Ecken und Kanten von G. Die Menge der Ecken von T bezeichnen wir auch mit V (T ). 170 KAPITEL 8. GRAPHEN Bemerkung 8.34 Jeder Wurzelbaum T = (G, r) kann als gerichteter Graph aufgefasst werden, indem man jede Kante so orientiert, dass der Anfangspunkt die vorletzte Ecke auf dem eindeutigen Pfad von r zum Endpunkt ist. Beweis: Wenn {a, b} eine Kante von T ist, dann gibt es einen eindeutig bestimmten Pfad von r nach b, sagen wir (r = x0 , x1 , . . . , xn−1 , xn = b). Wenn xn−1 = a ist, dann wählen wir (a, b) als gerichtete Kante. Wenn nicht, dann ist (r = x0 , x1 , . . . , xn−1 , xn = b, xn+1 = a) ein Pfad von r nach a. (Wäre nämlich a ∈ {x0 , . . . , xn }, so ergäbe sich ein Kreis.) In diesem Fall nehmen wir daher (b, a) als gerichtete Kante. Wir denken uns also in einem Wurzelbaum jede Kante ”von der Wurzel weg” orientiert. Die Wurzel hat somit Eingangsgrad 0. Bemerkung 8.35 In einem (als Digraph aufgefassten) Wurzelbaum hat jede Ecke x mit Ausnahme der Wurzel Eingangsgrad 1. Beweis: Sei (a, x) eine Eingangskante von x. Nach der vorigen Bemerkung ist a die vorletzte Ecke auf dem eindeutigen Pfad von r nach x und somit ebenfalls eindeutig bestimmt. Definition 8.36 Der Anfangspunkt der Eingangskante von x heißt Vater (”parent”) oder Vorgänger (”predecessor”) von x. Die Endpunkte der Ausgangskanten von x heißen Söhne (”children”) oder Nachfolger (”successor”) von x. Die Ecken mit Ausgangsgrad 0 heißen Blätter (”leaves”) oder Endecken. Üblicherweise zeichnet man Wurzelbäume so, dass die Wurzel oben ist und alle Kanten von oben nach unten orientiert sind. Wurzelbäume dienen häufig zur Datenstrukturierung, z.B. bei den Verzeichnissen auf einem Datenträger. Bemerkung 8.37 Sei T ein Baum mit Wurzel r. Dann entspricht jeder Ecke x von T in natürlicher Weise ein Teilbaum Tx mit Wurzel x, nämlich die Menge aller Ecken und Kanten, welche zu einem von x ausgehenden gerichteten Pfad gehören. Insbesondere gilt für die Söhne x1 , . . . , xs von r: V (T ) = {r} ∪ s S V (Txi ). i=1 Die Eckenmenge von Tx besteht also aus x und allen ”Nachkommen” von x, das sind die Söhne von x, deren Söhne, usw.. 8.4. BÄUME 171 Definition 8.38 Die Länge des Pfades von der Wurzel zu einer bestimmten Ecke heißt das Niveau (”level”) dieser Ecke. Das größte auftretende Niveau heißt die Höhe (”height”) des Wurzelbaumes. m-Bäume In einem wichtigen Spezialfall gibt es eine gute Abschätzung für die Höhe: Definition 8.39 Ein Wurzelbaum, in dem jede Ecke höchstens Ausgangsgrad m hat, heißt m-Baum (”m-ary tree”), speziell für m = 2: binärer Baum (”binary tree”). Satz 8.40 Für die Höhe h eines m-Baumes mit b Blättern gilt h ≥ logm b. Beweis: Die Behauptung ist äquivalent zu b ≤ mh . Das beweisen wir mit Induktion nach h. h = 0: In diesem Fall besteht der Baum nur aus der Wurzel, und diese ist gleichzeitig das einzige Blatt, also b = 1 = m0 . ≤ h → h + 1: Sei T ein Wurzelbaum mit Höhe h + 1. Lassen wir die Wurzel r (und die davon ausgehenden Kanten) weg, so entsteht ein Wald, der aus den Bäumen Tx1 , . . . , Txs besteht, wobei x1 , . . . , xs die Söhne von r sind, s = d− (r) ≤ m. Die Höhen der Txi sind ≤ h, daher enthält jeder Baum Txi nach Induktionsvoraussetzung höchstens mh Blätter. Die Anzahl der Blätter von T ist daher ≤ s · mh ≤ mh+1 . Anwendungsbeispiel (”Entscheidungsbäume”): Wenn eine Entscheidung in mehreren Schritten zustandekommt, wobei in jedem Schritt eine ”elementare” Entscheidung getroffen wird, so kann die gesamte Entscheidungsprozedur als Wurzelbaum dargestellt werden. Jede elementare Entscheidung entspricht einer Ecke des Baums, und die möglichen Ergebnisse einer elementaren Entscheidung werden durch die Söhne repräsentiert. Man beginnt bei der Wurzel und kommt schließlich zu einem Blatt, welches das Endergebnis der Entscheidung darstellt. 172 KAPITEL 8. GRAPHEN Konkretes Beispiel: Angenommen, man hat r gleich aussehende Münzen a1 , . . . , ar und weiß, dass höchstens eine der Münzen falsch ist. Außerdem hat man noch eine Münze a0 , von der man sicher weiß, dass sie echt ist. Eine falsche Münze unterscheidet sich durch ihr Gewicht von einer echten. Wie viele Wägungen mit einer Balkenwaage sind nötig, um die falsche Münze zu finden (falls vorhanden), und festzustellen, ob sie zu leicht oder zu schwer ist? Die möglichen Endergebnisse, also die Blätter des Entscheidungsbaums, bezeichnen wir mit e, s1 , l1 , . . . , sr , lr . Dabei bedeutet e, dass alle Münzen echt sind, si , dass die i-te Münze zu schwer ist, und li , dass die i-te Münze zu leicht ist. Bei jeder Wägung gibt es drei mögliche Ausgänge. Es ist also b = 2r + 1 und m = 3, und daher h ≥ log3 (2r + 1). Für r = 4 heißt das z.B. h ≥ log3 (9) = 2. In diesem Fall ist es tatsächlich möglich, einen Entscheidungsbaum mit Höhe 2 zu konstruieren (Übungsaufgabe 6). Durchsuchen von Wurzelbäumen Es gibt verschiedene Verfahren, einen gegebenen Wurzelbaum zu durchsuchen, um z.B. Ecken mit bestimmten Eigenschaften zu finden. Es geht dabei darum, die Ecken des Baumes in Form einer Liste (d.h. einer endlichen Folge) darzustellen, wobei man unter Umständen abbricht, sobald man eine geeignete Ecke gefunden hat. Das ist besonders dann interessant, wenn der Baum sehr groß ist und vielleicht gar nicht vollständig im Arbeitsspeicher des Computers dargestellt werden kann. Es genügt, wenn man für jede Ecke bei Bedarf die Liste der Söhne berechnen oder von einem externen Speicher einlesen kann. Diese Suchverfahren dienen aber auch zu verschiedenen anderen Zwecken, von denen einige hier besprochen werden. Die praktisch verwendeten Methoden zerfallen in zwei Klassen, welche ”Tiefensuche” und ”Breitensuche” heißen. Tiefensuche (”depth-first search”) Grundidee: Wir beginnen bei der Wurzel und gehen in jedem Schritt, wenn möglich, längs einer Kante zu einer Ecke mit größerem (”tieferem”) Niveau. Wenn das nicht möglich ist, gehen wir so weit zurück (”backtracking”), bis 8.4. BÄUME 173 wir eine Ecke finden, von der aus eine Kante zu einer noch nicht besuchten Ecke mit größerem Niveau führt. Das folgende Programm initialisiert die Eckenliste mit der Wurzel und ruft sich dann rekursiv für jeden zu einem Sohn x von r gehörigen Teilbaum Tx auf (siehe Bemerkung 8.37). Wir nehmen dabei an, dass der Baum durch die Wurzel r und die Adjazenzlisten A− (x) gegeben ist. L und x sind als ”lokale Variable” deklariert. Das bedeutet: Wenn das Programm ein weiteres Mal aufgerufen wird, während ein vorhergehender Aufruf noch nicht abgeschlossen wurde, so werden neue Variablen L und x erzeugt, die mit den früheren nichts zu tun haben. DFS(r): local variables: L, x L := (r) for x ∈ A− (r) do L := L ∪ DFS(x) return L Dazu ein Beispiel: 1 2 4 3 5 8 9 6 7 10 Das Programm läuft folgenderweise ab, wobei wir die verschiedenen mit L bzw. x bezeichneten Variablen durch Indizes unterscheiden: Aufruf von DFS(1) L1 := (1), x1 := 2 174 KAPITEL 8. GRAPHEN Aufruf von DFS(2) L2 := (2), x2 := 4 Aufruf von DFS(4) L4 := (4) return L4 (da for-Schleife leer) L2 := (2, 4), x2 := 5 Aufruf von DFS(5) L5 := (5), x5 := 8 Aufruf von DFS(8) L8 := (8) return L8 L5 := (5, 8), x5 := 9 Aufruf von DFS(9) L9 := (9) return L9 L5 := (5, 8, 9), x5 := 10 Aufruf von DFS(10) L10 := (10) return L10 L5 := (5, 8, 9, 10) return L5 (da for-Schleife abgearbeitet). L2 := (2, 4, 5, 8, 9, 10) return L2 L1 := (1, 2, 4, 5, 8, 9, 10), x1 := 3 Aufruf von DFS(3) L3 := (3), x3 := 6 Aufruf von DFS(6) 8.4. BÄUME 175 L6 := (6) return L6 L3 := (3, 6), x3 := 7 Aufruf von DFS(7) L7 := (7) return L7 L3 := (3, 6, 7) return L3 L1 := (1, 2, 4, 5, 8, 9, 10, 3, 6, 7) return L1 . Anwendungsbeispiel: Algebraische oder logische Ausdrücke in polnischer Notation. In Kapitel 1.3.1 haben wir aussagenlogische Ausdrücke so definiert: Aussagensymbole sind zulässige Ausdrücke, und wenn P und Q zulässige Ausdrücke sind, dann auch (P ), (¬P ) und (P → Q). Man könnte auch noch (P ∨ Q) und (P ∧ Q) dazunehmen. In ähnlicher Weise kann man algebraische Ausdrücke z.B. folgenderweise definieren: a) Symbole a, b, . . . , x, y, z für Variable sind algebraische Ausdrücke; b) (konstante) Zahlen sind algebraische Ausdrücke; c) wenn P und Q algebraische Ausdrücke sind, dann auch (P ), chs(P ), rec(P ) (für P 6= 0), (P + Q), (P ∗ Q). Dabei bedeutet ”chs” Vorzeichenänderung und ”rec” Bildung des Kehrwerts. Solche Ausdrücke lassen sich durch einen Wurzelbaum darstellen, bei dem die Blätter Aussagen- bzw. Variablensymbole oder Konstanten sind, und die anderen Ecken Verknüpfungen ihrer Söhne entsprechen. Am besten wird das wohl an Hand eines konkreten Beispiels klar. Betrachten wir etwa folgenden algebraischen Ausdruck (links in der üblichen Schreibweise, rechts entsprechend der soeben angegebenen, formalen Definition): µ ¶ y+2 (x + 4) − = ((x + 4) ∗ chs ((y + 2) ∗ rec(3))) . 3 176 KAPITEL 8. GRAPHEN Der entsprechende Wurzelbaum sieht so aus: * + x chs * 4 + y rec 2 3 Erzeugen wir aus diesem Baum mit Hilfe von DFS eine Liste, so erhalten wir (nach Weglassung von Klammern und Beistrichen): ∗ + x 4 chs ∗ + y 2 rec 3 . Das nennt man die polnische Notation des betrachteten algebraischen Ausdrucks. (Die Bezeichnung bezieht sich auf Jan Lukasiewicz (1878 - 1956), dem Begründer der berühmten ”Warschauer Schule” der mathematischen Logik.) Oft verwendet man auch die sogenannte umgekehrte polnische Notation (”reverse polish notation”, RPN). Diese ist nicht einfach die polnische Notation in der umgekehrten Reihenfolge. Sie entsteht vielmehr durch folgende Variante der Tiefensuche (auch ”postorder listing” genannt, im Gegensatz zum vorhin besprochenen DFS, das ”preorder listing” heißt). Dabei beginnt man bei jedem Aufruf mit der leeren Liste und hängt die Wurzel erst am Ende dazu: POSTORDER(r): local variables: L, x L := ∅ for x ∈ A− (r) do L := L ∪ POSTORDER(x) return L ∪ (r) 8.4. BÄUME 177 In unserem Beispiel erhalten wir folgende RPN: x 4 + y 2 + 3 rec ∗ chs ∗ Die RPN entspricht in natürlicher Weise der Reihenfolge der Abarbeitung bei der Auswertung eines algebraischen Ausdrucks. Sie wird daher z.B. auch bei manchen Taschenrechnern verwendet. Bei dem Beispielgraphen von vorhin ergibt sich folgendes postorder listing: (4 8 9 10 5 2 6 7 3 1). Durch die RPN ist ein algebraischer Ausdruck eindeutig bestimmt. Diese einleuchtende Tatsache ergibt sich aus folgendem Satz: Satz 8.41 Wenn für jede Ecke eines Wurzelbaumes T die Anzahl der Söhne bekannt ist, so ist T durch sein preorder oder postorder listing eindeutig bestimmt. Bemerkung: Wenn ein algebraischer Ausdruck in RPN gegeben ist, dann kennt man für jede Ecke die Anzahl der Söhne: Für Variable oder Konstante ist sie 0, für chs und rec ist sie 1, und für + und ∗ ist sie 2. Beweis des Satzes: Siehe z.B. [26]. Bemerkung 8.42 Bei algebraischen Ausdrücken, die nichtkommutative Verknüpfungen enthalten, wie z.B. Subtraktion oder Division, entsteht ein ”Baum”, bei dem es auf die Reihenfolge der Söhne ankommt. (Vgl. Übungsaufgaben 7 und 8.) Breitensuche (”breadth-first search”) Bei der Breitensuche durchsucht man, beginnend bei der Wurzel, zunächst alle Ecken auf einem Niveau, bevor man zum nächsten Niveau übergeht. Für die Programmierung verwendet man zweckmäßigerweise eine sogenannte ”Warteschlange”, das ist eine Liste W, die folgenderweise behandelt wird: Neu 178 KAPITEL 8. GRAPHEN hinzukommende Elemente werden immer am Ende angehängt. Abgearbeitet wird das jeweils erste Element von W, und dieses wird dann aus W entfernt. BFS(r): L := ∅, W := (r) while W 6= ∅ do x := erstes Element von W entferne x aus W L := L ∪ (x) W := W ∪ A− (x) end of while Ausgabe: L In unserem Beispielbaum läuft die Breitensuche beim Aufruf von BFS(1) folgenderweise ab (die Nummern geben an, um den wievielten Durchlauf der While-Schleife es sich handelt): 0. L := ∅, W := (1) 1. x := 1, W := ∅, L := (1), W := (2, 3) 2. x := 2, W := (3), L := (1, 2), W := (3, 4, 5) 3. x := 3, W := (4, 5), L := (1, 2, 3), W := (4, 5, 6, 7) 4. x := 4, W := (5, 6, 7), L := (1, 2, 3, 4), W := (5, 6, 7) 5. x := 5, W := (6, 7), L := (1, 2, 3, 4, 5), W := (6, 7, 8, 9, 10) 6. x := 6, W := (7, 8, 9, 10), L := (1, 2, 3, 4, 5, 6), W := (7, 8, 9, 10) 7. x := 7, W := (8, 9, 10), L := (1, 2, 3, 4, 5, 6, 7), W := (8, 9, 10) 8. x := 8, W := (9, 10), L := (1, 2, 3, 4, 5, 6, 7, 8), W := (9, 10) 9. x := 9, W := (10), L := (1, 2, 3, 4, 5, 6, 7, 8, 9), W := (10) 10. x := 10, W := ∅, L := (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), W := ∅ 8.4. BÄUME 8.4.2 179 Aufspannende Bäume Definition 8.43 Ein Teilgraph T = (V 0 , E 0 ) eines Graphen G = (V, E) heißt aufspannender Baum (auch ”Spannbaum” oder ”Gerüst”, engl. ”spanning tree”) von G, wenn er erstens ein Baum ist und zweitens V 0 = V gilt. Bemerkung 8.44 Jeder zusammenhängende Graph enthält einen aufspannenden Baum. Beweis: Wenn der Graph nämlich nicht schon ein Baum ist, dann entfernt man immer wieder Kanten aus Kreisen, so lange, bis keine Kreise mehr vorhanden sind. Dabei bleibt der Graph zusammenhängend und ist daher am Ende ein Baum. Daraus folgt auf Grund von Satz 8.32: Bemerkung 8.45 Für jeden zusammenhängenden Graphen G = (V, E) gilt: |E| ≥ |V | − 1. Für die Berechnung eines aufspannenden Baumes kann man die Idee des Beweises der Bemerkung 8.44 anwenden. Man muss dabei allerdings in jedem Schritt nach einem Kreis suchen. Einfacher geht es mit Methoden, die ähnlich zu den Suchverfahren in Wurzelbäumen sind und daher auch so heißen. Um diese Algorithmen zu beschreiben, nehmen wir an, dass der Graph durch Adjazenzlisten gegeben ist, mit V = {x1 , . . . , xn }. Die Grundstruktur sieht so aus: SPTR: VT := {x1 }, ET := ∅ for i := 2 to n do find x ∈ VT such that A(x) \ VT 6= ∅ choose y ∈ A(x) \ VT VT := VT ∪ {y} ET := ET ∪ {{x, y}} end of for Ausgabe: ET 180 KAPITEL 8. GRAPHEN (V, ET ) ist dann wirklich ein aufspannender Baum, denn (VT , ET ) bleibt während des ganzen Verfahrens zusammenhängend, und am Ende hat ET ja n − 1 Elemente. Es kann auch nicht passieren, dass man keine Ecke mehr findet, denn von jeder noch nicht gefundene Ecke y aus gibt es einen Pfad nach x1 . Die letzte noch nicht gefundene Ecke auf diesem Pfad ist eine geeignete Ecke. Zur Realisierung von ”find” kann man nun wie bei DFS oder BFS vorgehen. DFS-SPANNING-TREE: VT := ∅, ET := ∅ DFSSUB(x1 ) Ausgabe: ET Das Wesentliche geschieht im folgenden rekursiven Unterprogramm: DFSSUB(x): VT := VT ∪ {x} for y ∈ A(x) do if y ∈ / VT then ET := ET ∪ {{x, y}} DFSSUB(y) end of if end of for Die Breitensuche lässt sich ebenso übertragen: 8.4. BÄUME 181 BFS-SPANNING-TREE: VT := {x1 }, ET := ∅, W := (x1 ) while W 6= ∅ do x := erstes Element von W entferne x aus W for y ∈ A(x) do if y ∈ / VT then VT := VT ∪ {y} ET := ET ∪ { {x, y} } W := W ∪ (y) end of if end of for end of while Ausgabe: ET Beispiel: In der folgenden Abbildung wurde der linke aufspannende Baum mit Tiefensuche und der rechte mit Breitensuche berechnet: 1. Bemerkung: Um schnell feststellen zu können, ob y in VT enthalten ist oder nicht, codiert man die Menge VT in der Weise, dass man ein Array 182 KAPITEL 8. GRAPHEN (v1 , . . . , vn ) anlegt mit vi := ½ 1 0 falls xi ∈ VT , sonst. Man sagt dafür auch: Die Elemente von VT werden ”markiert”. 2. Bemerkung: Die Verfahren zur Berechnung eines aufspannenden Baumes dienen auch dazu, festzustellen, ob ein Graph zusammenhängend ist: Das ist genau dann der Fall, wenn bei der Suche alle Ecken erfasst werden. 8.5 Kreisfreie Digraphen Definition 8.46 Ein Digraph heißt kreisfrei oder azyklisch (”acyclic”), wenn er keinen gerichteten Kreis enthält. Jeder (als gerichteter Graph aufgefasste) Wurzelbaum ist ein kreisfreier Digraph, aber nicht umgekehrt. Beispiel: V = {a, b, c}, E = {(a, b), (c, b)}. Im allgemeinen ist der einem kreisfreien Digraphen zugrundeliegende Graph kein Baum. Beispiel: Sei V = {a, b, c, d} und E = {(a, b), (b, c), (a, d), (d, c)}. Dann ist D = (V, E) ein kreisfreier Digraph, der zugrundeliegende Graph ist aber ein Kreis! Die Frage, ob ein gerichteter Graph einen (gerichteten) Kreis enthält, ist für viele Anwendungen von Bedeutung, z.B. Projektplanung oder Vermeidung von zyklischen Aufrufen in Programmsystemen. Bei der Projektplanung hat man oft folgende Situation: Zur Durchführung des Projekts sind mehrere Aktionen x1 , . . . , xn nötig, und gewisse dieser Aktionen können nur durchgeführt werden, wenn bestimmte andere schon vorher erledigt wurden. Diese Bedingungen kann man durch einen Digraphen D = (V, R) mit V = {x1 , . . . , xn } angeben, wobei (x, y) ∈ R heißt, dass x eine Voraussetzung für y ist. Die Aufgabe besteht nun darin, die Aktionen in eine Reihenfolge x01 , . . . , x0n zu bringen, sodass gilt: (x0i , x0k ) ∈ R ⇒ i < k. Wir überlegen uns nun, dass das immer möglich ist, wenn D ein kreisfreier Digraph ist. Gleichzeitig erhalten wir einen Algorithmus, der feststellt, ob ein gegebener Digraph kreisfrei ist und, wenn ja, eine entsprechende Nummerierung der Ecken liefert. 8.5. KREISFREIE DIGRAPHEN 183 Satz 8.47 In jedem (endlichen) kreisfreien Digraphen D kann man die Ecken so nummerieren, dass für jede Kante von D der Anfangspunkt kleineren Index als der Endpunkt hat. Bemerkung: Durch eine solche Nummerierung wird eine bestimmte Reihenfolge der Ecken festgelegt, die man auch (ziemlich irreführend) topologische Anordnung der Ecken nennt. Diese Bezeichnung ist so zu verstehen: Zeichnet man den Graphen so, dass die x-Koordinaten der Ecken entsprechend ihrer Nummerierung geordnet sind, so zeigen alle Kanten von links nach rechts. Wir sprechen in diesem Zusammenhang besser von einer zulässigen Reihenfolge der Ecken. Als einfaches Beispiel betrachten wir nochmals den obigen kreisfreien Digraphen D = (V, E) mit vier Ecken. Es gibt in diesem Fall zwei zulässige Reihenfolgen der Ecken, nämlich (a, b, d, c) und (a, d, b, c). Zum Beweis: Hilfssatz 8.48 Ein (endlicher) kreisfreier Digraph enthält mindestens eine Ecke mit Eingangsgrad Null. Beweis: Sei D ein kreisfreier Digraph und P = (x1 , . . . , xn ) ein gerichteter Pfad in D mit maximaler Länge. Angenommen, x1 hat Eingangsgrad > 0. Dann gibt es eine Ecke y, von der aus eine Kante nach x1 geht. Wäre y ∈ / {x1 , . . . , xn }, dann wäre (y, x1 , . . . , xn ) ein längerer Pfad als P, und das ist ein Widerspruch. Daher muss y ∈ {x1 , . . . , xn } sein, sagen wir y = xk . Dann wäre aber (x1 , . . . , xk ) ein gerichteter Kreis, und das ist nicht erlaubt. Es folgt, dass x1 Eingangsgrad Null haben muss. Beweis des Satzes mit vollständiger Induktion nach der Anzahl der Ecken: Für einen Digraphen mit nur einer Ecke bedeutet ”kreisfrei”, dass er keine Schlinge und somit überhaupt keine Kante hat. Diese eine Ecke hat daher Eingangsgrad Null. Sei nun D = (V, R) ein kreisfreier Digraph mit n Ecken, n > 1, und y1 eine Ecke von D mit Eingangsgrad 0 (gemäß Hilfssatz). Lassen wir die Ecke y1 (und alle zugehörigen Kanten) weg, so entsteht ein kreisfreier Digraph D0 mit n − 1 Ecken. Dessen Ecken lassen sich nach Induktionsvoraussetzung so nummerieren, dass für jede Kante von D0 der Anfangspunkt kleineren Index als der Endpunkt hat. Wir können natürlich die Nummerierung mit 2 beginnen, d.h. V \ {y1 } = {y2 , . . . , yn }. Dann ist aber (y1 , . . . , yn ) eine 184 KAPITEL 8. GRAPHEN Reihenfolge mit der gewünschten Eigenschaft: Da es keine Kante der Form (yi , y1 ) gibt, ist die Aussage (yi , yk ) ∈ R ⇒ i < k für k = 1 sicher richtig. Für i = 1 folgt sie aus der Schlingenfreiheit von D, und für i, k > 1 aus der Induktionsvoraussetzung. Aus dem Beweis des Satzes ergibt sich der angekündigte Algorithmus: Algorithmus zum Test eines Digraphen auf Kreisfreiheit und Berechnung einer zulässigen Reihenfolge (Kahn 1962): (Wir nehmen an, dass der Digraph durch die Eckenmenge V und die Adjazenzlisten A+ (x), A− (x) gegeben ist.) for x ∈ V do d+ (x) := |A+ (x)| L := {x ∈ V | d+ (x) = 0} S := ∅ while L 6= ∅ do y := erstes Element von L L := L \ (y) S := S ∪ (y) for x ∈ A− (y) do d+ (x) := d+ (x) − 1 if d+ (x) = 0 then L := L ∪ (x) end of for end of while if |S| < |V | then Ausgabe: ”nicht kreisfrei” else Ausgabe: S end of if Beispiel: Jemand hat 9 verschiedene Aufgaben a, b, c, d, e, f, g, h, i zu erledigen, wobei einige der Aufgaben andere nach folgendem Schema voraussetzen: 8.5. KREISFREIE DIGRAPHEN 185 1. g vor a, 2. i vor b, 3. i und d vor c, 4. a, b, g vor d, 5. b, f vor e, 6. c, g vor h. Der obige Algorithmus liefert die Reihenfolge (f, g, i, a, b, d, e, c, h). Bemerkung: Im Falle eines nicht kreisfreien Graphen ist man oft daran interessiert, einen Kreis zu finden. Das kann man durch folgende Modifikation des obigen Algorithmus erreichen: 1. In der inneren for-Schleife werden nicht nur die Eingangsgrade, sondern auch die Adjazenzlisten A+ angepasst, indem folgende Anweisung eingefügt wird: A+ (x) := A+ (x) \ (y) 2. Nach der Ausgabe ”nicht kreisfrei” kann jetzt ein Kreis gefunden werden, indem man ausgehend von irgendeiner Ecke x0 mit Eingangsgrad d+ (x0 ) 6= 0 ”rückwärts” einen Kreis aufbaut, etwa so: x := erstes Element von A+ (x0 ) C := (x0 ) while x ∈ / C do C := (x) ∪ C x := erstes Element von A+ (x) end of while y := letztes Element von C while y 6= x do C := C \ (y) y := letztes Element von C end of while Die zweite while-Schleife wird nur dann durchlaufen, wenn sich der Kreis nicht mit x0 schließt, sondern mit einem später hinzugefügten Element von C. 186 KAPITEL 8. GRAPHEN Wenn wir etwa in obigem Beispiel zusätzlich ”c vor g” fordern, dann erhalten wir, ausgehend von x0 := a, den Kreis (d, c, g, a). Bemerkung 8.49 Der zu einer strikten Ordnungsrelation gehörige Digraph ist stets kreisfrei. Beweis: Angenommen, (x1 , . . . , xn ) wäre ein Kreis. Das hieße aber x1 @ x2 @ . . . @ xn @ x1 . Wegen der Transitivität würde daraus x1 @ x1 folgen. Das ist aber nicht möglich. Folgerung 8.50 Auf einer endlichen Menge M gibt es zu jeder (Halb-)Ordnung v eine Totalordnung ≤ , sodass ∀x, y ∈ M : x v y → x ≤ y. (Andere Formulierungen: Jede Halbordnung kann zu einer Totalordnung ”fortgesetzt” werden. Jede Halbordnung ist in einer Totalordnung enthalten.) Zum Beweis betrachtet man einfach die zugehörige strikte Ordnung und den entsprechenden Digraphen. Nummerieren wir die Elemente von M nach unserem Satz, so hat die durch xi ≤ xk :⇔ i ≤ k definierte Totalordnung die gewünschte Eigenschaft. Beispiel: Zu der durch die Teilbarkeitsrelation definierten Ordnung auf {2, 3, . . . , 12} erhalten wir z.B. folgende topologische Anordnung: (2, 3, 5, 7, 11, 9, 6, 4, 10, 12, 8). Durch diese Reihenfolge wird eine Totalordnung definiert, welche die Teilbarkeitsordnung umfasst. 8.6 Bewertete Graphen und Digraphen Definition 8.51 Sei G = (V, E) ein (Di—)Graph und w : E → R eine beliebige Funktion. Dann heißt (G, w) bewerteter (Di—)Graph (”weighted graph”) oder auch Netzwerk (”network”). Die Bewertungsfunktion w kann in verschiedener Weise interpretiert werden. Dementsprechend wird w(e) dann auch benannt, z.B.: 1. Länge der Kante e, z.B. Länge einer Verbindungsstraße. 8.6. BEWERTETE GRAPHEN UND DIGRAPHEN 187 2. Zeit, die man (durchschnittlich) braucht, um die der Kante entsprechende Strecke zu fahren oder eine bestimmte der Kante entsprechende Aktion durchzuführen. 3. Kosten: z.B. Baukosten oder Kosten für einen Transport oder eine Nachrichtenübermittlung längs der Kante. 4. Gewinn, den eine der Kante entsprechende Aktion bringt. 5. Kapazität: Maximale Anzahl der Fahrzeuge pro Zeiteinheit, maximale Flüssigkeitsmenge pro Zeiteinheit, maximale Anzahl von gleichzeitig übermittelbaren Telefongesprächen längs der Kante. 6. Zuverlässigkeit: Wahrscheinlichkeit für den Nicht-Zusammenbruch einer der Kante entsprechenden Leitung innerhalb eines bestimmten Zeitintervalls. Allgemein nennt man w(e) auch das Gewicht von e. Oft wird w(e) ≥ 0 oder w(e) > 0 für alle Kanten e vorausgesetzt. Es gibt aber auch sinnvolle Interpretationen für negative Bewertungen, z.B. Verlust = negativer Gewinn. Bemerkung 8.52 Man kann jeden Graphen als Netzwerk auffassen, indem man w(e) := 1 für alle e ∈ E setzt. Schreibweise: Statt w({x, y}) oder w((x, y)) schreiben wir einfach w(x, y). Wir können w auch als Funktion auf V × V auffassen, indem wir w(x, y) := 0 setzen, wenn {x, y} bzw. (x, y) keine Kante ist. Wenn die Ecken nummeriert sind, V = {v1 , . . . , vn }, dann ist w durch die Matrix W = (wik ) mit wik := w(vi , vk ) gegeben. Im Falle eines gewöhnlichen (Di—)Graphen ist das nach obiger Bemerkung nichts anderes als die Adjazenzmatrix. Beispiel: Sei V = {1, 2, 3, 4, 5}. Dann wird 0 3 1 2 0 0 W = 0 4 0 0 0 0 0 0 0 durch 2 0 0 0 1 0 0 0 0 0 eine Bewertung auf dem Digraphen von Abschnitt 8.1.4 definiert. Oft setzt man w(x, y) := ∞, falls {x, y} bzw. (x, y) keine Kante ist. Dann ist der (Di—)Graph durch die Matrix W eindeutig bestimmt, selbst wenn es Kanten mit Gewicht 0 gibt. Diese Vorgangsweise entspricht auch in natürlicher Weise einigen der genannten Interpretationen von w. 188 KAPITEL 8. GRAPHEN Wir diskutieren hier hauptsächlich die Interpretation der Bewertung als Länge. Die anderen Interpretationen führen unter anderem auf den wichtigen Begriff der Flüsse auf Netzwerken (siehe z.B. [28]). 8.6.1 Kürzeste Wege Begriffe Definition 8.53 Sei P = (x1 , . . . , xn ) eine Wanderung (oder speziell ein Weg oder Pfad) in einem bewerteten Graphen (G, w). Dann heißt L(P ) := n−1 X w(xi , xi+1 ) i=1 die Länge von P. Wenn P ein Kreis ist, setzen wir L(P ) := n X w(xi , xi+1 ) i=1 mit xn+1 := x1 . Im Falle eines gewöhnlichen Graphen stimmt das nach Bemerkung 8.52 mit der früheren Definition der Länge überein. Eine in der Praxis häufig auftretende Frage ist die nach dem kürzesten Weg von einer Ecke zu einer anderen Ecke. Falls es in einem (endlichen) bewerteten (Di—)Graphen zu zwei Ecken a, b überhaupt einen Weg von a nach b gibt, so gibt es einen mit minimaler Länge. Jeder solche Weg heißt kürzester Weg von a nach b. Bemerkung 8.54 Wenn alle Kreise positive Länge haben, so ist jeder kürzeste Weg ein Pfad. Beweis: Würde ein kürzester Weg Kreise mit positiver Länge enthalten, so könnte man diese weglassen und erhielte einen noch kürzeren Weg, was einen Widerspruch ergäbe. Bemerkung: In einem Netzwerk mit Kreisen negativer Länge gibt es Wanderungen mit beliebig kleiner (d.h. stark negativer) Länge! 8.6. BEWERTETE GRAPHEN UND DIGRAPHEN 189 Definition 8.55 Unter dem Abstand zweier Ecken s, t in einem bewerteten (Di—)Graphen versteht man die Länge eines kürzesten Pfades von s nach t. Bezeichnung: d(s, t). Für (Di—)Graphen ohne Kreise negativer Länge ist das also gleich der Länge eines kürzesten Weges. Definition 8.56 Wenn es keinen Weg von s nach t gibt, setzt man d(s, t) = ∞. (In diesem Zusammenhang werden gerne die Buchstaben s und t verwendet. Sie kommen von ”source” und ”target”.) Bemerkungen: 1. In einem gerichteten Graphen ist der Abstand im Allgemeinen nicht symmetrisch, d.h. es kann d(s, t) 6= d(t, s) sein. 2. In einem gerichteten Graphen D kann es vorkommen, dass es keinen (gerichteten) Weg von s nach t gibt, obwohl D zusammenhängend ist. Der Zusammenhangsbegriff bezieht sich nämlich auf den zugrundeliegenden ungerichteten Graphen! Wir sagen dann: t ist von s aus nicht erreichbar. Definition 8.57 Der maximale Abstand zweier Ecken eines bewerteten Graphen oder Digraphen heißt sein Durchmesser (”diameter”). Diese Begriffe sind auch für gewöhnliche Graphen von Bedeutung. Beispiele: Der Durchmesser von Kn ist 1, der von Km,n ist 2. Der PetersenGraph hat ebenfalls Durchmesser 2. Jeder unzusammenhängende Graph hat Durchmesser ∞. Berechnung von kürzesten Wegen in (Di—)Graphen mit nichtnegativer Bewertung Auch wenn man nur für zwei ganz bestimmte Ecken s, t einen kürzesten Pfad finden will, erweist es sich als zweckmäßig, alle kürzesten Pfade von s zu irgendeiner Ecke von G zu berechnen. Die Grundidee besteht darin, dass man, ausgehend von s, schrittweise einen in G enthaltenen Baum T mit Wurzel s aufbaut, sodass für jede Ecke x von 190 KAPITEL 8. GRAPHEN T der eindeutige Pfad von s nach x in T ein kürzester Pfad in (G, w) ist. Ein solcher Baum heißt ”Baum der kürzesten (von s ausgehenden) Pfade” (”shortest path tree”). Man geht nun so vor, dass man jeder Ecke x einen vorläufigen Abstandswert a(x) zuordnet, der im Laufe des Verfahrens, wenn möglich, verbessert wird. Am Anfang setzt man a(x) := ∞ für alle x ∈ V \{s}, und a(s) := 0. In jedem Schritt wird nun aus allen noch nicht zum Baum gehörigen Ecken diejenige, sagen wir z, ausgewählt, welche den kleinsten a-Wert hat, und zum Baum hinzugefügt. Wir werden sehen, dass dann a(z) bereits den endgültigen Wert d(s, z) hat. Für alle noch nicht zum Baum gehörigen Nachbarn x dieser Ecke wird der a-Wert durch a(z) + w(z, x) ersetzt, falls er dadurch kleiner wird. Am Ende ist dann a(x) = d(s, x) für alle x ∈ V . Im folgenden Algorithmus wird der Baum durch die Liste U und die Funktion pred dargestellt, wobei U die Liste der nicht zum Baum gehörigen Ecken ist (”unerledigte Ecken”) und pred(x) den (eventuell provisorischen) Vorgänger (= Vater) von x bedeutet. 8.6. BEWERTETE GRAPHEN UND DIGRAPHEN 191 Algorithmus zur Berechnung der kürzesten von einer festen Ecke ausgehenden Pfade (Dijkstra 1959): (Wir nehmen an, dass der Graph durch die Eckenmenge V und die Bewertung w gegeben ist, mit w(x, y) = ∞, falls (x, y) keine Kante ist.) SHORTEST PATH TREE(s): a(s) := 0 for x ∈ V \ {s} do a(x) := ∞ U := V while U 6= ∅ and min a(x) 6= ∞ do x∈U find z ∈ U such that a(z) = min a(x) x∈U U := U \ {z} for x ∈ U do if a(z) + w(z, x) < a(x) then a(x) := a(z) + w(z, x) pred(x) := z end of if end of for end of while Bemerkung: Die Bedingung a(z) + w(z, x) < a(x) kann natürlich nur von Nachbarn von z erfüllt werden. Man könnte daher statt ”for x ∈ U” auch ”for x ∈ U ∩ A(z)” schreiben, bzw. für Digraphen ”for x ∈ U ∩ A− (z)”. Dadurch wird der Algorithmus unter Umständen merklich beschleunigt, vor allem, wenn die meisten Ecken nur wenige Nachbarn haben. Allerdings müssen dazu die Adjazenzlisten gegeben sein bzw. zunächst berechnet werden. Beispiel: Wir wenden den Algorithmus auf den folgenden bewerteten Digraphen mit Startecke s = 1 an: 192 KAPITEL 8. GRAPHEN 2 7 3 1 4 2 1 1 8 2 5 7 9 6 9 4 3 4 5 8 7 Die erste der beiden folgenden Tabellen zeigt die Werte von z, U und a nach jedem Durchlauf der while-Schleife, die zweite die Werte von z und pred: z 1 2 5 3 4 6 7 U a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) {2, 3, 4, 5, 6, 7, 8} 0 3 9 ∞ ∞ ∞ ∞ ∞ {3, 4, 5, 6, 7, 8} 0 3 9 10 4 ∞ ∞ ∞ {3, 4, 6, 7, 8} 0 3 8 9 4 13 ∞ ∞ {4, 6, 7, 8} 0 3 8 9 4 13 ∞ ∞ {6, 7, 8} 0 3 8 9 4 11 17 ∞ {7, 8} 0 3 8 9 4 11 15 ∞ {8} 0 3 8 9 4 11 15 ∞ z pred(2) pred(3) pred(4) pred(5) pred(6) pred(7) pred(8) 1 1 1 2 1 1 2 2 5 1 5 5 2 5 3 1 5 5 2 5 4 1 5 5 2 4 4 6 1 5 5 2 4 6 7 1 5 5 2 4 6 Der berechnete ”shortest path tree” ist in der folgenden Abbildung dick gezeichnet: 2 7 3 1 4 2 1 5 7 3 1 8 2 9 6 4 9 4 5 7 8 8.6. BEWERTETE GRAPHEN UND DIGRAPHEN 193 Satz 8.58 Der obige Algorithmus von Dijkstra berechnet in einem Graphen oder Digraphen mit nichtnegativer Bewertung die Abstände aller Ecken von s und erzeugt einen Baum der kürzesten von s ausgehenden Pfade. Es geht also darum, die Korrektheit des Algorithmus zu beweisen, d.h. zu zeigen, dass der Algorithmus tatsächlich seine Aufgabe erfüllt. Beweis: 1. Wir behaupten zunächst, dass a(x) für alle x ∈ V beim Ablauf des Algorithmus in jedem Stadium die Länge eines Pfades von s nach x angibt, falls a(x) 6= ∞ ist. Wir beweisen das mit Induktion nach der Anzahl k der bereits erfolgten Durchläufe der while-Schleife. k = 0: trivial. < k → k: Angenommen, für ein x wird im k-ten Durchlauf a(x) := a(z) + w(z, x) gesetzt. a(z) muss schon in einem früheren Schleifendurchlauf einen Wert 6= ∞ erhalten haben, da ja a(z) = min a(x) 6= ∞. Nach Induktionsx∈U voraussetzung ist also a(z) die Länge eines Pfades von s nach z. Hängt man an diesen Pfad die Kante (z, x) bzw. {z, x} an, so erhält man einen Pfad von s nach x mit Länge a(x). Es folgt, dass d(s, x) stets ≤ a(x) ist. 2. Wir wollen nun zeigen, dass am Ende a(x) = d(s, x) für alle x ∈ V. Dazu beweisen wir (wieder mit Induktion nach der Anzahl der Durchläufe der while-Schleife): Am Ende der while-Schleife gilt jedesmal a(z) = d(s, z). (Das genügt, denn der Wert von a(z) wird später nicht mehr verändert, da ja z aus U entfernt wurde. Die am Ende übrigbleibenden Ecken x mit a(x) = ∞ sind von s aus unerreichbar.) k = 1: In diesem Fall ist z = s und a(z) = 0, die Behauptung ist also trivialerweise richtig. < k → k: Stellen wir uns vor, dass wir uns im k-ten Durchlauf der whileSchleife befinden, und zwar vor der Entfernung von z aus U , mit k > 1. Sei P = (y0 = s, y1 , . . . , yr = z) ein kürzester Pfad von s nach z, und j der größte Index mit yj ∈ / U. Wegen yr = z ∈ U ist jedenfalls j ≤ r − 1. Wir können also die Ecke yj+1 benützen. 194 KAPITEL 8. GRAPHEN Spätestens seit dem Schleifendurchlauf, wo yj aus U entfernt wurde, gilt a(yj+1 ) ≤ a(yj ) + w(yj , yj+1 ). Nach Induktionsvoraussetzung ist a(yj ) = d(s, yj ), da ja yj bereits in einem früheren Schleifendurchlauf aus U entfernt wurde. Daher folgt a(yj+1 ) ≤ L(y0 , . . . , yj ) + w(yj , yj+1 ) = L(y0 , . . . , yj+1 ) ≤ L(P ) = d(s, z). (Bei der zweiten Ungleichung geht die Voraussetzung w ≥ 0 ein!) Nun ist nach dem 1. Teil des Beweises jedenfalls d(s, z) ≤ a(z). Wäre d(s, z) < a(z), so würde a(yj+1 ) < a(z) folgen, im Widerspruch zu a(z) = min a(x) x∈U und yj+1 ∈ U. Also gilt tatsächlich d(s, z) = a(z), wie behauptet. 3. Schließlich zeigen wir (wieder mit Induktion), dass am Ende der whileSchleife der durch pred definierte Pfad (x0 = s, x1 , . . . , xm = z) mit xi−1 := pred(xi ) für i ∈ {1, . . . , m} ein kürzester Pfad von s nach z ist. Der Induktionsanfang ist wieder trivial. Der Schluss von < k auf k erfolgt nun so: xm−1 = pred(z) ist schon in einem früheren Schleifendurchlauf aus U entfernt worden. In eben diesem Durchlauf erhielt a(z) den Wert a(xm−1 )+w(xm−1 , z). Dieser Wert von a(z) wurde später sicher nicht mehr verändert, denn sonst wäre auch pred(z) verändert worden. Nach Induktionsvoraussetzung ist (x0 , x1 , . . . , xm−1 ) ein kürzester Pfad, und es folgt nach Teil 2 des Beweises: L(x0 , x1 , . . . , xm−1 , xm ) = L(x0 , x1 , . . . , xm−1 ) + w(xm−1 , xm ) = = a(xm−1 ) + w(xm−1 , z) = a(z) = d(s, z), was zu zeigen war. Satz 8.59 Die Anzahl der Rechenschritte beim Algorithmus von Dijkstra ist O(n2 ), wobei n die Anzahl der Ecken des Graphen bedeutet. Beweis: Wir überlegen uns zunächst, wie viele Rechenschritte für einen Durchlauf der while-Schleife nötig sind. Die Berechnung von min a(x) erfordert x∈U höchstens n Schritte. Die for-Schleife wird nicht mehr als n-mal durchlaufen, 8.6. BEWERTETE GRAPHEN UND DIGRAPHEN 195 und jeder Durchlauf wird mit einer konstanten Anzahl von Rechenschritten erledigt. Insgesamt brauchen wir also für einen Durchlauf der while-Schleife O(n) Schritte. Da die while-Schleife höchstens n-mal durchlaufen wird, haben wir insgesamt O(n2 ) Rechenschritte. Bemerkung 8.60 Mit dem Algorithmus von Dijkstra kann man alle Abstände zwischen je zwei Ecken eines bewerteten Graphen mit O(n3 ) Rechenschritten berechnen (wobei n wieder die Anzahl der Ecken bedeutet). (Man ruft dazu den Algorithmus für eine Ecke nach der anderen auf.) Zur Berechnung aller Abstände zwischen je zwei Ecken eines bewerteten Graphen oder Digraphen verwendet man oft auch das folgende einfach zu programmierende Verfahren, das allerdings im Allgemeinen nicht wesentlich schneller als der Algorithmus von Dijkstra ist und außerdem nur die Abstände und nicht auch die kürzesten Wege berechnet: Algorithmus zur Berechnung aller Abstände zwischen je zwei Ecken (Warshall 1962): (Wir nehmen hier an, dass die Ecken mit 1, 2, . . . , n bezeichnet sind. Es sei wieder w(x, y) = ∞, falls (x, y) keine Kante ist.) d := w for j := 1 to n do for i := 1 to n do for k := 1 to n do if d(i, k) > d(i, j) + d(j, k) then d(i, k) := d(i, j) + d(j, k) end of for end of for end of for Ausgabe: d(i, k) für alle (i, k) ∈ {1, . . . , n}2 Auf einen Beweis der Korrektheit verzichten wir hier (siehe [26] oder Vorlesungen über Programmieren). Da alle Tripel (i, j, k) ∈ I3n bearbeitet werden, ist die Anzahl der Rechenschritte von der Ordnung n3 . 196 KAPITEL 8. GRAPHEN Berechnung der transitiven Hülle einer Relation Wir beginnen mit einer einfachen Beobachtung: Bemerkung 8.61 Sei R eine Relation auf einer Menge V und t(R) die transitive Hülle von R. Dann gilt (x, y) ∈ t(R) genau dann, wenn es in dem zu R gehörigen Digraphen einen (gerichteten) Pfad von x nach y gibt. Beweis: Sei D der zu R gehörige Digraph, d.h. D = (V, R), und H := {(x, y) ∈ V 2 | es gibt in D einen Pfad von x nach y}. H ist offensichtlich transitiv, und es gilt R ⊂ H. Sei nun T eine beliebige transitive Relation auf V mit R ⊂ T. Wenn wir H ⊂ T zeigen können, so folgt H = t(R). Sei also (x, y) ∈ H, das heißt, es gibt in D einen Pfad (x = x1 , x2 , . . . , xn = y) von x nach y. Wegen R ⊂ T gilt dann x1 T x2 , x2 T x3 , . . . , xn−1 T xn , und auf Grund der Transitivität von T folgt x1 T xn , d.h. (x1 , xn ) = (x, y) ∈ T, was zu zeigen war. Auf Grund dieser Beobachtung kann man die transitive Hülle einer Relation mit Hilfe der Abstände von je zwei Ecken berechnen: t(R) = {(x, y) ∈ V 2 | d(x, y) 6= ∞}. Dazu verwendet man meist den Algorithmus von Warshall oder eine Modifikation davon. 8.6.2 Minimale aufspannende Bäume Definition 8.62 Ein aufspannender Baum T eines bewerteten (ungerichteten) Graphen (G, w) heißt minimaler aufspannender PBaum (”minimal spanning tree”), wenn seine ”Gesamtlänge” L(T ) := w(e) so klein wie möge∈ET lich ist. (Dabei bedeutet ET die Menge der Kanten von T.) Wenn man die Bewertung als Kostenfunktion auffasst, geht es also darum, alle Ecken eines Graphen so miteinander zu verbinden, dass die Gesamtkosten minimiert werden. Wenn alle Kanten Gewicht 1 haben, ist jeder aufspannende Baum minimal: Nach Satz 8.32 gilt ja für jeden solchen Baum T : L(T ) = |ET | = |V | − 1. 8.6. BEWERTETE GRAPHEN UND DIGRAPHEN 197 Einen minimalen aufspannenden Baum kann man folgendermaßen schrittweise konstruieren: Man beginnt mit irgendeiner Ecke und fügt in jedem Schritt eine kürzestmögliche Kante zu dem Baum hinzu. Es handelt sich also um einen ”gierigen” Algorithmus, der versucht, in jedem Schritt das bestmögliche zu erreichen. Es ist keineswegs selbstverständlich, dass diese Vorgangsweise zum Ziel führt. Wir werden aber sehen, dass es hier doch so ist. Algorithmus zur Berechnung eines minimalen aufspannenden Baumes (Prim 1957): (Es sei wieder w(x, y) = ∞, wenn {x, y} keine Kante ist. Für s kann man eine beliebige Ecke nehmen. Es wird vorausgesetzt, dass der Graph zusammenhängend ist.) MINSPTR: VT := {s}, ET := ∅ while VT 6= V do find x ∈ VT , y ∈ V \ VT such that w(x, y) = VT := VT ∪ {y} ET := ET ∪ {{x, y}} end of while min x0 ∈VT , y 0 ∈V \VT w(x0 , y 0 ) Ausgabe: ET Satz 8.63 Der obige Algorithmus von Prim berechnet einen minimalen erzeugenden Baum, wenn der gegebene bewertete Graph zusammenhängend ist. Beweis: Das Programm liefert jedenfalls einen aufspannenden Baum, denn es ist genau so aufgebaut wie SPTR (siehe Abschnitt 8.4.2), nur mit der Einschränkung, dass von den in Frage kommenden Kanten eine kürzeste genommen wird. Wir behaupten nun, dass der Baum T = (VT , ET ) am Ende jedes Durchlaufs der while-Schleife in einem minimalen aufspannenden Baum (als Teilgraph) enthalten ist, und beweisen das durch Induktion nach der Anzahl k der Schleifendurchläufe. Am Ende des gesamten Programmablaufs muss dann T gleich einem minimalen aufspannenden Baum sein. k = 0: Der triviale Baum ({s}, ∅) ist in jedem aufspannenden Baum enthalten. 198 KAPITEL 8. GRAPHEN k → k + 1: Nach Induktionsvoraussetzung ist am Ende des k-ten Durchlaufs T in einem minimalen aufspannenden Baum T ∗ enthalten. Sei nun e = {x, y} die Kante, die im (k + 1)-ten Durchlauf hinzugefügt wird. Wenn e eine Kante von T ∗ ist, haben wir nichts zu zeigen. Angenommen, e gehört nicht zu T ∗ . Dann gibt es in T ∗ einen Pfad P von x nach y, der die Kante e nicht enthält. Sei P = (x = x1 , x2 , . . . , xm = y). Da x ∈ VT und y ∈ / VT , gibt es auf diesem Pfad eine erste Ecke, sagen wir xi , welche nicht zu VT gehört (i > 1). Da der Algorithmus die Kante e wählt und nicht ei := {xi−1 , xi }, muss w(e) ≤ w(ei ) sein. Ersetzen wir nun in dem Baum T ∗ die Kante ei durch e, so erhalten wir einen Teilgraphen T ∗∗ , der wieder ein minimaler aufspannender Baum ist: Zunächst hat T ∗∗ dieselbe Eckenmenge und Kantenanzahl wie T ∗ und ist zusammenhängend. Daraus folgt schon, dass T ∗∗ ein aufspannender Baum ist. L(T ∗∗ ) = L(T ∗ ) − w(ei ) + w(e) ≤ L(T ∗ ). Wegen der Minimalität von T ∗ ist also auch T ∗∗ minimal, und der Baum T ist am Ende des (k + 1)-ten Durchlaufs in T ∗∗ enthalten. Es ist nicht schwer zu sehen, dass dieser Algorithmus O(n3 ) Rechenschritte erfordert. Durch einen ähnlichen Trick wie bei Dijkstra kann man auch hier auf O(n2 ) kommen: Verbesserter Algorithmus zur Berechnung eines minimalen aufspannenden Baumes (Prim 1957): MINSPTR2: a(s) := 0 for x ∈ V \ {s} do a(x) := ∞ U := V while U 6= ∅ do find z ∈ U such that a(z) = min a(x) x∈U U := U \ {z} for x ∈ U do if w(z, x) < a(x) then a(x) := w(z, x) pred(x) := z end of if end of for end of while 8.7. FÄRBUNG VON GRAPHEN 199 Die folgende Abbildung zeigt einen minimalen aufspannenden Baum eines Graphen, in welchem jede Kante mit ihrer euklidischen Länge bewertet wurde. 8.7 Färbung von Graphen Wenn man die Ecken eines Graphen mit verschiedenen Farben markiert, so erzeugt man vom mathematischen Standpunkt aus eine Abbildung von der Eckenmenge V in die Menge der verwendeten Farben. Wenn man die Farben mit 1, . . . , m durchnummeriert, so hat man im Wesentlichen eine Abbildung V → {1, . . . , m}. So etwas nennt man auch eine Eckenbewertung. Von einer Färbung der Ecken spricht man üblicherweise nur dann, wenn niemals zwei miteinander verbundene Ecken dieselbe Farbe haben: Definition 8.64 Sei G = (V, E) ein Graph. Eine surjektive Abbildung f : V → {1, . . . , m} heißt Färbung der Ecken (”coloring”) von G mit m Farben (kurz mFärbung), wenn für jede Kante {x, y} ∈ E gilt: f (x) 6= f (y). Wenn es eine solche Färbung gibt, heißt G m-färbbar. 200 KAPITEL 8. GRAPHEN Eine m-Färbung bewirkt eine Partition der Eckenmenge in m Teilmengen f −1 ({1}), . . . , f −1 ({m}), sodass niemals zwei Elemente einer Teilmenge durch eine Kante verbunden sind. Solche Färbungen dienen z.B. zur Modellierung von Problemen der folgenden Art: Gegeben ist eine Menge M von n Personen oder Objekten. Man möchte nun diese Menge so in m Klassen einteilen, dass in keiner Klasse zwei Personen oder Objekte sind, welche sich ”nicht vertragen”. Man nimmt nun M als Eckenmenge und verbindet zwei Ecken genau dann durch eine Kante, wenn sie sich nicht vertragen. Eine m-Färbung liefert dann eine geeignete Klasseneinteilung. Beispiele: Die Abbildung zeigt einen Graphen mit einer 3-Färbung und einen mit einer 4-Färbung. 2 2 2 3 1 2 1 1 3 3 3 1 4 Jeden Graphen mit n Ecken kann man trivialerweise mit n Farben färben. Interessant ist vor allem die Frage nach der kleinstmöglichen Anzahl von Farben: Definition 8.65 Die kleinste Zahl m, sodass G m-färbbar ist, heißt chromatische Zahl von G. Bezeichnung: χ(G). In den beiden obigen Beispielen ist die Anzahl der Farben minimal, d.h. diese Graphen haben chromatische Zahl 3 bzw. 4. Diese Graphen besitzen nämlich Teilgraphen, die zu K3 bzw. K4 isomorph sind. Allgemein gilt: Wenn G einen zu Ks isomorphen Teilgraphen enthält, dann ist χ(G) ≥ s. 8.7. FÄRBUNG VON GRAPHEN 201 Ein typisches Anwendungsbeispiel ist das folgende ”Stundenplanproblem”: Die Ecken von G sind die zu haltenden Lehrveranstaltungen. Zwei Ecken werden durch eine Kante verbunden, wenn sie nicht gleichzeitig stattfinden dürfen, weil es z.B. gemeinsame Hörer gibt. χ(G) ist dann die kleinste Anzahl von Stunden, in denen alle Lehrveranstaltungen abgehalten werden können (wenn genügend viele Hörsäle zur Verfügung stehen). Beispiele für chromatische Zahlen: 1. χ(G) = 2 ⇔ G bipartit. 2. χ(Kn ) = n. 3. Sei Ln der leere Graph mit n Ecken, d.h. ein Graph ohne Kanten. Dann ist χ(Ln ) = 1. 4. Sei ∆(G) der maximale Eckengrad von G. Dann gilt: χ(G) ≤ ∆(G)+1. (Beweis: Färbe sukzessive jede Ecke mit einer Farbe, die von den Farben ihrer bereits gefärbten Nachbarn verschieden ist.) 5. Sei Cn ein Kreis mit n Ecken. Dann gilt: n gerade =⇒ χ(Cn ) = 2 (= ∆(Cn )), n ungerade =⇒ χ(Cn ) = 3 (= ∆(Cn ) + 1). Man kann zeigen: Satz 8.66 (Brooks 1941) Sei G ein zusammenhängender Graph, der weder vollständig noch ein Kreis ungerader Länge ist. Dann gilt: χ(G) ≤ ∆(G). Beweis: siehe z.B. [28]. Das Problem der Berechnung der chromatischen Zahl eines Graphen gehört zu den NP-vollständigen Problemen (siehe Abschnitt 8.2.2). Man ist daher in der Praxis auf sogenannte ”heuristische” Algorithmen angewiesen, welche 202 KAPITEL 8. GRAPHEN in vielen Fällen zumindest eine näherungsweise Lösung liefern, das heißt eine m-Färbung, wo m von χ(G) nicht zu sehr abweicht. Ein Beispiel für einen solchen Algorithmus, der sich in der Praxis durchaus bewährt, ist der von Brelaz (1979). Dabei färbt man eine Ecke nach der anderen nach folgendem Prinzip: In jedem Schritt sucht man zuerst eine noch nicht gefärbte Ecke mit maximaler Anzahl von bereits gefärbten Nachbarn. Diese Ecke färbt man dann mit der kleinsten in Frage kommenden Farbe, d.h. mit der kleinsten Farbe, die keiner ihrer Nachbarn aufweist. (Da hier ”Farben” eigentlich natürliche Zahlen sind, hat es einen Sinn, von der ”kleinsten Farbe” zu reden.) Heuristischer Färbealgorithmus (Brelaz 1979): (Wir nehmen an, dass der Graph durch die Eckenmenge V und Adjazenzlisten A(x) gegeben ist. U ist die Menge der noch nicht gefärbten Ecken. g(x) bedeutet die Anzahl der gefärbten Nachbarn von x, solange x selbst noch ungefärbt ist.) for x ∈ V do g(x) := 0 U := V while U 6= ∅ do find z ∈ U such that g(z) = max g(x) x∈U f (z) := min{i ∈ N | i 6= f (x) ∀x ∈ A(z) \ U } U := U \ {z} for x ∈ A(z) ∩ U do g(x) := g(x) + 1 end of for end of while Die beiden zu Beginn dieses Abschnitts abgebildeten Graphen wurden mit diesem Algorithmus gefärbt; es gibt allerdings schon relativ einfache Graphen, bei denen er mehr Farben als nötig verwendet. Die folgende Abbildung zeigt links eine mit dem Algorithmus von Brelaz erzeugte 5-Färbung und 8.8. PLANARE GRAPHEN 203 rechts eine auf anderem Wege gefundene 4-Färbung desselben Graphen. 3 1 1 5 2 3 4 1 2 3 2 4 4 2 Das Ergebnis des Algorithmus hängt von der Reihenfolge der Ecken ab. Hier wurden die Ecken im Gegenuhrzeigersinn nummeriert, beginnend mit der linken oberen Ecke. Wenn man dagegen mit der rechten unteren Ecke beginnt, erhält man für diesen Graphen auch mit dem Algorithmus von Brelaz eine 4-Färbung. 8.8 Planare Graphen In diesem Kapitel geht es um die Frage, unter welchen Voraussetzungen man einen Graphen (in der Ebene) so zeichnen kann, dass keine Kantenüberschneidungen auftreten. Diese Frage hat z.B. für das Layout von Leiterplatten (Platinen) eine Bedeutung. Für eine mathematisch exakte Behandlung dieses Themas sind eigentlich tiefliegende Hilfsmittel aus der Topologie erforderlich, insbesondere der ”Jordan’sche Kurvensatz” (nach Camille Jordan, 1838-1922). Dieser besagt, dass jede geschlossene ebene Kurve, die sich nicht selbst überschneidet, die Ebene in zwei Gebiete zerlegt, von denen genau eines unbeschränkt ist (siehe z.B. [12]). Obwohl das anschaulich evident erscheint, ist der Beweis nicht einfach. Wir werden uns daher hier ausnahmsweise mit anschaulichen Begriffen und Begründungen zufrieden geben. Insbesondere gilt das auch für den Begriff ”Kurve”. Für diejenigen, denen stetige Abbildungen vertraut sind, geben wir 204 KAPITEL 8. GRAPHEN die genaue Definition einer Kurve an. Diese wird aber im Folgenden eigentlich nicht verwendet: Definition 8.67 Eine offene Jordan-Kurve ist eine stetige injektive Abbildung c : [a, b] → R2 . Die Punkte c(a) und c(b) heißen Endpunkte der Kurve. Die Menge aller offenen Jordan-Kurven im R2 bezeichnen wir mit J(R2 ). Wenn c(a) = c(b) ist, aber die Einschränkung von c auf [a, b) dennoch injektiv ist, so spricht man von einer geschlossenen Jordan-Kurve. Durch eine offene Jordan-Kurve wird also eine gerade oder gekrümmte Linie beschrieben, die zwei Punkte verbindet und sich nicht selbst überschneidet. Definition 8.68 Unter einer (kreuzungsfreien) Einbettung eines Graphen G = (V, E) in die Ebene R2 (”planar embedding of G”) versteht man ein Paar (ϕ, ψ) von injektiven Abbildungen ϕ : V → R2 , ψ : E → J(R2 ), sodass 1. für jede Kante {x, y} ∈ E die Endpunkte ihres ψ-Bildes mit ϕ(x) und ϕ(y) übereinstimmen, und 2. für je zwei verschiedene Kanten e, e0 ∈ E ihre ψ-Bilder keinen (von den Endpunkten verschiedenen) Schnittpunkt haben. Eine Einbettung eines Graphen in die Ebene ist also eigentlich nichts anderes als eine Zeichnung des Graphen, wobei sich keine zwei gezeichneten Kanten überschneiden dürfen. Wir werden sehen, dass sich bei weitem nicht jeder Graph in die Ebene einbetten lässt. Definition 8.69 Ein Graph G heißt planar (auf deutsch auch ”plättbar”), wenn es eine Einbettung von G in die Ebene gibt. 8.8. PLANARE GRAPHEN 205 Die folgende Abbildung zeigt zwei Zeichnungen ein und desselben planaren Graphen, links mit Kantenüberschneidungen und rechts ohne solche. Die rechte Zeichnung stellt also eine Einbettung dieses Graphen dar. 2 3 3 1 4 2 8 5 1 8 4 5 7 6 7 6 Durch eine Einbettung eines Graphen in die Ebene wird diese in Teile zerlegt, die man Flächen (”faces”) nennt. Es gibt stets genau eine unbeschränkte Fläche. Diese heißt Außengebiet. Die Anzahl der Kanten(-bilder), die den Rand einer Fläche bilden, nennt man die Seitenzahl der Fläche. Dabei werden Kanten, die am Rand von nur einer Fläche liegen, üblicherweise doppelt gezählt. Eine Fläche mit Seitenzahl 3 oder 4 heißt Dreieck bzw. Viereck. Verschiedene Einbettungen ergeben natürlich verschiedene Flächen. Sogar die Seitenzahlen der Flächen können verschieden sein. So ist etwa die Seitenzahl der ”innersten” Fläche in folgendem Beispiel links 7 und rechts 6. Aus dem folgenden wichtigen Satz ergibt sich jedoch, dass die Anzahl der Flächen nicht von der Einbettung abhängt, sondern nur von der Ecken- und Kantenzahl des Graphen. Satz 8.70 (Euler’sche Formel): Sei G ein zusammenhängender planarer Graph mit v Ecken und e Kanten. Dann gilt für die Anzahl f der Flächen einer beliebigen Einbettung von G in die Ebene: v − e + f = 2. 206 KAPITEL 8. GRAPHEN Beweis (eigentlich nur anschauliche Begründung) mit Induktion nach der Anzahl der Flächen: Wenn f = 1 ist, dann ist das Außengebiet die einzige Fläche. Es kann daher in diesem Graphen keinen Kreis geben, denn dieser würde ja ein beschränktes Gebiet einschließen. Folglich ist der Graph in diesem Fall ein Baum, d.h. e = v − 1, also v − e + 1 = 2. f − 1 → f : Sei also f > 1. Dann enthält G mindestens einen Kreis C. Sei u eine Kante von C. Dann liegt u (genauer: ψ(u)) auf dem Rand von zwei Flächen, sagen wir F1 und F2 . Wenn wir die Kante u weglassen, verschmelzen F1 und F2 zu einer Fläche. Für die Ecken-, Kanten- und Flächenzahl v 0 , e0 , f 0 des entstehenden Graphen G0 gilt daher: v 0 = v, e0 = e − 1 und f 0 = f − 1. Daher ist v−e+f = v 0 −e0 +f 0 , und das ist = 2 nach Induktionsvoraussetzung. Eine wichtige Folgerung aus der Euler’schen Formel: Satz 8.71 In einem einfachen zusammenhängenden planaren Graphen G mit v ≥ 3 Ecken und e Kanten gilt stets e ≤ 3v − 6, mit Gleichheit genau dann, wenn (in einer beliebigen Einbettung von G in die Ebene) alle Flächen Dreiecke sind (auch das Außengebiet!). Beweis: Wir betrachten eine Einbettung des Graphen in die Ebene und beder Flächen mit i Seiten. Da es keine Schlingen zeichnen mit fi die Anzahl P gibt, ist daher f = i≥3 fi . (Wir brauchen keine obere Summationsgrenze angeben, da es sich ja sicher nur um eine endliche Summe handelt. Wenn man will, kann man jedoch z.B. bis i = 2e summieren.) P Andererseits gilt für die Summe der Seitenzahlen aller Flächen i≥3 ifi = 2e, denn bei dieser Summe wird jede Kante doppelt gezählt. Daraus folgt nun mit Hilfe der Euler’schen Formel: X X 2e = ifi ≥ 3fi = 3f = 3(e − v + 2). i≥3 i≥3 Durch Subtraktion von 2e ergibt sich die behauptete Ungleichung. Gleichheit gilt offensichtlich genau dann, wenn fi = 0 für alle i ≥ 4. Ganz analog zeigt man: 8.8. PLANARE GRAPHEN 207 Satz 8.72 Wenn ein einfacher zusammenhängender planarer Graph mit v ≥ 3 Ecken und e Kanten keine Kreise der Länge 3 enthält, dann gilt e ≤ 2v − 4 mit Gleichheit genau dann, wenn alle Flächen Vierecke sind. Eine einfache Folgerung aus diesen Sätzen: Folgerung 8.73 K5 und K3,3 sind nicht planar. Beweis: Für K5 gilt e = 10 und v = 5, also e > 3v − 6 = 9. Für K3,3 ist e = 9 > 2v − 4 = 8. Es ist klar, dass sich an der Planarität eines Graphen nichts ändert, wenn man seine Kanten ”unterteilt”. Genauer gesagt geht es um folgenden Begriff: Definition 8.74 Unter einer Unterteilung (”subdivision”) eines Graphen G versteht man einen Graphen G0 , der dadurch entsteht, dass man eine oder mehrere Kanten von G in folgendem Sinne unterteilt: Sei {x, y} eine Kante von G. Wir fügen neue Ecken z1 , . . . , zk ein und ersetzen die Kante {x, y} durch die neuen Kanten {x, z1 }, {z1 , z2 }, . . . , {zk , y}. Hier ist eine Unterteilung des K4 zu sehen: Wir können nun ein interessantes Planaritätskriterium formulieren, dessen Beweis relativ aufwendig ist (siehe z.B. [29]). Satz 8.75 (Kuratowski 1930) Ein Graph ist genau dann planar, wenn er keinen Teilgraphen besitzt, der zu K5 oder K3,3 oder einer Unterteilung davon isomorph ist. 208 KAPITEL 8. GRAPHEN (Die Notwendigkeit dieser Bedingung ergibt sich aus Folgerung 8.73.) (Kazimierz Kuratowski, 1896-1980, ist einer der bekanntesten polnischen Mathematiker. Er hat insbesondere Grundlegendes zur Entwicklung von Mengenlehre und Topologie beigetragen.) Beispiel: Der am Ende von Abschnitt 8.7 behandelte Graph ist nicht planar. Die folgende Abbildung zeigt eine darin enthaltene Unterteilung eines K3,3 : Schon in diesem Beispiel ist es nicht ganz leicht, festzustellen, ob der Graph eine Unterteilung von K3,3 bzw. K5 enthält. Manchmal ist die Anwendung des nächsten Satzes einfacher. Dazu benötigen wir den folgenden Begriff: Definition 8.76 Entfernt man aus einem Graphen eine Kante u = {x, y} und identifiziert ihre Endpunkte, so spricht man von einer Kontraktion der Kante u. Wenn H aus einem Graphen G durch eine (eventuell leere) Folge von Kontraktionen entsteht, so sagt man: G ist zu H kontrahierbar. Anschaulich ist klar, dass die Planarität eines Graphen bei Kontraktionen von Kanten erhalten bleibt. Daraus ergibt sich die einfachere Richtung des folgendes Satzes. Die andere Richtung kann auf den Satz von Kuratowski zurückgeführt werden [29]. Satz 8.77 (K. Wagner 1937) Ein Graph ist genau dann planar, wenn er keinen Teilgraphen enthält, der zu K5 oder K3,3 kontrahierbar ist. Mit diesem Satz kann man z.B. leicht erkennen, dass der Petersen-Graph nicht planar ist. Durch Kontraktion der radial von innen nach außen gehenden Kanten entsteht nämlich ein K5 . 8.8. PLANARE GRAPHEN 209 Auf Grund der letzten beiden Sätze ist es prinzipiell möglich, für jeden gegebenen Graphen (mit Hilfe eines Computers) zu entscheiden, ob er planar ist oder nicht, wenn auch die Rechenzeit sehr hoch sein kann. Es gibt jedoch effizientere Algorithmen, deren Rechenzeit nur linear von der Größe des Graphen abhängt, z.B. von Hopcroft und Tarjan (1974) (siehe [28]). Diese Algorithmen liefern zum Teil auch gleich eine Einbettung. Man kann übrigens zeigen, dass sich jeder planare Graph so einbetten lässt, dass alle Kanten durch (geradlinige) Strecken dargestellt werden. (Das wurde das erste Mal von K. Wagner (1936) bewiesen, vgl. [28].) Zum Schluss noch ein berühmter Satz, an dessen Beweis viele Mathematiker gearbeitet haben, beginnend mit Alfred Kempe 1879, und der schließlich mit Computerunterstützung fertiggestellt wurde. Der Beweis füllt ein ganzes Buch [3]. Satz 8.78 (Vierfarbensatz, Appel/Haken 1976) Die Flächen einer Einbettung eines beliebigen planaren Graphen in die Ebene können so mit vier oder weniger Farben gefärbt werden, dass niemals zwei gleichfarbige Flächen eine gemeinsame Kante haben. Dieser Satz besagt also, dass man auf jeder (Phantasie-)Landkarte die Länder mit höchstens vier Farben so färben kann, dass niemals zwei benachbarte Länder die gleiche Farbe erhalten. Zu einer Einbettung eines planaren Graphen G kann man folgenderweise einen ”dualen” Graphen G∗ definieren, der wieder planar ist: Die Ecken von G∗ seien die Flächen (der Einbettung) von G, und {a, b} sei genau dann eine Kante von G∗ , wenn die Flächen a, b eine gemeinsame Randkante haben. Dann entspricht eine Färbung der Flächen von G im Sinne des Vierfarbensatzes einer Färbung der Ecken von G∗ , wie wir sie im vorigen Kapitel besprochen haben. Der Vierfarbensatz folgt daher aus dem nachstehenden Satz, der sogar dazu äquivalent ist: Satz 8.79 Jeder planare Graph ist 4-färbbar. Bei obiger Definition von G∗ kann man auch a = b zulassen, und zwar bedeutet das, dass es eine Kante gibt, die am Rand von nur einer Fläche liegt. Der duale Graph hat dann Schlingen. Diese werden allerdings bei der Färbung ignoriert. 210 KAPITEL 8. GRAPHEN An Hand des folgenden Beispiels sehen wir außerdem, dass es natürlicher ist, wenn wir bei der Definition des dualen Graphen ”Mehrfachkanten” zulassen. Das führt zu dem im nächsten Abschnitt diskutierten Begriff ”Multigraph”. g i n k p a b l c d m j h 8.9 Multigraphen Definition 8.80 Unter einem (endlichen)(ungerichteten) Multigraphen verstehen wir ein Tripel M = (V, ¡E,¢α), ¡wobei ¢ V und E endliche Mengen V V sind und α eine Abbildung E → 1 ∪ 2 . Die Elemente von V und E heißen Ecken bzw. Kanten von M, und wenn α(u) = {x, y}, so heißen x, y Endpunkte der Kante u. Beispiel: Durch die gestrichelten Kanten in der letzten Abbildung wird folgender Multigraph definiert: M = (V, E, α) mit V = {a, b, c, d}, E = {g, h, i, j, k, l, m, n, p}, α(g) = α(h) = {a, d}, α(i) = α(j) = {a, c}, α(k) = α(l) = {b, c}, α(m) = {c}, α(n) = {c, d}, α(p) = {a, b}. Bemerkung: Oft versteht man unter ”Multigraph” einen Multigraphen ohne Schlingen. Definition 8.81 Unter einem (endlichen) gerichteten Multigraphen verstehen wir ein Tripel M = (V, E, α), wobei V und E endliche Mengen sind und α eine Abbildung E → V × V. Die Elemente von V und E heißen Ecken 8.9. MULTIGRAPHEN 211 bzw. Kanten von M, und wenn α(u) = (x, y), so heißt x Anfangspunkt und y Endpunkt der Kante u. Beispiel: Sei V = {a, b, c}, E = {1, 2, 3, 4, 5, 6}, α(1) = α(2) = α(3) = (a, b), α(4) = (b, c), α(5) = (c, a), α(6) = (b, a). Dann ist (V, E, α) ein gerichteter Multigraph mit einer Dreifachkante und drei Einfachkanten. Bemerkung 8.82 Gewöhnliche Graphen können als Spezialfälle ¡V ¢ ¡V ¢von Multigraphen aufgefasst werden, denn in diesem Fall ist E ⊂ 1 ∪ 2 , und man kann α gleich der identischen Abbildung auf E setzen, d.h. α({x, y}) := {x, y} für alle {x, y} ∈ E. (Analog für Digraphen.) Die in diesem Buch besprochenen graphentheoretischen Begriffe lassen sich in natürlicher Weise auf Multigraphen übertragen. Z.B.: Definition 8.83 In einem Multigraphen G = (V, E, α) versteht man unter einem Weg von a nach b (für a, b ∈ V ) eine Folge (x1 = a, u1 , x2 , u2 , . . . , xn−1 , un−1 , xn = b) mit xi ∈ V, ui ∈ E, sodass {xi , xi+1 } = α(ui ) für alle i ∈ {1, . . . , n − 1}. (In einem gerichteten Multigraphen kann man auf die Angabe der Ecken bei einem Weg verzichten, da durch die Folge der Kanten (u1 , . . . , un−1 ) die Ecken schon eindeutig bestimmt sind.) Viele Sätze über Graphen bzw. Digraphen lassen sich auf Multigraphen verallgemeinern, z.B. die Charakterisierung der eulerschen Graphen und die Sätze des vorigen Abschnitts über planare Graphen, mit Ausnahme von 8.71 und 8.72. Man kann auch Multigraphen durch Adjazenzmatrizen beschreiben, indem man aik gleich der Anzahl der Kanten setzt, welche die i-te mit der k-ten Ecke verbinden. In diesem Sinn kann ein Multigraph als bewerteter Graph angesehen werden, bei dem die Bewertungsfunktion nur natürliche Zahlen als Werte annimmt. Allerdings besteht dann ein wesentlicher Unterschied bei den Wegen und Pfaden bzw. deren Länge! 212 KAPITEL 8. GRAPHEN 8.10 Übungsaufgaben 1. Sei G = (V, E) mit V = {1, . . . , 9} und E = {{1, 7}, {1, 9}, {2, 8}, {2, 9}, {3, 4}, {3, 6}, {3, 8}, {3, 9}, {4, 5}, {4, 6}, {4, 8}, {5, 6}, {5, 8}, {5, 9}, {6, 7}, {7, 8}, {7, 9}, {8, 9}}. a) Bestimmen Sie die Adjazenzmatrix und die Adjazenzlisten dieses Graphen. b) Bestimmen Sie, wenn möglich, einen geschlossenen Eulerweg mit Hilfe des im Text angegebenen Algorithmus (ohne oder mit Computer). 2. Fünf internationale Delegationen treffen einander eines Abends an einem runden Tisch. Es sind 2 Amerikaner, 2 Deutsche, 2 Engländer, 2 Franzosen und 2 Italiener. Es ist eine Sitzordnung gesucht, bei der jede mögliche Paarbildung von Nationalitäten vorkommt, d.h. es soll ein Amerikaner neben einem Deutschen sitzen, ein Deutscher neben einem Italiener, usw.. Gibt es eine solche Sitzordnung? Wenn ja, wie sieht sie aus? (Stichwort: geschlossener Eulerweg in K5 ) 3. Suchen Sie für jedes der fünf regulären Polyeder einen Hamiltonkreis in dem durch die Ecken und Kanten des Polyeders definierten Graphen. Sind diese Graphen eulersch? 4. Für welche m, n ist der vollständige bipartite Graph Km,n eulersch bzw. hamiltonsch? Wann gibt es einen nicht geschlossenen Hamiltonpfad? 5. Sei A die Adjazenzmatrix von K3,3 bezüglich der Eckenpartition {{1, 2, 3}, {4, 5, 6}}. Geben Sie die Gestalt von As für beliebiges s ∈ N an. (Beweis mit vollständiger Induktion) 6. Geben Sie einen Entscheidungsbaum für das im Text beschriebene Problem der Erkennung einer falschen Münze an, und erklären Sie, warum er funktioniert. 7. Zeichnen Sie zu folgenden Ausdrücken einen zugehörigen Wurzelbaum, und schreiben Sie die Ausdrücke sowohl in gewöhnlicher als auch in umgekehrter polnischer Notation: a) t + uw/(w + x − y 2 ), b) ((p ∨ q) ∧ ¬p) → q. 8.10. ÜBUNGSAUFGABEN 213 8. Im folgenden ist a) in polnischer und b) in umgekehrter polnischer Notation geschrieben. Zeichnen Sie die zugehörigen Wurzelbäume und werten Sie die Ausdrücke aus. a) / ∗ 2 + 2 5 ˆ + 3 4 2 b) 6 3 / 3 + 7 3 − ∗ 9. Geben Sie einen aufspannenden Baum an a) von Kn , b) von Km,n . 10. Stellen Sie mit Hilfe des Algorithmus von Kahn fest, ob der folgende Digraph (V, E) kreisfrei ist. Wenn nein, geben Sie einen Kreis an. V = {1, . . . , 9}, E = {(7, 1), (9, 2), (9, 3), (4, 3), (1, 4), (2, 4), (7, 4), (2, 5), (6, 5), (3, 8), (7, 8), (4, 9)}. 11. Bestimmen Sie einen ”shortest path tree” des folgenden bewerteten Graphen mit Startecke A durch ”händische” Anwendung des Algorithmus von Dijkstra. Zeichnen Sie nach jedem Schleifendurchlauf den bis dahin konstruierten Teilbaum und markieren Sie alle Ecken mit den bis dahin berechneten (eventuell vorläufigen) Entfernungen. D E 1 1 0 A 3 2 F 1 2 B 2 C 12. Bestimmen Sie in analoger Weise einen minimalen aufspannenden Baum dieses Graphen mit dem Algorithmus von Prim. 13. Bestimmen Sie ebenso einen shortest path tree des folgenden bewerteten Digraphen von der Ecke A aus. (Dieses Beispiel ist dem Buch [28] 214 KAPITEL 8. GRAPHEN entnommen.) B 7 2 8 A 14 D 16 G 5 C 10 6 8 19 7 2 E 12 3 H F 4 Kapitel 9 Algebraische Strukturen Musterbeispiele von algebraischen Strukturen sind Addition und Multiplikation auf N, Z, Q oder R. Deren wesentliche Eigenschaften führen uns zu bedeutsamen Verallgemeinerungen. 9.1 Halbgruppen Definition 9.1 Eine binäre Operation oder Verknüpfung auf einer Menge M ist eine Abbildung f : M × M → M. Schreibweise: Statt f (x, y) schreibt man meist x f y. Außerdem bezeichnet man eine binäre Operation üblicherweise nicht mit Buchstaben wie f , sondern mit einem anderen geeigneten Symbol, wie z.B. +, ·, ◦. Zur Bezeichnung irgendeiner nicht näher definierten binären Operation verwenden wir hier das Symbol ∗. Das sieht dann etwa so aus: ∗ : M × M → M : (x, y) 7→ x ∗ y. Beispiele: 1) Addition auf N: + : N × N → N: (x, y) 7→ x + y. 2) Vereinigung von Teilmengen: Sei S eine Menge und P = P(S) die Potenzmenge von S. Dann ist ∪ : P × P → P : (A, B) 7→ A ∪ B eine Verknüpfung auf P. 215 216 KAPITEL 9. ALGEBRAISCHE STRUKTUREN 3) Zusammensetzung von Funktionen auf einer Menge: Sei A eine Menge und F die Menge aller Abbildungen A → A. Dann ist für g, h ∈ F auch g ◦ h ∈ F und daher ◦ : F × F → F : (g, h) 7→ g ◦ h eine binäre Operation auf F. 4) Verkettung (”concatenation”) von Worten bzw. Listen oder endlichen Folgen: ∪ : WA → WA : ((a1 , . . . , an ), (b1 , . . . , bm )) 7→ (a1 , . . . , an , b1 , . . . , bm ), bzw. : (a1 . . . an , b1 . . . bm ) 7→ a1 . . . an b1 . . . bm wobei WA die Menge aller Worte mit Buchstaben aus einem bestimmten Alphabet A bedeutet. Bemerkung: Für eine Verknüpfung auf M ist wesentlich, dass für beliebige Elemente x, y der betrachteten Menge auch x ∗ y zu der Menge gehört. Diese Bedingung muss natürlich auch für x = y erfüllt sein. So ist etwa die gewöhnliche Addition auf {−1, 0, 1} keine Verknüpfung, da 1 + 1 = 2 nicht dazugehört. Die angeführten Beispiele und viele andere binäre Operationen sind assoziativ: Definition 9.2 Eine binäre Operation ∗ auf M heißt assoziativ, wenn ∀x, y, z ∈ M : (x ∗ y) ∗ z = x ∗ (y ∗ z). Es hat daher einen Sinn, x ∗ y ∗ z zu schreiben. Für die Zusammensetzung von Funktionen sieht man die Assoziativität so: ((f ◦ g) ◦ h)(x) = (f ◦ g)(h(x)) = f (g(h(x))) = f ((g ◦ h)(x)) = (f ◦ (g ◦ h))(x). Definition 9.3 Wenn ∗ eine assoziative Verknüpfung auf M ist, so heißt (M, ∗) eine Halbgruppe (”semigroup”). Ein Element e von M heißt neutrales Element (”identity element”) dieser Halbgruppe, wenn e ∗ x = x ∗ e = x für alle x ∈ M. (Andere Bezeichnungen: Einselement (”unit”), falls die Verknüpfung wie eine Multiplikation geschrieben wird; Nullelement (”zero”), falls sie wie eine Addition geschrieben wird.) 9.1. HALBGRUPPEN 217 Wenn klar ist, um welche Verknüpfung es sich handelt, schreibt man statt (M, ∗) auch einfach M. Halbgruppen mit neutralem Element heißen auch Monoide. Beim ersten der obigen Beispiele gibt es kein neutrales Element (es ist ja 0∈ / N). Im 2. Beispiel ist die leere Menge ∅ neutrales Element, im 3. Beispiel die identische Funktion IA , und im 4. Beispiel das leere Wort. Bemerkung 9.4 In einer Halbgruppe kann es höchstens ein neutrales Element geben. Beweis: Angenommen, e und e0 sind zwei verschiedene neutrale Elemente, also e 6= e0 . Dann gilt wegen der Neutralität von e: e ∗ e0 = e0 und wegen der Neutralität von e0 : e ∗ e0 = e. Also folgt e = e0 im Widerspruch zu unserer Annahme. In einer Halbgruppe kann man Potenzen genau so wie bei Zahlen rekursiv definieren: Definition 9.5 x1 := x, und für n ∈ N : xn+1 := xn ∗ x. In Halbgruppen mit neutralem Element e setzt man x0 := e. Wird die Verknüpfung mit + bezeichnet, so schreibt man nx statt xn . Mit Induktion zeigt man leicht: ∀m, n ∈ N : xn ∗ xm = xn+m , (xn )m = xnm . (Z.B.: Beweis der zweiten Regel: m = 1 : (xn )1 = xn = xn·1 . m → m + 1 : (xn )m+1 = (nach Definition der Potenzen) (xn )m ∗ xn = (nach Induktionsvoraussetzung) xnm ∗ xn = (nach der 1. Regel) xnm+n = xn(m+1) .) Definition 9.6 Eine Halbgruppe (M, ∗) heißt kommutativ oder abelsch, wenn x ∗ y = y ∗ x für alle x, y ∈ M. 218 KAPITEL 9. ALGEBRAISCHE STRUKTUREN (Niels Henrik Abel (1802-1829) ist ein berühmter norwegischer Mathematiker. Er hat insbesondere bewiesen, dass Gleichungen 5. Grades im Allgemeinen nicht auflösbar sind (ungefähr gleichzeitig mit dem französischen Mathematiker Evariste Galois (1811 - 1832), aber unabhängig von ihm).) Die additive Schreibweise (+) wird nur für abelsche Halbgruppen verwendet. Von unseren Beispielen sind die ersten beiden kommutativ. Die Zusammensetzung von Funktionen ist jedoch im Allgemeinen nicht kommutativ (siehe Kapitel 6), ebenso die Verkettung von Worten. Weitere Beispiele von Halbgruppen ( + und · bedeuten die übliche Addition bzw. Multiplikation): 5) (N0 , +) und (Z, +) sind kommutative Halbgruppen mit neutralem Element 0. 6) (N, ·) und (Z, ·) sind kommutative Halbgruppen mit neutralem Element 1. 7) (Zm , +) und (Zm , ·) sind kommutative Halbgruppen mit neutralem Element [0]m bzw. [1]m . 8) Die Subtraktion ist zwar eine binäre Relation auf Z, aber (Z, −) ist keine Halbgruppe. Z.B. ist (3 − 2) − 1 = 0, aber 3 − (2 − 1) = 2. 9) Für jede beliebige Menge S ist (P(S), ∩) eine kommutative Halbgruppe mit neutralem Element S : S ∩ A = A ∩ S = A für alle A ⊂ S. 10) Die Menge aller injektiven Abbildungen A → A ist (mit der Zusammensetzung als Verknüpfung) eine im Allgemeinen nicht kommutative Halbgruppe mit neutralem Element IA . Ebenso die Menge aller surjektiven bzw. bijektiven Abbildungen A → A. 11) Sei R(2,2) die Menge aller 2 × 2 - Matrizen von reellen Zahlen. 11a) Die Addition von zwei solchen Matrizen wird einfach so definiert: µ a11 a12 a21 a22 ¶ + µ b11 b12 b21 b22 ¶ := µ a11 + b11 a12 + b12 a21 + b21 a22 + b22 ¶ . Es ist fast unmittelbar klar, dass dies eine Verknüpfung auf R(2,2) liefert, welche assoziativ undµkommutativ ist. Das neutrale Element (Nullelement) ¶ 0 0 . ist die ”Nullmatrix” 0 0 9.2. GRUPPEN 219 11b) Die Multiplikation von Matrizen wird folgenderweise definiert (siehe Kapitel 8.3): µ ¶µ ¶ µ ¶ a11 a12 b11 b12 a11 b11 + a12 b21 a11 b12 + a12 b22 := . a21 a22 b21 b22 a21 b11 + a22 b21 a21 b12 + a22 b22 Man kann sich leicht davon überzeugen, dass auf diese Weise auf R(2,2) eine assoziative Verknüpfung definiert wird. Diese ist aber nicht kommutativ (siehe Kapitel 8.3). µ ¶ 1 0 Das neutrale Element (Einselement) ist hier die ”Einheitsmatrix” . 0 1 Allgemeiner erhält man so die ”additive” und ”multiplikative” Halbgruppe der reellen n × n - Matrizen. Natürlich kann man statt der reellen Zahlen auch die ganzen, rationalen oder komplexen Zahlen nehmen. Bezüglich der Addition bilden auch die m × n-Matrizen mit m 6= n eine Halbgruppe. 9.2 9.2.1 Gruppen Definitionen und Beispiele Definition 9.7 Sei (H, ∗) eine Halbgruppe mit neutralem Element e, und x, x ∈ H. Wenn x ∗ x = x ∗ x = e gilt, so heißt x inverses Element von x. Schreibweise: Wenn die Verknüpfung mit + bezeichnet wird, schreibt man −x; sonst meist x−1 . Bemerkung 9.8 In einer Halbgruppe gibt es höchstens ein inverses Element von x. Beweis: Angenommen, x und x e wären zwei verschiedene inverse Elemente von x, also x 6= x e. Dann wäre e = e. x∗x=x∗x Durch Verknüpfung von links mit x folgt nun auf Grund der Assoziativität: e, (x ∗ x) ∗ x = (x ∗ x) ∗ x 220 KAPITEL 9. ALGEBRAISCHE STRUKTUREN also und das heißt e∗x=e∗x e, im Widerspruch zur Annahme. x=x e, Bemerkung 9.9 (x ∗ y)−1 = y −1 ∗ x−1 . (D.h.: Wenn es zu x und y jeweils ein inverses Element gibt, dann gibt es auch zu x ∗ y ein inverses Element, und dieses ist gleich y −1 ∗ x−1 .) Beweis: (x ∗ y) ∗ (y −1 ∗ x−1 ) = x ∗ (y ∗ y −1 ) ∗ x−1 = e, und ebenso (y −1 ∗ x−1 ) ∗ (x ∗ y) = e. Bemerkung 9.10 (x−1 )−1 = x. (Das folgt unmittelbar aus der Definition des inversen Elements.) Definition 9.11 Eine Halbgruppe mit neutralem Element heißt Gruppe (”group”), wenn sie zu jedem Element ein dazu inverses besitzt. Bemerkung 9.12 In einer Gruppe gibt es zu beliebigen Elementen a, b stets genau ein Element x, sodass a ∗ x = b. D.h., die ”Gleichung” a ∗ x = b hat eine eindeutige ”Lösung” x. Analoges gilt für x ∗ a = b. Beweis: x := a−1 ∗ b ist eine Lösung, da a ∗ (a−1 ∗ b) = (a ∗ a−1 ) ∗ b = b. Diese Lösung ist eindeutig: Wäre x0 eine andere Lösung, dann wäre a ∗ x0 = b und daher a−1 ∗ a ∗ x0 = a−1 ∗ b, und das hieße x0 = a−1 ∗ b. Von unseren Beispielen für Halbgruppen sind nur die folgenden Gruppen: 5) (Z, +): Das zu x inverse Element ist −x, denn x + (−x) = 0. 7) (Zm , +): Das zu [x]m inverse Element ist [−x]m = [m − x]m . 10) Die Menge S(A) aller bijektiven Abbildungen A → A: Das zu einer Abbildung f inverse Element ist die Umkehrabbildung f −1 , denn f ◦ f −1 = f −1 ◦f = IA . S(A) heißt auch ”symmetrische Gruppe”. Wenn A eine endliche Menge ist, heißen die Elemente von S(A) Permutationen (siehe Kapitel 6). Für |A| > 2 ist S(A) nicht kommutativ. 9.2. GRUPPEN 221 11a) Dieµ(z.B. reellen) ¶ 2 × 2 - Matrizen bilden mit der µ Addition eine¶Gruppe. a11 a12 −a11 −a12 Das zu inverse Element ist natürlich . a21 a22 −a21 −a22 (Analog für m × n-Matrizen.) (Z, ·) ist zum Beispiel keine Gruppe: Zu keiner ganzen Zahl außer 1 und −1 gibt es ein inverses Element: Aus x · x = 1 folgt, dass x ein Teiler von 1 ist, also |x| ≤ 1. Wegen 0 · x = 0 muss x 6= 0 sein. Also bleibt nur mehr x = ±1. In einer Gruppe können wir auch Potenzen mit negativen Exponenten definieren: Definition 9.13 x−n := (x−1 )n für n ∈ N. Man kann leicht mit Induktion zeigen, dass x−n = (xn )−1 ist, und dass allgemeiner für beliebige ganze Zahlen n, m gilt: xn ∗ xm = xn+m , (xn )m = xnm . 9.2.2 Untergruppen Definition 9.14 Sei (G, ∗) eine Gruppe mit neutralem Element e. Eine Teilmenge H von G heißt Untergruppe (”subgroup”) von (G, ∗) (kurz: Untergruppe von G), wenn gilt: 1. ∀x, y ∈ H : x ∗ y ∈ H, 2. e ∈ H, 3. ∀x ∈ H : x−1 ∈ H. Bemerkung 9.15 Wenn H eine Untergruppe von (G, ∗) ist, dann bildet H mit der Einschränkung von ∗ auf H × H eine Gruppe. Beweis: Da die Einschränkung von ∗ auf H × H klarerweise auch assoziativ ist, folgt die Behauptung praktisch unmittelbar aus der Definition von "Untergruppe". ¥ Beispiele: 222 KAPITEL 9. ALGEBRAISCHE STRUKTUREN a) Z ist eine Untergruppe von (Q, +). b) Für k ∈ N sei kZ := {kx | x ∈ Z}, also die Menge aller ganzzahligen Vielfachen von k. Diese ist eine Untergruppe von (Z, +). Die folgende Bemerkung macht es manchmal leichter zu überprüfen, ob eine bestimmte Teilmenge eine Untergruppe ist: Bemerkung 9.16 Sei (G, ∗) eine Gruppe. Eine nicht leere Teilmenge H von G ist genau dann eine Untergruppe, wenn gilt: ∀x, y ∈ H : x ∗ y −1 ∈ H. Beweis: Diese Bedingung ist natürlich notwendig. Sie ist aber auch hinreichend: a) Da H als nicht leer vorausgesetzt wurde, gibt es mindestens ein h ∈ H. Dann ist e = h ∗ h−1 ∈ H. b) Sei nun y ein beliebiges Element aus H. Dann ist y −1 = e ∗ y −1 ∈ H. c) Es ist noch zu zeigen, dass für x, y ∈ H auch x ∗ y immer ein Element von H ist. Da nach b) aber y −1 ∈ H ist, folgt das auf Grund von x∗y = x∗(y −1 )−1 aus der angegebenen Bedingung. Beispiel: Die Menge aller symmetrischen reellen 2 × 2 - Matrizen (d.h. a12 = a21 ) ist eine Untergruppe von (R(2,2) , +), da ¶ µ ¶ µ 0 0 ¶ µ a − a0 b − b0 a b a b = . − b c b0 c0 b − b0 c − c0 Definition 9.17 Sei H eine Untergruppe von G, und g ∈ G. Dann heißt die Menge g ∗ H := {g ∗ h | h ∈ H} bzw. H ∗ g := {h ∗ g | h ∈ H} eine linke bzw. rechte Nebenklasse (”coset”) von H. Beispiel: Sei H = kZ mit k ∈ N. Dann ist r + H = r + kZ = {r + kq | q ∈ Z} 9.2. GRUPPEN 223 die Restklasse [r]k . Der Begriff ”Nebenklasse” kann also als Verallgemeinerung von ”Restklasse” angesehen werden. Der nächste Satz zeigt, dass wichtige Eigenschaften der Restklassen auch für beliebige Nebenklassen gelten. Wir schreiben von nun an der Einfachheit halber xy statt x ∗ y, und daher auch gH statt g ∗ H. Satz 9.18 Die linken Nebenklassen einer Untergruppe H von G bilden eine Partition von G, die aus gleichmächtigen Mengen besteht. Für die zugehörige Äquivalenzrelation ∼ gilt x ∼ y ⇔ x−1 y ∈ H. Bemerkung: Ein analoger Satz gilt für die rechten Nebenklassen, mit x ∼ y ⇔ xy −1 ∈ H. Beweis: Wir überlegen uns zuerst, dass durch x ∼ y :⇔ x−1 y ∈ H eine Äquivalenzrelation definiert wird, und zeigen dann, dass die zugehörigen Äquivalenzklassen genau die Nebenklassen von H sind. 1) Reflexivität: x−1 x = e ∈ H. 2) Symmetrie: Aus x−1 y ∈ H folgt (x−1 y)−1 = y −1 x ∈ H. 3) Transitivität: x−1 y ∈ H ∧ y −1 z ∈ H ⇒ x−1 y y −1 z = x−1 z ∈ H. 4) Für alle g ∈ G gilt [g] = gH: x ∈ [g] ⇔ g ∼ x ⇔ g−1 x ∈ H ⇔ ⇔ (∃ h ∈ H : g −1 x = h, d.h. x = gh) ⇔ x ∈ gH. 5) Die Nebenklassen sind gleichmächtig, da folgende Abbildung bijektiv ist: f : H → gH : h 7→ gh. f ist auf Grund der Definition von gH trivialerweise surjektiv. Nach Bemerkung 9.12 gibt es zu jedem b ∈ gH ⊂ G nur ein h ∈ G mit b = gh. Daher ist f auch injektiv. Anderes Beispiel für Nebenklassen: Sei V ein Vektorraum und U ein linearer Teilraum von V (siehe Vorlesungen oder Bücher über Lineare Algebra, z.B. [21]). Dann ist U bezüglich der Addition eine Untergruppe von V. Die 224 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Nebenklassen x + U sind dann die zu U ”parallelen” sogenannten ”affinen Teilräume” von V. Speziell für V = R2 und einen eindimensionalen Teilraum U ist die Menge der Nebenklassen von U die Menge aller zu U parallelen Geraden in der Ebene. Definition 9.19 Die Anzahl der Elemente einer Gruppe heißt auch Ordnung der Gruppe. Man schreibt daher auch ord G anstelle von |G|. Satz 9.20 (Lagrange) Sei G ein endliche Gruppe. Dann ist die Ordnung jeder Untergruppe von G ein Teiler der Ordnung von G. (Joseph Louis Lagrange (1736 - 1813): Professor in Turin, Berlin und schließlich Paris; grundlegende Arbeiten in verschiedenen Teilgebieten der Mathematik und Physik.) Beweis: Sei k die Anzahl der (linken) Nebenklassen von H in G. Da alle (linken) Nebenklassen nach Satz 9.18 gleich viele Elemente wie H haben und eine Partition von G bilden, gilt |G| = k |H|. Bemerkung 9.21 Wenn H eine Untergruppe einer endlichen Gruppe G ist, |G| so ist also |H| eine ganze Zahl. Sie wird der Index von H (in G) genannt. Definition 9.22 Sei M eine Teilmenge einer Gruppe G. Unter der von M erzeugten Untergruppe (”generated subgroup”) versteht man den Durchschnitt aller Untergruppen H von G mit M ⊂ H. Bezeichnung: U(M), also: U(M) = T {H | H Untergruppe von G, M ⊂ H}. U (M) ist wirklich eine Untergruppe! (Beweis: Übungsaufgabe) Beispiel für eine von zwei Elementen erzeugte Untergruppe: Sei G = (R2 , +) die Gruppe der Vektoren in der Ebene mit der gewöhnlichen Vektoraddition, und a, b ∈ R2 . Dann ist U ({a, b}) = {ka + lb | k, l ∈ Z}, denn jede {a, b} enthaltende Untergruppe muss alle Vektoren der Form ka+lb enthalten, und andererseits bilden diese Vektoren bereits eine Untergruppe, 9.2. GRUPPEN 225 wie man z.B. auf Grund der Bemerkung 9.16 leicht sieht, denn mit zwei solchen Vektoren ka+lb und k0 a+l0 b ist auch deren Differenz (k−k0 )a+(l−l0 )b wieder von dieser Form. Wenn a und b linear unabhängig sind (d.h. nicht auf einer Geraden durch den Ursprung liegen), so bilden die Endpunkte der Vektoren aus U({a, b}) ein sogenanntes Punktgitter. In dem wichtigen Spezialfall M = {a} schreiben wir U(a) statt U({a}). Definition 9.23 Sei G eine Gruppe und a ∈ G. Wenn es eine natürliche Zahl s gibt, sodass as = e, so heißt die kleinste solche Zahl die Ordnung von a. (Bezeichnung: ord a). Beispiel: Die Ordnung einer Zyklus-Permutation ist gleich ihrer Länge: Sei π = (x1 , . . . , xk ). Dann ist π k = ε, und für 1 ≤ j < k ist π j (x1 ) = xj+1 6= x1 , also π j 6= ε. Bemerkung 9.24 In einer endlichen Gruppe gibt es für jedes Element a ein s ∈ N, sodass as = e. Beweis: Sei n = |G|. Die n + 1 Potenzen a0 , a1 , a2 , . . . , an können nicht alle voneinander verschieden sein, also gibt es k, m ∈ {0, 1, 2, . . . , n}, k < m, sodass am = ak (Schubfachprinzip). Daher ist am−k = am a−k = ak a−k = e. Satz 9.25 Sei s = ord a in einer endlichen Gruppe G. Dann ist 1) U(a) = {a0 , a1 , a2 , . . . , as−1 }, 2) ord a = ord U (a), 3) ord a | ord G, 4) aord G = e. Beweis: 1) Klarerweise ist ak ∈ U (a) für alle k ∈ N, also H := {a0 , a1 , a2 , . . . , as−1 } ⊂ U (a). Es genügt also, zu zeigen, dass H tatsächlich eine Untergruppe ist, denn wegen a = a1 ∈ H folgt dann U (a) ⊂ H. Seien k, m ∈ {0, 1, 2, . . . , s − 1}. 226 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Dann ist entweder 0 ≤ k+m < s oder s ≤ k+m < 2s. Wegen as = a−s = e ist ak am = ak+m = ak+m a−s = ak+m−s jedenfalls wieder ein Element von H. Das neutrale Element ist a0 , und das zu ak inverse Element ist a−k = as a−k = as−k ∈ H. 2) ord a = s = ord U (a) folgt aus 1), denn die Elemente a0 , a1 , a2 , . . . , as−1 sind paarweise verschieden voneinander: Wäre etwa ak = am mit 0 ≤ k < m < s, dann würde nach Multiplikation mit a−k folgen: e = am−k mit 0 < m − k < s, im Widerspruch zur ord a = s. 3) ord a | ord G folgt aus 2) und dem Satz von Lagrange. 4) Sei s = ord a, n = ord G. Nach 3) gibt es ein q ∈ N, sodass n = sq. Daher ist an = asq = (as )q = eq = e. Definition 9.26 Eine von einem Element erzeugte Gruppe heißt zyklische Gruppe (”cyclic group”). Musterbeispiel für endliche zyklische Gruppen: (Zm , +) ist (für jedes m ∈ N) eine zyklische Gruppe, denn [k] = k [1] (Das ist die k-te Potenz von [1] in additiver Schreibweise.). Zur Illustration des letzten Satzes betrachten wir z.B. speziell den Fall m = 6 und a = [2]. Dann ist ord a = 3, denn a2 = 2[2] = [4], a3 = 3[2] = [6] = [0], und wir sehen: U([2]) = {[0], [2], [4]}, ord U([2]) = 3, ord Z6 = 6, 3|6, und a6 = 6[2] = [12] = [0]. Musterbeispiel für unendliche zyklische Gruppen: (Z, +) wird von 1 erzeugt, da k = k · 1. Einfaches Beispiel für eine nicht zyklische Gruppe: Die Permutationsgruppe S3 hat die Ordnung 6, ihre Elemente haben aber höchstens Ordnung 3: S3 = {ε, (12), (13), (23), (123), (132)}. 9.2.3 Die Gruppe der primen Restklassen Definition 9.27 Sei m eine natürliche Zahl ≥ 2. Die Restklassen [r]m mit GGT(r, m) = 1 heißen prime Restklassen modulo m. Diese bilden nicht nur ein interessantes Beispiel für eine Gruppe, sondern dienen auch zur Verschlüsselung von Nachrichten (siehe Abschnitt 9.2.4). 9.2. GRUPPEN 227 Satz 9.28 Zu [r] ∈ Zm gibt es genau dann ein inverses Element bezüglich der Multiplikation, wenn r zu m relativ prim ist (d.h. wenn GGT(r, m) = 1). Beweis: Wir wenden die Folgerung 5.30 aus dem euklidischen Algorithmus an, welche besagt, dass zwei Zahlen r, m genau dann relativ prim sind, wenn sich 1 als ganzzahlige Linearkombination von r und m darstellen lässt (d.h. wenn es ganze Zahlen k, l gibt, sodass kr + lm = 1). 1. Angenommen, [r][x] = [1], d.h. rx ≡ 1 mod m. Es gibt daher ein q ∈ Z, sodass rx − 1 = qm bzw. rx − qm = 1. Auf Grund des soeben Gesagten folgt daraus, dass r und m relativ prim sind. 2. Sei umgekehrt GGT(r, m) = 1. Dann gibt es k, l ∈ Z, sodass kr + lm = 1 bzw. kr − 1 = −lm, und daraus folgt kr ≡ 1 mod m, d.h. [k][r] = [1]. Bemerkung: Der Beweis zeigt auch, dass man die inverse Restklasse mit dem euklidischen Algorithmus berechnen kann. Beispiel: Was ist das inverse Element von [17] in Z64 (bezüglich der Multiplikation)? Wir berechnen GGT(64, 17) mit dem euklidischen Algorithmus: 64 = 3 · 17 + 13, 17 = 1 · 13 + 4, 13 = 3 · 4 + 1. Daraus ergibt sich durch ”Rückwärtseinsetzen” (vgl. Satz 5.28): 1 = 13 − 3 · 4 = 13 − 3 · (17 − 13) = 4 · 13 − 3 · 17 = 4 · (64 − 3 · 17) − 3 · 17 = 4 · 64 − 15 · 17. Wegen [−15] = [49] sehen wir: [17]−1 = [49] in Z64 . Folgerung 9.29 Für jede natürliche Zahl m > 1 bilden die primen Restklassen modulo m bezüglich der Multiplikation eine Gruppe, die mit Z∗m bezeichnet wird. Beweis: Wir haben noch zu zeigen, dass das Produkt von zwei zu m relativ primen Zahlen r, s ebenfalls relativ prim zu m ist. Auf Grund des soeben bewiesenen Satzes ist das gleichbedeutend damit, dass es zu [rs] = [r][s] ein inverses Element bezüglich der Multiplikation gibt. Dieses ist aber klarerweise [s]−1 [r]−1 . Wir untersuchen nun die Frage nach der Ordnung dieser Gruppe. 228 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Definition 9.30 Die Ordnung der Gruppe Z∗m wird mit ϕ(m) bezeichnet. Außerdem setzt man ϕ(1) := 0. Die dadurch definierte Funktion ϕ : N → N heißt eulersche ϕ-Funktion (gesprochen: phi-Funktion). Bemerkung 9.31 Für jede Primzahl p ist ϕ(p) = p − 1. Aus Satz 9.25, Teil 4) folgt: Bemerkung 9.32 Wenn x zu m relativ prim ist, dann gilt xϕ(m) ≡ 1 mod m. Anders ausgedrückt heißt das: [x]ϕ(m) = [1] in Z∗m . Für den Spezialfall, dass m eine Primzahl p ist, erhalten wir: xp−1 ≡ 1 mod p. Das nennt man oft den ”kleinen Fermat’schen Satz”. (Pierre Fermat (16011655) gilt als Wegbereiter der modernen Analysis. Er ist insbesondere auch durch folgende Behauptung berühmt geworden, die man den ”großen Fermat’schen Satz” nennt: Es gibt keine natürlichen Zahlen a, b, c, n, sodass n > 2 und an + bn = cn . Nach vielen fruchtlosen Beweisversuchen ausgezeichneter Mathematiker haben im Jahre 1995 Andrew Wiles und Richard Taylor in den ”Annals of Mathematics” einen Beweis publiziert.) Den kleinen Fermat’schen Satz kann man z.B. in folgender Weise zur Berechnung von Potenzen xk modulo m benützen (falls x relativ prim zu m ist): Wenn k ≡ r mod ϕ(m), dann gibt es eine ganze Zahl s, sodass k = s ϕ(m)+r, und daher gilt für r ≥ 0 ¢s ¡ xk = xs ϕ(m)+r = xϕ(m) xr ≡ 1s xr mod m, also xk ≡ xr mod m. Man kann somit den Exponenten modulo ϕ(m) reduzieren. Konkretes Beispiel: Wie groß ist der Rest bei Division von 348 durch 23 ? Da 23 eine Primzahl ist, reduzieren wir den Exponenten modulo 22: 48 ≡ 4 mod 22 und sehen daher: 348 ≡ 34 = 81 ≡ 12 mod 23. Die Antwort auf unsere Frage lautet daher: 12. Um ϕ(m) für beliebiges m in sinnvoller Weise zu berechnen, benötigen wir die Primfaktorzerlegung von natürlichen Zahlen (Literatur: [8], [23]). 9.2. GRUPPEN 229 Hilfssatz 9.33 Jede natürliche Zahl m 6= 1 kann als Produkt von Primzahlen dargestellt werden. (Wenn m selbst eine Primzahl ist, so betrachten wir sie als Produkt mit nur einem Faktor.) Beweis mit Induktion nach m: m = 2 ist eine Primzahl. < m → m: Wenn m eine Primzahl ist, dann sind wir fertig, denn das ist ein Produkt von Primzahlen mit einem Faktor. Andernfalls gibt es natürliche Zahlen m1 , m2 ∈ {2, . . . , m − 1}, sodass m = m1 m2 . Nach Induktionsvoraussetzung gibt es Primzahlen pi , sodass m1 = p1 · · · pk und m2 = pk+1 · · · ps . Dann ist aber m = p1 · · · pk pk+1 · · · ps die gewünschte Darstellung. Das Interessante ist die Eindeutigkeit der Primfaktorzerlegung. Dazu: Hilfssatz 9.34 Sei p eine Primzahl und x1 , . . . , xn beliebige ganze Zahlen. Wenn p ein Teiler des Produkts x1 · · · xn ist, dann ist p auch Teiler von (mindestens) einem Faktor xi . Beweis mit Induktion nach n: n = 1: trivial. n → n + 1: Sei p | x1 · · · xn xn+1 und x := x1 · · · xn . Wenn p | x, dann folgt die Behauptung unmittelbar aus der Induktionsvoraussetzung. Wenn p kein Teiler von x ist, dann muss GGT(p, x) = 1 sein. Nach der schon vorhin benützten Folgerung 5.30 gibt es ganze Zahlen r, s, sodass rp + sx = 1. Daher ist xn+1 = (rp + sx)xn+1 = rpxn+1 + sxxn+1 . p teilt jeden der beiden Summanden und daher xn+1 . Satz 9.35 (Fundamentalsatz der elementaren Zahlentheorie) Jede natürliche Zahl m 6= 1 lässt sich eindeutig als Produkt von Primzahlen darstellen, abgesehen von der Reihenfolge der Faktoren. 230 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Beweis: Angenommen, es gibt eine natürliche Zahl n mit zwei verschiedenen Zerlegungen. Wenn wir durch die Primzahlen, die in beiden Darstellungen vorkommen, dividieren, so bleibt eine Beziehung der Form p1 p2 · · · pr = q1 q2 · · · qs , wobei die Faktoren pi und qj Primzahlen sind, aber keine Primzahl der linken Seite auf der rechten Seite vorkommt. Das ist aber unmöglich, denn p1 | q1 q2 · · · qs , und daher ist p1 nach obigem Hilfssatz Teiler von einem qj , und das würde p1 = qj heißen. Bemerkung 9.36 Wenn eine natürliche Zahl t 6= 1 ein Teiler von m ist, dann ist jeder Primfaktor von t auch ein Primfaktor von m. Beweis: Sei p ein Primfaktor von t, also p|t. Da t|m, folgt daraus (wegen der Transitivität der Teilbarkeitsrelation) p|m, also ist p auch ein Primfaktor von m. Bei der Primfaktorzerlegung können gewisse Faktoren mehrfach vorkommen. Man schreibt daher oft m = ps11 ps22 · · · pskk mit si ∈ N und paarweise verschiedenen Primzahlen pi . Wir können nun eine Formel herleiten, mit deren Hilfe man ϕ(m) relativ leicht berechnen kann, wenn man die Primfaktorzerlegung von m kennt. Satz 9.37 Seien p1 , . . . , pk sämtliche voneinander verschiedenen Primfaktoren von m. Dann gilt: ¶ µ ¶ ¶ µ k µ Y 1 1 1 ··· 1 − =m 1− . ϕ(m) = m 1 − p1 pk p i i=1 Beweis: Es gibt verschiedene Beweise dieses Satzes. Im Rahmen dieser Vorlesung ist es vielleicht am interessantesten, dass man ihn mit Hilfe des Siebprinzips (Satz 7.47) herleiten kann (vgl. [8]). Für i ∈ {1, . . . , k} sei Ai die Menge aller durch pi teilbaren Zahlen aus Im = {1, . . . , m}. Dann ist ϕ(m) = m − |A1 ∪ . . . ∪ Ak | , denn jede Zahl aus {1, . . . , m}, welche nicht relativ prim zu m ist, hat nach Bemerkung 9.36 mindestens einen Primfaktor mit m gemeinsam, ist also in 9.2. GRUPPEN 231 einer der Mengen Ai enthalten; umgekehrt sind die Zahlen aus Ai offensichtlich nicht relativ prim zu m. Nach dem Einschluss-Ausschlussprinzip ist also ϕ(m) = m − α1 + α2 − . . . + (−1)k αk , wobei αi die Summe der Kardinalzahlen aller Mengen folgender Gestalt ist: Aj1 ∩ Aj2 ∩ . . . ∩ Aji mit 1 ≤ j1 < j2 < . . . < ji ≤ k. Jede solche Menge besteht aus den Vielfachen von pj1 pj2 · · · pji , welche zu Im gehören. Bezeichnen wir dieses Produkt zur Abkürzung mit P, so sehen wir: n m o Aj1 ∩ Aj2 ∩ . . . ∩ Aji = P, 2P, 3P, . . . , P , P also |Aj1 ∩ Aj2 ∩ . . . ∩ Aji | = Daraus erkennen wir: α1 α2 αk m . P ¶ 1 1 1 , = m + + ... + p1 p2 pk ¶ µ 1 1 1 , = m + + ... + p1 p2 p1 p3 pk−1 pk .. . 1 = m . p1 p2 · · · pk µ Es folgt: µ µ ¶ 1 1 1 ϕ(m) = m 1 − + + + ... + p1 p2 pk µ ¶ 1 1 1 + − ... + + ... + p1 p2 p1 p3 pk−1 pk ¶ 1 k . . . + (−1) . p1 p2 · · · pk Wenn man sich die behauptete Formel ausmultipliziert denkt, sieht man, dass sie mit dieser hier übereinstimmt. Beispiel: Die Primfaktorzerlegung von 500 lautet 22 · 53 . Daher ist ϕ(500) = 500 · (1 − 12 ) · (1 − 15 ) = 500 · 12 · 45 = 200. Es gibt also genau 200 natürliche Zahlen ≤ 500, welche zu 500 relativ prim sind. 232 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Folgerung 9.38 Wenn m und n relativ prim zueinander sind, so gilt ϕ(m n) = ϕ(m)ϕ(n). (Man sagt deshalb: Die eulersche ϕ-Funktion ist "multiplikativ"). Beweis: Seien p1 , . . . , pk die verschiedenen Primfaktoren von m und pk+1 , . . . , ps die von n. Dann sind p1 , . . . , pk , pk+1 , . . . , ps die verschiedenen Primfaktoren von mn und die Behauptung ergibt sich durch Anwendung der soeben bewiesenen Formel. Insbesondere folgt also: Folgerung 9.39 Seien p, q zwei verschiedene Primzahlen. Dann gilt ϕ(pq) = (p − 1)(q − 1). Das sieht man auch durch direktes Einsetzen in unsere Formel: ¶µ ¶ µ 1 1 1− = (p − 1)(q − 1). ϕ(pq) = pq 1 − p q 9.2.4 Anwendungsbeispiel: Verschlüsselung von Nachrichten Es geht hier um einen ganz anderen Aspekt der Codierung wie in Kapitel 7.3. Wir wollen Nachrichten so verschlüsseln, dass es praktisch unmöglich ist, sie zu entschlüsseln, wenn man den zugehörigen ”Schlüssel” nicht kennt. Das entsprechende Teilgebiet der Codierungstheorie heißt Kryptographie. Zunächst ist es sehr leicht, jede durch Buchstaben gegebene Nachricht in Zahlen umzuwandeln. Dazu kann man z.B. die bekannten ASCII-Codes der Buchstaben verwenden. Die ASCII-Codes der Großbuchstaben, der Ziffern von 0 bis 9 sowie der wichtigsten Sonderzeichen (Punkt, Beistrich, Leerstelle etc.) sind Zahlen aus {32, . . . , 95}. Durch Subtraktion von 32 ergibt sich eine Zahl aus {0, . . . , 63}. Fassen wir diese Zahlen als Ziffern einer badischen Darstellung mit b = 64 auf, so erhalten wir aus jedem Text eine (große) natürliche Zahl. Eventuell wird man den Text in mehrere Teile zerlegen, damit die Zahlen unterhalb einer festen oberen Schranke m bleiben. Diese Zahlen lassen sich wieder leicht in den ursprünglichen Text zurückverwandeln, es handelt sich ja nur um die Berechnung der b-adischen Ziffern einer Zahl (siehe Kapitel 5.5.3). 9.2. GRUPPEN 233 Wir können also davon ausgehen, dass die zu verschlüsselnde Nachricht in Form von einer oder mehreren (großen) natürlichen Zahlen gegeben ist. Die im Folgenden beschriebene Methode beruht darauf, dass es bei großen Zahlen (etwa > 10300 ) im Allgemeinen auch mit jahrelangen Rechenzeiten nicht möglich ist, ihre Primfaktorzerlegung zu finden. Sie heißt Rivest-ShamirAdleman System, kurz RSA [31]. Man geht von zwei (großen) Primzahlen p und q aus, p 6= q, und bildet ihr Produkt m := pq. Als nächstes wählt man eine natürliche Zahl v < ϕ(m), welche relativ prim zu ϕ(m) = (p−1)(q −1) ist. Man kann also z.B. für v eine beliebige Primzahl < ϕ(m) nehmen, welche kein Teiler von ϕ(m) ist. Wenn man nun eine Nachricht verschlüsseln will, die in Form einer natürlichen Zahl x < m gegeben ist, berechnet man [x]v in Zm . Das Ergebnis wird durch eine Zahl y ∈ {0, . . . , m − 1} dargestellt, sodass y ≡ xv mod m. Dieses y ist die verschlüsselte Nachricht. Zur Entschlüsselung benötigen wir das inverse Element von [v]ϕ(m) in der Gruppe der primen Restklassen modulo ϕ(m), sagen wir [w]ϕ(m) . Dann ist vw ≡ 1 mod ϕ(m), also vw = 1 + k · ϕ(m) für ein k ∈ Z. Nehmen wir zunächst einmal an, dass x zu m relativ prim ist. Dann können wir bei der Berechnung von xvw mod m nach dem ”kleinen Fermat” (Bemerkung 9.32) den Exponenten modulo ϕ(m) reduzieren und erhalten y w ≡ xvw ≡ x mod m. Damit haben wir dann die ursprüngliche Nachricht zurückgewonnen. Betrachten wir nun den Fall, dass x und m nicht relativ prim sind. Ohne Beschränkung der Allgemeinheit können wir dann annehmen, dass x durch p teilbar ist. Das heißt, x ≡ 0 mod p und daher trivialerweise xvw = x · (xk )ϕ(m) ≡ x mod p. Wenn x nicht durch q teilbar ist, dann gilt nach dem ”kleinen Fermat” (xk )q−1 ≡ 1 mod q und daher (wegen ϕ(m) = (q − 1)(p − 1)): xvw = x · (xk )ϕ(m) = x · (xk )(q−1)(p−1) ≡ x mod q. Wenn x auch durch q teilbar ist, dann ist das wieder trivial. Die Differenz von linker und rechter Seite der letzten beiden Kongruenzen ist also sowohl durch p als auch durch q teilbar und somit auch durch m = pq. Daher folgt in jedem Fall y w ≡ xvw ≡ x mod m. 234 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Zur Decodierung braucht man die Primfaktoren p und q, damit man ϕ(m) berechnen kann. Diese Primzahlen sind extrem schwer zu finden, wenn sie hinreichend groß sind. Die Zahlen v und m können ”öffentlich” sein. Jeder, der diese Zahlen kennt, kann Nachrichten verschlüsseln. Man spricht daher von einem ”public-key cryptosystem”. Zur Illustration ein Beispiel mit folgenden (viel zu kleinen) Primzahlen: p = 4583, q = 6547, also m = 4583 · 6547 = 30004901. Für v wählen wir z.B. die Primzahl 4099. Wollen wir etwa das Wort ABRA verschlüsseln, so wandeln wir es zunächst in der oben beschriebenen Weise in eine Zahl um. Der ASCII-Code von A,B,C,... ist 65, 66, 67, . . .; A wird also durch die Zahl 33 dargestellt, usw., sodass ABRA der Zahl x = 33 · 640 + 34 · 641 + 50 · 642 + 33 · 643 = 8857761 entspricht. Zur Codierung berechnen wir y ≡ xv ≡ x4099 mod m. Das kann man z.B. so 12 machen, dass man zuerst x4096 = x2 mod m durch 12-maliges Quadrieren berechnet, wobei man in jedem Schritt gleich zum Rest modulo m übergeht, und dann noch mit x3 mod m multipliziert. (In ähnlicher Weise kann man andere, auch sehr große, Potenzen modulo m durch Benützung ihrer Binärentwicklung effizient berechnen. Man benötigt dabei niemals Zahlen, die größer als m2 sind, vgl. Bemerkung nach Definition 5.23.) Als Ergebnis erhalten wir die verschlüsselte Nachricht y = 12373067. Wenn nun jemand die Primzahlen p, q kennt, kann er ϕ(m) = (p − 1)(q − 1) = 29993772 berechnen und damit auch das inverse Element der (veröffentlichten) Zahl v modulo ϕ(m), nämlich w = v −1 mod ϕ(m) = 26905855 (mit dem euklidischen Algorithmus). Damit gelingt die Decodierung: x ≡ y w ≡ 8857761 mod m, und die Ziffernentwicklung zur Basis 64 führt auf das Wort ABRA zurück. Zum Ausprobieren dieses Verfahrens eignen sich insbesondere Computersysteme, mit denen man (im Prinzip) mit beliebig vielen Stellen rechnen kann. Es gibt aber natürlich schon fertige Ver- und Entschlüsselungsprogramme. 9.3 Ringe und Körper Die Mengen N, Z, Q, R haben von Natur aus zwei algebraische Operationen. Wichtige Eigenschaften dieser Operationen führen zu folgenden Begriffen. 9.3. RINGE UND KÖRPER 235 Definition 9.40 Sei M eine Menge mit zwei Verknüpfungen, die wir mit + und · bezeichnen. (M, +, ·) heißt ein Ring, wenn gilt: 1. (M, +) ist eine kommutative Gruppe, 2. (M, ·) ist eine (nicht notwendig kommutative) Halbgruppe, 3. es gelten folgende Distributivgesetze (für alle a, b, c ∈ M): a · (b + c) = a · b + a · c, (a + b) · c = a · c + b · c. Das neutrale Element von (M, +) heißt Null(-element) und wird meist mit 0 bezeichnet. Wenn (M, ·) ein neutrales Element besitzt, so nennt man es Eins(-element) oder Einheit und bezeichnet es meist mit 1. Wenn (M, ·) kommutativ ist, spricht man von einem kommutativen Ring. (In diesem Fall genügt natürlich eines der beiden Distributivgesetze.) Beispiele: 1) (Z, +, ·), (Q, +, ·) und (R, +, ·) sind kommutative Ringe mit Einheit. 2) (Zm , +, ·) ist ebenfalls ein kommutativer Ring mit Einheit. Das Distributivgesetz ergibt sich praktisch unmittelbar aus der Definition der Addition und Multiplikation auf Zm (siehe Kapitel 5.5.4). Diese Ringe heißen Restklassenringe. 3) (Z(2,2) , +, ·) und (R(2,2) , +, ·) sind nichtkommutative Ringe mit Einheit. 4) Sei R ein Ring und F die Menge aller Funktionen R → R. Dann kann man auf F in natürlicher Weise Addition und Multiplikation definieren, indem man für f, g ∈ F setzt: (f + g)(x) := f (x) + g(x), (f · g)(x) := f (x) · g(x). (Dabei müsste man genau genommen auf der linken Seite andere Symbole anstelle von + und · verwenden.) Dadurch wird F offensichtlich zu einem Ring. Die geforderten Eigenschaften folgen praktisch unmittelbar aus denen von R. 5) Weitere wichtige Beispiele bilden die Polynomringe (siehe Abschnitt 9.4). Der folgende Satz sieht zwar sehr trivial aus, erfordert aber doch einen Beweis: 236 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Satz 9.41 In jedem Ring (M, +, ·) gilt a · 0 = 0 · a = 0 für alle a ∈ M. Beweis: Seien a, b beliebige Elemente von M. Dann gilt auf Grund des Distributivgesetzes und der Neutralität von 0 bezüglich der Addition: a · b + a · 0 = a · (b + 0) = a · b. Durch Addition von −(a · b) folgt daraus a · 0 = 0. Die Gleichung 0 · a = 0 kann man völlig analog beweisen. Wir sehen also, dass a · b = 0 ist, wenn mindestens einer der beiden Faktoren a, b gleich Null ist. Die Umkehrung davon gilt nicht in jedem Ring, z.B. ist [2]6 · [3]6 = [0]6 . Definition 9.42 Ein Ring (M, +, ·) heißt nullteilerfrei, wenn für alle a, b ∈ M gilt: a · b = 0 → a = 0 ∨ b = 0. Kommutative nullteilerfreie Ringe mit Einheit 6= 0 heißen auch Integritätsbereiche (”integral domains”). Beispiel: (Z, +, ·), (Q, +, ·) und (R,+, ·) sind Integritätsbereiche. Wenn es in einem Ring Elemente a, b 6= 0 gibt, sodass a · b = 0, so heißen a und b Nullteiler. Beispiel: In(R(2,2) , +, ·) gibt es Nullteiler, da z.B. µ ¶µ ¶ µ ¶ 1 0 0 0 0 0 = . 0 0 0 1 0 0 Bemerkung 9.43 (Zm , +, ·) ist genau dann nullteilerfrei, wenn m eine Primzahl ist. Beweis: 1. Angenommen, m ist eine Primzahl und [a] · [b] = [0] in Zm . Wenn [a] 6= [0] ist, dann können wir nach Satz 9.28 mit [a]−1 multiplizieren und erhalten 1 · [b] = [a]−1 · [0], also [b] = [0]. 2. Angenommen, m ist keine Primzahl. Dann gibt es ganze Zahlen r, s ∈ {2, . . . , m − 1}, sodass r · s = m und folglich [r] · [s] = [m] = [0]. 9.3. RINGE UND KÖRPER Definition 9.44 Ein Ring (M, +, ·) heißt Körper (M \ {0}, · ) eine abelsche Gruppe ist. 237 (”field”), wenn Ein Körper besitzt also jedenfalls ein Einselement 1 6= 0 und zu jedem Element x 6= 0 ein multiplikativ inverses Element x−1 , das oft auch mit x1 bezeichnet wird. xy bedeutet dann so viel wie x · y −1 . (Z, +, ·) ist kein Körper, dagegen sind (Q, +, ·) und (R,+, ·) Körper. (Man schreibt dafür auch einfach Q bzw. R.) (Zm , +, ·) ist nach Satz 9.28 genau dann ein Körper, wenn m eine Primzahl ist. Bemerkung 9.45 Jeder Körper ist nullteilerfrei (und daher ein Integritätsbereich). Beweis: Wir können wie bei Zm schließen: Angenommen, a · b = 0. Wenn a 6= 0 ist, erhalten wir durch Multiplikation mit a−1 : 1 · b = a−1 · 0, also b = 0. Schließlich sei noch ein interessanter Satz erwähnt: Satz 9.46 Sei n eine natürliche Zahl. Es gibt genau dann einen Körper mit n Elementen, wenn n Potenz einer Primzahl ist, d.h. wenn es eine Primzahl p und ein s ∈ N gibt mit n = ps . Beweis: Siehe z.B. [19]. Bemerkung: Zu gegebenem n = ps gibt es bis auf Isomorphie nur einen Körper mit n Elementen (siehe Definition 9.65). Dieser heißt auch GaloisKörper. Für s = 1 handelt es sich einfach um die Körper Zp . Definition 9.47 Sei K = (M, +, ·) ein Körper. Eine Teilmenge T von M heißt Teilkörper (oder Unterkörper, ”subfield”) von K, wenn T mit der Einschränkung von + und · auf T × T ein Körper ist. Z.B. bilden die rationalen Zahlen einen Teilkörper des Körpers der reellen Zahlen. 238 9.4 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Polynome Unter einem ”Polynom” versteht man üblicherweise einen ”Ausdruck” der folgenden Art: a0 + a1 x + a2 x2 + . . . + am xm , wobei x als ”Unbekannte” angesehen wird. Das Wesentliche an so einem Polynom ist die Folge der ”Koeffizienten” a0 , a1 , . . . , am : wenn man diese kennt, so kennt man das ganze Polynom. Da die Anzahl m der Koeffizienten beliebig groß sein kann, kommt man zu folgender Definition: Definition 9.48 Unter einem Polynom (”polynomial”) über einem Ring R versteht man eine (unendliche) Folge a = (a0 , a1 , a2 , . . .) von Elementen aus R, in der nur endlich viele Elemente 6= 0 sind, d.h. entweder ist a das Nullpolynom (0, 0, 0, . . .), oder es gibt ein m ∈ N0 , sodass am 6= 0 und ai = 0 für i > m, also a = (a0 , a1 , a2 , . . . , am , 0, 0, . . .) mit am 6= 0. Diese Zahl m heißt der Grad (”degree”) von a. (Für das Nullpolynom ist der Grad nicht definiert.) Bezeichnung: grad a. Die Menge aller Polynome über R wird mit R[x] bezeichnet. Für das Nullpolynom schreiben wir einfach auch 0. Die Schreibweise mit der Unbekannten x hat aber schon seine Berechtigung. Insbesondere kommt dadurch zum Ausdruck, dass jedem Polynom über R eine Funktion R → R entspricht. Definition 9.49 Sei a = (a0 , a1 , a2 , . . . , am , 0, 0, . . .) ein Polynom über R. Dann heißt die Funktion R → R : x 7→ m X ai xi i=0 die zu a gehörige Polynomfunktion. Sie wirdP meist ebenfalls mit a bezeichi net, sodass wir also schreiben können: a(x) = m i=0 ai x . Oft wird nicht genau zwischen Polynomen und Polynomfunktionen unterschieden. Es kommt allerdings vor, dass verschiedenen Polynomen dieselbe Polynomfunktion entspricht: 9.4. POLYNOME 239 Beispiel: Sei R = Z2 , und p = ([1], [1], [0], [0], . . .), d.h. p(x) = [1] + x; q = ([1], [0], [1], [0], . . .), d.h. q(x) = [1] + x2 . p und q sind offensichtlich zwei verschiedene Polynome. Die zugehörigen Polynomfunktionen sind aber gleich, denn p([0]) = [1] + [0] = [1], q([0]) = [1] + [0]2 = [1] + [0] = [1]; p([1]) = [1] + [1] = [0], q([1]) = [1] + [1]2 = [1] + [1] = [0]. Ähnliche Beispiele gibt es in Zn für beliebiges n ∈ N. Zum Polynom (0, 1, 0, 0, . . .) gehört die Funktion R → R : x 7→ x. Dieses Polynom wird daher meist (etwas irreführend) auch mit x bezeichnet. Auf R[x] gibt es eine natürliche Addition: wenn a = (a0 , a1 , . . .) und b = (b0 , b1 , . . .) ist, so setzt man a + b := (a0 + b0 , a1 + b1 , . . .). Das ist mit der Addition der zugehörigen Polynomfunktionen verträglich, d.h. es gilt (a + b)(x) = a(x) + b(x) für alle x ∈ R. Man kann auf R[x] auch eine Multiplikation so definieren, dass sie mit der Multiplikation der zugehörigen Funktionen verträglich ist. Sehen wir uns dazu das Produkt von zwei Polynomfunktionen an und fassen dabei jeweils die Summanden mit gleichem Exponenten von x zusammen: ! µm ¶Ã n P P ai xi bj xj = i=0 j=0 = a0 b0 x0 + (a0 b1 + a1 b0 )x1 + (a0 b2 + a1 b1 + a2 b0 )x2 + . . . + am bn xm+n = = m+n P ck xk mit ck = k=0 k P ai bk−i . i=0 Daher definiert man: Definition 9.50 Seien a = (ai ) und b = (bj ) zwei Polynome über R. Dann versteht P man unter dem Produkt von a und b das Polynom a · b := (ck ) mit ck := ki=0 ai bk−i . Man kann nun relativ leicht nachprüfen, dass R[x] auf diese Weise zu einem Ring wird: 240 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Satz 9.51 Die Menge R[x] der Polynome über einem Ring R ist mit der soeben definierten Addition und Multiplikation ein Ring. Wenn R kommutativ ist, dann ist auch R[x] kommutativ. Wenn R ein Einselement 1 hat, dann ist (1, 0, 0, 0, . . .) Einselement von R[x]. Bemerkung 9.52 grad(a + b) ≤ max(grad a, grad b), grad(a · b) ≤ grad a + grad b. Wenn R nullteilerfrei ist, gilt in der zweiten Ungleichung immer Gleichheit. Beweis: Die erste Ungleichung ist praktisch trivial. Pk Für die zweite sei m = grad a, n = grad b und c = a · b. Wenn ck = i=0 ai bk−i 6= 0 ist, muss mindestens ein Summand 6= 0 sein. Daraus folgt: es gibt ein i ∈ {0, . . . , k}, sodass ai 6= 0 und bk−i 6= 0. Dann muss aber i ≤ m und k − i ≤ n sein, und durch Addition dieser beiden Ungleichungen folgt k ≤ m + n, also grad(a · b) ≤ grad a + grad b. Aus am 6= 0 und bn 6= 0 folgt bei Nullteilerfreiheit cm+n = am bn 6= 0 und somit grad(a · b) = grad a + grad b. Bemerkung: Die Elemente des Ringes R entsprechen in natürlicher Weise den Polynomen vom Grad 0 (bzw. dem Nullpolynom). Sie werden daher normalerweise mit diesen identifiziert, was auch schon durch unsere Bezeichnung des Einselements und des Nullpolynoms zum Ausdruck kommt. Insbesondere hat es einen Sinn, ein Ringelement c mit einem Polynom zu multiplizieren: c · (a0 , a1 , . . . , am , . . .) = (ca0 , ca1 , . . . , cam , . . .). Polynome mit Grad Null heißen auch Konstante. Zur Schreibweise: Wenn wir wie oben das Polynom (0, 1, 0, 0, . . .) mit x bezeichnen, dann ist x2 = x · x = (0, 0, 1, 0, 0, . . .) usw., und man sieht leicht, dass über einem Ring mit Einselement 2 m (a0 , a1 , a2 , . . . , am , 0, . . .) = a0 · 1 + a1 · x + a2 · x + . . . + am x = m X ai xi , i=0 wobei natürlich x0 := 1 gesetzt wurde. Das ist die allgemein übliche Schreibweise für Polynome. Sie verwischt allerdings den Unterschied zwischen Polynomen und Polynomfunktionen! 9.4. POLYNOME 9.4.1 241 Polynomringe über Körpern Für Polynomringe über einem Körper gibt es eine Teilbarkeitstheorie, die weitgehend analog zu der im Ring der ganzen Zahlen ist. Satz 9.53 Seien a, b Polynome über einem Körper K mit b 6= 0. Dann gibt es eindeutig bestimmte Polynome q, r ∈ K[x], sodass a = b · q + r, wobei entweder r = 0 oder grad r < grad b. Definition 9.54 Wie bei den natürlichen Zahlen nennt man auch hier q Quotient und r Rest bei Division von a durch b. Beweis des Satzes: Sei m := grad a. Wenn a = 0 oder m < grad b ist, dann ist die Behauptung mit q := 0 und r := a trivialerweise richtig. Damit haben wir bereits den Anfang eines Induktionsbeweises nach m. < m → m: Sei n := grad b und m ≥ n. Betrachten wir das Polynom ā := a − am m−n x b. bn ām = am − abmn bn = 0, also ist grad ā < grad a, und nach Induktionsvoraussetzung gibt es Polynome q̄, r mit r = 0 oder grad r < grad b, sodass ā = b · q̄ + r. Setzen wir nun q := q̄ + abmn xm−n , so sehen wir: b · q + r = b · q̄ + am m−n am m−n x b + r = ā + x b = a, bn bn sodass nur mehr die Eindeutigkeit nachzuprüfen ist. Nehmen wir an, a = b · q1 + r1 = b · q2 + r2 , wobei r1 und r2 die geforderten Bedingungen erfüllen. Dann ist b · (q1 − q2 ) = r2 − r1 . Wenn q1 − q2 6= 0 ist, so ist der Grad der linken Seite ≥ grad b (siehe Bemerkung 9.52), der der rechten Seite aber < grad b, Widerspruch. Also muss q1 − q2 = 0 sein. Dann folgt aber auch r2 − r1 = 0. 242 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Aus diesem Beweis ergibt sich ein einfacher Algorithmus zur Berechnung von q und r. Wir setzen dabei voraus, dass b nicht das Nullpolynom ist. polynomialdivide(a, b): n := grad b if a = 0 then m := −1 else m := grad a end of if If m < n then q := 0 r := a else ā := a − abmn xm−n b (q̄, r) := polynomialdivide(ā, b) q := q̄ + abmn xm−n end of if return(q, r) Man kann diesen Algorithmus auch ”händisch” durchführen. Dabei verwendet man eine Schreibweise, die an diejenige für die Division von natürlichen Zahlen angelehnt ist. Beispiel (mit K = R): (6x4 + 4x3 + x2 − 3x + 4) : (2x2 + x − 1) = 3x2 + 12 x + 6x4 + 3x3 − 3x2 ––––––– x3 + 4x2 − 3x x3 + 12 x2 − 12 x –––––––– 7 2 x − 52 x + 4 2 7 2 x + 74 x − 74 2 ––––––– x + 23 − 17 4 4 7 4 Probe: (2x2 + x − 1) (3x2 + 12 x + 74 ) + (− 17 x + 23 ) = 6x4 + 4x3 + x2 − 3x + 4 4 4 Definition 9.55 Seien a, b ∈ K[x]. Wenn es ein q ∈ K[x] gibt, sodass a = b · q, so heißt b Teiler (oder Faktor) von a. 9.4. POLYNOME 243 Die Faktoren vom Grad 1 haben eine besondere Bedeutung: Definition 9.56 α ∈ K heißt Nullstelle (”zero”) von p ∈ K[x], wenn p(α) = 0 ist. Man nennt dann α auch eine Wurzel (”root”) der Gleichung p(x) = 0. Satz 9.57 Sei p ∈ K[x]. Ein Element α ∈ K ist genau dann Nullstelle von p, wenn x − α ein Teiler von p ist. Beweis: Wenn x − α ein Teiler von p ist, dann gibt es ein q ∈ K[x], sodass p(x) = q(x)(x − α) für alle x ∈ K, insbesondere folgt mit x = α sofort p(α) = q(α)(α − α) = 0. Sei nun umgekehrt p(α) = 0. Wir können jedenfalls p durch x − α dividieren, d.h. es gibt q, r ∈ K[x], sodass p = q · (x − α) + r und r = 0 oder grad r < grad(x − α) = 1,d.h. r ist eine Konstante. Einsetzen von α ergibt: 0 = p(α) = q(α) · 0 + r, also r = 0. Analog zu den natürlichen Zahlen gibt es auch hier einen größten gemeinsamen Teiler GGT, den man mit dem entsprechend modifizierten euklidischen Algorithmus berechnen kann. Der GGT von Polynomen aus K[x] ist natürlich nur bis auf einen Faktor aus K eindeutig bestimmt. Auch die Primfaktorzerlegung natürlicher Zahlen besitzt ein unmittelbares Analogon für Polynome: Definition 9.58 Ein nicht konstantes Polynom p ∈ K[x] heißt irreduzibel, wenn aus p = a · b mit a, b ∈ K[x] folgt, dass a oder b konstant ist. (Andernfalls heißt p reduzibel.) Bemerkung: Jedes Polynom vom Grad 1 ist irreduzibel. Satz 9.59 Jedes nicht konstante Polynom über einem Körper ist als Produkt von irreduziblen Polynomen darstellbar, und diese Darstellung ist eindeutig bis auf die Reihenfolge und konstante Faktoren. 244 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Beweis: Ähnlich wie bei der Primfaktorzerlegung von natürlichen Zahlen. Beispiel: Das Polynom p := x2 + 1 ist irreduzibel über R: Wäre p = a · b mit nicht konstanten a, b, so müsste grad a = grad b = 1 sein, d.h. x2 + 1 = (a1 x + a0 ) · (b1 x + b0 ) mit a1 6= 0, b1 6= 0. Dann wäre aber p(− aa01 ) = 0, andererseits ist aber x2 + 1 ≥ 1 für alle x ∈ R, Widerspruch. Über dem Körper C der komplexen Zahlen (siehe Abschnitt 9.5.2) ist dieses Polynom dagegen reduzibel: x2 +1 = (x+i)(x−i), und das ist eine Darstellung als Produkt irreduzibler Polynome. Allgemein gilt sogar: Satz 9.60 (Fundamentalsatz der Algebra) Jedes Polynom vom Grad m > 0 über C ist als Produkt von m Polynomen vom Grad 1 darstellbar. Der Beweis dieses Satzes übersteigt den Rahmen dieses Buches (vgl. z.B. [13]). Es sei nur darauf hingewiesen, dass auf Grund von Satz 9.57 die Faktoren vom Grad 1 die Nullstellen des³Polynoms liefern: Wenn a1 x+a0 ein ´ a0 Faktor vom Grad 1 ist, dann auch x − − a1 , d.h. − aa01 ist eine Nullstelle. (Vgl. Beispiel zum vorigen Satz.) Ein Polynom vom Grad m über C lässt sich also immer so darstellen: c(x − α1 )(x − α2 ) · · · (x − αm ) mit c ∈ C \ {0} und den Nullstellen α1 , α2 , . . . , αm . Dabei können Nullstellen mehrfach auftreten. 9.5 9.5.1 Isomorphismen und Homomorphismen Isomorphismen Wir haben den Begriff ”Isomorphismus” schon bei Graphen kennengelernt. Dieser Begriff hat aber für beliebige mathematische Strukturen einen Sinn. Grob formuliert besagt er Folgendes: Seien A und B zwei Mengen mit ”gleichartigen” Strukturen, z.B. zwei Graphen, zwei Gruppen, zwei Ringe, zwei Vektorräume, etc.. Dann versteht man unter einem Isomorphismus von A nach B eine bijektive Abbildung f : A → B, sodass für Elemente x, y, ... aus A, welche (in Bezug auf die gegebene Struktur) in einer bestimmten 9.5. ISOMORPHISMEN UND HOMOMORPHISMEN 245 Beziehung zueinander stehen, die Bilder f (x), f (y), . . . in B in derselben Beziehung zueinander stehen, und umgekehrt. Das bedeutet also, dass diese beiden strukturierten Mengen im Wesentlichen gleich sind, sie unterscheiden sich gewissermaßen nur durch die Bezeichnung. Bei einem Graphen geht es um Beziehungen von zwei Elementen x, y der Form {x, y} ∈ E. In einer Gruppe spielen dagegen Beziehungen von drei (nicht notwendig verschiedenen) Elementen x, y, z der Form z = x ∗ y eine wesentliche Rolle, und wir kommen zu folgender Definition: Definition 9.61 Seien (G, ∗) und (H, ·) zwei Gruppen bzw. Halbgruppen. Unter einem ((Halb-)Gruppen-)Isomorphismus von G nach H versteht man eine bijektive Abbildung f : G → H, sodass für alle x, y ∈ G gilt: f (x ∗ y) = f (x) · f (y). Man könnte die Bedingung auch so formulieren: z = x ∗ y ⇒ f (z) = f (x) · f (y). Daraus folgt dann auch die Umkehrung: f (z) = f (x) · f (y) ⇒ z = x ∗ y. Beweis: Angenommen x ∗ y = z 0 6= z. Dann würde f (x) · f (y) = f (z 0 ) 6= f (z) folgen, Widerspruch. Definition 9.62 Wenn es zu zwei (Halb-)Gruppen G und H einen Isomorphismus gibt, so sagt man, G und H sind isomorph. (Dadurch wird natürlich auf jeder Menge von (Halb-)Gruppen eine Äquivalenzrelation definiert.) Die Bedeutung dieses Begriffs liegt vor allem darin, dass man bei zwei oder mehreren isomorphen Gruppen immer nur eine genau studieren muss. Alle (gruppentheoretischen) Eigenschaften dieser einen Gruppe übertragen sich dann ”automatisch” auf die anderen. Beispiel für einen Gruppen-Isomorphismus: 246 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Sei (G, ·) eine endliche zyklische Gruppe mit erzeugendem Element a, ord(G) = m. Dann ist G = {a0 , a1 , . . . , am−1 }, und die folgende Abbildung f : Zm → G ist ein Isomorphismus (bezüglich der Addition auf Zm ): f ([k]) := ak . Beweis: Zunächst sollten wir uns überlegen, dass f wohldefiniert ist, d.h.: 0 [k] = [k0 ] ⇒ ak = ak . Sei also k ≡ k0 mod m, d.h. es gibt ein q ∈ Z, sodass k − k0 = qm. Dann 0 0 ist aber ak−k = aqm = (am )q = eq = e. Durch Multiplikation mit ak folgt 0 daraus ak = ak . f ist offensichtlich bijektiv. f ([r] + [s]) = f ([r + s]) = ar+s = ar · as = f ([r]) · f ([s]), also ist f tatsächlich ein Isomorphismus. Jede endliche zyklische Gruppe ist also zu einem (Zm , +) isomorph. Genauso sieht man, dass jede unendliche zyklische Gruppe zu (Z, +) isomorph ist. Das Studium der zyklischen Gruppen kann man also auf das Studium der Gruppen (Zm , +) bzw. (Z, +) reduzieren. Man kann sich leicht überlegen, dass je zwei Gruppen mit zwei Elementen isomorph sind, ebenso je zwei mit drei Elementen. (Sie sind jeweils zu (Z2 , +) bzw. (Z3 , +) isomorph.) Bemerkung 9.63 Sei f ein Isomorphismus der Gruppen (G, ∗) und (G0 , ·). Dann ist das f -Bild des neutralen Elements von G gleich dem neutralen Element von G0 , und für alle x ∈ G gilt ord f (x) = ord x. Beweis: Sei x0 ein beliebiges Element von G0 . Dann gibt es (wegen der Surjektivität von f ) ein x ∈ G mit x0 = f (x). Daraus folgt aber schon f (e) · x0 = f (e) · f (x) = f (e ∗ x) = f (x) = x0 und ebenso x0 · f (e) = x0 . Also ist f (e) neutrales Element von G0 . Die zweite Behauptung ist eine einfache Folgerung daraus. Beispiel für zwei nicht isomorphe Gruppen mit vier Elementen: (Z4 , +) und die sogenannte ”Klein’sche Vierergruppe” V4 := {ε, (12)(34), (13)(24), (14)(23)}, eine Untergruppe von S4 . 9.5. ISOMORPHISMEN UND HOMOMORPHISMEN 247 (Nach Felix Klein (1849 - 1925), der u.a. wegen seines ”Erlanger Programms” bekannt ist, in dem er die gruppentheoretische Betrachtungsweise der Geometrie in den Vordergrund rückte.) Die Nicht-Isomorphie dieser beiden Gruppen folgt auf Grund der vorhergehenden Bemerkung sofort aus der Tatsache, dass Z4 zyklisch ist, V4 aber nicht: in V4 haben alle Elemente 6= ε die Ordnung 2. Häufig sind auch Isomorphismen einer Gruppe auf sich selbst interessant: Definition 9.64 Sei (G, ∗) eine Gruppe. Ein Isomorphismus α : G → G heißt Automorphismus. Automorphismen beschreiben so etwas wie ”Symmetrien” einer Gruppe. Z.B. ist die Abbildung Z → Z : x 7→ −x ein Automorphismus der Gruppe (Z, +). Die identische Abbildung ist immer ein trivialer Automorphismus. Für Ringe bzw. Körper werden ”Isomorphismus” und ”Automorphismus” in analoger Weise definiert: Definition 9.65 Seien (R, +, ·) und (S, ⊕, ¯) zwei Ringe bzw. Körper. Ein (Ring- bzw. Körper-)Isomorphismus von R nach S ist eine bijektive Abbildung f : R → S, sodass für alle x, y ∈ R gilt: f (x + y) = f (x) ⊕ f (y), f (x · y) = f (x) ¯ f (y). Wenn (R, +, ·) = (S, ⊕, ¯) ist, so heißt f ein (Ring- bzw. Körper-) Automorphismus. Bemerkung 9.66 In den Körpern Q und R gibt es keine nichttrivialen Automorphismen. Beweis für Q: Angenommen, f ist ein Automorphismus von Q. Nach Bemerkung 9.63 muss f (0) = 0 und f (1) = 1 sein. Damit haben wir bereits den Anfang eines Induktionsbeweises für die Behauptung ”f (n) = n für alle n ∈ N”. Der Induktionsschluss selbst ist aber auch ganz einfach: Aus f (n) = n folgt ja f (n + 1) = f (n) + f (1) = n + 1. Wegen f (n) + f (−n) = f (n + (−n)) = f (0) = 0 ist f (−n) = −f (n) = −n für alle n ∈ N, und daher folgt f (z) = z für alle z ∈ Z. 248 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Sei schließlich x eine beliebige rationale Zahl, x = Dann gilt f ( pq ) f (q) = f ( pq q) p q mit p ∈ Z und q ∈ Z\{0}. = f (p), also f (x) = f ( pq ) = f (p) f (q) = p q = x. Im Körper der komplexen Zahlen gibt es jedoch schon einen nichttrivialen Automorphismus. Wir können das zum Anlass nehmen, um uns einmal die Definition der komplexen Zahlen anzusehen. 9.5.2 Der Körper der komplexen Zahlen Definition 9.67 Unter dem Körper C der komplexen Zahlen versteht man den R2 mit der folgenderweise definierten Addition und Multiplikation: (a, b) + (c, d) : = (a + c, b + d), (a, b) (c, d) : = (ac − bd, ad + bc). Bemerkung: Die komplexen Zahlen kann man also als Punkte oder Vektoren der Ebene R2 betrachten. Man spricht in diesem Zusammenhang auch von der Gauß’schen Zahlenebene. Bezüglich der Addition liegt hier ganz offensichtlich eine abelsche Gruppe vor. Sehen wir uns also die Multiplikation etwas genauer an. Die Gültigkeit der Assoziativ-, Kommutativ- und Distributivgesetze rechnet man leicht nach. Das Einselement ist (1, 0), und das zu (a, b) inverse Element erhält man folgendermaßen. Wir suchen x, y ∈ R, sodass (a, b)(x, y) = (1, 0), d.h. es geht um die Lösung des linearen Gleichungssystems ax − by = 1, bx + ay = 0. a −b Wir erhalten x = a2 +b 2 und y = a2 +b2 . Es gibt also tatsächlich zu jedem Paar (a, b) ∈ R2 \ {(0, 0)} ein multiplikatives Inverses, nämlich ¶ µ a −b −1 . , (a, b) = a2 + b2 a2 + b2 Bemerkung 9.68 Die komplexen Zahlen der Form (a, 0) bilden einen Teilkörper von C, der zu R isomorph ist. Beweis: (a, 0) − (b, 0) = (a − b, 0), also haben wir bezüglich der Addition eine Untergruppe. 9.5. ISOMORPHISMEN UND HOMOMORPHISMEN 249 Aus (a, 0) (b, 0)¡= (ab¢ − 0¡ · 0, a¢ · 0 + 0 · b) = (ab, 0) und (a, 0)−1 = aa2 , 0 = a1 , 0 erkennen wir einerseits, dass tatsächlich ein Teilkörper vorliegt, und andererseits, dass die Abbildung ϕ : R →{(x, 0) | x ∈ R} : a 7→ (a, 0) ein Körper-Isomorphismus ist. Zur Schreibweise: Die komplexe Zahl (0, 1) bezeichnet man mit i. Sie wird auch imaginäre Einheit genannt. Die komplexen Zahlen der Form (a, 0) identifiziert man auf Grund der letzten Bemerkung mit den reellen Zahlen und schreibt daher einfach a statt (a, 0). Also: a + ib = (a, 0) + (0, 1)(b, 0) = (a, 0) + (0, b) = (a, b). Das rechtfertigt die übliche Schreibweise a + ib anstelle von (a, b). Man nennt a den Realteil und b den Imaginärteil der komplexen Zahl z = a + ib. Bezeichnung: a = Re z, b = Im z. Wir sehen jetzt i2 = (0, 1) · (0, 1) = (−1, 0) = −1. Die Definition der Multiplikation wird nun im Nachhinein verständlicher: (a + ib)(c + id) = ac + ibc + iad + i2 bd = (ac − bd) + i(bc + ad). Definition 9.69 Seien a und b reelle Zahlen. Unter der zu z = a + ib ∈ C konjugiert komplexen Zahl versteht man z := a − ib. Bemerkung 9.70 Re z = z+z , 2 Im z = z−z . 2i Satz 9.71 Die Abbildung κ : C → C : x 7→ x ist ein Automorphismus von C. (Anschaulich handelt es sich um die Spiegelung an der ”reellen Achse”.) Beweis: Die Bijektivität ergibt sich unmittelbar aus der Beobachtung, dass κ zu sich selbst invers ist: x = x. Der Rest folgt aus den Rechenregeln x + y = x + y, x · y = x · y. 250 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Beweis dieser Regeln: Sei x = a + ib und y = c + id. Dann ist x + y = (a + c) − i(b + d) = (a − ib) + (c − id) = x + y und x · y = (ac − bd) − i(bc + ad) = (a − ib)(c − id) = x · y. Definition 9.72 Unter dem absoluten √ Betrag einer komplexen Zahl z = a + ib versteht man die reelle Zahl |z| := a2 + b2 . Bemerkungen: 1) |z|2 = a2 + b2 = z z̄. 2) |xy| = |x| |y| , denn |xy|2 = (xy)(xy) = (xx̄)(yȳ) = |x|2 |y|2 . 3) Den reziproken Wert einer komplexen Zahl z = a + ib 6= 0 kann man jetzt auch so berechnen: a − ib a b 1 z̄ z̄ = 2 −i 2 . = = 2 = 2 2 2 z z · z̄ a +b a +b a + b2 |z| Die komplexen Zahlen bieten auch ein schönes Beispiel dafür, dass man das Wesen einer (algebraischen oder sonstigen) Struktur manchmal besser verstehen kann, wenn man eine dazu isomorphe Struktur studiert. Dazu: ¶ a −b Satz 9.73 Die Menge M2 der reellen 2 × 2-Matrizen der Form b a bildet mit der Matrizenaddition und -multiplikation einen zu C isomorphen Körper. Der entsprechende Isomorphismus sieht so aus: µ ¶ a −b ϕ : C → M2 : a + ib 7→ . b a µ Beweis: Die Bijektivität ist klar. Mit x = a + ib und y = c + id sehen wir ¶ µ a + c −(b + d) = ϕ(x) + ϕ(y) ϕ(x + y) = b+d a+c und ϕ(xy) = µ ac − bd −ad − bc bc + ad ac − bd ¶ = µ a −b b a ¶µ c −d d c ¶ = ϕ(x) ϕ(y). 9.5. ISOMORPHISMEN UND HOMOMORPHISMEN 251 Anschauliche Bedeutung dieser Matrizen: Wenn a und b nicht beide = 0 sind, √ 2 2 setzen wir r := a + b , c := a/r und s := b/r. Dann ist ¶ ¶ µ µ c −s a −b . =r s c b a Nun ist aber c2 + s2 = 1, µ daher gibt ¶ es ein α ∈ [0, 2π), sodass c = cos α und c −s s = sin α. Die Matrix beschreibt somit eine Drehung um den s c Winkel α, und die Multiplikation mit r entspricht einer ”Streckung” (oder, für r <µ1, einer ¶ ”Stauchung”) um den Faktor r. Insgesamt beschreibt die a −b eine ”Drehstreckung”. Die Multiplikation zweier solcher Matrix b a Matrizen kann also als Zusammensetzung von zwei Drehstreckungen interpretiert werden. 9.5.3 Homomorphismen Definition 9.74 Seien (G, ∗) und (H, ·) zwei Gruppen bzw. Halbgruppen. Unter einem ((Halb-)Gruppen-)Homomorphismus von G nach H versteht man eine Abbildung f : G → H, sodass für alle x, y ∈ G gilt: f (x ∗ y) = f (x) · f (y). Gegenüber der Definition von ”Isomorphismus” wurde hier also nur das Wort ”bijektiv” weggelassen. Ein Isomorphismus ist somit nichts anderes als ein bijektiver Homomorphismus. Für Ringe und Körper wird der Begriff Homomorphismus analog definiert. Beispiele: 1) f : N → N : n 7→ 2n ist ein Homomorphismus der Halbgruppe (N, +) in die Halbgruppe (N, ·), denn f (n + m) = 2n+m = 2n · 2m = f (n) · f (m). Diese Abbildung ist kein Isomorphismus: f ist zwar injektiv, aber nicht surjektiv. Durch Einschränkung des Wertebereichs auf die Unter-Halbgruppe {2x | x ∈ N} von (N, ·) ergibt sich ein Isomorphismus. 2) sign : Sn → {1, −1} ist ein Homomorphismus von der Gruppe der Permutationen von n Elementen in die Gruppe ({1, −1}, ·), denn 252 KAPITEL 9. ALGEBRAISCHE STRUKTUREN sign(π ◦ σ) = sign(π) · sign(σ). Dieser Homomorphismus ist für n = 1 trivial injektiv, aber nicht surjektiv; für n = 2 ist er bijektiv, also ein Isomorphismus; für n > 2 ist er surjektiv, aber nicht injektiv. 3) g : Z → Zm : x 7→ [x]m ist ein surjektiver Ring-Homomorphismus von (Z, +, ·) auf (Zm , +, ·), da ja [x + y] = [x] + [y] und [x · y] = [x] · [y]. Bemerkung 9.75 Ein Gruppen-Homomorphismus f : G → H bildet das neutrale Element von G auf das neutrale Element von H ab, und für jedes x ∈ G das inverse Element von x auf das inverse Element von f (x), d.h.: f (eG ) = eH , f (x−1 ) = f (x)−1 . Beweis: Wir bezeichnen mit e = eG das neutrale Element von G, und mit eH das neutrale Element von H. 1. f (e) = f (e) f (e) f (e)−1 = f (ee) f (e)−1 = f (e) f (e)−1 = eH . 2. f (x−1 ) f (x) = f (x−1 x) = f (e) = eH , und analog f (x) f (x−1 ) = eH . Daher ist f (x−1 ) das zu f (x) inverse Element. Folgerung 9.76 Sei f : G → H ein Gruppen-Homomorphismus. Dann ist f (G) eine Untergruppe von H. Definition 9.77 Sei f : G → H ein Gruppen-Homomorphismus. Unter dem Kern von f versteht man das f -Urbild des neutralen Elements von H. Satz 9.78 Der Kern K eines Gruppen-Homomorphismus f : G → H ist eine Untergruppe von G, und es gilt für alle x ∈ G: 1. k ∈ K ⇒ xkx−1 ∈ K. 2. xK = Kx. 3. xK = {x0 ∈ G | f (x0 ) = f (x)}. Beweis: Sei eH das neutrale Element von H. Aus x, y ∈ K = f −1 (eH ) folgt −1 ∈ K. Da K wegen eG ∈ K f (xy −1 ) = f (x)f (y)−1 = eH e−1 H = eH , also xy nicht leer ist, folgt: K ist eine Untergruppe von G. (Siehe Bemerkung 9.16) 1. k ∈ K ⇒ f (k) = eH ⇒ f (xkx−1 ) = f (x) eH f (x)−1 = eH . 9.5. ISOMORPHISMEN UND HOMOMORPHISMEN 253 2. Sei y = xk mit einem k ∈ K. Dann ist y = xk(x−1 x) = (xkx−1 )x ∈ Kx, denn nach 1. ist xkx−1 ∈ K. Somit folgt xK ⊂ Kx, und die umgekehrte Inklusion Kx ⊂ xK folgt analog. 3. Wenn x0 = xk mit k ∈ K ist, dann ist f (x0 ) = f (x)f (k) = f (x)eH = f (x). Wenn umgekehrt f (x0 ) = f (x) ist, dann ist f (x0 x−1 ) = f (x0 )f (x)−1 = f (x)f (x)−1 = eH , also k := x0 x−1 ∈ K, d.h. kx = x0 , also x0 ∈ Kx = xK. Die dritte Eigenschaft zeigt, dass die Nebenklassen von K genau die Äquivalenzklassen sind, die zu der durch x0 ∼ x :⇔ f (x0 ) = f (x) definierten Äquivalenzrelation gehören. Die zweite Eigenschaft ist eigentlich mit der ersten äquivalent (Beweis: Übungsaufgabe 7). Sie führt zu folgender Begriffsbildung: Definition 9.79 Eine Untergruppe K von G heißt Normalteiler (”normal subgroup”) von G, wenn xK = Kx für alle x ∈ G. In einer abelschen Gruppe ist natürlich jede Untergruppe ein Normalteiler. Wenn K ein Normalteiler ist, so stimmen also die linken und rechten Nebenklassen von K überein. Auf Grund unseres Satzes ist der Kern der Signum-Funktion auf Sn ein Normalteiler von Sn . Es handelt sich dabei um die Untergruppe der geraden Permutationen von Sn . Diese heißt auch alternierende Gruppe und wird mit An bezeichnet. Anderes Beispiel für einen Normalteiler: Die Kleinsche Vierergruppe V4 ist ein Normalteiler von S4 . Um das einzusehen, kann man alle (voneinander verschiedenen) linken und rechten Nebenklassen aufschreiben, z.B.: (12)V4 = {(12), (34), (1324), (1423)}, V4 (12) = {(12), (34), (1423), (1324)} = (12)V4 , usw. Beispiel für eine Untergruppe, die kein Normalteiler ist: S3 = {ε, (12), (13), (23), (123), (132)} kann als Untergruppe von S4 aufgefasst werden. (14)S3 = {(14), (124), (134), (14)(23), (1234), (1324)}, (12)(14) = (142) ∈ S3 (14), aber ∈ / (14)S3 , also ist (14)S3 6= S3 (14). 254 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Satz 9.80 Die Menge der Nebenklassen eines Normalteilers K einer Gruppe G bildet mit der folgenderweise definierten Verknüpfung eine Gruppe: (xK) ∗ (yK) := (xy)K. Definition 9.81 Diese Gruppe heißt Faktorgruppe oder Quotientengruppe von G nach K. Bezeichnung: G/K. Beweis des Satzes: Zunächst überlegen wir uns, dass es sich um eine wohldefinierte Verknüpfung handelt: Angenommen xK = x0 K. Dann sind x und x0 bezüglich der zu K gehörigen Äquivalenzrelation äquivalent (vgl. Satz 9.18), d.h. x−1 x0 = k ∈ K. Daraus folgt aber, dass auch xy und x0 y äquivalent sind: (xy)−1 (x0 y) = y −1 x−1 x0 y = y −1 ky = (y −1 )k(y −1 )−1 ∈ K (siehe Übungsaufgabe 7.b)). Wir sehen somit, dass (xy)K = (x0 y)K ist, und analog folgt, dass man auch y durch ein äquivalentes Element ersetzen kann. Das Assoziativgesetz ist fast unmittelbar klar: ((xy)z)K = (x(yz))K, da ja (xy)z = x(yz). Das neutrale Element ist offensichtlich eK = K, und das zu xK inverse Element ist x−1 K, da ja (xK) ∗ (x−1 K) = (xx−1 )K = eK. Bemerkung: Die Definition der Verknüpfung auf der Faktorgruppe ist insofern sehr natürlich, als man (xy)K auch als (xK)(yK) auffassen kann, genauer: (xy)K = { (xk 0 )(yk) | k0 , k ∈ K}. Beweis: Sei v := xyk mit k ∈ K ein beliebiges Element der linken Seite. Dann gibt es auf Grund von yK = Ky, ein k0 ∈ K mit yk = k 0 y, also v = xk 0 y = xk0 ye, und das ist in der rechten Seite enthalten. Betrachten wir umgekehrt ein beliebiges Element der rechten Seite: u := (xk0 )(yk) = x(k 0 y)k. Wegen Ky = yK gibt es ein k00 ∈ K, sodass k0 y = yk00 , also u = xyk00 k ∈ (xy)K. Beispiel: Betrachten wir V4 als Untergruppe von S4 . S4 /V4 = ( {V4 , (12)V4 , (13)V4 , (23)V4 , (123)V4 , (132)V4 }, ∗ ), denn die hier aufgelisteten Nebenklassen sind paarweise disjunkt und ihre Vereinigung ist ganz S4 , wie man durch ausführliches Anschreiben ihrer Elemente sehen kann. Wir stellen fest: S4 /V4 ist zu S3 isomorph. Bemerkung 9.82 Sei K ein Normalteiler von G. Dann ist die Abbildung ϕK : G → G/K : x 7→ xK ein Homomorphismus mit Kern K. Sie heißt der natürliche Homomorphismus von G auf G/K. 9.5. ISOMORPHISMEN UND HOMOMORPHISMEN 255 (Es handelt sich um die Abbildung, welche jedem Element von G die Nebenklasse zuordnet, in der es liegt.) Beweis: ϕK (xy) = (xy)K = (xK) ∗ (yK) = ϕK (x)ϕK (y). Wegen ϕK (x) = K ⇔ x ∈ K folgt, dass K tatsächlich der Kern von ϕK ist. Faktorgruppen werden oft leichter verständlich, wenn man erkennt, dass sie zu einer anderen Gruppe isomorph sind, wie wir z.B. vorhin bei S4 /V4 gesehen haben. Der folgende Satz kann helfen, einen solchen Isomorphismus zu finden. Satz 9.83 (Homomorphiesatz) Sei f ein Gruppen-Homomorphismus von G nach H mit Kern K. Dann ist die folgende Abbildung ein (wohldefinierter) Isomorphismus: f ∗ : G/K → f (G) : xK 7→ f (x). Das heißt also, dass das Bild einer Gruppe unter einem Homomorphismus f im Wesentlichen dasselbe ist wie die Quotientengruppe von G nach dem Kern von f. Beweis: f ∗ ist wohldefiniert: Sei xK = x0 K. Das heißt, dass x und x0 bezüglich der zu K gehörigen Äquivalenzrelation äquivalent sind, also x0 ∈ xK (vgl. Satz 9.18). Nach dem 3. Teil von Satz 9.78 wissen wir aber, dass alle Elemente von xK dasselbe f -Bild haben, dass also insbesondere f (x0 ) = f (x) gilt. f ∗ ist injektiv: xK 6= x0 K ⇒ f (x) 6= f (x0 ), wie ebenfalls aus dem 3. Teil von Satz 9.78 folgt. f ∗ ist trivialerweise surjektiv, und die Homomorphie-Eigenschaft sieht man so: f ∗ ((xK) ∗ (yK)) = f ∗ ((xy)K) = f (xy) = f (x)f (y) = f ∗ (xK) f ∗ (yK). Beispiel: Sei G = (Z24 , +) und K = 4Z24 = {[0]24 , [4]24 , [8]24 , . . . , [20]24 }. Wir wollen uns überlegen, was für eine Gruppe G/K ist. Wegen |G/K| = |G|/|K| = 4 liegt die Vermutung nahe, dass sie zu (Z4 , +) isomorph ist. Betrachten wir also H := (Z4 , +) und die Abbildung f : G → H : [r]24 7→ [r]4 . f ist wohldefiniert, denn aus [r]24 = [r0 ]24 folgt, dass r − r0 durch 24 und daher erst recht durch 4 teilbar ist, also [r]4 = [r0 ]4 . f ist klarerweise ein Homomorphismus, denn f ([r]24 [s]24 ) = f ([rs]24 ) = [rs]4 = [r]4 [s]4 = f ([r]24 ) f ([s]24 ). 256 KAPITEL 9. ALGEBRAISCHE STRUKTUREN f ist offensichtlich surjektiv, und der Kern von f ist gleich K. Daher ist nach dem Homomorphiesatz tatsächlich G/K isomorph zu f (G) = H. 9.6 Übungsaufgaben µ ¶ a b 1. Zeigen Sie, dass die reellen 2 × 2-Matrizen der Form mit 0 1 a, b ∈ Z3 und a 6= 0 mit der gewöhnlichen Matrizenmultiplikation eine Gruppe bilden. 2. Berechnen Sie mit dem euklidischen Algorithmus das inverse Element von 27703 modulo 224896. 3. Berechnen Sie mit Hilfe des kleinen Fermat’schen Satzes die Einerstelle von 31000 . 4. Sei m = 225847 und v = 27703. Angenommen, y = 26315 ist durch Verschlüsselung einer Nachricht x entstanden, sodass y ≡ xv mod m. Versuchen Sie, y zu entschlüsseln. (Bei der Umwandlung von x wie in Abschnitt 9.2.4 entsteht ein deutsches Wort mit 3 Buchstaben.) 5. Seien (G, ∗) und (H, ·) zwei beliebige Gruppen. Zeigen Sie, dass dann G × H mit folgender Verknüpfung ebenfalls eine Gruppe ist: (g1 , h1 )(g2 , h2 ) := (g1 ∗ g2 , h1 · h2 ). Diese Gruppe heißt direktes Produkt von (G, ∗) und (H, ·) und wird auch mit G × H bezeichnet. 6. a) Zeigen Sie, dass das direkte Produkt der zyklischen Gruppen (Z2 , +) und (Z3 , +) zu (Z6 , +) isomorph ist. b) Ist das direkte Produkt von (Z2 , +) und (Z4 , +) zu (Z8 , +) isomorph? 7. Zwei Elemente k, k 0 einer Gruppe G heißen konjugiert, wenn es ein x ∈ G gibt, sodass k0 = xkx−1 . a) Geben Sie alle zu (12) konjugierten Elemente in der Gruppe S3 an. b) Zeigen Sie, dass eine Untergruppe K von G genau dann ein Normalteiler von G ist, wenn K mit jedem Element auch alle dazu konjugierten enthält. 9.6. ÜBUNGSAUFGABEN 257 8. Berechnen Sie mit dem euklidischen Algorithmus den größten gemeinsamen Teiler der beiden folgenden Polynome in Q[x]: p(x) = 6x3 + 13x2 + 3x + 20, q(x) = 2x2 + 3x − 5. 9. Zerlegen Sie die Polynome der vorigen Aufgabe in irreduzible Faktoren, einerseits über Q und andererseits über C. 258 KAPITEL 9. ALGEBRAISCHE STRUKTUREN Anhang A Testaufgaben mit Lösungen Die folgenden Aufgaben beziehen sich teilweise auf mehrere Kapitel und dienen zur Überprüfung von Verständnis und Lernerfolg. Sie eignen sich daher insbesondere auch zur Prüfungsvorbereitung. Aufgaben 1. Zeigen Sie die Äquivalenz der beiden folgenden Aussagen, indem Sie beide in disjunktiver Normalform darstellen: x → (y → z), y → (x → z). 2. Beweisen Sie: (A × B) ∩ (B × A) = (A ∩ B)2 . 3. Sei R die durch folgenden gerichteten Graphen definierte Relation: 3 4 1 2 259 260 ANHANG A. TESTAUFGABEN MIT LÖSUNGEN a) Welche der folgenden Eigenschaften besitzt R: reflexiv, symmetrisch, antisymmetrisch, transitiv? b) Ist R eine strikte Ordnungsrelation? Wenn ja, wie sieht die zugehörige (gewöhnliche) Ordnungsrelation aus? Wenn nein, warum nicht? c) Gibt es bezüglich R ein kleinstes Element bzw. minimale Elemente? (Begründen Sie jede Ihrer Antworten!) 4. Sei f die Abbildung Z2 → Z :(x, y) 7→ xy. a) Ist f injektiv, surjektiv, bijektiv? (Begründung !) b) Wie sehen die Elemente von f −1 ({0}) aus? 5. Sei (gn ) die Fibonacci-Folge. Zeigen Sie mit vollständiger Induktion, dass gn ≤ 2n für alle n ∈ N0 . 6. a) Berechnen Sie die Ordnung der Permutation π = (1 3 5)(2 6) (in der Gruppe S6 ). b) Geben Sie sämtliche Potenzen von π als Produkte elementfremder Zyklen an. 7. Sei W die Menge aller Worte der Länge 5, die man mit den drei Buchstaben a, b, c bilden kann. (Beispiele für Elemente aus W : ababa, caaab, aabcc) a) Wie viele Elemente hat W ? b) In wie vielen Worten aus W stehen die Buchstaben in alphabetischer Reihenfolge? c) In wie vielen Worten aus W kommen tatsächlich alle drei Buchstaben a, b, c vor? 8. Nehmen wir an, eine ”zufällige” Funktion f : {1, 2, 3, 4, 5} → {1, 2, 3, 4, 5, 6} wird dadurch erzeugt, dass jemand 5-mal hintereinander (mit einem idealen Würfel) würfelt und f (i) gleich dem Ergebnis des i-ten Wurfs setzt. Wie groß ist die Wahrscheinlichkeit, dass f a) injektiv, b) surjektiv, c) bijektiv ist? 261 9. a) Beim Toto versucht man bekanntlich, eine bestimmte Folge a aus {0, 1, x}12 zu erraten. Angenommen, jemand wählt eine Folge t aus {0, 1, x}12 ”zufällig”. Wie groß ist die Wahrscheinlichkeit, dass er mindestens einen Zehner hat, das heißt, dass a und t an mindestens 10 Stellen übereinstimmen? b) Welche Annahme bezüglich der ”Zufälligkeit” von t verwendet man bei solchen Aufgaben üblicherweise? (Wie heißt diese Annahme und was besagt sie hier?) 10. a) Wie viele Kanten kann ein einfacher Graph mit n Ecken höchstens haben? b) Wie viele einfache Graphen mit Eckenmenge {1, 2, . . . , n} gibt es, wenn isomorphe Graphen nicht miteinander identifiziert werden? 11. a) Seien a, b zwei verschiedene Ecken von K4 . Geben Sie alle Pfade von a nach b an. b) Seien a, b zwei verschiedene Ecken von Kn , n ≥ 2 und 1 ≤ k ≤ n−1. Wie viele Pfade der Länge k gibt es von a nach b in Kn ? 12. Welche zulässige Reihenfolge der Ecken erzeugt der Algorithmus von Kahn bei folgendem Digraphen D = (V, R), wenn die Liste der Ecken und die Adjazenzlisten jeweils alphabetisch geordnet sind? V = {a, b, c, d, e, f }, R = {(a, b), (a, d), (b, e), (b, f ), (c, b), (c, f ), (d, b), (d, e), (d, f )}. (Erklären Sie, wie Sie zu Ihrem Ergebnis kommen!) 13. Sei G der folgende bewertete Graph D E F 4 1 2 5 4 A 2 3 B C und T der Teilbaum mit Eckenmenge {A, B, D} und Kantenmenge {{A, B}, {A, D}}. 262 ANHANG A. TESTAUFGABEN MIT LÖSUNGEN a) Welche Kante würde der Algorithmus von Dijkstra als nächste zu T hinzufügen, um einen Baum der kürzesten von A ausgehenden Pfade zu erzeugen? b) Welche Kante würde der Algorithmus von Prim als nächste zu T hinzufügen, um einen minimalen G aufspannenden Baum zu erzeugen? Begründen Sie Ihre Antworten, indem Sie jeweils das Prinzip angeben, nach welchem der Algorithmus vorgeht! 14. a) Ist der folgende Graph 2-färbbar? (Wenn ja, geben Sie eine Färbung an; wenn nein, begründen Sie dies.) b) Ist dieser Graph planar? (Wenn ja, zeichnen Sie eine kreuzungsfreie Einbettung in die Ebene; wenn nein, geben Sie eine Begründung an.) 15. Sei Z∗50 die Gruppe der primen Restklassen modulo 50. a) Bestimmen Sie die Ordnung dieser Gruppe, ohne alle Elemente aufzuzählen. Schreiben Sie die dabei verwendete Formel explizit an. b) Berechnen Sie das inverse Element von [23] in Z∗50 mit Hilfe des euklidischen Algorithmus. c) Erklären Sie, warum es zu jeder primen Restklasse modulo m ein bezüglich der Multiplikation inverses Element gibt. 16. Sei m = 13 · 17 = 221. Angenommen, eine Zahl x ∈ {1, . . . , m − 1} wurde verschlüsselt, indem xv mod m berechnet wurde, mit v = 77. Als Ergebnis der Verschlüsselung ergab sich y = 106. Welche Zahl ist x ? (Wenn Sie keinen Taschenrechner zur Hand haben, genügt es, wenn Sie einige Rechenschritte durchführen und die restlichen Schritte genau beschreiben.) 17. Sei U die von den Transpositionen (12) und (24) erzeugte Untergruppe von S4 . 263 a) Geben Sie alle Elemente von U als Produkte elementfremder Zyklen an. Wie kann man beweisen, dass diese Elemente tatsächlich die gesuchte Untergruppe bilden? b) Zu welcher bekannten Gruppe ist U isomorph? Geben Sie einen entsprechenden Isomorphismus an! 264 ANHANG A. TESTAUFGABEN MIT LÖSUNGEN Lösungen 1. Erste Aussage: ¬x ∨ (¬y ∨ z) ⇔ ¬x ∨ ¬y ∨ z, zweite Aussage: ¬y ∨ (¬x ∨ z) ⇔ ¬y ∨ ¬x ∨ z ⇔ ¬x ∨ ¬y ∨ z. 2. 1) Sei (x, y) ∈ (A × B) ∩ (B × A) . Dann ist einerseits (x, y) ∈ A × B und daher x ∈ A, y ∈ B, andererseits (x, y) ∈ B × A und daher x ∈ B, y ∈ A. Zusammen folgt x ∈ A ∩ B und y ∈ A ∩ B und somit (x, y) ∈ (A ∩ B)2 . 2) (x, y) ∈ (A ∩ B)2 ⇒ (x ∈ A ∩ B) ∧ (y ∈ A ∩ B) ⇒ (x ∈ A ∧ x ∈ B) ∧ (y ∈ A ∧ y ∈ B) ⇒ (x ∈ A ∧ y ∈ B) ∧ (x ∈ B ∧ y ∈ A) ⇒ (x, y) ∈ (A × B) ∩ (B × A) . 3. a) Die Relation R ist nicht reflexiv, da z.B. (1, 1) ∈ / R. Sie ist auch nicht symmetrisch, da z.B. (1, 3) ∈ R, aber (3, 1) ∈ / R. R ist jedoch antisymmetrisch: Für alle x, y ∈ {1, 2, 3, 4} gilt (xRy ∧ yRx → x = y) , da die Aussage xRy ∧ yRx niemals wahr ist. R ist transitiv, denn auch in xRy∧yRz → xRz ist die Prämisse niemals wahr. b) R ist eine strikte Ordnungsrelation: die reflexive Hülle von R ist nämlich eine Ordnungsrelation (d.h. reflexiv, antisymmetrisch und transitiv). c) Es gibt zwei minimale Elemente, nämlich 1 und 2, denn zu keinem dieser Elemente gibt es ein im Sinne von R echt kleineres. Es gibt kein kleinstes Element, d.h. es gibt kein Element, das im Sinne von R kleiner als jedes andere ist. (1 und 2 sind unvergleichbar.) 4. a) f ist nicht injektiv. Z.B. gilt f (1, 4) = f (2, 2). f ist daher auch nicht bijektiv. f ist surjektiv: Sei z ein beliebiges Element von Z. Dann ist z = f (z, 1). b) Die Elemente von f −1 ({0}) haben die Gestalt (x, 0) oder (0, y) mit x, y ∈ Z, denn xy = 0 genau dann, wenn x = 0 oder y = 0. Also: f −1 ({0}) = {(x, 0) | x ∈ Z} ∪ {(0, y) | y ∈ Z}. 5. Induktionsanfang: g0 = 1 ≤ 20 , g1 = 1 ≤ 21 . ” ≤ n → n + 1”: gn+1 = gn + gn−1 ≤ 2n + 2n−1 ≤ 2n + 2n = 2n+1 . 265 6. π 2 = (1 5 3), π 3 = π 2 π = (1 5 3)(1 3 5)(2 6) = (2 6), π 4 = π 2 π2 = (1 5 3)(1 5 3) = (1 3 5), π 5 = π2 π 3 = (1 5 3)(2 6), π 6 = π 3 π3 = (2 6)(2 6) = ε = π 0 . Die Ordnung von π ist also gleich 6, und für beliebiges n ∈ N gilt π n = π r , wobei r der Rest bei Division von n durch 6 ist. 7. a) W kann als Menge aller Abbildungen von I5 = {1, . . . , 5} nach {a, b, c} aufgefasst werden. Daher ist |W | = 35 = 243. b) Die Teilmenge von W, welche aus diesen Worten besteht, ist gleich der Menge aller monotonen Funktionen von I5 nach {a, b, c}, wenn man {a, b, c} Ordnung versieht. Diese Teilmenge hat ¡3−1+5 ¢ mit¡7der ¢ alphabetischen ¡7¢ = 5 = 2 = 21 Elemente ( = Anzahl der 0-1-Folgen der 5 Länge 7, welche genau 5 Einsen und 2 Nullen enthalten). c) Hier geht es um die Menge der surjektiven Funktionen I5 → {a, b, c}. Deren Anzahl ist gleich 3! S(5, 3), wobei S(n, k) die Stirling’schen Zahlen 2. Art bezeichnet. Diese Zahlen kann man auf Grund der Rekursionsformel S(n, k) = S(n − 1, k − 1) + k S(n − 1, k) und den Anfangswerten S(n, 1) = 1, S(n, n) = 1 sukzessive berechnen, z.B. mit Hilfe einer Art ”Pascal-Dreieck” (siehe S. 131). Daraus können wir dann ablesen: S(5, 3) = 25, die gesuchte Anzahl ist daher = 6 · 25 = 150. 8. a) Die Anzahl der injektiven Abbildungen ist 6·5·4·3·2 = 720, die Anzahl aller Abbildungen ist 65 = 7776. Die gesuchte Wahrscheinlichkeit 720 5 ist daher = 7776 = 54 (= 0.092593 . . .). b) Es gibt keine surjektive Abbildung I5 → I6 . Die Wahrscheinlichkeit ist daher = 0. c) Es gibt daher auch keine bijektive Abbildung I5 → I6 . Diese Wahrscheinlichkeit ist also ebenfalls = 0. 9. a) Die Anzahl der Tips ¡ ¢ t, die sich von a an genau k Stellen unterscheiden, beträgt 2k nk . Die Anzahl der Tips, die mit a an mindestens 10 Stellen übereinstimmen, ist gleich der Anzahl der Tips, die sich von a an¡ höchstens 2 Stellen unterscheiden, also (mit n = 12) gleich ¢ P 2 k 12 2 = 289 (vgl. die Überlegungen in Kapitel 7.3). Die gesuchte k=0 k Wahrscheinlichkeit p erhält man durch Division durch die Gesamtanzahl der möglichen Tips, das ist 312 = 531441, also p = 289/531441 = 0.0005438... . b) Man verwendet die Laplace-Annahme, die in diesem Fall besagt, dass alle Tips t ∈ {1, 2, x}12 gleich wahrscheinlich sind. 266 ANHANG A. TESTAUFGABEN MIT LÖSUNGEN 10. a) ¡n¢ (n2 ) . , b) 2 2 11. a) Seien c, d die anderen beiden Ecken von K4 . Dann gibt es folgende Pfade von a nach b: (a, b), (a, c, b), (a, d, b), (a, c, d, b), (a, d, c, b). b) Ein Pfad der Länge k von a nach b besitzt außer a und b noch genau k−1 andere Ecken. Da in Kn je zwei Ecken durch eine Kante verbunden sind, kann man für diese k − 1 Ecken irgendeine (k − 1)-elementige Teilmenge von V (K n )\{a, ¡n−2 ¢ b} in irgendeiner Reihenfolge nehmen. Es gibt daher (k − 1)! k−1 solche Pfade. 12. In jedem Schritt wird die (alphabetisch) erste Ecke mit Eingangsgrad 0 mitsamt allen zugehörigen Kanten aus dem Graphen gelöscht und in eine (zu Beginn leere) Liste S eingetragen. Am Ende sieht die Liste S folgenderweise aus: (a, c, d, b, e, f ). 13. a) Der Algorithmus von Dijkstra fügt in jedem Schritt die Kante {pred(x), x} hinzu, wo x die Ecke mit x ∈ / V (T ) mit kleinstem (vorläufigem) Abstandswert a(x) ist. Hier ist E die Ecke mit dem kleinsten a-Wert und D ist der entsprechende Vorgänger, also wird die Kante {D, E} hinzugefügt: a(C) = 7, pred(C) = B; pred(F ) ist undefiniert. a(E) = 6, pred(E) = D; a(F ) = ∞, b) Der Algorithmus von Prim fügt in jedem Schritt die kürzeste Kante hinzu, die eine Ecke des Baumes mit einer Ecke verbindet, die nicht zum Baum gehört. Hier ist das die Kante {B, C}. 14. a) Ja. Die folgende Zeichnung stellt eine 2-Färbung dar: b) Nein. Lässt man die beiden ganz links gezeichneten Ecken mit den zugehörigen Kanten weg, so entsteht ein K3,3 : Jede schwarze Ecke ist mit allen drei weißen Ecken verbunden und umgekehrt. K3,3 ist aber nicht planar. (Das kann man mit Hilfe der eulerschen Formel beweisen.) 15. a) µ ¶ µ ¶ ¶ k µ Y 1 1 1 ϕ(m) = m 1 − ··· 1 − =m 1− , p1 pk p i i=1 267 wenn p1 , . . . , pk die verschiedenen Primfaktoren von m sind. Hier ist m ¡= 50 ¢=¡ 2 · 5¢· 5, also k = 1, p1 = 2, p2 = 5, somit ϕ(50) = 50 1 − 12 1 − 15 = 20. Das ist die Ordnung von Z∗50 . b) 50 = 2 · 23 + 4, 23 = 5 · 4 + 3, 4 = 1 · 3 + 1. ”Rückwärtseinsetzen”: 1 = 4 − 1 · 3 = 4 − 1 · (23 − 5 · 4) = 6 · 4 − 1 · 23 = 6 · (50 − 2 · 23) − 1 · 23 = 6 · 50 − 13 · 23, also: 1 ≡ (−13) · 23 mod 50, d.h. [23]−1 = [−13] = [37]. Probe: 23 · 37 = 851 ≡ 1 mod 50. c) Wenn r zu m relativ prim ist, dann gibt es ganze Zahlen k, l, sodass kr+lm = 1, wie man auf Grund des euklidischen Algorithmus beweisen kann. Daraus folgt kr ≡ 1 mod m, d.h. [k]m [r]m = [1]m , also gibt es zu [r] ein inverses Element in Z∗m , nämlich [k]m . 16. ϕ(m) = 12 · 16 = 192. Zur Entschlüsselung berechnen wir zunächst das multiplikative Inverse von v modulo ϕ(m) mit Hilfe des euklidischen Algorithmus: 192 = 2 · 77 + 38, 77 = 2 · 38 + 1. Daraus ergibt sich: 1 = 77 − 2 · 38 = 77 − 2 · (192 − 2 · 77) = 5 · 77 − 2 · 192 ≡ 5 · 77 mod 192, also ist [v]−1 = [5] in Z∗192 . Für die gesuchte Zahl x gilt: x = y 5 mod m. Wir müssen also den Rest von 1065 bei Division durch 221 berechnen. Wenn das die Kapazität des verwendeten Taschenrechners übersteigt, kann man z.B. durch sukzessives Quadrieren bzw. Multiplizieren zum Ziel kommen: 1062 = 11236 ≡ 186 mod 221, 1064 ≡ 1862 = 34596 ≡ 120 mod 221, 1065 ≡ 120 · 106 = 12720 ≡ 123 mod 221. Also: x = 123. 17. a) U enthält jedenfalls ε, (12), (24), (12)(24) = (124), (24)(12) = (142) und (12)(142) = (14). Diese Elemente bilden bereits eine Untergruppe: a1) Mit jedem Element ist auch das inverse enthalten: ε−1 = ε, jede Transposition ist zu sich selbst invers, (124) = (142)−1 , (142)−1 = (124). 268 ANHANG A. TESTAUFGABEN MIT LÖSUNGEN a2) Mit je zwei Elementen ist auch ihr Produkt enthalten: (12)(14) = (142), (14)(12) = (124), (12)(124) = (24), (124)(12) = (14), usw. b) U ist zu S3 isomorph, denn die folgende Abbildung ist ein Isomorphismus U → S3 : ε 7→ ε, (12) 7→ (12), (24) 7→ (23), (14) 7→ (13), (124) 7→ (123), (142) 7→ (132). (Diese Abbildung entspricht der Umbenennung von 4 in 3.) Literaturverzeichnis [1] Aigner, M.: Diskrete Mathematik. 2. Aufl., Vieweg 1996. [2] Anton, H.: Lineare Algebra. Spektrum Akad. Verlag 1995. [3] Appel, K., Haken, W.: Every planar graph is four colorable. American Math. Soc. 1989. [4] Arbib, M.A., Kfoury, A.J., Moll, R.N.: A basis for theoretical computer science. Springer 1981. [5] Barth, F., Haller, R.: Stochastik Leistungskurs. Ehrenwirt, München 1983. [6] Behnke, H., et al. (eds.): Mathematik I. Fischer Bücherei 1964. [7] Berendt, G.: Mathematische Grundlagen für Informatiker. Bibliographisches Institut 1989. [8] Biggs, N.L.: Discrete mathematics. Clarendon 1989. [9] Böhme, G.: Einstieg in die Mathematische Logik. Hanser 1981. [10] Bogart, K., Stein, C., Drysdale, R.L.: Discrete Mathematics for Computer Science. Key College Publishing (www.keycollege.com) (2005). [11] Davis, R.E.: Truth, deduction, and computation. Computer Science (Freeman and comp.) 1989. [12] Engelberg, R., Sieklucki, K.: Topology. A Geometric Approach. Heldermann 1992. [13] Fischer, G., Sacher, R.: Einführung in die Algebra. Teubner 1974. [14] Friedrichsdorf, U., Prestel, A.: Mengenlehre für den Mathematiker. Vieweg 1985. 269 270 LITERATURVERZEICHNIS [15] Gericke, H.: Geschichte des Zahlbegriffs. Bibliographisches Institut 1970. [16] Gerl, P.: Diskrete Mathematik. Vorlesungsskriptum. Univ. Salzburg 1994. [17] Grünbaum, B.: Convex Polytopes. Interscience 1967. [18] Hofstadter, D.R.: Gödel, Escher, Bach: ein endloses geflochtenes Band. Dt. Taschenbuch-Verlag 1991. [19] Ihringer, Th.: Diskrete Mathematik. Eine Einführung in Theorie und Anwendungen. 2. Aufl., Teubner 1999. [20] Jungnickel, D.: Graphen, Netzwerke und Algorithmen. Bibliographisches Institut 1987. [21] Klingenberg, W.: Lineare Algebra und Geometrie, 3. Auflage. Springer 1992. [22] Meschkowski, H.: Mathematiker-Lexikon. Bibliographisches Institut 1964. [23] Niven, I., Zuckerman, H.S.: Einführung in die Zahlentheorie I. Bibliographisches Institut 1976. [24] Novikov, P.S.: Grundzüge der mathematischen Logik. Vieweg 1973. [25] Piff, M.: Discrete mathematics. An introduction for software engineers. Cambridge Univ. 1991. [26] Ross, K.A., Wright, Charles R.B.: Discrete Mathematics. 3rd ed., Prentice Hall 1992. [27] Sedgewick, R.: Algorithmen. Addison-Wesley 1992. [28] Thulasiraman, K., Swamy, M.N.S.: Graphs: Theory and Algorithms. John Wiley & Sons 1992. [29] Wagner, K.: Graphentheorie. Bibliographisches Institut 1970. [30] Walter, W.: Analysis, 2 Bände, 3. Aufl., Springer 1992. [31] Welsh, D.: Codes and Cryptography. Clarendon 1988. Stichwortverzeichnis Abbildung, 67 abelsch, 217 Ableitung, 25 Ableitungsregel, 24 absoluter Betrag, 32 Absorption, 16 Abstand zweier Ecken, 189, 195 zweier Worte, 134 abzählbar, 117 Addition von Polynomen, 239 Additivität, 142 Adjazenzliste, 158 Adjazenzmatrix, 166 Algorithmus, 101 Euklidischer, 100 Allquantor, 20 Alphabet, 122 alternierende Gruppe, 253 Anfangspunkt, 50 Anordnung topologische, 183 Antikette, 62 antisymmetrisch, 48 Anzahl der 0-1-Folgen, 125 der Elemente einer Menge, 115 der fixpunktfreien Permutationen, 138 der injektiven Funktionen, 122 der k-elementigen Teilmengen, 124 der monotonen Funktionen, 128 der Partitionen, 130, 132 der surjektiven Funktionen, 131 von Funktionen, 121 von Teilmengen, 121 Anzahl der bijektiven Funktionen, 123 der Permutationen, 124 Appel, 209 äquivalent, 55 logisch, 15 äquivalente Mengen, 115 Äquivalenzklasse, 55 Äquivalenzrelation, 55 assoziativ, 216 Assoziativität, 16, 40 aufspannender Baum, 179 minimaler, 196 Ausdruck, 24 ableitbarer, 25 zulässiger, 24 Ausgangsgrad, 154 Ausgangskanten, 154 ausgezeichnete Normalform, 18 Aussage, 11 Aussageform, 14 Aussagen Verknüpfung von, 13 Aussagenlogik, 11, 27 ausschließendes Oder, 13 Außengebiet, 205 Automorphismus, 247 Axiom, 24 271 272 azyklisch, 182 b-adische Darstellung, 92 Baum, 167 aufspannender, 179 binärer, 171 der kürzesten Pfade, 190 minimaler aufspannender, 196 trivialer, 168 Bedingung hinreichende, 23 notwendige, 23 benachbart, 153 Bernoulli’sche Ungleichung, 81 Betrag absoluter, 32 Beweis, 29 formaler, 25 indirekter, 30 bewerteter (Di-)Graph, 186 bijektiv, 70, 123 Bijunktion, 12 Bild einer Teilmenge, 72 von x, 67 Bildbereich, 67 Binärdarstellung, 92 binäre Operation, 215 binärer Baum, 171 Binomialkoeffizient, 124, 126 Binomialverteilung, 147 Binomischer Lehrsatz, 127 bipartit, 153 Blatt, 170 Boole’sche Algebra, 40 Breitensuche, 177 Brelaz, 202 Brooks, 201 Cantor’sches Diagonalverfahren, 118 cartesisches Produkt, 42 STICHWORTVERZEICHNIS charakteristische Gleichung, 87 chromatische Zahl, 200 Code fehlerkorrigierender, 134 linearer, 137 Codewort, 134 Codierungstheorie, 134 Darstellung b-adische, 92 de Morgan-Regel, 16, 41 Definitionsbereich, 67 derangements, 138 Dezimaldarstellung, 92 Diagonalverfahren Cantor’sches, 118 Differenz, 40 symmetrische, 42 Digraph, 50, 151 bewerteter, 186 einer Permutation, 108 kreisfreier, 182 Dijkstra, 191 disjunkt, 40, 141 paarweise, 55 Disjunktion, 12 disjunktive Normalform, 17 Distributivität, 16, 41 Division mit Rest, 91 von ganzen Zahlen, 91 von natürlichen Zahlen, 91 von Polynomen, 241 Dreiecksungleichung, 32, 134 Durchmesser, 189 Durchschnitt, 40, 141 Ecke, 50, 51 Effizienz, 102 Einbettung eines Graphen, 204 STICHWORTVERZEICHNIS Einermenge, 36 Eingangsgrad, 154 Eingangskanten, 154 eingebettet, 73 Einheitsmatrix, 219 Einschluss-Ausschluss-Prinzip, 138 Einschränkung, 49, 72 Einselement, 216 Element, 35 Elementarereignis, 143 elementfremde Zyklen, 109 Endecke, 170 endliche Folge, 121 endliche Menge, 115 Endpunkt, 50 einer Kurve, 204 Entscheidungsbaum, 171 Entwicklung b-adische, 92 Ereignis, 140 Ereignisraum, 140 erreichbar, 189 erzeugte Untergruppe, 224 Euklid, 98 Euklidischer Algorithmus, 100 euklidischer Raum, 44 eulersche Formel, 205 eulerscher Graph, 161 Eulerweg, 160 Existenzquantor, 20 Färbung der Ecken, 199 Färbealgorithmus, 202 Faktor, 242 Faktorgruppe, 254 Faktorielle, 84 Faktormenge, 57 Fakultät, 84 Fallunterscheidung, 31 Familie, 36 273 disjunkte, 55 Feld, 159 Fermat, 228 Fibonacci-Folge, 84 Fixpunkt, 76 fixpunktfreie Permutationen, 138 Fixpunktmenge, 76 Fläche, 205 Folge endliche, 43, 121 rekursiv definierte, 84 unendliche, 83 formales System, 24 Funktion, 67 identische, 70 Funktionsgraph, 68 Galois-Körper, 237 ganze Zahlen, 39, 88 Gauß’sche Zahlenebene, 248 GCD, 99 geordnete Menge, 59 gerade Ecke, 155 gerade Permutationen, 253 gerichteter Graph, 50 geschlossene Wanderung, 159 geschlossener Weg, 159 Gesetze aussagenlogische, 15, 16 Gewicht, 187 Gewinn, 187 GGT, 99, 243 Gitterpunkt, 44 Gleichheitsrelation, 48 gleichmächtig, 115 Gleichung, 73, 220 charakteristische, 87 Goldbach’sche Vermutung, 22 Grad einer Ecke, 153 eines Polynoms, 238 274 Graph, 51, 151 bewerteter, 186 bipartiter, 153 einer Funktion, 68 eulerscher, 161 gerichteter, 50 hamiltonscher, 164 leerer, 201 orientierter, 154 planarer, 204 ungerichteter, 51 vollständiger, 152 zugrundeliegender, 52 zusammenhängender, 52 größtes Element, 62 größter gemeinsamer Teiler, 99, 243 Grundmenge, 40 Gruppe, 220 zyklische, 226 Häufigkeit relative, 142 Haken, 209 halbgeordnete Menge, 59 Halbgruppe, 216 Halbordnung, 58 Hamiltonkreis, 164 hamiltonscher Graph, 164 Hamming-Distanz, 134 Hasse-Diagramm, 60 Herleitung, 25 Hexadezimaldarstellung, 92 hinreichend, 23 Höhe, 171 Homomorphiesatz, 255 Homomorphismus, 251 natürlicher, 254 Hülle reflexive, 64 symmetrische, 64 transitive, 64, 196 STICHWORTVERZEICHNIS hypergeometrische Verteilung, 147 Identität, 48, 70 Implikation, 15 Index, 83 Indikatorfunktion, 122 indirekter Beweis, 30 Induktion, 80 Induktionsanfang, 80 Induktionsbehauptung, 81 Induktionsbeweis, 81 Induktionsprinzip, 80 Induktionsvoraussetzung, 81 injektiv, 69, 122 Inklusion, 37 Integritätsbereich, 236 Interpretation, 26 Intervall, 39 inverses Element, 219 irreduzibel, 243 isoliert, 154 isomorph, 151, 245 Isomorphismus von (Halb-)Gruppen, 245 von Graphen, 151 von Körpern, 247 von Ringen, 247 Jordan-Kurve, 204 Jordan’scher Kurvensatz, 203 Junktor, 11 Kahn, 184 Kante, 50, 51 Kapazität, 187 Kardinalzahl, 35, 115 Kern eines Homomorphismus, 252 Kette, 62 maximale, 62 Klein, Felix, 247 Klein’sche Vierergruppe, 246 STICHWORTVERZEICHNIS kleinstes Element, 62 Knoten, 151 Kombinationen mit Wiederholung, 129 ohne Wiederholung, 124 Kombinatorik, 115 kommutativ, 217 Kommutativität, 16, 40 Komplement, 40 doppeltes, 41 komplexe Zahlen, 244, 248 kongruent modulo m, 95 Kongruenz, 95 konjugiert komplex, 249 Konjunktion, 12 konjunktive Normalform, 18 Konstante, 240 Kontradiktion, 14 kontrahierbar, 208 Kontraktion, 208 Koordinaten, 44 Körper, 237 Kosten, 187 Kreis, 53 kreisfrei, 182 Kryptographie, 232 Kugel, 135 Kugelpackung, 135 Kuratowski, 207 Kurve, 204 Kurvensatz Jordan’scher, 203 kürzester Weg, 188 Lagrange, 224 Landau-Symbol, 103 Länge eines Kreises, 53 eines Pfades, 52 eines Vektors, 58 275 eines Weges, 188 Laplace-Annahme, 143 Laplace-Experiment, 143 leerer Graph, 201 Level, 171 lexikographisch, 60 Linearkombination ganzzahlige, 103 Liste, 121, 159 Logik zweiwertige, 11 logisch äquivalent, 15 Lösung einer Gleichung, 220 Lösungsmenge, 73 Matrix, 165 maximales Element, 61 Menge, 35 geordnete, 59 Gleichheit, 38 halbgeordnete, 59 leere, 36 Mengenoperationen, 40 minimaler aufspannender Baum, 196 minimales Element, 61 Modul, 95 modulo, 95, 96 modus ponens, 28 Monoid, 217 monoton wachsend, 128 monotone Funktion, 128 Multigraph, 210 gerichteter, 210 Multinomialkoeffizient, 132 Multiplikation von Matrizen, 165, 219 von Polynomen, 239 n-Tupel, 43 Nachbar, 153 276 Nachfolger, 170 natürliche Zahlen, 39, 79 Nebenklasse, 222 Negation, 12, 21 Netzwerk, 54, 186 neutrales Element, 216 nichtausschließendes Oder, 12 Niveau, 171 Normalform ausgezeichnete, 18 Normalform, 58 disjunktive, 17 konjunktive, 18 Normalteiler, 253 notwendig, 23 NP-vollständig, 164 0-1-Folge, 122 Nullelement, 216 Nullpolynom, 238 Nullstelle, 243, 244 Nullteiler, 236 nullteilerfrei, 236 Oder ausschließendes, 13 nichtausschließendes, 12 Operation binäre, 215 Boole’sche, 40 Operator einstelliger, 12 logischer, 11 zweistelliger, 12 Ordnung einer Gruppe, 224 einer Permutation, 113 eines Elements, 225 lexikographische, 60 strikte, 59 Ordnungsrelation, 58 strikte, 59 STICHWORTVERZEICHNIS orientierter Graph, 154 Paar, 42 Packung, 135 Parität, 111 Partialsummenfolge, 86 Partition, 55, 130 Pascal’sches Dreieck, 126 Permutation, 220 fixpunktfreie, 138 gerade, 112, 253 ungerade, 112 Permutation, 107 Permutationen mit Wiederholung, 132 Petersen-Graph, 156 Pfad, 52 pg-System, 25 planar, 204 Plato, 156 Poincaré-Formel, 138 polnische Notation, 175, 176 Polyeder reguläre, 156 Polynom, 238 Polynomfunktion, 238 postorder listing, 176 Potenz, 85, 217 cartesische, 43 modulo m, 234 Potenzmenge, 37 Prädikat einstelliges, 19 mehrstelliges, 22 Prädikatenlogik, 19, 28 preorder listing, 176 Prim, 197, 198 Primfaktorzerlegung, 228 Primzahl, 94 Produkt allgemeines, 85 STICHWORTVERZEICHNIS cartesisches, 42 von Matrizen, 165 von Permutationen, 107 Produktordnung, 60 Projektplanung, 182 Punkt, 44 Punktgitter, 225 Quantor, 20, 38 Quotient, 91 von Polynomen, 241 Quotientengruppe, 254 Quotientenmenge, 57 rationale Zahlen, 39, 105 Raum euklidischer, 44 Reduktion modulo m, 95 reduzibel, 243 reelle Zahlen, 39 reflexiv, 48 regulärer Graph, 155 Reihe, 86 Reihenfolge, 123 zulässige, 183 Rekursion, 84 Auflösung, 86 Relation, 47 antisymmetrische, 48 leere, 48 reflexive, 48 symmetrische, 48 transitive, 48 universelle, 48 zweistellige, 47 relativ prim, 104 relative Häufigkeit, 142 Repräsentant einer Klasse, 56 Rest, 91, 241 Restklasse, 96 277 prime, 226 Restklassenring, 235 Ring, 235 RPN, 176 RSA-System, 233 Satz, 25 Schlinge, 50 Schranke kleinste obere, 66 obere, 66 Schubfachprinzip, 117 Seitenzahl einer Fläche, 205 Siebprinzip, 138 σ-Additivität, 143 Signum einer Permutation, 112 Sohn, 170 Spalte einer Matrix, 165 Spaltenanzahl, 165 spanning tree, 179 Spiele, 26 Statistik, 143 Stirlingsche Zahlen, 130, 139, 148 streng monoton (wachsend), 128 Subjunktion, 12 Summe allgemeine, 85 surjektiv, 70, 131 Symmetrie, 134 einer Gruppe, 247 symmetrisch, 48 System formales, 24 Tautologie, 14 teilbar, 94 Teilbarkeitsrelation, 59 Teiler, 59, 94, 242 echter, 94 278 größter gemeinsamer, 99, 243 Teilgraph, 53 Teilkörper, 237 Teilmenge, 37 echte, 37 Theorem, 25 Tiefensuche, 172 topologische Anordnung, 183 Totalordnung, 59 transitiv, 48 transitive Hülle, 196 Transposition, 110 Tripel, 43 trivialer Baum, 168 überabzählbar, 117 Überdeckung, 149 umgekehrte polnische Notation, 176 Umkehrfunktion, 74 Umkehrrelation, 48 unendliche Folge, 83 unendliche Menge, 117 ungerade Ecke, 155 Untergruppe, 221 erzeugte, 224 Unterkörper, 237 Unterteilung, 207 Urbild, 73 Variable, 14 freie, 20 gebundene, 20 Variationen mit Wiederholung, 121 ohne Wiederholung, 123 Vater, 170 Vektor, 44 Verband, 66 Vereinigung, 40, 141 vergleichbar, 59 Verkettung, 216 STICHWORTVERZEICHNIS Verknüpfung, 215 von Aussagen, 13 Verneinung doppelte, 16 Verschlüsselung, 232 Verteilung Binomial-, 147 hypergeometrische, 147 Vierfarbensatz, 209 vollständiger Graph, 152 Vorgänger, 170 Wagner, 208 Wahrheitswert, 11 Wahrscheinlichkeit, 141, 142 Wald, 168 Wanderung, 159 Warshall, 195 Weg, 159 in einem Multigraphen, 211 kürzester, 188 Wert, 67 Wertebereich, 67 Widerspruch, 14 Wohlordnungsaxiom, 79 Wort, 121, 134 Wurzel, 169 einer Gleichung, 243 Wurzelbaum, 169 Zahlen ganze, 39, 88 komplexe, 244, 248 natürliche, 39, 79 rationale, 39, 105 reelle, 39 Stirlingsche, 130, 148 Zeile einer Matrix, 165 Zeilenanzahl, 165 Ziffern, 92 Ziffernentwicklung, 92 STICHWORTVERZEICHNIS Zufallsexperiment, 140 zulässige Reihenfolge, 183 Zuordnung umkehrbar eindeutige, 75 zusammenhängend, 52 Zusammenhangskomponente, 57 Zusammensetzung, 71 Zuverlässigkeit, 187 Zyklen elementfremde, 109 zyklische Gruppe, 226 Zyklus, 53 echter, 54 Zyklus-Permutation, 109 279