Mathematik für das Lehramt
Mathematik für das Lehramt K. Reiss/G. Schmieder† : Basiswissen Zahlentheorie A. Büchter/H.-W. Henn: Elementare Stochastik J. Engel: Anwendungsorientierte Mathematik: Von Daten zur Funktion K. Reiss/G. Stroth: Endliche Strukturen Herausgeber: Prof. Dr. Kristina Reiss, Prof. Dr. Thomas Sonar, Prof. Dr. Hans-GeorgWeigand
Kristina Reiss · Gernot Stroth
Endliche Strukturen
123
Prof. Dr. Kristina Reiss Technische Universität München Heinz Nixdorf-Stiftungslehrstuhl für Didaktik der Mathematik TUM School of Education Schellingstraße 33 80799 München Deutschland
[email protected] Prof. Dr. Gernot Stroth Universität Halle-Wittenberg Naturwissenschaftliche Fakultät II Institut für Mathematik Theodor-Lieser-Str. 5 06099 Halle Deutschland
[email protected] ISBN 978-3-642-17181-9 e-ISBN 978-3-642-17182-6 DOI 10.1007/978-3-642-17182-6 Springer Heidelberg Dordrecht London New York Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. Mathematics Subject Classification (2011): Primary: 00A05 Secondary: 05A05, 05C90, 05C25 05C45, 12-01 und 94B05 c Springer-Verlag Berlin Heidelberg 2011 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Einbandentwurf: WMXDesign GmbH, Heidelberg Gedruckt auf säurefreiem Papier Springer ist Teil der Fachverlagsgruppe Springer Science+Business Media (www.springer.com)
Vorwort
Liebe Leserin, lieber Leser, darf ein Vorwort mit einer mathematischen Fragestellung anfangen? Warum nicht, wenn man genau so am besten erklären kann, worum es in einem Buch geht. Hier ist die Frage: „Seien a1 , a2 , a3 drei Punkte in der Ebene. Wie viele Wege mit Anfangspunkt a1 gibt es, bei denen jeder der anderen Punkte genau einmal vorkommt?“ Es ist nicht besonders schwierig, eine Antwort zu geben. Einerseits existiert auf jeden Fall eine Lösung, denn (a1 , a2 , a3 ) ist ein solcher Weg, andererseits gibt es nur noch (a1 , a3 , a2 ) als weiteren Weg, sodass man genau zwei Lösungen bekommt. Auch bei vier in der Ebene gegebenen Punkten a1 , a2 , a3 , a4 kann man unschwer alle Möglichkeiten aufschreiben. Wir bekommen mit etwas Systematik (a1 , a2 , a3 , a4 ), (a1 , a2 , a4 , a3 ), (a1 , a3 , a2 , a4 ), (a1 , a3 , a4 , a2 ), (a1 , a4 , a2 , a3 ) und (a1 , a4 , a3 , a2 ), also sechs mögliche Wege. Wie sieht es aber bei 15, 16 oder 17 Punkten aus? Hier alle Möglichkeiten aufzuschreiben ist mühsam und fehleranfällig. Außerdem kann es nicht wirklich sinnvoll sein, jeden Einzelfall separat zu betrachten. Ist es nicht viel einfacher, sich zu überlegen, dass man für n Punkte genau (n − 1)! verschiedene Wege finden kann? Das ist eine der Fragen, um die es in diesem Buch gehen soll. Existieren gewisse Strukturen überhaupt? Wie viele sind es gegebenenfalls? Im Beispiel überlegt man sich darüber hinaus, dass die Punkte ja irgendwie in der Ebene verteilt liegen. Vielleicht suchen wir gar nicht alle Wege, sondern beispielsweise die von kürzester Länge. Solche gibt es sicherlich, da es ja insgesamt nur endlich viele Wege gibt. Nun ist es vermutlich nicht wirklich sinnvoll, erst alle Wege aufzuschreiben und dann die kürzesten auszuwählen. Auch hier suchen wir also eine gute Methode. Dies ist der zweite Typ von Fragen, mit denen wir uns in diesem Buch beschäftigen werden, und bei dem es um die Konstruktion gewisser Strukturen geht. Wir betrachten also mathematische Modelle, mit deren Hilfe man Fragen zur Existenz von Strukturen beantworten kann oder die eine Konstruktion gewisser Konfigurationen dieser (oder auch anderer) Art effektiv und schnell unterstützen. Wir werden aber auch erkennen, dass sich nicht jedes Problem zu einer guten Lösung zwingen lässt. Manchmal weiß man, dass effektive Lösungen prinzipiell unmöglich sind, manchmal kennt man keine sinnvolle Theorie, die eine solche Lösung ermöglicht. Das eingangs beschriebene Problem der kürzesten Rundreisen gehört (leider) dazu.
VI
Vorwort
Bei der Betrachtung der entsprechenden mathematischen Modelle gibt es in diesem Buch eine Beschränkung, nämlich die auf endliche Strukturen. In ganz unterschiedlichen mathematischen Gebieten sollen Probleme untersucht werden, die sich auf eine endliche Anzahl von Elementen beziehen. Dabei sind es verschiedene Aspekte, die im Vordergrund stehen können. So geht es oft darum, zunächst einmal die Existenz von gewissen Konfigurationen zu klären, und damit um die prinzipielle Möglichkeit, ein (endliches) Problem überhaupt zu lösen. Darüber hinaus ist in der Regel von Interesse, alle Lösungen einer Fragestellung zu kennen und zu sehen, ob sie Prinzipien folgen und wenn ja, welchen. Vielleicht gibt es dann sogar eine Lösung, die optimal ist – nach welchen Kriterien das im Einzelfall auch zu beurteilen ist. Mit den eben genannten Aspekten haben wir die wesentlichen Ideen angerissen, mit denen wir uns in fünf Kapiteln und in unterschiedlichen mathematischen Gebieten beschäftigen werden. Im ersten Kapitel geht es um Grundlagen mathematischen Arbeitens (und das nicht nur im Hinblick auf endliche Fragestellungen). Wir erinnern an Beweismethoden und geben einen Überblick über Techniken des Zählens. Die Begriffe aus diesem Kapitel und die hier eingeführten Arbeitsweisen und mathematischen Prinzipien werden im ganzen Buch benötigt. Das zweite Kapitel thematisiert mit Gruppen, Ringen und Körpern grundlegende algebraische Strukturen. Besondere Bedeutung haben die Polynomringe, die in diesem Kapitel eingeführt werden und die im Rahmen der Codierungstheorie eine Anwendung finden. Der Begriff der Gruppe und damit die Modellierung von Symmetrie spielt dann im dritten Kapitel die zentrale Rolle. Grundlagen der Gruppentheorie werden dabei anhand geeigneter Probleme entwickelt. Ein wichtiges Ziel des Kapitels (natürlich neben der Bereitstellung von Grundlagen) ist es, einen Einblick in die Galoistheorie zu geben. Diese Theorie erlaubt es, Aussagen über die (endlich vielen) Nullstellen von Polynomen zu machen und kann als ein Zusammenspiel von Wissen über Gruppen, Körper und Polynomringe angesehen werden. Das zweite und dritte Kapitel umfassen übrigens Inhalte, die als zentral für die Lehramtsausbildung (und damit auch für schriftliche Prüfungen) angesehen werden können. Die Darstellung der Anwendung der Galoistheorie auf Polynomgleichungen ist eine verkürzte Version derjenigen in dem neuen Buch des zweiten Autors „Elementare Algebra und Zahlentheorie“, das 2011 im Birkhäuser Verlag erscheinen wird. Dem Birkhäuser Verlag sei Dank für die Genehmigung, dies im vorliegenden Buch verwenden zu dürfen. Das vierte Kapitel behandelt Grundlagen der Codierungstheorie und zeigt einfache Methoden der Übertragung von Nachrichten auf. Endliche Körper und Polynomringe (und damit die Inhalte des zweiten Kapitels) bilden hier den Ausgangspunkt der Modellierungen. Das fünfte Kapitel beschäftigt sich schließlich mit der Tourenplanung,
Vorwort
VII
also mit einem Optimierungsproblem. In diesem Fall werden wir Graphen als Objekte der Modellierung nutzen und (wieder am Problem) eine geeignete Theorie zu Möglichkeiten der Optimierung von Touren entwickeln. Man wird hier sehen, dass es nicht immer wirklich schlagkräftige Methoden gibt, um ein Problem zu lösen, sodass ein einfaches Abzählen in diesem Fall nicht unbedingt schlechter als die mathematische Theorie ist. Mit diesem Buch verbinden wir ein Anliegen, das wir hier noch einmal zusammenfassen möchten. Wir wollen am Beispiel endlicher Strukturen aufzeigen, wie Teilgebiete der Mathematik, etwa die Graphentheorie und die nicht gerade als angewandt bekannte Algebra, eingesetzt werden können, um konkrete Fragestellungen wie zum Beispiel das Abzählen von Mustern, die Codierung von Nachrichten oder das Aufstellen von Tourenplänen zu bearbeiten. Wir wollen dabei nicht nur die Anwendung darstellen, sondern auch die Theorie am konkreten Problem entwickeln. Insofern ist das Buch in sich abgeschlossen. Es geht allerdings nicht darum, die besten Algorithmen oder den neusten Stand der Forschung darzustellen. Vielmehr steht die Mathematik im Vordergrund, die sich ganz allgemein in den Problemen verbirgt. Diese müsste wiederum im konkreten Anwendungsproblem weiterentwickelt und optimiert werden. Das ist dann eine andere Herausforderung, der wir uns hier nicht stellen können und wollen. Verschiedene Teile des Buches kann man durchaus unabhängig voneinander lesen. So baut das letzte Kapitel im Wesentlichen nicht auf den Inhalten der Kapitel 2, 3 und 4 auf. Genauso benötigt Kapitel 4 nicht Kapitel 3 als Voraussetzung und nur wenige Resultate aus Kapitel 2. Solange man nicht an dem Ausblick in die Galoistheorie in Kapitel 3 interessiert ist, ist auch dieses Kapitel unabhängig vom Rest zu erarbeiten. Jedes einzelne Kapitel könnte man in einer zweistündigen Vorlesung oder einem Proseminar behandeln. Das Buch basiert auf Vorlesungen für Schülerinnen und Schüler, die zunächst an der Freien Universität Berlin und später an der Martin–Luther– Universität Halle–Wittenberg gehalten wurden. Hier wurden sie dann auch für Studierende weiterentwickelt. Der mathematische Stoff ist nicht neu und findet sich so oder ähnlich in vielen Lehrbüchern. Insbesondere das zweite und dritte Kapitel lehnt sich an das Buch des zweiten Autors [14] an. Genaue Referenzen sind bei einem Stoff, der sich über viele Jahre angesammelt hat, häufig nicht mehr möglich. Kollegen, die uns irgendwann einen trickreichen Beweis oder eine besonders schöne Übungsaufgabe mitgeteilt haben, sich aber hier nicht zitiert finden, bitten wir um Entschuldigung. Wir wären dann für eine kurze Mitteilung dankbar, damit wir das in einer späteren Auflage nachholen können.
VIII
Vorwort
Kein Buch und schon gar kein Mathematikbuch entsteht ohne die Beteiligung von netten, kompetenten Menschen, die in der einen oder anderen Form vorläufige Texte lesen und kommentieren. Das gilt natürlich auch für dieses Buch. Wir bedanken uns daher ganz herzlich bei unseren Studentinnen und Studenten in Halle und München, die uns in Seminaren und Vorlesungen auf Unstimmigkeiten, Fehler und schlecht lesbare Passagen aufmerksam gemacht haben. Fachlich und stilistisch Korrektur gelesen haben Barbara Haußmann (Augsburg), Elisabeth Lorenz (München) und Juniorprofesssorin Rebecca Waldecker (Halle), wofür wir ebenfalls vielen Dank sagen. Die Umsetzung des Manuskripts in den Stil dieser Buchreihe des Springer-Verlags wurde von Karin Helbich mit viel Sorgfalt und Sachverstand durchgeführt. Auch dafür sind wir sehr dankbar. Schließlich sei dem Stadtvermessungsamt der Stadt Halle für die Erlaubnis gedankt, einen Ausschnitt des Stadtplans von Halle in das Buch aufnehmen zu dürfen. Die vielen kleineren und größeren Fehler, die der Text nun noch enthalten könnte, nehmen Sie bitte als Herausforderung. Wir freuen uns über jede Rückmeldung, wünschen Ihnen aber zunächst viel Spaß bei der Auseinandersetzung mit den Endlichen Strukturen. Halle und München im August 2010 Kristina Reiss und Gernot Stroth
Inhaltsverzeichnis
1.1.2 1.1.3 1.2 1.2.1 1.2.2 1.2.3 1.3 1.3.1 1.3.2 1.3.3 1.4 1.4.1 1.4.2 1.4.3 1.5
Grundlagen und Zählprinzipien Das Induktionsprinzip.......................................... Das Wohlordnungsaxiom und die Existenz eines kleinsten Elements ................................................... Beweisen durch vollständige Induktion ..................... Induktion und Rekursion ...................................... Das Schubfachprinzip.......................................... Anwendungen des Schubfachprinzips ....................... Abbildungen und das Zählen ................................. Der Beweis des Schubfachprinzips .......................... Grundprinzipien der Kombinatorik .......................... Eine Verallgemeinerung des Schubfachprinzips ........... Permutationen, Variationen, Kombinationen ............. Der Binomische Lehrsatz ..................................... Das Inklusions-Exklusions-Prinzip ........................... Eine Hinführung zum Inklusions-Exklusions-Prinzip ..... Der Beweis des Inklusions-Exklusions-Prinzips ........... Anwendungen des Inklusions-Exklusions-Prinzips ........ Übungsaufgaben ................................................
2 2.1 2.2 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.4 2.5 2.6
Körper und Polynome Gruppen, Ringe, Körper ....................................... 55 Eigenschaften endlicher Körper .............................. 62 Polynome ........................................................ 73 Rechnen in Polynomringen ................................... 73 Primfaktorzerlegung in Polynomringen..................... 76 Ein Weg zur Konstruktion endlicher Körper .............. 88 Noch einmal: Konstruktion endlicher Körper ............. 92 Automorphismen ............................................... 96 Algebraische Zahlen............................................ 107 Übungsaufgaben ................................................ 111
3 3.1 3.1.1 3.1.2
Gruppen und Symmetrien Der Begriff der Gruppe ........................................ Gruppen und die Symmetrien des regulären n-Ecks ..... Einfache Eigenschaften von Gruppen und elementare Grundbegriffe.................................................... Isomorphie ....................................................... Beispiele isomorpher Gruppen ............................... Grundlagen der Bestimmung von Gruppen ................
1 1.1 1.1.1
3.2 3.2.1 3.2.2
3 4 5 9 13 13 15 19 21 21 24 30 36 37 38 41 48
117 117 123 130 130 133
X
Inhaltsverzeichnis
3.2.3 3.3 3.3.1 3.3.2 3.4 3.5 3.6 3.7 3.8
Faktorgruppen .................................................. Permutationen .................................................. Die symmetrische Gruppe Sn ................................ Zyklenzerlegung ................................................ Untergruppen der Sn .......................................... Operationen von Gruppen auf Mengen .................... Färbungen ....................................................... Symmetrien von Polynomen.................................. Übungsaufgaben ................................................
139 143 143 145 150 155 168 184 196
4 4.1 4.2 4.3 4.4
Codierung von Nachrichten Einführende Beispiele .......................................... Fehlererkennung und Fehlerkorrektur....................... Decodierung ..................................................... Übungsaufgaben ................................................
203 205 222 236
5 5.1 5.2 5.3 5.3.1 5.3.2 5.3.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10
Tourenplanung Grundlegende Eigenschaften von Graphen ................ Zusammenhängende Graphen................................ Eulerwege ........................................................ Das Königsberger Brückenproblem ......................... Der Algorithmus von Dijkstra................................ Verallgemeinerungen ........................................... Der Floyd-Warshall-Algorithmus ............................ Das Müllproblem: Eine Zwischenbilanz .................... Netzwerke........................................................ Der ungarische Algorithmus .................................. Das Müllproblem: Die Bilanz ................................ Ein ungelöstes Problem: P = N P ?......................... Übungsaufgaben ................................................
242 249 256 258 266 271 273 278 279 289 293 295 297
6
Lösungen der Übungsaufgaben Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
321
Kapitel 1 Grundlagen und Zählprinzipien
1
1
1 1.1 1.1.1 1.1.2 1.1.3 1.2 1.2.1 1.2.2 1.2.3 1.3 1.3.1 1.3.2 1.3.3 1.4 1.4.1 1.4.2 1.4.3 1.5
Grundlagen und Zählprinzipien Das Induktionsprinzip.......................................... Das Wohlordnungsaxiom und die Existenz eines kleinsten Elements ................................................... Beweisen durch vollständige Induktion ..................... Induktion und Rekursion ...................................... Das Schubfachprinzip.......................................... Anwendungen des Schubfachprinzips ....................... Abbildungen und das Zählen ................................. Der Beweis des Schubfachprinzips .......................... Grundprinzipien der Kombinatorik .......................... Eine Verallgemeinerung des Schubfachprinzips ........... Permutationen, Variationen, Kombinationen ............. Der Binomische Lehrsatz ..................................... Das Inklusions-Exklusions-Prinzip ........................... Eine Hinführung zum Inklusions-Exklusions-Prinzip ..... Der Beweis des Inklusions-Exklusions-Prinzips ........... Anwendungen des Inklusions-Exklusions-Prinzips ........ Übungsaufgaben ................................................
3 4 5 9 13 13 15 19 21 21 24 30 36 37 38 41 48
1 Grundlagen und Zählprinzipien
In diesem Kapitel geht es um einige grundlegende Prinzipien, die für den Umgang mit endlichen Strukturen unverzichtbar sind. Es ist sicherlich nicht erstaunlich, dass dabei das Zählen eine ganz wesentliche Rolle spielt. Auch wenn dieses Buch nicht unbedingt für den Beginn des Studiums gedacht ist und wir etwa die Inhalte einer Einführung in die Lineare Algebra an manchen Stellen als bekannt voraussetzen, wird hier relevantes Basiswissen zusammengestellt, das vermutlich nicht wenigen Leserinnen und Lesern bereits vertraut ist. Dabei werden wir uns besonders auf Beweismethoden in der Mathematik und grundlegende kombinatorische Prinzipien konzentrieren, wobei (ihrer Bedeutung für das Buch entsprechend) Abzählmethoden im Vordergrund stehen. Ein wesentliches Ziel ist es, das Induktionsprinzip, das Schubfachprinzip und das Inklusions-Exklusions-Prinzip vorzustellen. Daneben werden Kernideen der Kombinatorik aufgezeigt, die auch dem Zählen zuzuordnen sind.
1.1
1.1 Das Induktionsprinzip Es gibt viele mathematische Sätze, die man als universell bezeichnen kann. Sie besagen etwa, dass eine bestimmte Eigenschaft für alle (und nicht nur für einige ausgewählte) Werte x einer vorgegebenen Menge gilt. So kann man beispielsweise behaupten (und zeigen), dass für alle natürlichen Zahlen n die Gleichung 1 + 3 + 5 + . . . + (2n − 1) =
n
(2i − 1) = n2
(∗)
i=1
gilt. Die Gültigkeit ist übrigens leicht zu veranschaulichen. Man legt zunächst ein kleines Quadrat auf den Tisch. Dann kann man drei (gleich große) Quadrate so darum herumlegen, dass wieder ein Quadrat aus vier kleineren Quadraten zu sehen ist. Im nächsten Schritt legt man fünf Quadrate so, dass oben und rechts je zwei hinzukommen und schließlich noch ein Quadrat in der Ecke das Bild vervollständigt. Im Ergebnis liegt nun ein Quadrat aus neun kleinen Quadraten auf dem Tisch. Nehmen wir jetzt an, wir gehen von einem n × n–Quadrat für ein beliebiges n aus, dann kann man oben und an der Seite jeweils n Quadrate anfügen und eines zusätzlich in die Ecke legen.
K. Reiss, G. Stroth, Endliche Strukturen, Mathematik für das Lehramt, c Springer-Verlag Berlin Heidelberg 2011 DOI 10.1007/978-3-642-17182-6_1,
4
1. Grundlagen und Zählprinzipien
Anschaulich ist damit eigentlich alles klar. Außerdem ist n2 +2n+1 = (n+1)2 , sodass man auch gleich die passende formale Antwort hat. Was haben wir gemacht? Nun, wir haben gedanklich gerade eben das so genannte Induktionsprinzip angewendet. Was es genau besagt und wie es funktioniert, wollen wir jetzt klären. Dazu benötigen wir als Grundlage einen ganz selbstverständlich klingenden Satz, nämlich den Satz von der Existenz eines kleinsten Elements in jeder Menge natürlicher Zahlen. 1.1.1 Das Wohlordnungsaxiom und die Existenz eines kleinsten Elements Es ist sicherlich den meisten Leserinnen und Lesern bekannt, dass mit Z die Menge der so genannten ganzen Zahlen bezeichnet wird, also die Zahlen . . . − 4, −3, −2, −1, 0, 1, 2, 3, 4, . . . Wir sind mit diesen Zahlen gut vertraut (oder glauben das zumindest). Man kann sie ohne Einschränkung addieren, subtrahieren und multiplizieren und das Ergebnis solcher Rechnungen in Z ist immer wieder eine ganze Zahl. Man kann allerdings nicht uneingeschränkt dividieren. Der Quotient zweier ganzer Zahlen ist zwar eine rationale Zahl, aber möglicherweise keine ganze Zahl mehr. So ist zum Beispiel der Quotient aus 1 und 2 die rationale Zahl 12 , die aber keine ganze Zahl ist. Darüber hinaus ist ganz praktisch, dass man zu zwei gegebenen ganzen Zahlen immer angeben kann, welche der beiden die kleinere ist bzw. ob sie gleich sind. Man kann also zwei ganze Zahlen bezüglich ihrer Größe vergleichen und feststellen, dass beispielsweise 1 < 5, −3 < 5, −5 < −3 und 3 = 3 ist. Was man kann und darf in der Mathematik, das ist zumeist gut geregelt. Die wesentlichen Bausteine sind Axiome, Definitionen („Begriffsfestlegungen“) und Sätze („beweisbare Aussagen“). Die Axiome spielen dabei eine Sonderrolle, denn sie sind nicht zu beweisende, grundlegende Annahmen, von denen man ausgehen muss, um ein sinnvolles Gefüge mathematischen Wissens zu bekommen.
1.1
Das Induktionsprinzip
5
Die Möglichkeit des Vergleichs ganzer Zahlen führt nun zu einem solchen Axiom. Es ist eine der wichtigsten Eigenschaften der ganzen Zahlen, die im folgenden Wohlordnungsaxiom formuliert ist. Betrachtet wird eine Menge ganzer Zahlen, die (irgendwie, also zum Beispiel auch durch ein Element, das gar nicht in der Menge ist) nach unten beschränkt ist. Das Axiom besagt, dass es dann auch in der gegebenen Menge selbst eine untere Schranke gibt. Wohlordnungsaxiom Sei X eine nicht leere Menge von ganzen Zahlen, die eine untere Schranke b zulässt, d. h. es sei b ≤ x für alle x ∈ X. Dann gibt es ein x0 ∈ X mit x0 ≤ x für alle x ∈ X. Der Inhalt des Axioms ist nicht weiter aufregend. Wenn man etwa die Menge M = {5, 6, 7, 8} ganzer Zahlen betrachtet und sieht, dass die Zahl „1“ auf jeden Fall eine untere Schranke ist, dann besagt es, dass es auch in M selbst eine solche untere Schranke gibt (konkret ist das in diesem Fall die Zahl 5 ∈ M ). Interessanter ist sicherlich, dass man diese Eigenschaft axiomatisch regeln muss und sie nicht aus anderen Eigenschaften von Z ableiten kann. Es gibt aber eine wichtige Folgerung, wenn man dieses Prinzip auf die natürlichen Zahlen (und das sind alle ganzen Zahlen z mit z ≥ 1) anwendet. Satz 1.1.1 Ist X eine nicht leere Menge natürlicher Zahlen, so enthält X ein
kleinstes Element. Beweisidee 1.1.1 Es ist alles ganz einfach. Man kann das Axiom auf die Menge
X ⊆ N anwenden, denn eine absolute untere Grenze gibt es auf jeden Fall durch die Zahl 1 ∈ N. Beweis 1.1.1 Es ist 1 ∈ N und außerdem 1 ≤ n für alle n ∈ N. Damit kann man
das Wohlordnungsaxiom anwenden und die Behauptung des Satzes folgt. 1.1.2 Beweisen durch vollständige Induktion Wir werden nun sehen, wie man Satz 1.1.1 zum Beweis der Gleichung (∗) auf Seite 3 benutzen kann. Es soll also gezeigt werden, dass 1 + 3 + 5 + . . . + (2n − 1) =
n
(2i − 1) = n2
i=1
für alle n ∈ N gilt. Überlegung 1: Die Formel 1 + 3 + 5 + . . . + (2n − 1) = n2 ist sicherlich für n = 1 richtig, was man durch Einsetzen sofort sieht: 1 = 12 .
1.1.1
6
1. Grundlagen und Zählprinzipien
Überlegung 2: Es ist sinnlos, nun mit konkreten Zahlen wie 2, 3, 4 und 5 weiter zu machen und jeweils zu prüfen, ob die Gleichung erfüllt ist. Wir brauchen vielmehr ein für jeden beliebigen Fall gültiges Verfahren. Und das geht so: Wir nehmen an, dass die Gleichung (∗) für ein festes k richtig ist, dass also k (2i − 1) = k 2 1 + 3 + 5 + . . . + (2k − 1) = i=1
gilt. Unter dieser Voraussetzung werden wir die Gleichung für k + 1 beweisen. Dazu betrachten wir die Summe der ersten k +1 ungeraden Zahlen und ersetzen darin die Summe der ersten k ungeraden Zahlen durch k 2 (entsprechend der Voraussetzung). Konkret rechnet man: 1 + 3 + 5 + . . . + (2k − 1) + (2(k + 1) − 1) = 1 + 3 + 5 + . . . + (2k − 1) + (2k + 1) = k 2 + (2k + 1) = k 2 + 2k + 1 = (k + 1)2 Überlegung 3: Ganz offensichtlich haben wir für diesen Nachweis der Korrektheit nur die Voraussetzung der Gültigkeit für das feste n = k gebraucht. Wir wissen damit: Ist das Resultat für n = k korrekt, so auch für n = k + 1. Ganz wesentlich ist es nun, sich zu überlegen, dass es auf jeden Fall eine natürliche Zahl n gibt, für die die Gleichung (∗) erfüllt ist, und das ist (wie wir in Überlegung 1 gesehen haben) die Zahl n = 1. Da die Gleichung für n = 1 richtig ist, ist sie es auch für n = 2 und damit für n = 3, n = 4, n = 5 und immer weiter. Das dahinter liegende Prinzip nennen wir das Induktionsprinzip. Intuitiv ist damit zwar alles geklärt, aber bei unendlichen Mengen kann man leicht Probleme bekommen, wenn man sich nur auf die Intuition verlässt. Man braucht daher noch den expliziten Beweis, dass mit der Anwendung des Induktionsprinzips die Behauptung tatsächlich für alle n ∈ N bewiesen ist. Das geht so: Sei S die Menge der natürlichen Zahlen, für die die Gleichung (∗) von Seite 3 falsch ist. Ist S = ∅, so enthält S nach Satz 1.1.1 ein kleinstes Element k ∈ N. Da (∗) für n = 1 richtig ist, ist 1 ∈ S, also ist k > 1. Damit ist k − 1 ∈ N, aber k − 1 ∈ S. Also ist die Gleichung (∗) für n = k − 1 richtig. Weil man daraus die Gültigkeit für n = k folgern kann, widerspricht dies der Voraussetzung k ∈ S. Also ist S = ∅ und die Behauptung gilt für alle n ∈ N.
1.1
Das Induktionsprinzip
7
Mit Hilfe des Induktionsprinzips kann man viele Aussagen beweisen, die für alle natürlichen Zahlen gelten. Es lohnt sich also, den folgenden Satz zu formulieren, dessen Beweis dann der gleichen Logik wie im Beispiel folgt. Satz 1.1.2 (Induktionsprinzip) Sei S eine Menge mit S ⊆ N. Es sollen die folgenden Eigenschaften erfüllt sein:
(a) 1 ∈ S. (b) Für jedes k ∈ S ist stets auch k + 1 ∈ S. Dann ist S = N. Beweis 1.1.2 Angenommen, es ist S = N, dann ist S0 := N \ S eine nicht
leere Teilmenge von N. Also gibt es ein kleinstes Element k ∈ S0 . Da 1 ∈ S ist, muss k > 1 sein, und k − 1 ist somit eine natürliche Zahl. Da k aber / S0 , also ist k − 1 ∈ S. Nach das kleinste Element von S0 ist, gilt k − 1 ∈ Voraussetzung (b) ist dann aber auch (k − 1) + 1 = k ∈ S und das steht im Widerspruch zur Annahme. Eine kleine Anmerkung für Leserinnen und Leser, die dieses Ergebnis schon einmal in anderem Zusammenhang gesehen haben und sich eventuell wundern. Bei einer axiomatischen Einführung der natürlichen Zahlen mit Hilfe der Peano-Axiome ist Satz 1.1.2 eines der Axiome, das so genannte Induktionsaxiom. Auch das ist natürlich in Ordnung. Man könnte dann das Wohlordnungsaxiom als einen Satz ableiten und würde schlicht auf einer etwas anderen Grundlage arbeiten. Für die mit dem Induktionsprinzip verbundenen Induktionsbeweise gibt es ein einprägsames Schema, das wir in den Überlegungen auf Seite 5 schon genutzt haben und noch einmal kurz explizit betrachten wollen. Es besteht aus drei Teilen, dem Induktionsanfang (auch Induktionsbasis genannt), der Induktionsannahme (manchmal auch als Induktionsvoraussetzung bezeichnet) und dem Induktionsschluss (manchmal auch als Induktionsschritt bezeichnet). Im folgenden Beispiel wird deutlich, was die einzelnen Schritte leisten.
1.1.2
8
1.1.3
1. Grundlagen und Zählprinzipien
Beispiel 1.1.3 Die Zahlen xn (mit n ∈ N0 ) werden wie folgt definiert: Es sei
x0 = 0 und xn = xn−1 + 2n für alle n ≥ 2. Dann gilt xn = n · (n + 1) für alle n ∈ N. Diese Behauptung soll durch Induktion bewiesen werden. Wir folgen dabei den oben genannten Schritten. Induktionsanfang: Die Behauptung ist korrekt für n = 1, denn es ist x1 = 0 + 2 = 1 · 2 = 2. Induktionsannahme: Das Resultat sei richtig für n = k, es gelte also xk = k(k + 1).
Induktionsschluss (k −→ k + 1): Das Resultat ist richtig für n = k + 1, denn es ist xk+1 = xk + 2(k + 1) nach Definition der Zahlen und xk + 2(k + 1) = k(k + 1) + 2(k + 1) unter Verwendung der Induktionsannahme. Einfaches Rechnen zeigt k(k + 1) + 2(k + 1) = (k + 1)(k + 2), sodass die Behauptung bewiesen ist. Der Induktionsanfang garantiert, dass man überhaupt etwas Sinnvolles beweist. Wenn es kein konkretes Beispiel gibt, dann nützt natürlich auch die Verallgemeinerung nichts. Die Induktionsannahme nimmt diesen Fall auf, setzt aber eine Variable statt der konkreten Zahl ein und bereitet so die Frage „was wäre, wenn“ vor. An k werden dabei keine Bedingungen geknüpft, insofern ist es beliebig. Andererseits ist ganz wichtig, dass k fest ist, wenn es erst einmal gewählt ist (und so sind auch nachträgliche Änderungen der Bedingungen ausgeschlossen). Der korrekt durchgeführte Induktionsschluss beweist dann, dass man von einem Fall auf den nächsten und damit auf alle möglichen Fälle schließen darf. Das Induktionsprinzip steckt nicht nur in diesem Beweisverfahren, sondern ist in der Mathematik auch in anderen Zusammenhängen ein probates Mittel für Problemlösungen. Man betrachtet etwa einen speziellen Fall (z. B. ein ganz bestimmtes Element) und verallgemeinert mit Hilfe induktiven Schließens auf einen umfassenderen Zusammenhang.
1.1
Das Induktionsprinzip
9
Beispiel 1.1.4 In der Ebene sind im ganzzahligen Gitter natürliche Zahlen ein-
1.1.4
getragen, wobei jede das arithmetische Mittel ihrer vier Nachbarn ist. Was kann man über diese Zahlen aussagen ?
a4
a1
a1 +a2 +a3 +a4 4
a3
a2
Sei x die kleinste natürliche Zahl im Gitter (und Satz 1.1.1 sagt uns, dass eine solche Zahl existiert). Dann ist x=
a1 + a2 + a3 + a4 , 4
wobei a1 , a2 , a3 , a4 die vier benachbarten Zahlen sind. Da ai ≥ x für alle i ist, muss a1 = a2 = a3 = a4 = x sein. Dann sind (und das sieht man mit dem gleichen Argument) auch alle Nachbarn von a1 und genauso alle Nachbarn von a2 , a3 und a4 gleich. Man schließt, dass somit alle Einträge im Gitter gleich sein müssen. 1.1.3 Induktion und Rekursion Bei der Induktion geht es darum, ein Problem auf ein „kleineres“ und schließlich auf ein bereits gelöstes Problem zurückzuführen. Auf dieser Grundidee basiert auch die so genannte Rekursion, die im folgenden Beispiel betrachtet wird. Wir argumentieren dabei in N0 , was natürlich keinen prinzipiellen Unterschied bewirkt. Beispiel 1.1.5 Sei N eine Menge mit n Elementen. Wie groß ist die Anzahl An
aller Teilmengen von N ? Ist n = 0, so ist An = 1, denn N = ∅ hat nur sich selbst als Teilmenge. Wir fügen nun zwei Betrachtungen ein, die man zwar nicht unbedingt braucht, die aber das Verständnis erleichtern.
1.1.5
10
1. Grundlagen und Zählprinzipien
Ist n = 1, so hat N genau ein Element, es ist also beispielsweise N = {x}. Also hat N die beiden Teilmengen ∅ und {x}. Sei n = 2 und N = {x, y}. Dann sind ∅ und {x} ebenfalls Teilmengen von N und das sind alle Teilmengen, die y nicht enthalten. Folglich kommen noch die Teilmengen {y} und {x, y} hinzu, also genau die Teilmengen, die y enthalten. Falls nun n = 3 und N = {x, y, z} ist, dann sind die eben angegebenen vier Teilmengen ∅, {x}, {y} und {x, y} Teilmengen von N . Hinzu kommen noch einmal so viele, die z enthalten, nämlich {z}, {x, z}, {y, z} und {x, y, z}. Kurz und gut: Mit jedem zusätzlichen Element verdoppelt sich die Anzahl der Teilmengen von N . Sei also n > 0 und x ∈ N . Dann ist N = N1 ∪ {x} für eine geeignete Menge N1 (die notfalls eben die leere Menge ist). Die Anzahl der Teilmengen von N1 ist An−1 . Jede Teilmenge B von N , die x enthält, entspricht einer Teilmenge B ∩ N1 von N1 . Also gibt es genau An−1 Teilmengen von N , die x enthalten (nämlich genau so viele wie Teilmengen, die x nicht enthalten). Das liefert An = 2An−1 . Es gilt übrigens An = 2n , was man leicht durch Induktion beweisen kann. Der Induktionsanfang ist für n = 0 bereits erledigt. Wir nehmen also an, dass Ak = 2k für ein k ∈ N ist. Nun ist aber Ak+1 = 2 · Ak (wie wir oben gesehen haben) und Ak = 2k (nach Induktionsannahme). Also ist Ak+1 = 2 · Ak = 2 · 2k = 2k+1 .
1.1.6
Beispiel 1.1.6 Der Turm von Hanoi
Gegeben sind drei Stäbe A, B, C. Auf Stab A liegen n unterschiedlich große Scheiben der Größe nach geordnet übereinander, wobei die größte Scheibe unten ist.
A
B
C
Das Problem besteht nun darin, diesen Stapel in gleicher Anordnung von Stab A nach Stab C zu bringen. Dabei darf bei jedem Zug immer nur eine
1.1
Das Induktionsprinzip
11
Scheibe bewegt werden und niemals darf eine größere Scheibe auf einer kleineren Scheibe liegen. Gesucht ist die minimale Anzahl von Zügen, die dazu nötig sind. Sei Mn diese minimale Anzahl von Zügen bei einem Turm aus n Scheiben. Für n = 1 ist alles ganz einfach, denn es reicht ein einziger Zug. Also gilt offensichtlich M1 = 1. Für n = 2 ist das Problem ebenfalls schnell gelöst. Man legt die kleinere Scheibe von A nach B, bewegt die größere Scheibe von A nach C und schließlich die kleinere Scheibe von B nach C. Gebraucht werden nun drei Züge, sodass M2 = 3 ist. Nehmen wir also n = 3 an. Im Prinzip kann man mit so wenigen Scheiben etwas herumspielen und kommt schnell zu einer Lösung. Einfacher ist es allerdings, wenn man sich kurz die wesentlichen Schritte überlegt: Um die größte der drei Scheiben von Stab A nach Stab C zu bringen, muss man Stab B als Zwischenablage für die beiden kleineren (in der richtigen Anordnung) nutzen. Das Problem ist also zunächst, einen Turm aus zwei Scheiben von Stab A nach Stab B zu bewegen. Diese Aufgabe ist allerdings gerade gelöst worden (vergleiche den Fall n = 2). Also ist auch das Problem des Umschichtens von drei Scheiben ganz einfach. Man braucht dazu 3 + 1 + 3 = 7 Züge, nämlich jeweils drei Züge für das Umschichten des Turms aus zwei Scheiben und einen Zug für das Umlegen der größten Scheibe. Die Grundidee kann man verallgemeinern. Sei also n > 1. Um den Stapel von Stab A nach Stab C zu bringen, ist es notwendig, die obersten n − 1 Ringe zunächst auf Stab B umzuschichten. Dazu benötigt man Mn−1 Züge. Nun kann der unterste Ring auf Stab C gelegt werden. Anschließend werden die n − 1 Ringe von Stab B auf Stab C gebracht, wozu wieder Mn−1 Züge notwendig sind. Also ist Mn = 2Mn−1 + 1, M1 = 1. Damit hat man eine induktive Formel für die Anzahl der Züge. Doch was macht man, wenn man tatsächlich zu gegebenem n die genaue Anzahl bestimmen will? Wie viele Züge braucht man, um einen Turm von Hanoi mit 1000 Scheiben umzuschichten? Die Antwort „ein bisschen mehr als doppelt so viele, wie man zum Umschichten eines Turms mit 999 Scheiben braucht“ ist nicht sonderlich nützlich. Besser ist hier eine direkte Formel. Eine solche gibt es auch. Es gilt nämlich Mn = 2n − 1, was wir durch Induktion nach n beweisen wollen. Behauptung: Um einen Turm von Hanoi mit n Scheiben umzuschichten, braucht man mindestens Mn = 2n − 1 Züge.
12
1. Grundlagen und Zählprinzipien
Induktionsanfang: Die Behauptung ist für n = 1 richtig, da M1 = 1 = 21 −1 ist. Induktionsannahme: Die Behauptung sei für n − 1 bereits gezeigt, es sei also Mn−1 = 2n−1 − 1. Induktionsschluss: Wenn die Behauptung für n − 1 gilt, dann rechnet man Mn = 2 · Mn−1 + 1 = 2 · (2n−1 − 1) + 1 = 2n − 1 und der Schluss von n − 1 auf n ist gelungen. Mit diesen drei Schritten ist der Induktionsbeweis abgeschlossen und die Behauptung ist gezeigt. Eine Variante der Bedingungen zum Umlegen von Scheiben ist die, dass nur Züge zwischen benachbarten Stäben erlaubt sind, also Züge von A nach B oder von B nach A und Züge von B nach C oder von C nach B. Sei dabei Qn die minimale Zuganzahl. Dann müssen offensichtlich zuerst die n − 1 kleineren Scheiben auf Stab C gebracht werden, wozu Qn−1 Züge notwendig sind (und hier interessiert uns im Moment überhaupt nicht, wie viele Züge das genau sind). Dann kann man die unterste und somit größte Scheibe auf Stab B legen. Nun müssen die n − 1 kleineren Scheiben auf Stab A zurückgebracht werden, wofür wiederum Qn−1 Züge benötigt werden. So ist Stab C frei, um die unterste Scheibe aufzunehmen. Man braucht dann noch einmal Qn−1 Züge, um alle n − 1 kleineren Scheiben auf Stab C abzulegen. Also gilt Qn = 3 · Qn−1 + 2. Für n = 1 ist die konkrete Anzahl offensichtlich, denn hier legt man die Scheibe zuerst auf Stab B und dann auf Stab C. Es ist also Q1 = 2. Behauptung: Es ist Qn = 3n − 1 für alle n ∈ N, was man (wie im Beispiel oben) durch Induktion nach n zeigen kann. In den vorhergehenden Beispielen haben wir stets die rekursive Struktur der Probleme genutzt, um eine erste Lösungsidee zu bekommen. Die daraus resultierenden Formeln waren nicht sehr hilfreich, um konkrete Werte (etwa die Anzahl der Züge) zu bestimmen. Schöner und nützlicher sind jeweils die geschlossenen Formeln, die hier aber mehr oder minder geraten wurden. Allerdings ist Raten keine sonderlich gute Arbeitsmethode, denn nicht immer kommt man damit zu einem sinnvollen Ergebnis. So sei angemerkt, dass man in den genannten Beispielen auch ohne Raten zum Ziel gekommen wäre, doch übersteigen die dazu notwendigen mathematischen Grundlagen (z. B. die Theorie der erzeugenden Funktionen) den Rahmen dieses Buches. Wer sich hier näher einarbeiten möchte, sei daher auf [2] verwiesen.
1.2
Das Schubfachprinzip
13
1.2 Das Schubfachprinzip
1.2
Wir wollen uns nun dem zweiten Beweisprinzip zuwenden, das in in den Vorbemerkungen zu diesem Kapitel angesprochen wurde. Es handelt sich um das Schubfachprinzip, das in seiner Grundidee ganz leicht zu erklären und zu verstehen ist. Das Schubfachprinzip: Version für Hausfrauen und –männer. Wenn sechs hungrige Personen am Tisch sitzen und sieben Kuchenstücke in der Mitte stehen, dann gibt es eine Person, die mindestens zwei Stücke Kuchen isst (nein, geteilt wird nicht, denn wir haben es nur mit natürlichen Zahlen zu tun). In der üblichen Formulierung würde man es so in Worte fassen: Sei n eine natürliche Zahl. Sind n + 1 Objekte auf n Schubfächer verteilt, so gibt es ein Schubfach, in dem mindestens zwei Objekte liegen. 1.2.1 Anwendungen des Schubfachprinzips Das Schubfachprinzip werden wir weiter unten als Satz 1.2.10 formulieren und beweisen. Obwohl es so selbstverständlich klingt, bedarf sein Beweis einiger Vorbereitung. Wir wollen deshalb zunächst aufzeigen, wie das Prinzip (wenn es bewiesen ist) angewendet werden kann. Wir werden sehen, dass es ein wichtiges Prinzip ist, und zum Beispiel Verwendung findet, wenn es darum geht, in einer bestimmten Menge die Existenz eines Elements x mit einer gewissen Eigenschaft nachzuweisen. Im folgenden Satz 1.2.2 geht es genau darum. Wir wollen seine Aussage zunächst an einem Beispiel verdeutlichen. Beispiel 1.2.1 Die Menge M = {2, 3, 4, 7, 9, 10} hat sechs Elemente, die alle nicht größer als 10 sind. Nun sieht man, dass in dieser Menge Zahlenpaare zu finden sind, bei denen eine Zahl die andere teilt: 2 teilt 4, 2 teilt 10 und 3 teilt 9. Ist das immer so, wenn man sechs Zahlen beliebig aus der Menge {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} herausnimmt und zu einer Menge M zusammenfasst? Versuchen wir es systematisch. Ist 1 ∈ M , dann sind wir fertig, denn 1 teilt jede andere natürliche Zahl. Falls 2 ∈ M die kleinste Zahl der Menge ist, dann gibt es sicherlich noch eine weitere gerade Zahl in M , den es gibt nur vier ungerade Zahlen, die größer als 1 und kleiner als 10 sind. Ist nun 3 ∈ M die kleinste Zahl der Menge und sind 6, 9 ∈ / M , dann ist M = {3, 4, 5, 7, 8, 10}, denn mehr Möglichkeiten gibt es nicht. Da zum Beispiel 4 ein Teiler von 8 ist, haben wir auch hier ein solches Zahlenpaar. Ist
1.2.1
14
1. Grundlagen und Zählprinzipien
4 ∈ M das kleinste Element, dann enthält M entweder 4 und 8 oder 5 und 10. Es bleibt noch der Fall M = {5, 6, 7, 8, 9, 10}, wobei M offensichtlich das entsprechende Paar (5,10) umfasst. Hätte M nur fünf Elemente, dann wäre es allerdings nicht immer möglich, solche Zahlenpaare zu finden. In der Menge M = {4, 5, 6, 7, 9} ist keine Zahl Teiler einer anderen Zahl der Menge. Offensichtlich braucht man mehr als die Hälfte der Elemente zwischen 1 und 10, um ganz sicher ein geeignetes Paar zu finden. Das ist die Aussage von Satz 1.2.2. 1.2.2
Satz 1.2.2 Sei n ∈ N. Gegeben sei eine Menge von n + 1 natürlichen Zahlen,
die alle nicht größer als 2n sein sollen. Dann gibt es Zahlen a und b in dieser Menge so, dass a = b und a ein Teiler von b ist. Beweisidee 1.2.2 Die n + 1 natürlichen Zahlen werden als Produkt einer ungeraden Zahl und einer Potenz der Zahl 2 geschrieben, also, locker ausgedrückt, in einen geraden und einen ungeraden Anteil zerlegt. Das geht immer. Eventuell ist eben nur „1“ der ungerade Anteil bzw. „20 = 1“ der „gerade“ Anteil (was natürlich keine gerade Zahl, aber eine Zweierpotenz ist). Betrachtet werden zunächst die ungeraden Teiler der n + 1 Zahlen. Da es zwischen 0 und 2n nur n ungerade Zahlen gibt, können diese Teiler nicht alle verschieden sein, und es gibt mindestens zwei (verschiedene) Zahlen mit demselben ungeraden Teiler. Auf diese zwei Zahlen konzentriert man sich jetzt und weist nach, dass eine der beiden die andere teilt. Beweis 1.2.2 Wir bezeichnen mit x1 , . . . , xn+1 die gegebenen n+1 natürlichen
Zahlen. Für i = 1, . . . , n + 1 schreiben wir xi = 2ni yi , wobei yi jeweils eine ungerade Zahl ist. Die yi sind also n + 1 ungerade Zahlen mit yi ≤ 2n für i = 1, 2, . . . , n. Da es zwischen 1 und 2n nur die n ungeraden Zahlen 1, 3, 5, . . . , 2n − 1 gibt, folgt mit dem Schubfachprinzip, dass zwei der yi gleich sein müssen, dass also yk = ym für zwei verschiedene Indizes k und m ist. Es ist xk = 2nk yk und xm = 2nm ym . Ist nk ≤ nm , so wird xm von xk geteilt, sonst wird xk von xm geteilt. 1.2.3
Beispiel 1.2.3 Sei S eine Menge, die aus zehn verschiedenen Zahlen zwischen
1 und 99 besteht. Dann gibt es zwei disjunkte Teilmengen S1 und S2 von S so, dass die Summe über alle Zahlen in S1 gleich der Summe über alle Zahlen in S2 ist.
1.2
Das Schubfachprinzip
15
Es gibt insgesamt 210 −1 = 1023 nicht leere Teilmengen der gewählten Menge S von 10 Zahlen (und das wurde auf Seite 9 gezeigt). Die größtmögliche Summe der Elemente von S ist 90 + 91 + . . . + 99 = 945. Insbesondere ist 90 + 91 + . . . + 99 < 1023, also ist jede Summe über jede dieser Teilmengen kleiner als 1023. Nach dem Schubfachprinzip gibt es daher zwei Teilmengen A und B von S, die zwar verschieden sind, aber in der Summe ihrer Elemente übereinstimmen. Indem wir aus A und B jeweils die gemeinsamen Zahlen A ∩ B herausnehmen, erhalten wir die gesuchten Mengen S1 und S2 . 1.2.2 Abbildungen und das Zählen Dem Schubfachprinzip liegt das Zählen zu Grunde. Um es zu beweisen, müssen wir uns entsprechend darüber verständigen, was Zählen bedeutet und wann wir sagen, dass eine Menge X genau n Elemente hat. Kinderkram? Ja sicher, denn Kinder wissen, wie es geht. Kleine Kinder zeigen mit den Fingern, wie alt sie sind oder wie viele Kuchenstücke auf dem Teller liegen. Sie stellen dabei eine Beziehung zwischen den Fingern ihrer Hand und ihrem Alter bzw. den Kuchenstücken her. Etwas abgehoben könnte man sagen, dass sie eine Abbildung zwischen der Anzahl der Finger und der Anzahl der Jahre bzw. der Kuchenstücke herstellen. Nicht viel anders wird es in der Mathematik gemacht und das soll im Folgenden aufgezeigt werden. Definition 1.2.4 Seien A, B Mengen. Eine Teilmenge f des kartesischen Pro-
dukts A × B = {(a, b)|a ∈ A, b ∈ B} heißt Abbildung, falls es für jedes a ∈ A genau ein Paar (a, b) ∈ f gibt. Man schreibt f : A −→ B und b = f (a). Das Element b heißt Bild von a, das Element a Urbild von b (jeweils unter f ). Durch eine Abbildung f : A −→ B wird somit jedem Element a ∈ A eindeutig ein Element b = f (a) ∈ B zugeordnet. Es ist nicht zwingend, aber in vielen Fällen (und gerade in denen, die man aus der Schule kennt) gibt es irgendeine Vorschrift, durch die eine Abbildung beschrieben wird. Beispiele sind etwa die quadratische Funktion f : R −→ R mit f (x) = x2 für alle x ∈ R, die √ + x für alle nicht negativen reellen Wurzelfunktion g : R+ 0 −→ R0 mit g(x) = Zahlen x oder die Vorzeichenfunktion (Signumfunktion) sgn : Z −→ {−1, 0, 1}, mit der Abbildungsvorschrift sgn(z) = 1 für alle z > 0, sgn(z) = 0 für z = 0 und sgn(z) = −1 für alle z < 0. Dabei soll mit R+ 0 die Menge aller nicht + negativen reellen Zahlen bezeichnet sein, also R0 = {x ∈ R | x ≥ 0}.
1.2.4
16
1. Grundlagen und Zählprinzipien
Hinter einer Abbildung muss allerdings nicht unbedingt eine explizite Vorschrift stecken. So ist f = {(1, 2), (2, 3), (3, 2), (4, 2)} eine Abbildung von A = {1, 2, 3, 4} nach B = {1, 2, 3, 4}, denn f ⊆ A × B erfüllt die Bedingung, dass jedem a ∈ A genau ein b ∈ B zugeordnet ist. Schließlich sei noch angemerkt, dass der Begriff „Vorschrift“ keinesfalls ordentlich definiert ist. Wählt man etwa A = {1, 2} und B = {1, 4}, dann kann man die unterschiedlichen Vorschriften f1 : A → B und f2 : A → B mit f1 (x) = x2 und f2 (x) = 3x − 2 festlegen, die auf diesen Mengen aber jeweils dieselbe Abbildung beschreiben. Durch die Definition 1.2.4 der Abbildung als Teilmenge des kartesischen Produktes ist die Gleichheit von zwei Abbildungen dagegen eindeutig festgelegt, nämlich als Gleichheit der entsprechenden Teilmengen (und dafür braucht man keine wie auch immer geartete „Vorschrift“). Interessant sind nun für den folgenden Abschnitt vor allem solche Abbildungen f : A −→ B, die eine eindeutige Zuordnung zwischen Mengen festlegen, bei denen also nicht nur jedem Element a ∈ A genau ein f (a) ∈ B zugeordnet ist (und das ist nach Definition 1.2.4 zwingend), sondern bei denen es umgekehrt zu jedem b ∈ B auch genau ein Urbild a mit f (a) = b gibt. Sie bekommen wegen ihrer Bedeutung in der folgenden Definition 1.2.5 unter (c) einen eigenen Namen. 1.2.5
Definition 1.2.5 Eine Abbildung f : A −→ B heißt (a) injektiv, wenn aus f (a1 ) = f (a2 ) für a1 , a2 ∈ A stets a1 = a2 folgt, (b) surjektiv, wenn es zu jedem b ∈ B ein a ∈ A mit f (a) = b gibt, und (c) bijektiv, falls f injektiv und surjektiv ist.
Bei einer injektiven Abbildung f : A −→ B haben unterschiedliche Elemente aus A also auch unterschiedliche Bilder in B (und das ist logisch äquivalent zur oben gewählten Formulierung). Bei einer surjektiven Abbildung f : A −→ B kommt jedes Element aus B als Bild vor und hat somit ein Urbild. Verbindet man die beiden Eigenschaften, dann wird die Zuordnung im Hinblick auf beide Richtungen eindeutig. Für eine bijektive Abbildung f : A −→ B gilt also, dass unter f jedes Element aus A genau ein Bild in B und jedes Element in B genau ein Urbild in A hat. 1.2.6
Beispiele 1.2.6 (a) f : N −→ N mit f (x) = x2 ist eine Abbildung, die injektiv,
aber nicht surjektiv ist. Sie ist injektiv, da aus x2 = y 2 für natürliche Zahlen x und y immer x = y folgt. Die Abbildung ist nicht surjektiv, da nicht jede natürliche Zahl eine Quadratzahl ist und folglich nicht jede natürliche Zahl als Bild vorkommt oder, anders ausgedrückt, ein Urbild hat.
1.2
Das Schubfachprinzip
17
(b) Die Abbildung f : Z −→ Z mit f (x) = x2 ist nicht injektiv, da beispielsweise f (3) = f (−3) = 9 ist. + 2 (c) f : R+ 0 −→ R0 mit f (x) = x ist eine bijektive Abbildung. Einerseits 2 2 folgt aus x = y immer x = y, andererseits gibt es zu jedem y ∈ R+ 0 ein √ mit f (x) = y, nämlich x = y. x ∈ R+ 0
Denken Sie noch einmal an die Kinder. Sie stellen (mathematisch gesprochen) zwischen ihren Fingern und ihrem Alter bzw. den Kuchenstücken eine bijektive Abbildung her. Jedem Jahr bzw. jedem Kuchenstück wird ein Finger zugeordnet. Weiter als bis zur Zahl 10 geht diese Zuordnung allerdings nicht aber das ist wohl auch nicht nötig. In der Mathematik hat man es besser, denn der Vorrat ist unbegrenzt: Die mathematischen Finger sind die natürlichen Zahlen N. Definition 1.2.7 Für jedes n ∈ N definieren wir Nn = {x | x ∈ N, x ≤ n}.
1.2.7
Wir sagen, eine Menge X hat n Elemente, falls es eine bijektive Abbildung f : Nn −→ X gibt.
Nun könnte es (theoretisch) allerdings sein, dass es für verschiedene natürliche Zahlen n und m bijektive Abbildungen fn : Nn −→ X, fm : Nm −→ X gibt, dass also X sowohl n als auch m Elemente hat. Dies würde man vermutlich als unerfreulich ansehen, obwohl jeder von uns schon einmal die Erfahrung gemacht hat, dass zweimaliges Abzählen einer Menge verschiedene Resultate ergab. Man glaubt nicht, dass beide Ergebnisse korrekt sind, sondern geht vielmehr davon aus, dass man sich verzählt hat. Warum eigentlich? Aus mathematischer Sicht braucht auch diese Idee eine Begründung. Satz 1.2.8 Seien m, n ∈ N und m < n. Dann gibt es keine injektive Abbildung
von Nn nach Nm .
Beweisidee 1.2.8 Man nimmt an, dass die Behauptung des Satzes falsch ist
und es irgendwelche Mengen mit m bzw. n Elementen gibt, zwischen denen man (trotz m = n) eine bijektive Zuordnung beschreiben kann. Das kann natürlich nicht klappen und man steuert recht schnell auf einen Widerspruch zu. Im Kern der Argumentation steht, dass es (wenn es denn überhaupt eine
1.2.8
18
1. Grundlagen und Zählprinzipien
solche Zahl gibt) eine kleinste Zahl n = k geben muss, für die man eine solche Abbildung konstruieren kann. Man verstrickt sich in allerlei Randbedingungen und folgert dann, dass auch k − 1 die Bedingung erfüllt, was nicht sein darf. Kurz und gut: Es gibt einfach nicht genügend Bilder, wenn man eine größere auf eine kleinere Menge injektiv abbilden möchte. Beweis 1.2.8 Sei S die Menge aller n ∈ N, für die es eine injektive Abbildung
von Nn in ein Nm mit m < n gibt. Wir wollen annehmen, dass S = ∅ ist. Nach Satz 1.1.1 hat S dann ein kleinstes Element k. Damit gibt es ein ∈ N mit < k und eine injektive Abbildung f : Nk −→ N . Sei = 1, also N = {1}. Jede Abbildung von Nk nach N kann einem beliebigem Element aus Nk also nur den Wert 1 zuordnen. Da k > 1 ist, kann f somit nicht injektiv sein. Also ist > 1 und damit ( − 1) ≥ 1. Wir betrachten die Bilder der Elemente 1, 2, . . . , k − 1 ∈ Nk , wobei diese Elemente nach Definition die Menge Nk−1 bilden. Falls f (1), f (2), . . . , f (k − 1) = gilt, müssen die Bilder der ersten k − 1 natürlichen Zahlen unter f aus der Menge N−1 = {1, 2, . . . , l − 1} sein. Damit ist aber auch f (Nk−1 ) ⊆ N−1 . Also ist f|Nk−1 : Nk−1 −→ N−1 , die Einschränkung von f auf Nk−1 , injektiv und das bedeutet k − 1 ∈ S im Widerspruch zur Minimalität von k. Es gibt also ein b mit 1 ≤ b ≤ k − 1 und f (b) = . Da f injektiv ist, tritt nur einmal als Bild auf und es ist insbesondere f (k) = c = . Nun konstruiert man eine Abbildung f ∗ : Nk−1 −→ N−1 folgendermaßen: Für r ∈ Nk−1 und r = b wählt man f ∗ (r) = f (r), im Fall r = b setzt man f ∗ (b) = c. Diese Abbildung ist injektiv, denn jedes Element aus N−1 kommt höchstens einmal als Bild vor. Damit folgt dann aber auch in diesem Fall k − 1 ∈ S und das ist ein Widerspruch. Satz 1.2.8 zeigt insbesondere, dass die Anzahl der Elemente einer endlichen Menge eindeutig bestimmt ist (warum?). Wir können daher die folgenden Schreibweisen und Begriffe sinnvoll einführen. 1.2.9
Definition 1.2.9 Sei X eine Menge. Ist X = ∅, so schreibt man |∅| = 0. Gibt es ein bijektive Abbildung f : Nn −→ X, so schreibt man |X| = n. Gibt es für kein n ∈ N eine bijektive Abbildung f : Nn −→ X und ist X = ∅, so schreibt man |X| = ∞.
Man nennt |X| die Mächtigkeit der Menge X. Ist |X| = ∞, so heißt X endlich. Ist X endlich oder gibt es eine bijektive Abbildung von N nach X, so heißt X abzählbar, sonst überabzählbar.
1.2
Das Schubfachprinzip
19
1.2.3 Der Beweis des Schubfachprinzips Mit den letzten Abschnitten sind die Grundlagen für den Beweis des Schubfachprinzips gelegt. Der Satz soll dazu noch einmal genannt werden und eine eigene Nummer bekommen. Insbesondere das Ergebnis von Satz 1.2.8 wird benötigt und führt zu einem kurzen und eleganten Beweis. Satz 1.2.10 (Schubfachprinzip) Sei n ∈ N. Sind n+1 Objekte auf n Schubfächer verteilt, so gibt es ein Schubfach, in dem mindestens zwei Objekte liegen.
1.2.10
Beweis 1.2.10 Sei X die Menge der Schubfächer und Y die Menge der Objekte.
Dann ist |X| = n und |Y | = n + 1. Das Verteilen von Objekten auf die Schubfächer kann man als eine Abbildung f : Y −→ X auffassen. Nach Satz 1.2.8 kann diese Abbildung nicht injektiv sein. Also gibt es zwei Objekte, die im gleichen Schubfach liegen. Das Schubfachprinzip hat zahlreiche und sehr unterschiedliche Anwendungen. Die folgenden beiden Beispiele zum Zählen und Rechnen sollen das exemplarisch belegen. Beispiel 1.2.11 Sei X eine Menge von mindestens zwei Menschen. Dann gibt es in X zwei Menschen mit der gleichen Anzahl von Freunden (wobei stillschweigend die Symmetrie der Relation „ist Freund von“ angenommen wird, sodass aus „x ist Freund von y“ immer auch „y ist Freund von x“ folgt; und natürlich ist man auch nicht mit sich selbst befreundet).
Begründung: Sei x ∈ X. Wir bezeichnen mit f (x) die Anzahl der Freunde von x. Ist |X| = m, so ist f (x) ∈ {0, 1, . . . , m − 1}. Damit ist f : X → Y = {0, . . . , m − 1} eine Abbildung, denn jeder Person kann die Anzahl ihrer Freunde eindeutig zugeordnet werden. Nun ist aber |X| = |Y |, sodass wir das Schubfachprinzip nicht unmittelbar anwenden können. Allerdings hilft die folgende Überlegung, bei der die Symmetrie genutzt wird. Angenommen, x ∈ X ist eine Person, die m − 1 Freunde hat. Dann ist jede andere Person aus der Menge X ein Freund von x und es ist folglich f (x) = 0 für alle x ∈ X. Somit können 0 und m − 1 nicht gleichzeitig Bilder unter f sein.
1.2.11
20
1. Grundlagen und Zählprinzipien
Also ist entweder f (X) ⊆ {1, . . . , m − 1} oder f (X) ⊆ {0, . . . , m − 2} (wobei selbstverständlich nicht alle Elemente von {1, . . . , m − 1} bzw. im zweiten Fall von {0, . . . , m − 2} auch tatsächlich Bilder unter f sein müssen). Das Schubfachprinzip (Satz 1.2.10) besagt in diesem Fall aber, dass es x1 , x2 in X mit f (x1 ) = f (x2 ) gibt. 1.2.12
Beispiel 1.2.12 Es gibt a, b, c ∈ N0 , die nicht alle gleich 0 sind (für die also
(a, b, c) mit |a|, |b|, |c| < 106 und so, dass die Ungleichung √ = (0,√0, 0) ist)−11 gilt. |a + b 2 + c 3| < 10 Begründung: Man betrachtet alle Terme der Form √ √ r + s 2 + t 3 mit r, s, t ∈ N0 und r, s, t ≤ 106 − 1. Es gibt genau 1018 solcher Terme, da man für a, b und c jeweils 106 Möglichkeiten hat. Man setzt nun √ √ d = (1 + 2 + 3) · 106 . √ √ Dann gilt 0 ≤ x < d für jedes x = r + s 2 + t 3, also für jede ganze Zahl x der gegebenen Form. Sei d . k = 18 10 − 1 Man teilt das Intervall der reellen Zahlen y mit 0 ≤ y ≤ d in 1018 − 1 Teilintervalle der Länge k. Nach dem Schubfachprinzip gibt es dann zwei verschiedene Zahlen x1 , x2 der gegebenen Form, die in einem gemeinsamen Teilintervall liegen. Seien √ √ √ √ x1 = r1 + s1 2 + t1 3 und x2 = r2 + s2 2 + t2 3 diese beiden Zahlen. Für ihren Abstand gilt √ √ |x1 − x2 | = |(r1 − r2 ) + (s1 − s2 ) 2 + (t1 − t2 ) 3| < k, da x1 = x2 ist. Nun ist aber k< Das war gerade die Behauptung.
107 = 10−11 . 1018
1.3
Grundprinzipien der Kombinatorik
21
Mit dem Schubfachprinzip kann man schließlich auch den folgenden Satz 1.2.13 begründen. Er besagt, dass man bijektive Abbildungen auf endlichen Mengen relativ einfach in den Griff bekommen kann. Es genügt nämlich in diesem Fall, wenn man entweder ihre Injektivität oder ihre Surjektivität zeigt. Satz 1.2.13 Sei N eine Menge mit |N | = n für ein n ∈ N. Eine Abbildung f : N −→ N ist genau dann injektiv, wenn sie surjektiv ist.
1.2.13
Beweis 1.2.13 Sei f injektiv, sodass also aus x = y stets f (x) = f (y) folgt.
Falls es nun ein z ∈ N geben sollte, das kein Urbild bezüglich f hat, dann gibt es nach dem Schubfachprinzip (Satz 1.2.10) zwei Elemente in N , die dasselbe Bild unter f haben müssen. Das ist ein Widerspruch zur Injektivität der Abbildung. Sei andererseits f surjektiv, sodass es also zu jedem y ∈ N ein x ∈ N mit f (x) = y gibt. Man kann dann genauso argumentieren. Wenn es nämlich x, y ∈ N mit x = y, aber f (x) = f (y) gibt, dann können nach dem Schubfachprinzip höchstens n − 1 Elemente als Bilder unter f vorkommen. Das widerspricht der Surjektivität der Abbildung.
1.3 Grundprinzipien der Kombinatorik
1.3
Die Kombinatorik ist ein Teilgebiet der Mathematik, in dem es um die Anordnung und Auswahl von Objekten geht. Dahinter stehen nicht selten praktische (oder praktisch anmutende) Fragestellungen wie etwa die folgende Verallgemeinerung des Schubfachprinzips. 1.3.1 Eine Verallgemeinerung des Schubfachprinzips Satz 1.3.1 Seien n, , r natürliche Zahlen und n ≥ 1 + r( − 1). Es seien n Objekte mit r Farben angemalt. Dann gibt es (mindestens) Objekte von gleicher Farbe. Beweisidee 1.3.1 Wenn es nicht mindestens Objekte von einer (beliebigen)
Farbe gibt, dann sind es eben höchstens − 1 Objekte einer Farbe. Die Multiplikation mit der Anzahl r möglicher Farben gibt das gewünschte Ergebnis.
1.3.1
22
1. Grundlagen und Zählprinzipien
Beweis 1.3.1 Angenommen, es gibt höchstens jeweils − 1 Objekte von der
gleichen Farbe. Dann gibt es höchstens r( − 1) Objekte, die mit r Farben angemalt sind.
Dieser Satz hat sinnvolle Anwendungen, von denen zwei aufgezeigt werden sollen. Dabei geht es zunächst um ein Spiel und dann um monotone Teilfolgen einer Folge reeller Zahlen. Das Ramsey - Spiel Das Ramsey-Spiel1 wird von zwei Spielern A und B gespielt. Man zeichnet zunächst sechs Punkte so auf ein Blatt Papier, dass keine drei Punkte auf einer Geraden liegen. Jeder Spieler hat eine Farbe (sagen wir rot für A und blau für B). In jedem Zug zeichnet ein Spieler eine Strecke zwischen zwei noch nicht verbundenen Punkte in seiner Farbe. Verloren hat derjenige Spieler, der gezwungen ist, als erster ein Dreieck in seiner Farbe zu zeichnen. Wenn man das Spiel mehrfach spielt, so fällt auf, dass es eigentlich nie zu einem Unentschieden kommt. Die Beobachtung ist richtig, und dass tatsächlich stets einer der Spieler verliert, können wir beweisen. Behauptung: Beim Ramsey-Spiel gibt es keinen unentschiedenen Ausgang, sondern es wird immer einer der beiden Spieler gewinnen. Begründung: Die sechs Punkte seien mit 1,2,3,4,5 und 6 bezeichnet. Die Behauptung ist somit, dass bei jeder Färbung der 2-Mengen {i, j} stets ein Tripel ({i, j}, {j, k}, {i, k}) entsteht, bei dem alle Elemente die gleiche Farbe haben (mit i, j, k ∈ {1, 2, 3, 4, 5, 6}). Dazu betrachten wir zunächst die Mengen {1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 6}. Wenn diese Mengen mit zwei Farben eingefärbt werden, dann gibt es nach Satz 1.3.1 (mindestens) drei Mengen mit gleicher Farbe. Wir können also annehmen, dass {1, 2}, {1, 3} und {1, 4} alle rot sind. Nun gibt es zwei Möglichkeiten: Ist eine der folgenden Mengen {2, 3}, {2, 4}, {3, 4} rot, so haben wir ein rotes Dreieck. Ist keine davon rot, so sind sie alle blau und bilden ein blaues Dreieck. Übrigens kann man das Spiel nicht für jede Anzahl von Punkten in gleicher Weise spielen. Angenommen, man zeichnet fünf Punkte 1,2,3,4 und 5 so auf, dass keine drei auf einer Geraden liegen. Man färbt nun {1, 2, }, {2, 3}, {3, 4}, {4, 5}, {1, 5} rot und die restlichen Paare blau ein. Dann gibt es in dieser Zeichnung kein einfarbiges Dreieck. 1
Frank P. Ramsey *22.3.1903 Cambridge †19.1.1930 Cambridge, Mathematiker und Philosoph, wurde bereits mit 21 Jahren Professor am King’s College in Cambridge. Er leistete insbesondere Beiträge zur Ökonomie und zur Logik.
1.3
Grundprinzipien der Kombinatorik
23
Monotone Teilfolgen von Folgen reeller Zahlen In einer Folge von reellen Zahlen sollen bestimmte monotone Teilfolgen identifiziert werden. Aber Vorsicht, das Beispiel ist schon ein wenig übel. Warum, das wird weiter unten in einem Hinweis deutlich. Die folgende Behauptung findet sich, leicht abgeändert, in [2, Seite 25]. Behauptung: Sei a1 , . . . , amn+1 eine Folge von mn+1 paarweise verschiedenen reellen Zahlen. Dann enthält diese Folge eine streng monoton wachsende Teilfolge ak1 < . . . < akm+1 (mit k1 < . . . < km+1 ) der Länge m + 1 oder eine streng monoton fallende Teilfolge a1 > . . . > an+1 (mit 1 < . . . < n+1 ) der Länge n + 1. Hinweis: Bei der Begründung dieser Behauptung muss man immer wieder zwischen zwei Mengen von Zahlen unterscheiden. Da gibt es einerseits eine Menge von reellen Zahlen. Diese Zahlen bilden eine Menge (weil sie alle voneinander verschieden sind), hier sind sie allerdings als Folge gegeben. Es ist also bedeutsam, an welcher Stelle dieser Folge ein bestimmtes Element (oder besser Glied der Folge) steht. Andererseits gibt es Mengen von Indizes. Bei diesen Mengen kommt es darauf an, welche Ordnungsnummer ein Element der eben beschriebenen Folge hat. Insbesondere werden hier nur ganz bestimmte Ordnungsnummern („Indizes“) zu einer Menge zusammengefasst. Dabei spielt die Reihenfolge (wie bei allen Mengen) keine Rolle. Begründung: Wir nehmen an, dass es keine aufsteigende Folge der Länge m + 1 gibt. Für i = 1, . . . , m setzt man Ki = {k | Die längste aufsteigende Folge, die bei ak endet, hat die Länge i.} Da es streng monoton steigende Folgen höchstens bis zur Länge m gibt, kann man über alle Elemente ak eine Aussage machen, in welcher Menge Ki der zu diesem Element gehörende Index k liegt. Das liefert K1 ∪ K2 ∪ . . . ∪ Km = {1, 2 . . . , mn + 1}. Weiter ist Ki ∩ Kj = ∅ für i = j. Nach Satz 1.3.1 gibt es also ein i mit |Ki | ≥ n + 1. Wir behaupten, dass es in Ki eine monoton fallende Teilfolge von Indizes gibt, zu denen wiederum eine monoton fallende Teilfolge der aj (ebenfalls mit der Länge n + 1) gehört. Seien k, ∈ Ki mit k < . Wir nehmen außerdem an, dass ak < a ist. Da k ∈ Ki ist, gibt es eine monoton wachsende Folge der Länge i, die in ak endet. Diese können wir nun (laut Annahme) um a verlängern, was eine monoton
24
1. Grundlagen und Zählprinzipien
wachsende Folge der Länge i + 1 liefert. Somit ist ∈ Ki+1 ∩ Ki , was aber wegen Ki+1 ∩ Ki = ∅ nicht möglich ist. Damit ist ak > al für alle k, l ∈ Ki mit k < l. Also ist die Folge der aj mit j ∈ Ki eine monoton fallende Folge der Länge n + 1. Die minimale Anzahl mn + 1 von Elementen ist übrigens wirklich zwingend als Voraussetzung. Betrachten wir etwa in der Rolle der aj die nm Zahlen n − 1, 2n − 1, . . . , nm − 1, n − 2, 2n − 2, . . . , nm − 2, . . . , 0, n, . . . , (m − 1)n. Hier gibt es keine monoton steigende Teilfolge der Länge m+1 (und das muss man sich in Ruhe und mit hartnäckigem Zählen klar machen), aber auch keine monoton fallende Teilfolge der Länge m + 1 (wobei man zum Verstehen die gleiche Ruhe und gleichermaßen hartnäckiges Zählen braucht). 1.3.2 Permutationen, Variationen, Kombinationen Wir wollen nun einen Spezialfall der bijektiven Abbildung betrachten, nämlich eine bijektive Abbildung auf einer endlichen Menge. Diese Art der bijektiven Abbildung bekommt in der folgenden Definition einen eigenen Namen. 1.3.2
Definition 1.3.2 Sei N eine endliche Menge und |N | = n. Eine bijektive Abbil-
dung f : N → N nennt man Permutation. Die Menge aller Permutationen von N wird mit Sn bezeichnet. Wenn man Sn untersucht, dann macht man sich das Leben oft einfach, indem man N = {1, 2, . . . , n} setzt. Im Grunde kommt es ja nur darauf an, dass die einzelnen Elemente unterscheidbar sind. Das soll auch im folgenden Beispiel so gemacht werden. 1.3.3
Beispiel 1.3.3 Sei n = 3. Wir wollen die Elemente von S3 bestimmen, nämlich
alle bijektiven Abbildungen der Menge N = {1, 2, 3} auf sich selbst. Das kann man ganz systematisch angehen, indem man nacheinander die Permutationen betrachtet, die alle Elemente bzw. kein Element bzw. ein Element bzw. zwei Elemente festlassen. Wenn eine Permutation alle Elemente festlässt, dann wird 1 auf 1, 2 auf 2 und 3 auf 3 abgebildet. Wir nennen diese Permutation s1 und wählen für sie eine übersichtliche Schreibweise in zwei Reihen, bei der oben das Urbild und direkt darunter das Bild dieses Elements steht. Damit ist 1 2 3 . s1 = 1 2 3
1.3
Grundprinzipien der Kombinatorik
25
Andere Permutationen in S3 , die alle Elemente festlassen, kann es nicht geben. Wenn eine Permuation kein Element festlässt, dann muss 1 auf 2 oder 3 abgebildet werden (mehr Auswahl gibt es nicht). Wenn 1 auf 2 geht, dann muss 2 auf 3 gehen (sonst wäre 3 fest) und folglich 3 auf 1. Wenn 1 auf 3 geht, dann wird 2 auf 1 und 3 auf 2 abgebildet (auch das ist eindeutig). Wir nennen diese Permutationen s2 bzw. s3 und stellen sie in der oben gegebenen Form dar. Also ist 1 2 3 1 2 3 und s3 = . s2 = 2 3 1 3 1 2 Wenn eine Permutation in S3 genau ein Element festlässt, dann ist alles ganz einfach. Es gibt offensichtlich drei Möglichkeiten, bei denen jeweils ein Element auf sich selbst abgebildet wird und die beiden anderen vertauscht werden. Man kann somit 1 2 3 1 2 3 1 2 3 und s5 = und s6 = s4 = 1 3 2 3 2 1 2 1 3 festlegen. Der letzte Fall, bei dem zwei Elemente festbleiben sollen, ist allerdings keine weitere Möglichkeit. In diesem Fall muss (notgedrungen) auch das dritte Element auf sich selbst abgebildet werden. Damit gilt |S3 | = 6, es gibt sechs bijektive Abbildungen einer Menge mit drei Elementen auf sich selbst. Auf der Menge Sn der Permutationen kann man eine sinnvolle Verknüpfung festlegen, nämlich die Hinterausführung von zwei solchen Abbildungen. Sind g, f ∈ Sn , so definiert man (ganz naheliegend) gf durch gf (i) = g(f (i)) für i ∈ N (und N soll hier und im folgenden Text wie in Definition 1.3.2 gewählt sein). Seien g, f ∈ Sn und deren Hintereinanderausführung gf durch gf (i) = g(f (i)) für i ∈ N definiert. Dann ist auch gf eine Permutation.
Satz 1.3.4
Beweisidee 1.3.4 Da gf eine Abbildung einer endlichen Menge auf sich ist,
genügt es, die Injektivität zu zeigen. Und das macht man ganz direkt. Beweis 1.3.4 Es ist klar, dass gf eine Abbildung ist, denn mit i ∈ N ist
f (i) ∈ N und somit auch g(f (i)) ∈ N .
1.3.4
26
1. Grundlagen und Zählprinzipien
So bleibt nur zu zeigen, dass gf bijektiv ist. Nach Satz 1.2.13 ist das insbesondere dann der Fall, wenn gf injektiv ist. Sei also gf (i) = gf (j) für i, j ∈ N . Dann ist f (i) = f (j), weil g injektiv ist und somit i = j, weil f injektiv ist. Also ist gf eine bijektive Abbildung und somit gf ∈ Sn . Was im Satz vielleicht abstrakt klingt, wird in einer Menge wie S3 sehr leicht konkret. Wir betrachten dazu die Elemente s4 und s5 (mit den Bezeichnungen wie im Beispiel auf Seite 24 und in genau dieser Schreibweise). Wir legen nun fest, wie die Hintereinanderausführung zu lesen ist. Es soll s4 s5 bedeuten, dass erst die Abbildung s5 und dann die Abbildung s4 ausgeführt wird, also soll 1 2 3 1 2 3 1 2 3 = s2 = s4 s5 = 2 3 1 3 2 1 1 3 2 sein, denn 1 wird zunächst (unter s5 ) auf 3 und dann (unter s4 ) auf 2 abgebildet, 2 geht auf 2 und dann auf 3, 3 geht auf 1 und 1 dann wieder auf 1. Das Ergebnis ist s2 , also wieder eine Permutation der Zahlen 1, 2 und 3. Mit genau der gleichen Methode kann man beliebige Permutationen hintereinander ausführen. Man sieht dann insbesondere, dass es zu jeder Permutation eine so genannte Umkehrung gibt. Zum Beispiel ist s2 s3 = oder s4 s4 =
1 2 3 1 2 3 1 2 3 = s1 = 1 2 3 3 1 2 2 3 1 1 2 3 1 2 3 1 2 3 = s1 . = 1 2 3 1 3 2 1 3 2
Was hier für S3 exemplarisch gerechnet ist, kann man auf jede beliebige Permutation (und sogar auf jede bijektive Abbildung) verallgemeinern. Man kann eine Umkehrabbildung definieren. 1.3.5
Definition 1.3.5 Sei f ∈ Sn . Die Abbildung f −1 ∈ Sn , die durch f −1 (i) = j
für f (j) = i definiert ist, heißt Umkehrabbildung von f . Mit dieser Festlegung gilt insbesondere f −1 f (i) = i = f f −1 (i), d. h., f −1 f ist die identische Abbildung (oder Identität), die jedes Element auf sich selbst abbildet.
1.3
Grundprinzipien der Kombinatorik
27
Die Anzahl der Permutationen |Sn | zu einer gegebenen natürlichen Zahl n ist mit diesem begrifflichen Wissen erstaunlich leicht zu bestimmen. Die Methode soll dabei zunächst an einem Beispiel geklärt werden. Betrachten wir etwa S4 , die Menge aller Permutationen von vier Elementen. Wir wissen bereits, dass |S3 | = 6 ist, denn wir haben alle entsprechenden Abbildungen im Beispiel auf Seite 24 bestimmt. Im Prinzip finden wir diese bijektiven Abbildungen auch in S4 wieder, wenn man jeweils die 4 auf sich selbst abbildet. Das könnte (wie gesagt, im Prinzip, und mit den Bezeichnungen aus dem Beispiel) so aussehen: 1 2 3 4 , s1 = 1 2 3 4 1 2 3 4 , 3 1 2 4
s2 =
s3 =
1 2 3 4 , 3 2 1 4
1 2 3 4 , 1 3 2 4
s4 =
s5 =
1 2 3 4 , 2 3 1 4
s6 =
1 2 3 4 . 2 1 3 4
Nun kann die 4 aber auch auf jede andere der drei verbleibenden Zahlen abgebildet werden, also auf die 1, die 2 oder die 3. Was passiert dann mit den restlichen Zahlen? Überraschungen kann es nicht geben, vielmehr wird für diese verbleibenden Zahlen jede der sechs Möglichkeiten vorkommen, die man aus S3 bereits prinzipiell kennt (eben jeweils mit den drei verbleibenden Zahlen). Weil es für die Zahl 4 genau vier Möglichkeiten gibt, hat S4 viermal so viele Elemente wie S3 und es gilt |S4 | = 4 · 6 = 24. Diese Überlegung wird im folgenden Satz und seinem Beweis verallgemeinert. Satz 1.3.6 Es ist |Sn | = n!, wobei n! = Πn i=1 i = 1 · 2 · 3 . . . (n − 1) · n das
Produkt der ersten n natürlichen Zahlen ist. Beweisidee 1.3.6 Die Beweismethode ist im Kern induktiv, wobei |Sn | und
|Sn−1 | miteinander verglichen werden. Man stellt fest, dass sie sich um den Faktor n unterscheiden, also |Sn | = n · |Sn−1 | ist. Der Induktionsanfang |S1 | = 1 ist offensichtlich gegeben. Also geht es nur darum, zu erkennen, warum sich die Mächtigkeit der beiden Mengen um genau diesen Faktor n unterscheiden. Dazu betrachtet man eine beliebige Permutation f1 aus Sn und das Bild x von n unter f1 . Nun wird zweifach gezählt. Einerseits überlegt man sich, dass es für dieses Bild x genau n Möglichkeiten gibt, nämlich alle Zahlen aus {1, 2, . . . , n}. Andererseits gibt es |Sn−1 | bijektive Abbildungen,
1.3.6
28
1. Grundlagen und Zählprinzipien
die n genau das x zuordnen. Man stelle sich einfach vor, dass dieses eine Paar aus n und x festbleibt und alle anderen n − 1 Elemente beliebig permutiert werden dürfen. Beweis 1.3.6 Sei N = {1, . . . , n}. Seien f1 , f2 ∈ Sn mit f1 (n) = x = f2 (n).
Dann ist f1−1 f2 (n) = n. Also unterscheiden sich f1 und f2 um eine bijektive Abbildung aus Sn−1 . Da es n Möglichkeiten für f1 (n) gibt, gilt |Sn | = n · |Sn−1 |. Damit folgt die Behauptung des Satzes.
Den Begriff der Permutation kann man verallgemeinern, wenn man Abbildungen auch zwischen endlichen Mengen unterschiedlicher Mächtigkeit zulässt und statt der Bijektivität nur die Injektivität fordert. Man kommt so zum Begriff der k–Variation (oder auch k–Permutation). 1.3.7
Definition 1.3.7 Eine k–Variation f ist eine injektive Abbildung einer Menge
M mit k Elementen in die Menge N = {1, . . . , n}. Man bezeichnet die Anzahl der k–Variationen mit P (n, k). Konkret sieht das so aus: Betrachten wir ein Pferderennen, bei dem sechs Startplätze vergeben sind. Wie viele Tippzettel muss man ausfüllen, wenn drei Plätze gesetzt werden und man auf jeden Fall gewinnen möchte? Nun, für den ersten Platz gibt es sechs, für den zweiten Platz jeweils noch fünf und für den dritten Platz jeweils noch vier Möglichkeiten. Die Reihenfolge der weiteren Plätze hat keinen Einfluss mehr, also genügt es, 6 · 5 · 4 Tippzettel abzugeben. Man kann es sich auch anders überlegen: Wenn es sechs Startplätze gibt, dann gibt es 6! Möglichkeiten, wie die Pferde ins Ziel gehen können. Dabei sind aber jeweils die Permutationen der letzten drei Plätze ohne Belang. Also gibt es 6! 3! unterschiedliche Tippzettel. Ganz offensichtlich muss im allgemeinen Fall k ≤ n sein, da ansonsten keine injektive Abbildung von einer Menge mit k Elementen in eine Menge mit n Elementen möglich ist (und das folgt aus dem Schubfachprinzip Satz 1.2.10). Also ist insbesondere n − k ≥ 0. Und da nach Definition 0! = 1 ist, darf man den folgenden Satz formulieren.
1.3
Grundprinzipien der Kombinatorik
Satz 1.3.8 Es ist P (n, k) =
n! (n−k)!
29
.
1.3.8
Beweisidee 1.3.8 Wieder ist es ein induktives Argument, das zum Erfolg führt.
Man schränkt das Problem ein und überlegt sich, wie viele solche Abbildungen es gibt, wenn man erst einmal einem einzigen Element ein Bild zugeordnet hat und dieses Paar aus Urbild und Bild festlässt. Für n = 1 ist natürlich alles 1! Möglichkeiten, problemlos, denn dann ist k = 1 und es gibt genau 1 = (1−1)! dieses eine Element abzubilden. Beweis 1.3.8 Für das erste Element aus M kann man als Bild jedes der n
Elemente aus N wählen. Dann gibt es noch P (n−1, k −1) viele Möglichkeiten für die restlichen Elemente. Also ist P (n, k) = n · P (n − 1, k − 1) = n ·
n! (n − 1)! = . (n − k)! (n − k)!
Die Aussage ist damit bewiesen. Manchmal kommt es bei Problemen dieser Art gar nicht so sehr auf die Reihenfolge an, sondern nur darauf, ob bestimmte Elemente berücksichtigt werden oder nicht. Vermutlich sind Pferderennen eher selten, bei denen Dabeisein alles ist. Das folgende Beispiel zeigt aber, dass dies in anderen Situationen nicht ungewöhnlich ist. Beispiel 1.3.9 Skat wird mit 32 Karten gespielt, wobei jeder der drei Spieler
1.3.9
zu Beginn 10 Karten bekommt. Wie viele unterschiedliche Skathände mit 10 Karten kann man aus diesen 32 Karten verteilen? Es gibt für 10 Karten zunächst einmal genau P (32, 10) Möglichkeiten der Verteilung. Allerdings kommt es beim Geben nicht auf die Reihenfolge an, sodass diese Möglichkeiten auf der Hand nicht alle wirklich unterschiedlich sind. Mathematisch gesprochen, kann man alle Permutationen der 10 Karten als gleichwertig betrachten. Für 10 Karten gibt es somit jeweils 10! Anordnungen, die als Menge („auf der Hand“) identisch sind. Es gibt somit 32! = 64512240 22! 10! unterschiedliche Skathände. Definition 1.3.10 Wir nennen eine Auswahl von k aus n Objekten, bei der es auf die Reihenfolge nicht ankommt, eine Kombination. Die Anzahl der Kombinationen von k aus n Objekten wird mit C(n, k) bezeichnet.
1.3.10
30
1.3.11
1. Grundlagen und Zählprinzipien
Satz 1.3.11 Für alle k, n ∈ N, k ≤ n, gilt
C(n, k) =
n! . (n − k)! k!
Beweisidee 1.3.11 Der Beweis nutzt genau die Kernidee, die im vorherigen Bei-
spiel für den konkreten Fall n = 32 und k = 10 zur Lösung führte. Beweis 1.3.11 Es gibt P (n, k) k–Variationen, also injektive Abbildungen einer Menge mit k Elementen in eine Menge mit n Elementen. Dabei unterscheiden sich Abbildungen mit derselben k–elementigen Bildmenge nur um eine bijektive Abbildung. Da es zu k ∈ N genau k! Permutationen gibt, folgt die Behauptung.
n! Man schreibt abkürzend (n−k)!k! =: nk und nennt nk Binomialkoeffizient. n Gelesen wird k als „n über k“ oder als „k aus n“. Der Vollständigkeit halber sei erwähnt, dass man 0 1 1 =1 = = 0 0 1 setzt. 1.3.3 Der Binomische Lehrsatz Die im vorigen Abschnitt eingeführten Binomialkoeffizienten spielen bei der Entwicklung von (a + b)n ein wichtige Rolle. Es gilt der folgende Satz, der so genannte Binomische Lehrsatz, der zumindest für n = 2 bestens bekannt sein dürfte. 1.3.12
Satz 1.3.12 (Binomischer Lehrsatz) Für alle n ∈ N, a, b ∈ R, gilt: n
(a + b) =
n n k=0
k
an−k bk .
Beweisidee 1.3.12 Es wird (a+b)n betrachtet. Was konkret gemacht wird, kön-
nen wir uns am Beispiel (a + b)4 = (a + b)(a + b)(a + b)(a + b) überlegen. Multiplizieren wir nämlich diese vier Faktoren, so bekommen wir Summanden, die Vielfache von a4 bzw. a3 b bzw. a2 b2 bzw. ab3 bzw. b4 sein müssen, denn aus jeder Klammer geht entweder ein a oder ein b in jeden einzelnen Summanden ein. Interessant ist nun, welche Vielfache das tatsächlich sind und das bestimmen wir mit Hilfe kombinatorischen Zählens. Es ist eine Fra-
1.3
Grundprinzipien der Kombinatorik
31
ge der Betrachtungsweise: Der Faktor vor a3 b wird so gesehen, dass aus drei Klammern (welche auch immer das sind) ein a und aus einer Klammer ein b ausgewählt wird. Damit sind wir genau bei den Kombinationen, die in Definition 1.3.10 vorkommen. Beweis 1.3.12 Wir betrachten den Term
(a + b)(a + b) . . . (a + b) .
n
Beim Ausmultiplizieren bekommen wir die einzelnen Summanden, indem wir aus jeder Klammer ein a bzw. ein b wählen. Also entsteht an−k bk dadurch, dass wir aus k Klammern b und aus den restlichen n − k Klammern a wählen. Nun gibt es genau C(n, k) Möglichkeiten, b aus k Klammern zu wählen, das heißt, wir erhalten den Summanden an−k bk genau C(n, k) mal. Die Binomialkoeffizienten erweisen sich in vielen Situationen als nützlich. Es ist daher sehr sinnvoll, sich einige Rechenregeln für den Umgang mit ihnen einzuprägen. Satz 1.3.13 Für k, n ∈ N, k ≤ n, gilt
1.3.13
n n . = n−k k
Beweisidee 1.3.13 Auch hier ist alles nur eine Frage der richtigen (kombinato-
rischen) Betrachtungsweise. Beweis 1.3.13 Jede Wahl von k Objekten liefert automatisch eine Wahl von
n − k Objekten und umgekehrt. Satz 1.3.14 Seien k, n ∈ N und k ≤ n. Dann gilt
n n n+1 . + = k−1 k k
Beweisidee 1.3.14 Dieser Beweis beruht auf zweifachem Zählen, wobei das Er-
gebnis einmal die (a) linke und einmal die (b) rechte Seite der Gleichung ist. Insbesondere teilt man die Menge beim zweiten Mal so auf, dass man genau die beiden gewünschten Summanden bekommt.
1.3.14
32
1. Grundlagen und Zählprinzipien
(a) Man betrachtet eine Menge mit n + 1 Objekten und wählt k davon aus. Definition 1.3.10 sagt aus, wie viele Möglichkeiten es dabei geben kann. Man bekommt so den Term auf der linken Seite. (b) Es wird ein Element aus den n + 1 Objekten fest ausgewählt. Nun werden alle Teilmengen der Menge von n+1 Objekten betrachtet, die aus k Elementen bestehen. Man kann sie aufteilen in solche, in denen sich dieses feste Element befindet, und solche, in denen es nicht vorkommt, und zählt jeweils die Anzahl dieser Teilmengen. Das Ergebnis sind genau die Summanden auf der rechten Seite der Gleichung. Beweis 1.3.14 Sei X eine Menge mit n + 1 Objekten. Dann gibt es nach De-
Möglichkeiten, k Objekte aus X finition 1.3.10 genau C(n + 1, k) = n+1 k auszuwählen. Diese Anzahl wird nun auf eine weitere Art bestimmt. Sei dazu ein a ∈ X fest gewählt. Wir teilen die k–elementigen Teilmengen von X in zwei Klassen, nämlich solche, die a enthalten und solche, die a nicht enthalten. Unmittelbar einsichtig ist, dass es C(n, k) = nk viele k-elementige Teilmengen gibt, die a nicht enthalten, denn |X \ {a}| = n. Wir betrachten also die k-elementigen Teilmengen, die a enthalten. Jede dieser Mengen hat nun aber k−1 Elemente, die von a verschieden sind. Damit bestimmt jede dieser Mengen eine Menge n mit k − 1 Elementen und von diesen Mengen muss es C(n, k− 1) = k−1 n viele viele geben. Also hat X tatsächlich C(n, k) + C(n, k − 1) = nk + k−1 k-elementige Teilmengen. n\k 0 1 2 3 4 5 6 7 .. . .. .
0 1 1 1 1 1 1 1 1
1 2 3 4 5 6 7 ... ... 1 2 3 4 5 6 7
1 3 6 10 15 21
1 4 10 20 35
1 5 1 15 6 1 35 21 7 1
Mit dem Ergebnis von Satz 1.3.14 können nwir nun das so genannte Pascal’sche Dreieck für die konkreten Werte von k aufschreiben. Wir tragen k in der ersten Reihe und n in der ersten Spalte ab und bekommen entsprechend die Einträge.
1.3
Grundprinzipien der Kombinatorik
33
Nützlich ist das Pascal’sche Dreieck bei der Bestimmung von (a + b)n für ein bestimmtes n ∈ N. Man kann etwa (a + b)4 = a4 + 4a3 b + 6a2 b2 + 4ab3 + b4 unschwer (und vor allem ohne zu Rechnen) ablesen. Wir wollen nun einige weitere nützliche Gesetzmäßigkeiten in Bezug auf die Binomialkoeffizienten zeigen. Dabei sind die Beweise nicht kompliziert, erfordern aber einige Überlegungen. Sinnvoll für das Verständnis ist es, wenn man sich die Koeffizienten im Pascal’schen Dreieck angeordnet denkt. Im Grunde kann man gerade diese Eigenschaften dann fast ablesen oder zumindest kontrollieren (auch wenn das selbstverständlich einen ordentlichen Beweis nicht ersetzt). Satz 1.3.15 Seien n, k ∈ N und k ≤ n. Dann gilt:
(a) (b) (c)
n n n i = 2 . i=0 n i n (−1) i =0. i=0 n i n+1 für ein festes k. i=0 k = k+1
Beweisidee 1.3.15 Bei Formel (a) wird jeweils die Anzahl der Teilmengen einer
Menge mit n Elementen betrachtet und sinnvoll interpretiert. Es hilft ein Ergebnis, das wir bereits in einem Beispiel behandelt hatten. Im Fall (b) wird eine bijektive Abbildung auf der Menge aller Teilmengen einer Menge mit n Elementen so definiert, dass man das Ergebnis mehr oder minder direkt bekommt. Dabei wird einer Menge mit einer ungeraden Anzahl von Elementen eine Menge mit einer geraden Anzahl von Elementen (und umgekehrt) zugeordnet. Diese Abbildung wird passend „gebastelt“. Formel (c) wird schließlich durch Induktion nach n bewiesen. Beweis 1.3.15
Teilmengen einer (a) Wir wissen, dass ni die Anzahl von i–elementigen n Menge mit n Elementen ist. Also ist i=0 ni die Anzahl aller Teilmengen einer Menge mit n Elementen und diese Anzahl ist 2n (man vergleiche das Beispiel auf Seite 9). (b) Die Formel besagt, dass es genau so viele Teilmengen mit einer ungeraden Anzahl von Elementen gibt, wie es Teilmengen mit einer geraden Anzahl von Elementen gibt.
1.3.15
34
1. Grundlagen und Zählprinzipien
Sei M eine Menge mit n Elementen. Da nach Voraussetzung n ∈ N ist, gilt n > 0 und somit M = ∅. Wir können also ein Element a ∈ M wählen. Nun sortieren wir (wieder einmal) die Teilmengen von M in zwei Klassen, nämlich solche, die a enthalten, und solche, die a nicht enthalten. Sei K ⊆ M eine beliebige Teilmenge von M mit a ∈ K. Wir setzen Ka = K ∪ {a}. Dann ist (selbstverständlich) Ka eine Teilmenge von M , die a enthält. Wir definieren nun eine Abbildung f von der Menge aller Teilmengen von M , die a nicht enthalten, in die Menge aller Teilmengen, die a enthalten. Dabei gehen wir so vor, dass f (K) = Ka ist (wie gesagt, für alle Teilmengen K von M , die a nicht enthalten, und Ka = K ∪ {a}). Offensichtlich ist f bijektiv, denn mit K ⊆ M ist auch Ka ⊆ M eindeutig bestimmt (und umgekehrt). Man kann also auch eine Abbildung g mit g(Ka ) = Ka \ {a} (und den bereits gewählten Bezeichnungen) definieren, die wiederum eine bijektive Abbildung ist. Sie geht von der Menge der Teilmengen von M , die a enthalten, in die Menge der Teilmengen von M , die a nicht enthalten. Aus f und g setzen wir nun eine Abbildung σ zusammen, mit der die Menge aller Teilmengen von M auf sich selbst abgebildet wird. Für X ⊆ M sei f (X), falls a ∈ X , σ(X) = g(X), falls a ∈ X . Mit f und g ist auch σ bijektiv. Außerdem unterscheiden sich eine Teilmenge von M und ihr Bild unter σ jeweils um ein Element, es ist also |σ(X)| = |X|+1 oder |X| − 1. Insbesondere ist |X| gerade, falls |σ(X)| ungerade ist, und |X| ungerade, falls |σ(X)| gerade ist. Wegen der Bijektivität von σ gibt es somit genauso viele Teilmengen mit einer geraden Anzahl von Elementen, wie es Teilmengen mit einer ungeraden Anzahl von Elementen gibt. (c) Diese Formel wollen wir durch Induktion nach n beweisen. Sei also n = 1. Dann rechnen wir einerseits ⎧ ⎨ 1 + 1 im Falle k = 0 0 1 + = 0 + 1 im Falle k = 1 ⎩ k k 0 + 0 im Falle k > 1 und
⎧ ⎨ 2 im Falle k = 0 2 = 1 im Falle k = 1 ⎩ k+1 0 im Falle k > 1
andererseits. Damit ist der Induktionsanfang (und die Basis für den Beweis) geglückt.
1.3
Grundprinzipien der Kombinatorik
35
Sei also per Induktionsannahme die Behauptung bereits für ein n bewiesen. Wir folgern damit die Gültigkeit der Behauptung für n + 1. Es ist n+1 i=0
i k
=
n i i=0
k
n+1 k
+
n+1 n+1 n+2 = + . Satz 1.3.14 k + 1 k k+1
=
Annahme
Auch der folgende kleine Satz betrachtet eine Rechenregel für den Umgang mit Binomialkoeffizienten. Satz 1.3.16 Sei n ∈ N. Dann gilt:
1.3.16
n 2 n i=0
i
=
2n . n
Beweis 1.3.16 Wir benutzen den Binomischen Lehrsatz 1.3.12, setzen b = 1
und wählen a als zweiten Summanden. Es ist (1 + a)2n = (1 + a)n · (1 + a)n , also gilt (wie gesagt, mit Satz 1.3.12) n n n j n j 2n a · a . (1 + a) = j j j=0 j=0 n der Summe Um zu bestimmen, wie n inn−k noftk a nach dem Ausmultiplizieren a aus dem vorkommt, muss man k a aus dem ersten Faktor mit n−k zweiten Faktor für alle k zwischen 0 und n multiplizieren. Damit ist der Koeffizient von an gleich n 2 n n n n = . n − k Satz 1.3.13 k k k=0
k=0
Andererseits kann man diesen Koeffizienten (wiederum mit Hilfe von Satz 1.3.12) auch direkt angeben.
36
1. Grundlagen und Zählprinzipien
Es ist (1 + a)
2n
2n 2n k a , = k k=0
sodass man für k = n den Koeffizienten damit zu an ).
2n n
ablesen kann (und der gehört
Dieser Abschnitt zu Grundprinzipien der Kombinatorik soll mit einem Anwendungsbeispiel abgeschlossen werden. Dabei geht es um die Formulierung und den Beweis eines kleinen Satzes, der eine spezielle Eigenschaft bei einem Produkt aus natürlichen Zahlen herausstellt. Es soll ein sehr großer (und sehr einfacher) Teiler eines Produkts aufeinander folgender natürlicher Zahlen identifiziert werden. Betrachten wir das Produkt n! der ersten n natürlichen Zahlen, dann ist n! ein (trivialer) Teiler von 1 · 2 · 3 · . . . · n = n!. Probiert man nun in einem konkreten Fall weitere Teiler, dann sieht man, dass beispielsweise nicht nur 1·2·3·4 = 4! = 24 durch 4! teilbar, sondern auch 4·5·6·7 = 840 = 35·4! oder 19 · 20 · 21 · 22 = 175560 = 7315 · 4! oder 32 · 33 · 34 · 35 = 1256640 = 52360 · 4! ist. Das ist kein Zufall, wie der folgende Satz belegt. 1.3.17
Satz 1.3.17 Für alle n ∈ N ist das Produkt von n aufeinander folgenden Zahlen durch n! teilbar. Beweis 1.3.17 Wir müssen zeigen, dass
k(k + 1) . . . (k + n − 1) n! für jedes k ∈ N eine natürliche Zahl ist. Diese Zahl ist genau C(k + n − 1, n) und damit insbesondere eine natürliche Zahl.
1.4
1.4 Das Inklusions-Exklusions-Prinzip Auch dieser Abschnitt befasst sich mit dem Zählen. Dabei geht es dieses Mal um Mengen, die gewisse Elemente gemeinsam haben. Wie bekommt man die Anzahl unterschiedlicher Elemente und vermeidet Überschneidungen? Die Antwort gibt das Inklusions-Exklusions-Prinzip, das zunächst mit einer kleinen Folge von Fragestellungen („Problemen“) vorbereitet werden soll.
1.4
Das Inklusions-Exklusions-Prinzip
37
1.4.1 Eine Hinführung zum Inklusions-Exklusions-Prinzip Problem 1: Skat spielt man mit 32 Karten, von denen jeweils 8 Karten die Farben Kreuz, Pik, Herz und Karo haben. Wie viele Skathände zu 10 Karten (was eine Skathand ist, steht auf Seite 29) gibt es mit der Einschränkung, dass 6 Karten die Farbe Pik, 2 Karten die Farbe Kreuz und 2 Karten die Farbe Karo haben? Wir wählen zunächst sechsmal Pik von den 8 möglichen Karten dieser Farbe, dann zweimal Kreuz von den 8 möglichen Karten der Farbe Kreuz und schließlich zweimal Karo von den (ebenfalls) 8 möglichen Karten der Farbe Karo. Mit Satz 1.3.11 bekommt man 8 8 8 = 28 · 28 · 28 = 21952 · · 2 2 6 als Anzahl von Möglichkeiten, die gewünschte Auswahl von Karten in der Hand zu haben. Problem 2: Eine Skathand mit 6 Karten in einer Farbe, 2 Karten in einer anderen Farbe, 2 Karten in der dritten Farbe und keiner Karte in der vierten Farbe nennt man eine „6 − 2 − 2 − 0“ Hand. Dazu gehören die Möglichkeiten aus Problem 1, aber beispielsweise auch eine Skathand mit 6 Karten der Farbe Karo, 2 Karten der Farbe Kreuz und 2 Karten der Farbe Herz. Wie viele „6 − 2 − 2 − 0“ Hände gibt es? Wir haben im ersten Problem gesehen, dass es 21952 Möglichkeiten für eine Auswahl von sechsmal Pik, zweimal Kreuz und zweimal Karo gibt. Diese Anzahl kann man unschwer auf beliebige Farben verallgemeinern. Bei jeder fest gewählten Zusammenstellung von drei Farben muss es genau diese 21952 Möglichkeiten geben. Wir müssen entsprechend also nur die möglichen Farbwahlen zählen. Das geht ganz einfach: Es gibt 4 Möglichkeitenfür die erste 3 Farbe und die zwei Farben mit jeweils zwei Karten können auf 2 Arten ge wählt werden. Also gibt es 4· 32 = 12 Wahlmöglichkeiten für die drei Farben. Damit haben wir insgesamt 21952 · 12 = 263424 verschiedene Möglichkeiten für eine „6 − 2 − 2 − 0“ Hand. Problem 3: Das zweite Problem kann man ebenso verallgemeinern. Die Frage ist, wie viele Skathände es gibt, in denen (mindestens) eine Farbe fehlt. Wie viele „a − b − c − 0“ Hände (mit 0 ≤ a, b, c ≤ 10) gibt es? Eine Lösung scheint mühselig zu sein, doch etwas Nachdenken hilft sehr. Seien VKr , VP , VH , VKa die Hände, die jeweils keine Karten der Farbe Kreuz, der Farbe Pik, der Farbe Herz bzw. der Farbe Karo enthalten.
38
1. Grundlagen und Zählprinzipien
Da VKr keine Karte der Farbe Kreuz enthält, stehen diese 8 Karten nicht zur Verfügung. Somit setzt sich eine solche Hand aus den restlichen 24 24 Karten zusammen. Jede Hand umfasst 10 Karten, also gibt es dafür 10 = 1961256 Möglichkeiten. Nun gibt es neben Kreuz drei weitere Farben, sodass man auf 1961256 · 4 = 7845024 Möglichkeiten kommt. Das klingt gut, ist aber noch nicht ganz die Lösung. Man muss nämlich beachten, dass es Skathände gibt, bei denen mehr als eine Farbe nicht vorkommt, die also beispielsweise weder Karten der Farbe Herz noch der Farbe Karo haben. Kurz und gut: Die einzelnen Mengen, die wir betrachtet haben, sind nicht disjunkt und wir haben einige Hände doppelt gezählt. Wir werden im Folgenden sehen, dass 7796976 Möglichkeiten übrig bleiben, dazu braucht es allerdings noch etwas mehr Theorie. 1.4.2 Der Beweis des Inklusions-Exklusions-Prinzips Wenn man die Anzahl der Elemente bei einer Vereinigung nicht disjunkter Mengen zählt, dann muss man (ganz einfach) doppelt gezählte Elemente bestimmen. Betrachten wir zunächst den einfachsten Fall, bei dem zwei Mengen A und B gegeben sind und |A ∪ B| bestimmt werden soll. Wir zählen |A| und wir zählen |B|. Dann haben wir (wenig überraschend) die Elemente in A ∩ B doppelt gezählt. Also ist |A ∪ B| = |A| + |B| − |A ∩ B| die Anzahl der Elemente in der Vereinigungsmenge A ∪ B. Was macht man aber, wenn mehr als zwei Mengen gegeben sind? Gibt es auch hier eine Formel? Es gibt sie und das Grundprinzip kann man sich an der Vereinigung dreier Mengen unschwer klar machen. Seien also A1 , A2 und A3 beliebige Mengen. Die folgende Abbildung veranschaulicht, wie gezählt werden kann. '$ '$ A1 A2 '$ &% &% A3 &% Man sieht sofort, dass die einfache Übertragung „Elemente aller Mengen zählen, jeweils Durchschnitt bilden und die Anzahl gemeinsamer Elemente subtrahieren“ nicht funktionieren kann.
1.4
Das Inklusions-Exklusions-Prinzip
39
Würde man nämlich |A1 ∪ A2 ∪ A3 | = |A1 | + |A2 | + |A3 | − |A1 ∩ A2 | − |A2 ∩ A3 | − |A1 ∩ A3 | setzen, so hätte man die Elemente in |A1 ∩ A2 ∩ A3 | zunächst dreimal mitgezählt, dann aber auch gleich dreimal wieder herausgenommen. Also muss noch einmal |A1 ∩ A2 ∩ A3 | hinzugezählt werden. Die Überlegungen zur Bestimmung der Elementeanzahl bei der Vereinigung von zwei oder drei Mengen kann man verallgemeinern. Aber Vorsicht, weiter unten wird die Beschreibung leicht unverdaulich. Also: Will man bei n Mengen A1 , A2 , . . . , An die Mächtigkeit |A1 ∪ A2 ∪ . . . ∪ An | bestimmen, so muss man auf jeden Fall zunächst von jeder einzelnen Menge Ai ihre Mächtigkeit bestimmen und diese Zahlen |Ai | addieren. Dann geht es daran zu bestimmen, was doppelt gezählt wurde, sodass |Ai ∩ Aj | für alle i, j = 1, . . . , n subtrahiert wird. Dabei passiert für jedes n ≥ 3 genau das, was wir aus dem Fall n = 3 bereits kennen: Es wurde zu schwungvoll und damit zu viel subtrahiert. Also müssen alle Durchschnitte von drei Mengen Ai ∩ Aj ∩ Ak mit i, j, k = 1, . . . , n gezählt und ihre Mächtigkeiten jeweils addiert werden. Nun wird es leider unübersichtlich. Wenn nämlich n > 3 ist, dann hat man wiederum einen Fehler gemacht, indem man alle Durchschnitte von vier Mengen durch den letzten Schritt doppelt gezählt hat. Beim Subtrahieren fallen dann für n > 4 leider alle Elemente weg, die in mindestens fünf Mengen liegen. Und so geht es weiter. Nach dem Addieren der Mächtigkeiten der Ai fallen n − 1 „Korrekturschritte“ an, bei denen entweder Elemente hinzugenommen oder wieder herausgenommen werden. Was wir gerade beschrieben haben, bekommt nun einen Namen und wird nicht nur veranschaulicht, sondern ordentlich bewiesen. Dabei sehen die Indizes etwas wild aus, was leider vom Hin und Her beim Hineinnehmen und Herausnehmen kommt: Erst werden alle gezählt, dann jeweils die Durchschnitte von 2, 3, 4, . . . , n Mengen abwechselnd herausgenommen oder hinzugezählt. Satz 1.4.1 (Inklusions–Exklusions–Prinzip) Seien A1 , . . . , An Mengen. Dann gilt:
|A1 ∪ A2 ∪ . . . ∪ An | =
n
(−1)k+1
k=1
1≤i1 1 ist, gibt es ein a ∈ M mit a = 0. Wir betrachten alle Produkte am1 , . . . , amn . Ist ami = amj für gewisse Indizes i und j, so ist a(mi −mj ) = 0. Da a = 0 ist, folgt nach Voraussetzung mi = mj . Also ist M = {m1 , . . . , mn } = {am1 , · · · , amn }. Folglich gibt es ein mi mit 1 = ami , denn 1 muss in der Menge M = {am1 , · · · , amn } enthalten sein.
Mit Hilfe von Satz 2.2.1 könnten wir übrigens auch zeigen, dass Z/pZ (gesprochen „Z nach pZ“) ein Körper ist, falls p eine Primzahl ist. Die Voraussetzungen des Satzes sind erfüllt, denn Z/pZ ist ein kommutativer Ring mit 1 0 eine natürliche
Zahl. Beweis 2.2.6 Wir betrachten die Summen
1, 1 + 1, 1 + 1 + 1, . . . , (1 + . . . + 1)
|K|
und nehmen an, dass sie alle von Null verschieden sind.
2.2
Eigenschaften endlicher Körper
67
Insgesamt sind es |K| Summen, es gibt aber höchstens |K| − 1 paarweise und von 0 verschiedene Elemente in K. Daher müssen nach dem Schubfachprinzip 1.2.10 mindestens zwei der Summen gleich sein. Es ist also (1 + . . . + 1) = (1 + . . . + 1)
i
j
für irgendwelche geeigneten und verschiedenen i und j. Man darf i < j annehmen (denn sonst würde man einfach die Benennung der Indizes vertauschen). Damit steht aber (1 + . . . + 1) = 0
j−i
für einen Wert j − i < |K| im Widerspruch zur Annahme. Also gibt es ein n ∈ N mit char(K) = n. Mit relativ einfachen Rechnungen kann man nun zeigen, dass die Charakteristik eines endlichen Körpers immer eine Primzahl sein muss. Dieses Ergebnis ist bedeutsam, denn es schränkt die Möglichkeiten bei der Konstruktion endlicher Körper klar ein. Satz 2.2.7 Ist K ein Körper mit char(K) = n = 0, so ist n eine Primzahl. Beweis 2.2.7 Sei n = ab mit a, b > 0. Wir nutzen die Distributivität und
rechnen (1 + · · · + 1)(1 + · · · + 1) = (1 + · · · + 1) = 0 .
a−mal
b−mal
n−mal
Da K ein Körper ist, muss nach Satz 2.1.10 (1 + · · · + 1) = 0
a−mal
oder (1 + · · · + 1) = 0
b−mal
sein. Wegen der Minimalität von n (man vergleiche Definition 2.2.4) folgt daraus n = a oder n = b. Da in K offenbar 1 = 0 ist, ist auch n = 1, also ist n eine Primzahl.
2.2.7
68
2. Körper und Polynome
Die Körper der Charakteristik p verhalten sich in vielerlei Hinsicht besser als Q oder R und haben (wie bereits erwähnt) erstaunliche Eigenschaften. Die Aussage des folgenden Satzes ist etwa im Bereich der rationalen oder reellen Zahlen nichts anderes als ein häufig gemachter Fehler, in einem Körper der Charakteristk p aber (bei beliebiger Primzahl p) eine korrekte Aussage. 2.2.8
Satz 2.2.8 Sei K ein Körper mit char(K) = p, p eine Primzahl. Seien a, b ∈ K.
Dann ist (a + b)p = ap + bp . Beweis 2.2.8 Nach Satz 1.3.12 ist
(a + b)p =
p p i p−i ab . i i=0
ai bp−i genau pi -mal Hierbei soll pi ai bp−i bedeuten, dass in K das Element p aufsummiert wird. Nun ist aber p ein Teiler von i mit Ausnahme von i = 0 und i = p. Somit ist (a + b)p ≡ (ap + bp )(mod p) und die Behauptung folgt.
Es gilt Q ⊆ R und R ⊆ C. Allerdings geht die Beziehung zwischen Q, R und C über eine einfache Teilmengenrelation hinaus, denn auch alle Rechenarten lassen sich ja jeweils auf die größere Menge übertragen. Im Folgenden werden wir häufig (und auch bei endlichen Körpern) die Situation K1 ⊆ K antreffen, wobei K1 und K Körper bezüglich derselben Addition und Multiplikation sind. Insbesondere haben beide die gleichen neutralen Elemente („0“ bezüglich der Addition und „1“ bezüglich der Multiplikation). In einem solchen Falle nennen wir K1 einen Teilkörper von K. 2.2.9
Definition 2.2.9 Sei K ein Körper und K1 ⊆ K. Falls K1 mit den auf K1 eingeschränkten Rechenoperationen von K wieder ein Körper ist, dann heißt K1 Teilkörper von K.
Ganz offensichtlich müssen 0 ∈ K und 1 ∈ K auch in jedem Teilkörper von K enthalten sein. Ansonsten sehen wir unmittelbar, dass R ein Teilkörper von C und Q ein Teilkörper von R ist. Wir wissen darüber hinaus, dass Q keine echte Teilmenge hat, die wieder ein Körper ist (eigentlich Schulwissen, aber können Sie es auch begründen?). Also scheint es so etwas wie einen kleinsten Teilkörper zu geben, der keine anderen Körper mehr echt enthält. Dies können wir so sehen. Ist K ein Körper, so ist offenbar der Durchschnitt von zwei
2.2
Eigenschaften endlicher Körper
69
Teilkörpern von K wieder ein Teilkörper von K. Also ist der Durchschnitt aller Teilkörper von K der kleinste Teilkörper von K. Da er wichtig ist und immer wieder gebraucht wird, bekommt er eine eigene Bezeichnung. Definition 2.2.10 Sei K ein Körper und F der kleinste Teilkörper von K. Dann
2.2.10
heißt F Primkörper von K. Im oben genannten Beispiel der Körper Q ⊆ R ⊆ C ist offensichtlich Q der Primkörper sowohl von R als auch von C, denn es gibt keine echte Teilmenge von Q, die ein Teilkörper ist. Auch bei endlichen Körpern ist die Lage nicht wesentlich komplizierter. Der folgende Satz zeigt, dass in diesem Fall der Name „Primkörper“ sogar eine intuitive Bedeutung hat. Satz 2.2.11 Sei K ein endlicher Körper mit char(K) = p und F sein Prim-
körper. Dann ist |F | = p. Beweis 2.2.11 Sei F1 := {(1 + 1 + · · · + 1) | 1 ≤ i ≤ p} ⊆ K. Dann hat F1
i−mal
mit dieser Festlegung p Elemente. Wir zeigen, dass F1 = F gilt, also F1 der Primkörper von K ist. Natürlich muss F1 , um Primkörper zu sein, überhaupt ein Körper sein, sodass zunächst die Bedingungen aus Definition 2.1.4 nachzuweisen sind. Da char(K) = p ist, gilt (1 + · · · + 1) + (1 + · · · + 1) = (1 + · · · + 1) = (1 + · · · + 1) ∈ F1 ,
m−mal
n−mal
m+n−mal
j−mal
wobei m + n ≡ j(mod p) für ein j ∈ {1, . . . , p} ist. Damit ist die Summe von zwei Elementen aus F1 wieder ein Element aus F1 . Genauso kann man zeigen, dass auch das Produkt von zwei Elementen aus F1 ein Element aus F1 ist. Es ist (1 + · · · + 1) · (1 + · · · + 1) = (1 + · · · + 1) = (1 + · · · + 1) ∈ F1 ,
m−mal
n−mal
mn−mal
j−mal
wobei mn ≡ j mod p für ein j ∈ {1, . . . , p} ist. Die Rechengesetze aus Definition 2.1.4 in den Punkten (a) - (e) folgen leicht und im Prinzip mit der gleichen Methode. Dabei gelten diese Gesetze, weil sie in N0 und damit auch beim Rechnen modulo p erfüllt sind. Die Existenz der Elemente 0 und 1 in F1 liegt in der Konstruktion von F1 begründet. Schließlich kann man wieder durch einfaches Rechnen ein additives Inverses zu jedem a ∈ F1 bestimmen.
2.2.11
70
2. Körper und Polynome
Es ist also nur noch zu beweisen, dass jedes von 0 verschiedene Element ein 0, also ist multiplikatives Inverses hat. Sei a = (1 + · · · + 1) ∈ F1 mit a =
m−mal
insbesondere m ≡ 0 (mod p). Dann gibt es ein x ∈ {1, . . . , p − 1} mit mx ≡ 1 (mod p). Wir setzen b = (1 + · · · + 1) ∈ F1 und rechnen
x−mal
ab = (1 + · · · + 1)(1 + · · · + 1) = (1 + · · · + 1) = 1.
m−mal
x−mal
mx−mal
Also hat jedes a ∈ F1 ein multiplikatives Inverses in F1 . Wir hatten mit Satz 2.2.7 gezeigt, dass die Charakteristik eines endlichen Körpers immer eine Primzahl p ist. Nun kann man darüber hinaus zeigen, dass auch die Anzahl der Elemente eines endlichen Körpers durch dieses p bestimmt ist. Konkret ist diese Anzahl immer eine Primzahlpotenz. Wir wollen diese Aussage zunächst an einem Beispiel verdeutlichen, das als Satz formuliert wird. 2.2.12
Satz 2.2.12 Es gibt keinen Körper K mit |K| = 6. Beweisidee 2.2.12 Im Grunde versucht man, einen solchen Körper passend zu
basteln – und scheitert. Dazu nimmt man an, es gäbe einen solchen Körper und betrachtet seinen Primkörper F . In einem ersten Schritt wird gezeigt, dass dieser Primkörper dann allenfalls zwei Elemente haben kann. Aus den restlichen vier Elementen fischt man sich eines („a“) heraus und bastelt daraus eine Menge F1 mit vier Elementen, die den Primkörper enthält. Es bleiben also noch zwei Elemente im Körper K übrig, von denen eines („b“) zur Konstruktion einer darüber liegenden Menge F2 benutzt wird (und die soll F1 enthalten). Es zeigt sich, dass F2 acht Elemente haben müsste, also mehr als im Körper K zur Verfügung stehen. Da das nicht möglich ist, hat man den Satz bewiesen. Vorsicht, beim Beweis darf man alles nur sehr formal betrachten. Wichtig für das Verständnis ist es, sich immer darüber im Klaren zu sein, woher die einzelnen Elemente kommen. Im Grunde ist der Beweis aber nicht mehr als eine einfache Rechnerei.
2.2
Eigenschaften endlicher Körper
71
Beweis 2.2.12 Sei F der Primkörper von K. Dann ist |F | ≤ |K| und nach Satz
2.2.11 ist |F | = 2, 3 oder 5. Wir zeigen, dass |F | = 2 sein muss. Wir nehmen dazu ein a ∈ K so, dass a ∈ F ist und setzen F1 = {f1 + af2 | f1 , f2 ∈ F }.
Seien nun f1 , f2 , f1 , f2 ∈ F so gewählt, dass f1 + af2 = f1 + af2 ist. Dann ist f1 − f1 = a(f2 − f2 ). Ist f2 = f2 , so ist a = (f1 − f1 )(f2 − f2 )−1 ∈ F , ein Widerspruch. Also ist f2 = f2 und damit auch f1 = f1 , falls f1 + af2 = f1 + af2 gilt. Man kann also für die Anzahl der Elemente in F1 schließen, dass |F1 | = |{f1 + af2 | f1 , f2 ∈ F }| = |F |2 ≤ |K| ist. Das liefert |F | = 2 und |F1 | = 4, denn 4 ist die einzige Quadratzahl, die nicht größer als 6 ist. Da nun |K| = 6 ist, gibt es Elemente von K, die nicht aus F1 sind. Wir wählen entsprechend ein b ∈ K mit b ∈ F1 und betrachten die Menge F2 = {f ∗ + bf | f ∗ ∈ F1 , f ∈ F }.
Seien f ∗ , f ∗ ∈ F1 und f, f ∈ F so gewählt, dass
f ∗ + bf = f ∗ + bf
ist. Dann ist f ∗ − f ∗ = b(f − f ). Ist f = f , so ist
b = (f ∗ − f ∗ )(f − f )−1 . Damit ist b das Produkt aus einem Element aus F1 und einem Element aus F . Wir zeigen nun ähnlich wie oben, dass aus dieser Bedingung b ∈ F1 folgt. Sei h1 + ah2 ∈ F1 und f ∈ F . Dann ist (h1 + ah2 )f = h1 f + ah2 f ∈ F1 , da h1 f ∈ F und h2 f ∈ F ist. Damit ist aber F1 in Bezug auf die Multiplikation mit Elementen aus F abgeschlossen. Insbesondere bekommt man den Widerspruch b ∈ F1 . Also ist f2 = f2 und folglich f1 = f1 . Somit ist |F2 | = 8 und das ist wegen F2 ⊆ K nicht möglich.
72
2. Körper und Polynome
Das Vorgehen im Beweis von Satz 2.2.12 macht ganz klar den Eindruck, als könnte man es verallgemeinern. Insbesondere liegt die Vermutung nahe, dass die gleichen Schwierigkeiten mit der Konstruktion bei jeder Mächtigkeit von K auftreten würden, die keine Primzahlpotenz ist. Folglich kann die Anzahl der Elemente eines endlichen Körpers allenfalls eine Primzahlpotenz sein. Genau das ist die Aussage des folgenden Satzes. Man kann ihn tatsächlich ganz analog zu Satz 2.2.12 beweisen, aber es geht auch anders. Konkret werden wir hier eine Idee aus der Linearen Algebra benutzen, was dann einen sehr eleganten Beweis zum Ergebnis hat. Die Idee sieht so aus: Sei K1 ein Teilkörper eines Körpers K. Ist a ∈ K1 und b ∈ K, so ist auch ab ∈ K, also ist K gegen Multiplikation mit Elementen aus dem kleineren Körper K1 abgeschlossen. Insbesondere erfüllt das Paar (K1 , K) die Axiome eines K1 -Vektorraumes K. Diese Idee werden wir als wesentlichen Teil des Beweises benutzen. 2.2.13
Satz 2.2.13 Sei K ein endlicher Körper mit char(K) = p. Dann gibt es ein
n ∈ N mit |K| = pn . Beweis 2.2.13 Ist F der Primkörper von K, so kann man K (wie wir es oben
ausgeführt haben) als einen Vektorraum über F auffassen. Da |K| < ∞ ist, ist K endlich-dimensional. Sei {f1 , . . . , fn } eine F -Basis von K. Dann ist jedes Element eindeutig als n
ai fi ,
ai ∈ F
i=1
schreibbar. Da es für jedes ai genau p Möglichkeiten gibt (man vergleiche Satz 2.2.11), erhalten wir so genau pn viele verschiedene Elemente von K. Also ist |K| = pn . Natürlich hängen die Dinge zusammen: Im Beweis von Satz 2.2.12 haben wir versucht, nach und nach die Basis f1 , f2 , . . . aufzubauen. Es hat nicht geklappt, weil es mit sechs Elementen nicht klappen kann. Mit einer Primzahlpotenz als Mächtigkeit eines Körpers K geht es aber und die Menge der (konstruierten) Elemente wächst in jedem Schritt um eine p-Potenz, bis wir bei pn schließlich K ausschöpfen.
2.3
Polynome
73
2.3
2.3 Polynome In diesem Abschnitt soll es um Polynome und ihre wesentlichen Eigenschaften gehen. Wir werden uns vor allem mit Polynomen beschäftigen, deren Koeffizienten aus einem bestimmten Körper sind, also beispielsweise aus GF (p) oder Q oder R. Wir werden nutzen, dass man mit der (aus der Schule im Prinzip bekannten) Addition und Multiplikation von Polynomen einen Ring bekommt, einen so genannten Polynomring mit Koeffizienten im betreffenden Körper. In diesem Ring kann man dann, ganz ähnlich wie in Z, nicht nur rechnen, sondern sogar eine eindeutige Primfaktorzerlegung der Elemente angeben. Der Beweis dieses Ergebnisses ist ein erstes Teilziel. Ein weiteres Ziel ist es, endliche Körper zu bestimmen, die von GF (p) verschieden sind. Satz 2.2.13 sagt uns ja nur, dass die Mächtigkeit eines endlichen Körpers immer eine Primzahlpotenz ist. Er macht keine Aussage darüber, wie ein solcher Körper konkret aussehen kann. Wenn wir endliche Körper dann kennen, werden sie sehr nützlich und insbesondere für Anwendungen in der Kodierungstheorie von großer Bedeutung sein. 2.3.1 Rechnen in Polynomringen Die in der Einführung genannten Begriffe sollen nun zunächst ordentlich definiert und an Beispielen betrachtet werden. Insbesondere soll geklärt werden, was wir unter einem Polynomring verstehen. Die folgenden Begriffsbildungen basieren auf Ringen, später werden wir sie dann zumeist eingeschränkt auf Körper benutzen. Also Achtung: R ist im Folgenden ein beliebiger Ring, der nicht mit der Menge R der reellen Zahlen verwechselt werden sollte (und das, obwohl R ja auch ein Ring ist). Definition 2.3.1
Sei R ein Ring. Dann nennen wir einen Ausdruck f = a0 + a1 x + . . . + ak xk
mit ai ∈ R ein Polynom über R. Die ai nennen wir Koeffizienten des Polynoms f , wobei k Grad von f heißt. Ist ak = 0, so schreibt man grad f = k, ist f = 0, so setzt man grad f = −∞. Auf der Menge der Polynome über dem Ring R kann man eine Addition und eine Multiplikation definieren. Seien a = a0 + a1 x + . . . + ak xk und b = b0 + b1 x + . . . + bl cl Polynome. Da wir notfalls mit Nullen auffüllen können, dürfen wir k = l annehmen.
2.3.1
74
2. Körper und Polynome
Wir setzen a + b := (a0 + b0 ) + (a1 + b1 )x + . . . + (ak + bk )xk
und
a · b := c0 + c1 x + . . . + c2k c2k mit ci =
k
aj bi−j für i = 0, . . . , 2k.
j=0
Dadurch wird die Menge der Polynome über R zu einem Ring, den wir mit R[x] bezeichnen und Polynomring nennen. Für das Folgende genügt, was wir hier festgelegt haben. Wenn man allerdings mathematisch genau ist, dann dürfte man Definition 2.3.1 nicht wirklich als eine Definition bezeichnen. Was hier mit dem Begriff Polynom belegt wird, ist nicht mehr und nicht weniger als ein formaler Ausdruck. Es ist überhaupt nicht klar, was dabei x sein soll. Genauso ist die Bedeutung des Zeichens „+“ in a0 + a1 x + · · · + ak xk nicht geklärt. Es ist nur symbolisch zu verstehen und hat mit der Addition in R wenig zu tun. Wir machen es (der Vollständigkeit halber) gleich besser (und zwar in und mit Definition 2.3.2), wollen aber erst einmal ein Verständnis dafür aufbauen, worum es eigentlich geht. Man sollte sich zunächst klarmachen, dass die hier relevanten Begriffe schon in der Schule eine Rolle spielten. Sie erinnern sich? Man hat dort Polynome mit Koeffizienten in R kennen gelernt (und R ist ja im mathematischen Sinn ein Ring). Auch den Grad eines Polynoms kennt man aus diesem Kontext: f = 4x + x2 ist ein Polynom vom Grad 2, f = x7 hat den Grad 7 und f = 4 hat den Grad 0. Es ist nur eine (manchmal praktische) Konvention, dass f = 0 den Grad −∞ hat. Ganz wichtig ist außerdem, dass Polynome nicht mit Funktionen gleichgesetzt werden können. Das ist keine Spitzfindigkeit: Sei etwa R = GF (2), f = x und g = x2 . Dann sind f und g als Polynome (ganz offensichtlich) verschieden. Da aber 02 = 0, 12 = 1 ist, wären f : R → R und g : R → R als Funktionen identisch. Wie gesagt, man kann die Definition eines Polynoms durchaus exakt fassen, wenn man sie auf klaren Begriffen aufbaut. Auch wenn wir im Folgenden der Darstellung in Definition 2.3.1 den Vorzug geben, soll gezeigt werden, wie es geht. Außerdem werden wir sehen, dass die exakte und die eher intuitive Formulierung gar nicht so weit auseinander liegen.
2.3
Polynome
75
Sei R ein Ring. Dann nennt man alle Folgen (ai )i∈N0 mit ai ∈ R und ai = 0 nur für endliche viele i (d. h. es gibt ein k ∈ N mit ai = 0 für alle i ≥ k) Polynome über R. Die Addition wird durch Definition 2.3.2
2.3.2
(ai ) + (bi ) := (ai + bi ) und die Multiplikation durch (ai )(bi ) := (ci ) ci =
k
mit
aj bi−j
j=0
festgelegt. Zwischen den Darstellungen in den Definitionen 2.3.1 und 2.3.2 ist leicht zu vermitteln. So können wir a ∈ R mit der Folge (ai )i∈N0 identifizieren, wobei a0 = a und ai = 0 für i > 0 ist. Weiter setzen wir x = (0, 1, 0, 0, . . .). Dann ist xk = (0, 0, 0, . . . , 1 , 0, 0, . . . , 0, . . . , ). ↑ k
Damit wird aus der Folge (a0 , a1 , . . . , ak , 0, 0, . . . , 0) der Ausdruck a0 + a1 x + a2 x2 + · · · + ak xk . Macht das einen Unterschied? Ja, denn jetzt ist die Addition im Polynomring selbst definiert und man stellt sich nicht automatisch die Addition im Ring R vor. Mit den eingeführten Begriffen kann man nun bereits Aussagen über die Summe bzw. das Produkt von Polynomen treffen. Es gilt der folgende Satz, dessen Inhalt man sich insbesondere in Q oder R leicht veranschaulichen kann. Satz 2.3.3 Seien K ein Körper und f, g ∈ K[x]. Dann gilt
(a) grad (f + g) ≤ max(grad f, grad g) und grad (f · g) = grad f + grad g. (b) Ist f · g = 0, so ist f = 0 oder g = 0.
2.3.3
76
2. Körper und Polynome
m ai xi mit an = 0 und g = i=0 bi xi mit bm = 0. Offensichtlich ist grad (f + g) ≤ max(grad f, grad g). Außerdem ist (mit den n+m Bezeichnungen aus Definition 2.3.1) f g = j=0 cj xj und somit
Beweis 2.3.3 (a) Sei f =
n
i=0
grad f g ≤ grad f + grad g. Nun ist cn+m = an bm = 0, falls f = 0 und g = 0 ist. Die Gleichung gilt aber auch für f = 0 oder g = 0. Sei etwa grad f = −∞. Dann ist grad f + grad g = −∞ = grad f g. (b) Sei f · g = 0. Dann ist −∞ = grad f g = grad f + grad g. Damit ist (a )
grad f = −∞ oder grad g = −∞, d. h. f = 0 oder g = 0. Eine wesentliche Voraussetzung in Satz 2.3.3 ist, dass K ein Körper ist. Man sieht dies sofort am folgenden Beispiel. 2.3.4
Beispiel 2.3.4 Sei R = Z/6Z die Menge der Restklassen modulo 6. Seien au-
ßerdem f = 2x und g = 3x Polynome über R. Dann ist grad f = 1 = grad g, aber f g = 6x = 0, also grad f g = −∞. 2.3.2 Primfaktorzerlegung in Polynomringen Für die Mathematik sind weniger einzelne Fälle, sondern eher die dahinter liegenden Strukturen interessant. Welche Gemeinsamkeiten haben sie? Welche charakteristischen Eigenschaften sind bestimmend? Dabei geht man oft von Beispielen aus, die man bereits gut kennt. So ist es auch bei der Zerlegung einer Zahl in Primfaktoren. Ausgangspunkt der Überlegungen ist die Menge Z der ganzen Zahlen, in der man jede von 0 und ±1 verschiedene Zahl eindeutig in Primfaktoren zerlegen kann. Es stellt sich also die Frage, ob so etwas auch in anderen Ringen möglich ist. Kann man zum Beispiel in Polynomringen eine solche Zerlegung finden? Mit diesem Problem wollen wir uns im Folgenden beschäftigen. Wir werden zeigen, dass es im Polynomring K[x] über einem Körper K eine eindeutige Primfaktorzerlegung gibt. Vorher steht allerdings die Beschäftigung mit einer grundlegenden Frage an: Was ist denn überhaupt ein Äquivalent zu einer Primzahl in K[x]? Wir müssen offensichtlich diese Begrifflichkeit angemessen übertragen. Das Ergebnis ist die Definition so genannter irreduzibler Elemente.
2.3
Polynome
77
Eine Primzahl ist (wir werden es sehen) ein Spezialfall des irreduziblen Elements im Ring der ganzen Zahlen. Primzahlen sind in Z durch die Anzahl der Teiler festgelegt. Offensichtlich ist es also sinnvoll, auch den Begriff des Teilers zu übertragen. Das geht allerdings ganz einfach, denn Teiler werden im Grunde wie in Z definiert. Bemerkung: In den folgenden Definitionen und Sätzen beschränken wir uns zumeist auf Aussagen für einen Polynomring über einem Körper K, weil wir genau diesen Fall im Detail untersuchen wollen. Vieles ist aber ohne Probleme auf andere Ringe übertragbar. Definition 2.3.5 Sei K[x] der Polynomring über dem Körper K und seien weiter
2.3.5
f, g ∈ K[x]. Dann heißt f ein Teiler (in K[x]) von g, falls es ein h ∈ K[x] mit g = f h gibt. Wir schreiben f | g. Das war doch wirklich leicht, oder? Bei der Definition eines irreduziblen Elements müssen wir allerdings etwas vorsichtiger sein, weil es ganz so wie in Z nicht klappen kann. Wir wollen zwar, dass ein irreduzibles Element p „im Wesentlichen“ nur den Teiler p hat, aber natürlich gilt stets p = 1 · p. Dieser Faktor 1 ist nun nicht unproblematisch, denn nur in Z hat er außer der 1 und der -1 keine weiteren Teiler. Im Ring Q[x] können wir beispielsweise auch p = 12 ·2·p schreiben. Wir möchten nun, dass davon die Eigenschaft eines Elements, irreduzibles Element zu sein, nicht betroffen sein soll. Ist also e ein Teiler von 1, so soll e auch ein Teiler von p sein dürfen, obwohl p irreduzibles Element ist. Elemente mit dieser Eigenschaft nennt man Einheiten. Die Einheiten in Z sind einfach 1 und -1, die Einheiten in Q allerdings schon alle von 0 verschiedenen rationalen Zahlen (und das hat System, man vergleiche Satz 2.3.7). Immer teilen Einheiten die 1 und damit etwa in einem Polynomring K[x] auch jedes f ∈ K[x]. Bei der folgenden Definition beschränken wir uns (wie oben schon erwähnt) gleich auf die Verwendung des Begriffs in einem Polynomring über einem Körper K. Ein Element e ∈ K[x] heißt eine Einheit, falls es ein e ∈ K[x] mit ee = 1 gibt. Ein Element p ∈ K[x] \ {0} heißt irreduzibel, falls p keine Einheit ist und aus d | p stets folgt, dass d eine Einheit oder d = ep ist, wobei e eine Einheit ist. Definition 2.3.6
2.3.6
78
2. Körper und Polynome
Wenn man diese Definition auf Z übertragen würde, dann sieht man sofort, dass die irreduziblen Elemente gerade die Primzahlen bzw. ihre additiven Inversen sind. Nach Definition ist 1 keine Primzahl und -1 ist auch keine Primzahl. Und da eine Primzahl p nur die Teiler 1 und p hat, ist auch der zweite Teil der Definition offensichtlich gegeben (wie gesagt, mit der Erweiterung auf die entsprechenden negativen Zahlen). In Bezug auf einen Polynomring K[x] gestaltet sich die Sache etwas komplizierter, aber sicherlich nicht viel schwieriger. Hier können wir zunächst eine Aussage über die Einheiten machen. 2.3.7
Satz 2.3.7 Sei K[x] der Polynomring über dem Körper K. Ist f ∈ K[x] eine Einheit, so ist f ∈ K. Beweis 2.3.7 Sei f ∈ K[x] eine Einheit und g ∈ K[x] mit f g = 1. Nach Satz 2.3.3 ist dann
0 = grad f g = grad f + grad g. Also ist grad f = 0 und damit f ∈ K. Der folgende Satz zeigt nun, dass die irreduziblen Elemente in einem Polynomring über einem Körper K (ähnlich wie die Primzahlen in Z) eine Art von „Grundbausteinen“ darstellen. Dabei folgt aus Definition 2.3.6 zunächst, dass ein nicht irreduzibles Element d auf jeden Fall einen Teiler haben muss, der keine Einheit und von d verschieden ist. Diese Tatsache nutzen wir im Beweis. 2.3.8
Satz 2.3.8 Sei K[x] der Polynomring über dem Körper K. Falls f ∈ K[x]\{0}
keine Einheit ist, so ist f ein Produkt von irreduziblen Elementen. Beweis 2.3.8 Ist f nicht irreduzibel, so gibt es a, b ∈ K[x] mit
f = ab, wobei die Elemente a und b keine Einheiten sind und sich von f nicht nur durch eine Einheit unterscheiden (man vergleiche Definition 2.3.6). Außerdem ist grad f = grad a + grad b (nach Satz 2.3.3). n Angenommen, es ist grad a = 0. Da a = i=0 ai xi mit n = grad f ist, ist −1 dann a = a0 = 0. Also gibt es a−1 0 ∈ K mit a0 a = 1 und a ist eine Einheit. Da das ausgeschlossen ist, folgt grad a > 0 und entsprechend auch grad b > 0.
2.3
Polynome
79
Damit gilt grad a < grad f und grad b < grad f . Diese Argumentation kann man nun genauso auf a und b anwenden. Da dabei der Grad mit jedem Schritt kleiner wird, folgt die Behauptung (Induktion nach grad f ). Es gibt also eine Zerlegung der Elemente von K[x]\{0} in irreduzible Elemente („Primfaktoren“), wobei allerdings die Eindeutigkeit der Zerlegung unklar ist. Um sie zu betrachten (und dann als gegeben zu identifizieren), brauchen wir noch ein Hilfsmittel und dieses ist die Existenz einer Division mit Rest in K[x]. Sie wird es uns erlauben, so etwas wie einen größten gemeinsamen Teiler von zwei Elementen zu bestimmen. Wir übertragen also (wieder oder immer noch) aus Z bekannte Inhalte und Eigenschaften auf Polynomringe über Körpern. Satz 2.3.9 Sei K ein Körper und K[x] der Polynomring über K. Dann besitzt
K[x] eine eindeutige Division mit Rest, d. h., zu zwei Polynomen a und b = 0 gibt es eindeutig Polynome p und r so, dass a = pb + r mit grad r < grad b ist. Beweisidee 2.3.9 Man betrachtet zwei Polynome a und b und versucht, eine
Darstellung a = pb + r direkt anzugeben und damit ihre Existenz zu zeigen. Dabei kommt es vor allem auf den Grad der Polynome an. Ist grad a < grad b, dann ist a = 0 · b + a und man ist fertig. Ist grad a > grad b, dann hilft Induktion. Man zerlegt a additiv in zwei Polynome, wobei das eine durch b geteilt wird, das andere einen kleineren Grad hat, sodass für dieses dann der Satz wegen der Induktionsannahme gilt. Schließlich wird die Eindeutigkeit der Zerlegung gezeigt: Man nimmt an, dass es zwei Möglichkeiten gibt, und stellt fest, dass beide auf dieselben Polynome hinauslaufen. Sie erinnern sich, wie das in R[x] aussieht? Wenn man etwa das Polynom x4 + 3x2 + 7x + 5 durch das Polynom x2 − x + 5 teilt, dann bekommt man (eindeutig) diese Zerlegung: (x4 + 3x2 + 7x + 5) = (x2 + x − 1) · (x2 − x + 5) + (x + 10). Nun kann der eigentliche Beweis beginnen, oder?
2.3.9
80
2. Körper und Polynome
Beweis 2.3.9 Sei
a = a0 + a1 x + . . . + an xn b = b0 + b1 x + . . . + bm xm mit ai , bi ∈ K und bm = 0. Falls m > n ist, kann man a in der Form a = pb + r mit p = 0 und r = a schreiben. Dabei gilt insbesondere grad r < grad b. Damit ist die Existenz einer solchen Zerlegung gezeigt. Sei also m ≤ n. Wir beweisen diesen Fall durch Induktion nach n. Offensichtlich ist die Behauptung für n = 0 erfüllt, da dann a, b ∈ K, b = 0 und a = (a · b−1 ) · b ist. Damit sind die gesuchten Polynome p = a · b−1 und r = 0. Sei die Behauptung also für alle Polynome richtig, deren Grad kleiner als n ist. Wir definieren n−m a ˜ = a − an b−1 b m x
und rechnen n−m (bm xm + . . . + b1 x + b0 ) a ˜ = (an xn + . . . + a0 ) − an b−1 m x −1 n−1 n−m = (an xn + . . . + a0 ) − an xn − an b−1 − . . . − an b−1 m bm−1 x m b0 x −1 n−1 n−m = (an−1 xn−1 + . . . + a0 ) − an b−1 − . . . − an b−1 . m bm−1 x m b0 x
Dieser Ausdruck sieht vielleicht unübersichtlich aus, lässt aber zumindest erkennen, dass grad a ˜ ≤ n − 1 < n ist. Außerdem ist n−m b+a ˜ a = an b−1 m x
nach Definition von a ˜. Nach Induktionsvoraussetzung können wir daher a ˜ ˜ = p∗ b+r∗ durch b mit Rest teilen, d. h., es gibt Polynome p∗ und r∗ so, dass a ist. Damit ist n−m n−m b+a ˜ = an b−1 b + p∗ b + r ∗ a = an b−1 m x m x n−m = (an b−1 + p∗ ) · b + r ∗ . m x
Folglich gibt es zu allen a, b ∈ K[x], b = 0, geeignete Polynome p, r ∈ K[x] mit a = pb + r und grad r < grad b.
2.3
Polynome
81
Es bleibt die Eindeutigkeit zu zeigen. Wir nehmen dazu an, dass a = pb + r = p1 b + r1 ist. Dann ist (p − p1 )b = r1 − r, also grad ((p − p1 )b) = grad (r1 − r). Nun ist aber grad r < grad b und genauso grad r1 < grad b. Damit gibt es nur eine Möglichkeit, nämlich grad (p−p1 ) = −∞ und p = p1 (man vergleiche Definition 2.3.1). Es folgt r1 = r. Wendet man Satz 2.3.9 wiederholt an, nämlich im nächsten Schritt (und mit den gewählten Bezeichnungen) auf b und r und dann jeweils auf die ihnen entsprechenden Polynome, so bekommt man eine Folge von Resten, deren Grad mit jedem Schritt kleiner wird. Entsprechend kann man den aus Z bekannten „euklidischen Algorithmus“ auch in einem Polynomring über einem Körper K wiederfinden. Auch der nächste Satz 2.3.12 überträgt eine Eigenschaft, die wir aus Z kennen. Es geht um den größten gemeinsamen Teiler von zwei Elementen und die Möglichkeit, ihn linear aus diesen Elementen zu kombinieren. Zuvor sollten wir uns allerdings ein paar Gedanken machen, was denn ein größter gemeinsamer Teiler in einem Polynomring überhaupt sein kann. Dabei kann man mit einem einfachen Größenvergleich nicht gut argumentieren, aber eine andere wesentliche (und aus Z bekannte) Eigenschaft zu Grunde legen: Jeder Teiler der Zahlen a, b ∈ Z teilt den größten gemeinsamen Teiler ggT(a, b). Definition 2.3.10 Sei K[x] der Polynomring über einem Körper K und seien
p, q ∈ K[x]. Falls a ∈ K[x] ein Teiler von p und q ist, so heißt a ein gemeinsamer Teiler von p und q. Gilt b|a für alle gemeinsamen Teiler b von p und q, so heißt a ein größter gemeinsamer Teiler von p und q. Die Definition besagt nicht, dass es zu jedem a und b einen größten gemeinsamen Teiler geben muss. Wie wir noch sehen werden, gibt es ihn aber in Polynomringen über Körpern immer. In der Definition ist auch nicht ganz zufällig von einem und nicht von dem größten gemeinsamen Teiler die Rede. Betrachtet man die Begrifflichkeiten in Z (die etwas andere Definition des größten gemeinsamen Teilers in Z wird hier als bekannt vorausgesetzt; siehe [11, Seite 127]), dann sind 3 und −3 gemeinsame Teiler von 6 und 9 mit 3 > −3. Also ist 3 der größte gemeinsame Teiler von 6 und 9. Entsprechend
2.3.10
82
2. Körper und Polynome
sind in R[x] sowohl (x − 1) als auch −(x − 1) Teiler von (x2 − 1) und (x − 1), aber ein einfacher Größenvergleich verbietet sich. Größte gemeinsame Teiler sind also nicht unbedingt eindeutig bestimmbar. Trotzdem schreiben wir im Folgenden c = ggT(a, b) und meinen damit einen größten gemeinsamen Teiler von a und b. Das eben genannte Beispiel aus R[x] mag einfach erscheinen, denn die beiden Teiler unterscheiden sich ja nur um den Faktor -1. Allerdings gibt es einen ganz systematischen Grund, genau solche Beispiele zu wählen. Der folgende Satz beschreibt ihn. 2.3.11
Satz 2.3.11 Seien K ein Körper und g, h ∈ K[x]. Sind c1 und c2 größte gemeinsame Teiler von g und h, so ist g = he mit einer Einheit e. Beweis 2.3.11 Nach Definition 2.3.10 des größten gemeinsamen Teilers ist c1
ein Teiler von c2 und umgekehrt. Also ist c1 = ac2 und c2 = bc1 . Das liefert c1 = abc1 und damit c1 (1 − ab) = 0. Ist c1 = 0, so ist auch c2 = 0 und wir haben die Behauptung mit e = 1. Sei also c1 = 0. Nach Satz 2.3.3b) ist dann ab = 1 und die Behauptung folgt. Der nächste Satz ist etwas überraschend, da er den größten gemeinsamen Teiler, der ja nur über die multiplikative Struktur definiert ist, als Summe und damit über die additive Struktur beschreibt. 2.3.12
Satz 2.3.12 Seien K ein Körper, g, h ∈ K[x] und c = ggT(g, h). Dann gibt es u, v ∈ K[x] mit c = ug + vh. Beweisidee 2.3.12 Im Grunde kann man den Beweis so führen, wie man das
auch im Bereich der ganzen Zahlen Z machen würde (vergleiche [11, Seite 129]). Allerdings kann man in einem beliebigen Polynomring kein kleinstes Element ausweisen und auch nicht von positiven Elementen reden. Diese Hürden sollte man im Blick behalten. Ein Ersatz hierfür ist der Grad. Statt kleinster Elemente nimmt man Polynome vom kleinsten Grad. Ansonsten betrachtet man zuerst den einfachen Fall, dass eines der Polynome 0 ist und gibt die gesuchten Koeffizienten direkt an. Im anderen Fall wird eine Division mit Rest durchgeführt und ermöglicht die konkrete Bestimmung.
2.3
Polynome
83
Beweis 2.3.12 Sei c ein größter gemeinsamer Teiler, der eine solche Summendarstellung hat. Da nach Lemma 2.3.11 alle größten gemeinsamen Teiler von g und h ein Vielfaches von c sind, folgt dann die Behauptung für jeden größten gemeinsamen Teiler. Also genügt es, die Behauptung für einen größten gemeinsamen Teiler zu beweisen. Ist g = 0 oder h = 0, dann setzt man u = v = 1 und ist fertig. Man kann also g = 0 und h = 0 annehmen. Wir betrachten
D = {d ∈ K[x] | d = ug + vh mit u, v ∈ K[x] und d = 0}. Für u = 1 und v = 0 ist g = 1 · g + 0 · h ∈ D, sodass die Menge D nicht leer ist. Wir wählen ein c ∈ D so, dass grad c minimal ist. Dann ist c = ug + vh mit geeigneten u, v. Sei nun t ein Teiler von g und h. Dann ist offenbar t auch ein Teiler von c. Wir müssen also nur zeigen, dass c auch ein Teiler von g und h ist. Teilen wir also g und h mit Rest durch c. Dann ist g = ac + rg und h = bc + rh mit grad rg < grad c und grad rh < grad c. Es ist rg = g − ac = g − aug − avh = (1 − au)g + (−av)h. Da grad rg < grad c gilt, ist nach Wahl von c dann rg ∈ D, also muss rg = 0 sein. Genauso folgt rh = 0. Damit ist c ein Teiler von g und h. Nun ist c ein größter gemeinsamer Teiler, der eine solche Summendarstellung hat und damit ist die Behauptung bewiesen. Die konkrete Umsetzung soll das folgende Beispiel zeigen. Wir gehen dabei vom Polynomring R[x] über dem Körper R der reellen Zahlen aus, den man schon von der Schule her kennt (wenn auch ohne übergreifende Benennungen). Wesentliche Hilfsmittel wie die Multiplikation und die Division von Polynomen sollten dabei aus der Schule bekannt sein (und weiter oben haben wir das ja auch schon genutzt). Beispiel 2.3.13 Gesucht ist ein Polynom p ∈ R[x] so, dass x2 + 1 ein Teiler von
p und x3 + x2 + 1 ein Teiler von p + 1 ist. Es soll also p = (x2 + 1) · s und p + 1 = (x3 + x2 + 1) · t für geeignete Polynome s, t ∈ R[x] sein.
2.3.13
84
2. Körper und Polynome
Gibt es solche Polynome, dann bekommt man durch einfaches Rechnen (x2 + 1)s − (x3 + x2 + 1)t = 1. Nun ist aber ggT(x2 +1, x3 +x2 +1) = 1, also existieren Polynome s und t der gewünschten Art und man kann sie mit Hilfe des euklidischen Algorithmus finden. Wir rechnen: x3 + x2 + 1 = (x + 1)(x2 + 1) + (−x) x2 + 1 = −x(−x) + 1. Das liefert nun 1 = (x2 + 1) + x(−x) = = (x2 + 1) + x[x3 + x2 + 1 − (x + 1)(x2 + 1)] = (x2 + 1)[1 − x(x − 1)] + x(x3 + x2 + 1). Also ist s = x2 + x − 1 und t = x. Damit ist p = (x2 + 1)(x2 + x − 1). Mit Satz 2.3.12 bekommen wir nun auch als wesentliches Ergebnis die Möglichkeit der eindeutigen Zerlegung eines Polynoms in irreduzible Elemente („Primfaktoren“). Eindeutig bedeutet dabei, dass die Zerlegung bis auf die Reihenfolge und bis auf die Multiplikation mit Einheiten eindeutig ist (und das ist in Z ja auch nicht anders). Der folgende Satz, dessen Pendant in Z uns gut vertraut ist, wird dazu benötigt. 2.3.14
Satz 2.3.14 Seien K ein Körper und p ∈ K[x] ein irreduzibles Element. Sind a, b ∈ K[x] und teilt p das Produkt ab, so teilt p einen der Faktoren a oder b. Beweis 2.3.14 Angenommen, p sei kein Teiler von a. Da p irreduzibel ist, ist dann ggT(a, p) = 1. Nach Satz 2.3.12 gibt es u, v ∈ K[x] mit 1 = up + va. Dann ist b = upb + uab. Da p sowohl ab als auch upb teilt, teilt p auch die Summe b.
Hier ist nun der angekündigte Satz über die Möglichkeit der eindeutigen Zerlegung eines Polynoms in irreduzible Elemente. 2.3.15
Satz 2.3.15 Seien K ein Körper, f ∈ K[x] \ {0} und sei f keine Einheit. Dann lässt sich f eindeutig als ein Produkt von irreduziblen Polynomen schreiben.
2.3
Polynome
85
Beweis 2.3.15 Nach Satz 2.3.8 lässt sich f in jedem Fall als ein Produkt von irreduziblen Polynomen darstellen. Sei nun f = p1 . . . pr = q1 . . . qs , mit irreduziblen pi , i = 1, . . . , r, und qj , j = 1, . . . , s, pi , qj ∈ K[x].
Es ist p1 ein Teiler von q1 . . . qs , sodass p1 nach Satz 2.3.14 einen der Faktoren teilt. Also können wir die Anordnung so wählen, dass p1 das Element q1 teilt. Aber q1 ist irreduzibel. Damit ist ep1 = q1 mit einer Einheit e. Somit ist p1 (p2 . . . pr − eq2 . . . qs ) = 0. Damit ist p2 . . . pr = (eq2 )q3 . . . qs . Es ist auch eq2 irreduzibel. Nun liefert eine Induktion nach r, dass r = s ist und wir bei geeigneter Anordnung pi = qi ei (i = 2, . . . , r) mit Einheiten ei ∈ K[x] haben. Dies ist aber genau die Eindeutigkeit. Polynome kennt man, wie bereits gesagt, schon aus der Schule und dort spielen die Polynome vom Grad 2 eine besondere Rolle. Allerdings geht es dabei nicht um einen mehr oder minder formalen Ausdruck, sondern um quadratische Funktionen und die Bestimmung ihrer Nullstellen, also die Lösungen quadratischer Gleichungen („Mitternachts-Formel“). Doch Polynome sind keine Funktionen und das x in einem Polynom ist weder eine Variable noch eine Unbekannte. Dennoch kann es manchmal nützlich sein, in einem solchen Kontext zu arbeiten. Wir wollen daher eine Einsetzung definieren. Definition 2.3.16 Seien R ein Ring, f = a0 + a1 x . . . + ak xk ∈ R[x] und a ∈ R.
Wir definieren f (a) ∈ R durch f (a) := a0 + a1 a + . . . + ak ak . Ist f (a) = 0, so nennen wir a eine Nullstelle von f . In der Definition ist zu beachten, dass die Addition beim konkreten Einsetzen die Addition im Ring R sein muss. Das ist nicht anders, als man es von den ganzen, rationalen oder reellen Zahlen und von der Schule her kennt. Ein Aspekt ist übrigens bemerkenswert: Es ist offenbar (f + g)(a) = f (a) + g(a) und (f g)(a) = f (a)g(a), für alle f, g ∈ R[x] und alle a ∈ R. Zum Schluss dieses Abschnitts wollen wir noch zwei gute Gründe aufzeigen, warum wir zwar Polynomringe über Ringen definiert haben, uns dann aber vorwiegend mit Polynomringen über Körpern beschäftigt haben. Wir belegen mit Hilfe von zwei Beispielen (und ihren Begründungen), dass ansonsten nützliche und schöne Ergebnisse einfach nicht übertragbar wären.
2.3.16
86
2.3.17
2. Körper und Polynome
Beispiel 2.3.17 In einem allgemeinen Polynomring R[x] über einem Ring R
kann der Grad eines Polynoms f kleiner sein als die Anzahl der Nullstellen von f . Man kennt es aus R: Eine quadratische Gleichung hat höchstens zwei Lösungen, eine quadratische Funktion entsprechend höchstens zwei Nullstellen. Wir werden in Satz 2.3.22 zeigen, dass dies in jedem Polynomring gilt, falls der Koeffizientenbereich ein Körper ist. Doch für allgemeine Polynomringe gilt das Ergebnis nicht: Sei R = Z/6Z und f = (x − 2)(x − 3) ∈ R[x]. Dann ist f (1) = 2 = 0, also ist f = 0, aber f hat die Nullstellen 0, 2, 3 und 5. 2.3.18
Beispiel 2.3.18 In Z[x] gibt es keine Division mit Rest.
Wir müssen zunächst klären, was hier Division mit Rest bedeuten soll. Wir kennen bisher die Division mit Rest in Z und in einem Polynomring K[x] über einem Körper K. Dabei gilt stets, dass es zu jedem Paar a, b mit b = 0 Polynome r, s ∈ K[x] mit a = sb + r gibt so, dass r „klein“ im Verhältnis zu b ist. Das wird in Z durch den Betrag, in K[x] durch den Grad gemessen. Verallgemeinern kann man diese beiden Aspekte (also den Betrag und den Grad), wenn man den Abbildungsbegriff zu Hilfe nimmt: Es gibt stets eine Abbildung ϕ der von Null verschiedenen Elemente des Rings bzw. Polynomrings nach N0 mit der Eigenschaft, dass für a, b stets a = sb + r mit ϕ(r) < ϕ(b) oder r = 0 gilt. Unsere Aussage über Z[x] soll entsprechend bedeuten, dass es eine solche Abbildung nicht gibt. Nehmen wir an, eine Division mit Rest wäre in Z[x] möglich. Dann müsste auch Satz 2.3.12 erfüllt sein (warum?). Wir zeigen, dass dieser Satz in Z[x] nicht gilt und haben damit die Behauptung bewiesen. Eine kleine Vorbereitung ist dazu allerdings unvermeidlich. Wir werden ausnutzen, dass, falls wir eine Division mit Rest haben, je zwei Elemente in Z[x] einen größten gemeinsamen Teiler haben. Dieses Ergebnis haben wir bisher allerdings nicht bewiesen, und das wird nun nachgeholt. 2.3.19
Satz 2.3.19 Sei R ein Ring mit einer Division mit Rest bezüglich ϕ (wobei
diese Abbildung wie oben definiert ist). (a) Je zwei Elemente a und b aus R haben einen größten gemeinsamen Teiler. (b) Sind a, b ∈ R, so gibt es u, v ∈ R mit ggT(a, b) = ua + bv.
2.3
Polynome
87
Beweis 2.3.19 Die Behauptung unter (a) ist richtig, wenn a = 0 oder b = 0
ist. Sei also a = 0 und b = 0. Wir dividieren a durch b mit Rest. Dann ist a = bt1 + r1 mit ϕ(r1 ) < ϕ(b) oder r1 = 0. Ist r1 = 0, so dividieren wir anschließend b durch r1 mit Rest, also b = r1 t2 + r2 mit ϕ(r2 ) < ϕ(r1 ) oder r2 = 0. Danach fahren wir mit r1 und r2 fort. Da die ϕ-Werte immer kleiner werden, kommen wir irgendwann an einer Stelle mit dem Rest Null an und dann ist rn = tn+1 rn+1 . Wir behaupten, dass rn+1 ein größter gemeinsamer Teiler von a und b ist und beweisen die Behauptung durch Induktion nach n, also nach der Anzahl der Schritte. Ist r1 = 0, so ist b ein Teiler von a und damit auch ein größter gemeinsamer Teiler von a und b. Sei also r1 = 0. Dann besitzen per Induktion r1 und b einen größten gemeinsamen Teiler rn+1 . Dann ist aber auch rn+1 ein Teiler von a, da a = t1 b + r1 ist. Ist umgekehrt u ein Teiler von a und b, so ist u auch ein Teiler von r1 = a − t1 b. Also ist u ein Teiler von rn+1 , dem größten gemeinsamen Teiler von b und r1 . Damit ist rn+1 ein größter gemeinsamer Teiler von a und b; die Behauptung unter (a) folgt. Per Induktion gibt es u1 , v1 ∈ R mit rn+1 = u1 r1 + v1 b. Da a = bt1 + r1 ist, erhalten wir rn+1 = u1 (a − t1 b) + v1 b = u1 a + (v1 − t1 )b. Mit u = u1 und v = v1 − t1 bekommen wir nun (b). Wir wollten nun zeigen, dass es in Z[x] keine Division mit Rest gibt. Dazu genügt im Prinzip ein Gegenbeispiel. Wir betrachten konkret f, g ∈ Z[x] mit f = x3 − 1 und g = x2 − 5 und berechnen zunächst c = ggT(f, g). Der Beweis von Satz 2.3.19 beinhaltet insbesondere, dass wir mit dem euklidischen Algorithmus stets einen ggT(a, b) berechnen können. Wir wissen dann, dass ggT(x3 − 1, x2 − 5) als u(x3 − 1) + v(x2 − 5) mit u, v ∈ Z[x] geschrieben werden kann, falls Z[x] eine Division mit Rest hat. Angenommen, es ist x2 − 5 = (ax + b)(cx + d) = acx2 + (ad + bc)x + bd für gewisse a, b, c, d ∈ Z. Durch Koeffizientenvergleich bekommt man ac = 1, ad + bc = 0, bd = −5. Also ist a = c = ±1 (wir sind in Z!) und beide haben das gleiche Vorzeichen. Daher ist b + d = 0, also b = −d. Dann muss aber d2 = 5 sein und das geht nicht, weil 5 keine Quadratwurzel in Z hat.
88
2. Körper und Polynome
Somit kann man x2 − 5 nicht in Linearfaktoren zerlegen und das Polynom hat nur die Teiler ±1 und ±(x2 − 5). Nun könnte (x2 − 5) ein Teiler von x3 − 1 sein, also (x2 − 5)(ax + b) = x3 − 1 für gewisse a, b ∈ Z sein. In diesem Fall müsste dann aber −5b = −1 sein und auch das ist nicht möglich. Damit bleibt nur ggT(f, g) = 1. Sei also 1 = u(x3 − 1) + v(x2 − 5) für geeignete Polynome u, v ∈ Z[x]. Wir setzen 1 ein und bekommen 1 = u(1)(13 − 1) + v(1)(12 − 5) = −4v(1). Da v(1) ∈ Z ist, ist auch das nicht möglich. Es gibt also keine Division mit Rest in Z[x]. 2.3.3 Ein Weg zur Konstruktion endlicher Körper Wir haben in den letzten Abschnitten einige neue Fakten über Körper kennengelernt, sind aber in Bezug auf Beispiele noch nicht weitergekommen. Noch immer arbeiten wir mit den bekannten unendlichen Körpern Q, R und allenfalls C sowie mit den endlichen Körpern GF (p) (wobei p selbstverständlich Primzahl ist). Unser Ziel ist es nun, weitere Beispiele dadurch zu bekommen, dass wir aus einem Körper K neue Körper konstruieren. Dazu werden wir die Arithmetik in K[x] benutzen. Leider sind aber ein paar Vorarbeiten auch hier noch notwendig. 2.3.20
Seien K ein Körper, a ∈ K und f ∈ K[x]. Ist f (a) = 0, so ist x − a ein Teiler von f in K[x].
Satz 2.3.20
Beweis 2.3.20 Wir dividieren f durch (x−a) mit Rest. Dann ist f = (x−a)g+r mit g, r ∈ K[x] und grad r < grad (x − a) = 1. Also ist r ∈ K und somit 0 = f (a) = (a − a)g(a) + r = 0 + r. Es folgt f = (x − a)g und x − a ist somit Teiler von f .
Das Ergebnis kennt man insbesondere vom Rechnen mit reellen Zahlen und dort hat es eine praktische Anwendung. Sucht man die Nullstellen einer ganzrationalen Funktion, dann ist es manchmal sinnvoll, eine erste Nullstelle a durch Probieren zu bestimmen, dann mit Hilfe der Polynomdivision durch x − a zu teilen und so das Problem auf ein „kleineres“ zurückzuführen.
2.3
Polynome
89
Das Ergebnis kann man übrigens auch auf Z[x] übertragen. Da es aber in Z[x] keine Division mit Rest gibt, müssen wir einen neuen Beweis finden. Satz 2.3.21 Ist f ∈ Z[x] und k ∈ Z mit f (k) = 0, dann gibt es ein g ∈ Z[x] mit f = (x − k) · g.
2.3.21
Beweis 2.3.21 Da Q ein Körper ist, so gibt es nach Satz 2.3.20 ein g ∈ Q[x] n n−1 mit f = (x − k)g. Seien f = i=0 ai xi und g = i=0 bi xi . Ein Koeffizientenvergleich liefert bn−1 = an ∈ Z und allgemein ai = bi−1 − kbi ∈ Z für i < n. Ist also bi ∈ Z bereits gezeigt, so folgt auch bi−1 ∈ Z. Damit ist g ∈ Z[x].
Auch der folgende Satz beinhaltet einen aus Q bzw. R bekannten Sachverhalt, nämlich die Tatsache, dass eine ganz-rationale Funktion vom Grad n höchstens n Nullstellen hat. Diese Aussage wird hier auf einen beliebigen Körper verallgemeinert. Satz 2.3.22 Seien K ein Körper, f ∈ K[x] \ {0} und grad f = n. Dann ist
m =| {a | a ∈ K, f (a) = 0} |≤ n. Beweis 2.3.22 Wir beweisen die Aussage durch Induktion nach n = grad f .
Ist n = 0, so ist die Behauptung klar. In diesem Fall gibt es keine Elemente der gesuchten Art, weil f konstant, aber von 0 verschieden ist. Seien n > 0, a ∈ K und f (a) = 0. Nach Satz 2.3.20 ist f = (x − a) · g mit grad g = (grad f ) − 1. Wegen der Induktionsannahme („die Behauptung gilt für alle Polynome vom Grad kleiner als n“) ist | {b | b ∈ K, g(b) = 0} |≤ n − 1. Sei nun b = a mit f (b) = 0. Dann ist 0 = f (b) = (b − a)g(b). Also ist g(b) = 0. Somit ist m =| {a | a ∈ K, f (a) = 0} |≤| {b | b ∈ K, g(b) = 0} | +1 ≤ n, denn die Mengen {a | a ∈ K, f (a) = 0} und {b | b ∈ K, g(b) = 0} unterscheiden sich höchstens um das Element a.
2.3.22
90
2. Körper und Polynome
In der folgenden Definition wird nun ein weiterer Begriff übertragen, den wir vom Rechnen in Z kennen, wenn auch nicht unbedingt bereits aus der Schule. Wir legen fest, was wir unter kongruenten Polynomen verstehen wollen. Damit verbunden ist (ganz wie in Z auch) der Begriff der Kongruenzklasse. 2.3.23
Definition 2.3.23 Sei K[x] der Polynomring über einem Körper K und seien p, q, f ∈ K[x] mit f = 0. Dann heißen die Polynome p und q kongruent modulo f , falls f ein Teiler von p − q ist. Man schreibt p ≡ q (mod f ). Mit K[x]/f K[x] bezeichnet man die Menge der Kongruenzklassen modulo f , also die Menge aller q + f K[x] = {q + f h | h ∈ K[x]}, wobei q ∈ K[x] ist.
Diese Kongruenzklassen haben nun eine besondere Bedeutung, denn unter gewissen Umständen bilden auch sie Körper. Eine Bedingung gibt der nächste Satz. 2.3.24
Satz 2.3.24 Seien K ein Körper und f ∈ K[x] ein irreduzibles Polynom. Dann ist K[x]/f K[x] ein Körper. Beweis 2.3.24 Offenbar ist wie im Fall von Z/pZ (für eine Primzahl p) nur
zu zeigen, dass jedes von Null verschiedene Element ein Inverses hat (man vergleiche Beispiel (d) auf Seite 61). Alle andere Eigenschaften (und das sind die üblichen Ringeigenschaften) folgen problemlos aus der Definition bzw. weil sie in K[x] ohnehin erfüllt sind. Sei also q + f K[x] ∈ K[x]/f K[x] von 0 verschieden und so gewählt, dass q ein Rest bei Division durch f ist. Insbesondere können wir grad q < grad f annehmen. Damit ist f kein Teiler von q, und da f irreduzibel ist, folgt ggT(f, q) = 1. Nach Satz 2.3.12 gibt es dann u, v ∈ K[x] mit f u + qv = 1. Damit rechnet man (unter Anwendung der Rechenregeln für Kongruenzklassen) (q + f K[x])(v + f K[x]) = qv + f K[x] = qv + f u + f K[x] = 1 + f K[x]. Also ist v + f K[x] das Inverse zu q + f K[x] in K[x]/f K[x].
2.3
Polynome
91
Wahrscheinlich wirkt das alles recht abstrakt, doch kann man sich die Grundprinzipien der Betrachtung an konkreten Beispielen leicht klar machen. Wir beschränken uns auf endliche Körper mit einer kleinen Anzahl von Elementen und Kongruenzklassen in Bezug auf Polynome von kleinem Grad. Der Vorteil ist, dass man dann die als Restklassen in Frage kommenden Mengen von Polynomen leicht vollständig aufzählen kann. Das hilft hoffentlich noch einmal beim Verständnis von Satz 2.3.24. Dieser Satz macht allerdings keine Einschränkungen in Bezug auf den Körper K und gilt somit auch für Q oder R oder C und entsprechende irreduzible Polynome. Beispiel 2.3.25 (a) Sei K = GF (3)[x]/(x2 −2)GF (3)[x] und g ∈ GF (3)[x]. Wir
dividieren g durch x2 − 2 mit Rest r. Dann ist grad r ≤ 1. Also entsprechen die Restklassen den Polynomen vom Grad ≤ 1 und das sind 0, 1, 2, x, x + 1, x + 2, 2x, 2x + 1, 2x + 2. Somit ist | GF (3)[x]/(x2 − 2)GF (3)[x] |= 9. Also ist K ein Körper mit 9 Elementen, falls x2 − 2 irreduzibel ist. Dazu genügt es zu zeigen, dass x2 − 2 keine Nullstelle in GF (3) hat (warum ?). Jetzt wird es einfach und übersichtlich, denn wir müssen nur 0, 1 und 2 einsetzen und bekommen die Gültigkeit der Behauptung. (b) Wir betrachten (ganz ähnlich) K = GF (2)[x]/(x2 + x + 1)GF (2)[x]. Die Restklassen entsprechen hier den Polynomen 0, 1, x, x + 1, und K ist ein Körper mit 4 Elementen, falls x2 + x + 1 irreduzibel ist. Hier ist es noch einfacher, da wir nur 0 und 1 einsetzen müssen, was jeweils den Wert 1 liefert. Offensichtlich haben wir gerade eben ganz konkrete und relativ einfache endliche Körper konstruiert, die dennoch keine Primkörper sind. Das ist ein erster Erfolg, den wir ausbauen können. Die Beispiele sind offensichtlich unschwer zu verallgemeinern. Im Grunde sieht es so aus, als könne man sich ganz entsprechend Körper zu jeder Primzahl p und jedem n ∈ N basteln. Die einzelnen Elemente werden immer die Form 0, 1, . . . , p − 1 bzw. x, x + 1, . . . , x + (p − 1) bzw. 2x, 2x + 1, . . . , 2x + (p − 1) usw. haben (wobei natürlich der Grad größer als 1 werden darf ). Der folgende Satz nimmt genau diesen Sachverhalt auf.
2.3.25
92
2.3.26
2. Körper und Polynome
Satz 2.3.26
Ist f ∈ GF (p)[x] und f irreduzibel vom Grad n, so ist GF (p)[x]/f GF (p)[x]
ein Körper mit pn Elementen. Beweis 2.3.26 Wie in den beiden Beispielen (siehe Seite 91) identifizieren wir GF (p)[x]/f GF (p)[x] mit den Polynomen vom Grad ≤ n − 1, also den Polyn−1 nomen f = i=0 ai xi mit ai ∈ GF (p). Für jedes ai gibt es p Möglichkeiten. Somit gibt es genau pn viele solche Polynome.
Das sieht gut aus, dennoch haben wir mit dem Beweis von Satz 2.3.26 noch nicht die Existenz eines Körpers mit pn Elementen gezeigt. Sie ist nämlich nur dann gewährleistet, wenn es über GF (p) stets ein irreduzibles Polynom vom Grad n gibt. Nur dann bekommt man unter Anwendung von Satz 2.3.26 den gewünschten Körper. Konkret war das in den Beispielen einfach, im Allgemeinen ist es allerdings eher mühselig, ein irreduzibles Polynom mit einem gegebenen Grad zu identifizieren. 2.3.4 Noch einmal: Konstruktion endlicher Körper Wir wollen in diesem Abschnitt eine weitere Methode kennenlernen, wie man einen endlichen Körper K mit pn Elementen finden kann. Dabei wird es jetzt ein wenig abstrakt, aber lassen Sie sich einfach Zeit, die Mühe lohnt sich auf jeden Fall. Ganz konkret geht es darum, den folgenden Satz zu beweisen. 2.3.27
Für jede Primzahl p und jede natürliche Zahl n gibt es einen Körper K mit |K| = pn . Satz 2.3.27
Der Beweis soll dieses Mal nicht ganz linear entwickelt werden. Zu viele Gedanken müssen erst einmal motiviert und gestützt werden. Damit fangen wir n i nun an. Wir betrachten ein Polynom f = i=0 ai x , das irreduzibel über GF (p) sein soll. Sei außerdem K = GF (p)[x]/f GF (p)[x]. So weit, so gut, genau das war bisher unsere Ausgangslage. Wir ändern jetzt aber die Sichtweise. Wir können nämlich f auch als ein Polynom über K n auffassen, also f = i=0 ai y i ∈ K[y] betrachten (wobei uns zugute kommt, dass x keine besondere Bedeutung hat und genauso gut y genannt werden kann).
2.3
Polynome
93
Aus dieser Sicht ist dann f ≡ 0 (mod f ), sodass für f als Polynom über K das Element x + f GF (p)[x] ∈ K eine Nullstelle ist. Setzen wir dieses Element ein, so erhalten wir nämlich n n i i i=0 ai (x + f GF (p)[x]) = ( i=0 ai x ) + f GF (p)[x] = f + f GF (p)[x] = f GF (p)[x] = 0. Insbesondere ist f nicht mehr irreduzibel über K, falls nicht grad f ≤ 1 war (das besagt Satz 2.3.20). Diesen Sachverhalt kann man verallgemeinern. Das Ziel dabei ist, einen Körper F so zu bestimmen, dass unser Polynom in F [x] in Linearfaktoren zerlegt werden kann. Wie so oft hilft dabei eine induktive Argumentation. Sei also g ein Polynom über einem Körper F und g = f1 . . . fr eine Zerlegung in irreduzible Polynome F [x]. Sind alle diese Polynome vom Grad kleiner oder gleich 1, dann sind wir fertig. Sei also f1 nicht linear. Wir setzen K1 = F [x]/f1 F [x] und betrachten g als ein Polynom über K1 . Sei (1)
(1)
g = f1 · · · ft
die Zerlegung von g in irreduzible Polynome über K1 . Wir wissen (so ganz allgemein) nicht viel über diese Zerlegung, aber wir können die Nummerie(1) rung so wählen, dass f1 linear ist, da ja f1 eine Nullstelle in K1 hat. Also (1) ist g = f1 g1 mit grad g1 < grad g. Mit einer Induktion nach dem Grad gibt es nun einen Körper K, der K1 (1) enthält und so, dass g1 in K[x] in Linearfaktoren zerfällt. Da g = f1 g1 ist, zerfällt dann auch g in K[x] in Linearfaktoren. Wir nennen K Zerfällungskörper von g. n
Seien nun F = GF (p)[x] und g = xp − x. Sei außerdem K der eben kon˜ mit |K| ˜ = pn enthält. struierte Körper. Wir zeigen, dass K einen Körper K Dazu setzen wir ˜ = {a | a ∈ K, g(a) = 0}. K ˜ ein Körper ist. Zunächst ist 0pn = 0 und Man kann leicht zeigen, dass K n ˜ und 1 ∈ K. ˜ 1p = 1, also g(0) = g(1) = 0 und somit 0 ∈ K
94
2. Körper und Polynome
˜ so ist Sind a, b ∈ K, n
g(a + b) = (a + b)p − (a + b) = (a + b) − (a + b) = 0, denn nach Satz 2.2.8 ist n
n
n
(a + b)p = ap + bp = a + b. Genauso rechnet man n
n
n
(ab)p = ap bp = ab und somit g(ab) = 0. ˜ auch die Summe und das Produkt der beiden Elemente Also sind mit a, b ∈ K ˜ Alle Körperaxiome in Bezug auf K ˜ folgen sofort, weil K ein Körper ist. aus K. Nach Satz 2.3.22 ist ˜ ≤ pn . |K| ˜ < pn genau dann, wenn es ein Da g in K in Linearfaktoren zerfällt, ist |K| a ∈ K mit (x − a)2 | g gibt. Es bleibt also zu zeigen, dass g keine doppelten Nullstellen enthält (und das wird sofort geschehen). Sieht man allerdings großzügig von dieser Lücke ab, dann haben wir Satz 2.3.27 bewiesen. Wir wollen nun ein Kriterium entwickeln, mit dem man entscheiden kann, ob ein Polynom mehrfache Nullstellen hat, ohne sie zu berechnen. Sei K ein Körper, sei g ∈ K[x] mit g = g =
k
k i=0
ai xi . Wir setzen
iai xi−1 .
i=0
Hierbei bedeutet iai wie üblich, dass das Körperelement ai genau i-mal aufsummiert wird. Damit ist eine Abbildung „ “ definiert, deren Eigenschaften wir betrachten.
2.3
Polynome
95
Zunächst einmal ist diese Abbildung „ “ additiv, denn aus der Definition folgt (f + g) = f + g . Wie sieht nun (f g) aus? Wir bestimmen hier zunächst (xr g) und rechnen k k ai xi+r ) = ai (i + r)xi+r−1 . (xr g) = ( i=0
i=0
Das liefert (wie man unschwer nachrechnen kann) (xr g) = rxr−1 g + xr g . t k Nun gilt allgemein für die Polynome g = i=0 ai xi und f = j=0 bj xj , die Gleichung t t t bj xj g) = bj (xj g) = bj (jxj−1 g + xj g ) = f g + f g . (f g) = ( j=0
i=0
j=0
Sei (x − a)2 ein Teiler von g. Dann ist g = (x − a)2 f für ein geeignetes f ∈ K[x]. Also ist g = 2(x − a)f + (x − a)2 f . Man bekommt damit (x − a) | g . Insbesondere ist ggT(g, g ) = 1. Wollen wir feststellen, ob ein Polynom g eine doppelte Nullstelle in einem Zerfällungskörper hat, so berechnen wir (etwa mit Hilfe des euklidischen Algorithmus) ggT(g, g ). Ist ggT(g, g ) = 1, so hat g keine doppelte Nullstelle. Sei also ggT(g, g ) = c = 1 und a eine Nullstelle von c. Dann ist g(a) = 0 = g (a). Nun ist g = (x − a)h, also g = (x − a)h + h. Entsprechend folgt aus g (a) = 0 sofort h(a) = 0. Damit ist x − a ein Teiler von h und ˜ mit h ˜ ∈ K[x]. g = (x − a)2 h Diese Überlegungen können wir im folgenden Satz zusammenfassen. Satz 2.3.28 Sei g ∈ K[x], wobei K ein Körper ist. Dann hat g genau dann keine doppelte Nullstelle in einem Zerfällungskörper, wenn ggT(g, g ) = 1 ist.
2.3.28
96
2. Körper und Polynome
Satz 2.3.28 bietet in der Tat eine Möglichkeit zu entscheiden, ob ein Polynom doppelte Nullstellen in einem Zerfällungskörper hat, ohne die Nullstellen oder den Zerfällungskörper überhaupt zu kennen. n
Wir wollen nun Satz 2.3.28 auf das Polynom g = xp − x ∈ GF (p)[x] anwenden. Es ist (xp − x) = pn xp n
n
−1
− 1 = −1 = 0.
Also ist ggT(g, g ) = 1. Damit hat g nach Satz 2.3.28 keine doppelte Null˜ = pn . Somit ist Satz 2.3.27 vollständig bewiesen. stelle, d. h. |K|
2.4
2.4 Automorphismen Manche Abbildungen haben eine (aus mathematischer Sicht) wunderbare Eigenschaft: Man kann sie entweder auf zwei Elemente anwenden und dann die Ergebnisse verknüpfen oder erst die beiden Elemente verknüpfen und dann die Abbildung anwenden und bekommt immer dasselbe Ergebnis. Betrachtet man etwa die Abbildung f : Z → Z mit f (z) = az für irgendein a ∈ Z, dann ist f (x + y) = a(x + y) = ax + ay = f (x) + f (y). Leider kann man dies nicht auf die Multiplikation übertragen, denn für eine ganze Zahl a ∈ / {0, 1} ist f (xy) = axy = ax · ay = f (x) · f (y). Falls die genannte Eigenschaft aber für beide Operationen gilt, dann bekommen Abbildungen dieser Art einen Namen.
2.4.1
Definition 2.4.1 Seien R1 , R2 Ringe. Eine Abbildung ϕ : R1 → R2 mit
ϕ(r + s) = ϕ(r) + ϕ(s) und ϕ(rs) = ϕ(r)ϕ(s) für alle r, s ∈ R1 nennen wir Homomorphismus oder auch Ringhomomorphismus von R1 nach R2 . Ist diese Abbildung zusätzlich bijektiv, so nennen wir sie Isomorphismus zwischen R1 und R2 . Ist ϕ ein Isomorphismus und gilt zusätzlich R1 = R2 , so heißt ϕ Automorphismus.
2.4
Automorphismen
97
Zu beachten ist dabei, dass die Verknüpfungen entweder in R1 erfolgen, und dann erst die Abbildung ϕ angewendet wird, oder aber zunächst die Bilder unter ϕ erzeugt werden und die Verknüpfungen danach in R2 durchgeführt werden. Beispiel 2.4.2 (a) Betrachten wir den allereinfachsten Fall: Wenn R1 = R2 = Z und ϕ die Identität ist, dann ist ϕ ein Homomorphismus (und sogar ein Automorphismus). Kein Problem, oder?
(b) Wenn R1 = Z, R2 = Q und ϕ die Identität ist, dann ist auch in diesem Fall ϕ ein Homomorphismus. Das Beispiel ist genauso einfach wie das erste, hat aber einen kleinen Kick, wenn man es im Kontext der Zahlbereichserweiterung von Z auf Q betrachtet. Dann ist es nämlich durchaus der Überlegung wert, ob eine solche Erweiterung homomorph passieren kann, sich also die Rechenoperationen problemlos auf den „größeren“ Ring (bzw. hier sogar auf den Körper) übertragen lassen. Man spricht dann von einer isomorphen Einbettung, da ja zwischen geeigneten Teilmengen ein Isomorphismus definiert werden kann. (c) Die Abbildung ϕ : Z → Z/8Z mit ϕ(n) = (1 + 1 + . . . + 1) + 8Z
n−mal
ist ein Ringhomomorphismus. Offensichtlich ist ϕ(1) = 1 + 8Z. Man rechnet außerdem für n, m ∈ Z ϕ(n+m) = (1 + 1 + . . . + 1)+8Z = ((1 + 1 + . . . + 1)+8Z)+((1 + 1 + . . . + 1)+8Z)
(n+m)−mal
n−mal
m−mal
= ϕ(n) + ϕ(m)
und entsprechend ϕ(n · m) = (1 + 1 + . . . + 1) + 8Z = ((1 + 1 + . . . + 1) + 8Z) · ((1 + 1 + . . . + 1) + 8Z)
(n·m)−mal
n−mal
m−mal
= ϕ(n) · ϕ(m).
Beide Beziehungen ergeben sich direkt aus dem Rechenregeln für Kongruenzen.
2.4.2
98
2. Körper und Polynome
(d) Ganz offensichtlich kann man im Beispiel (c) den Ring Z/8Z durch jeden beliebigen Restklassenring ersetzen. Die Abbildung ϕ : Z → Z/kZ mit ϕ(n) = (1 + 1 + . . . + 1) + kZ
n−mal
ist also für alle natürlichen Zahlen k > 1 ein Ringhomomorphismus. In einem Ring gibt es besondere Elemente 0 und 1. Wir betrachten die Bilder unter Homomorphismen. 2.4.3
Lemma 2.4.3 Seien R1 , R2 Ringe und τ : R1 → R2 ein Homomorphismus.
Dann gilt: (a) τ (0) = 0. (b) Hat R2 keine Nullteiler und gibt es ein a ∈ R1 mit τ (a) = 0, so ist τ (1) = 1. Beweis 2.4.3 (a) Für alle a ∈ R1 ist τ (a) = τ (a + 0) = τ (a) + τ (0), also gilt
τ (0) = 0. (b) Sei a ∈ R1 mit τ (a) = 0 und weiter 1 das Einselement von R1 . Es ist τ (a) = τ (1a) = τ (1)τ (a). Das liefert 0 = (1−τ (1))τ (a). Da R2 keine Nullteiler hat, ist also 0 = τ (1) − 1 und somit τ (1) = 1. Eine besondere Rolle spielen die Elemente des Rings R1 , die unter einem Homomorphismus ϕ : R1 → R2 auf das Nullelement abgebildet werden, bzw. die Elemente des Ring R2 , die unter einem Homomorphismus ϕ : R1 → R2 als Bilder auftreten. Beide Teilmengen bekommen daher in der folgenden Definition einen eigenen Namen. 2.4.4
Definition 2.4.4 Seien R1 , R2 Ringe und ϕ : R1 → R2 ein Homomorphismus.
Wir setzen Kern (ϕ) = {r1 ∈ R1 | ϕ(r1 ) = 0} und nennen diese Menge den Kern der Abbildung ϕ. Die Menge Bild (ϕ) = {r2 ∈ R2 | es gibt r1 ∈ R1 mit ϕ(r1 ) = r2 } heißt das Bild der Abbildung ϕ.
2.4
Automorphismen
99
Beispiel 2.4.5 (a) Fangen wir wieder ganz einfach an: Wenn R1 = R2 = Z
2.4.5
und ϕ die Identität ist, dann ist Kern (ϕ) = {0} und Bild (ϕ) = Z. Das ist (wirklich) trivial. (b) Wenn R1 = Z, R2 = Q und ϕ die Identität ist, dann gilt ebenfalls Kern (ϕ) = {0} und Bild (ϕ) = Z. In diesem Fall ist also Bild (ϕ) eine echte Teilmenge von R2 = Q. (c) Sei ϕ : Z → Z/8Z durch ϕ(n) = (1 + 1 + . . . + 1) + 8Z
n−mal
gegeben. Dann ist Kern (ϕ) = {. . . , −24, −16, −8, 0, 8, 16, 24, 32, . . .} die Menge aller Vielfachen von 8 und Bild (ϕ) = Z/8Z. (d) Sei ϕ : Z → Z/kZ für die natürliche Zahl k > 1 durch ϕ(n) = (1 + 1 + . . . + 1) + kZ
n−mal
gegeben. Dann ist Kern (ϕ) = {. . . , −3k, −2k, −k, 0, k, 2k, 3k, . . .} die Menge aller Vielfachen von k und Bild (ϕ) = Z/kZ. Ringhomomorphismen erhalten gewisse strukturelle Merkmale und genau darin steckt ihre wesentliche Bedeutung. Besonders interessant wird es aber, wenn eine Abbildung sogar ein Isomorphismus ist. In diesem Fall kann man die beiden Ringe fast als gleich ansehen, denn alle wesentlichen Eigenschaften entsprechen einander. Insbesondere überträgt ein Isomorphismus alle Eigenschaften eines Körpers. Der Beweis des folgenden Satzes zeigt es. Satz 2.4.6 Seien K ein Körper, R ein Ring und τ : K → R ein Isomorphismus.
Dann ist auch R ein Körper. Beweis 2.4.6 Wir müssen nur zeigen, dass jedes von Null verschiedene Ele-
ment aus R ein Inverses bezüglich der Multiplikation in R hat. Die Kommutativität folgt aus der Tatsache, dass τ ein Isomorphismus ist. Alle anderen Eigenschaften sind in einem Ring ohnehin erfüllt. Dazu zeigen wir zunächst, dass R keine Nullteiler hat, d. h. dass aus ab = 0 stets a = 0 oder b = 0 folgt, und geben dann zu einem beliebigen b ∈ R sein multiplikatives Inverses an.
2.4.6
100
2. Körper und Polynome
Nach Lemma 2.4.3 ist τ (0) = 0. Seien nun r, s ∈ R mit rs = 0. Da τ surjektiv ist, gibt es p, q ∈ K mit τ (p) = r und τ (q) = s. Also ist τ (pq) = rs = 0. Nun ist τ aber auch injektiv, also muss pq = 0 sein. Da K ein Körper ist, folgt p = 0 oder q = 0, also τ (p) = r = 0 oder τ (q) = s = 0 und R kann somit keine Nullteiler haben. Sei a ∈ K mit τ (a) = 0, was es wegen der Injektivität gibt. Nach Lemma 2.4.3 ist τ (1) = 1. Sei b ∈ R mit b = 0. Dann gibt es wegen der Surjektivität von τ ein a = 0 mit τ (a) = b. Da K ein Körper ist, hat a ein multiplikatives inverses Element a−1 ∈ K. Damit rechnet man 1 = τ (1) = τ (aa−1 ) = τ (a)τ (a−1 ) = bτ (a−1 ). Also ist τ (a−1 ) ein Inverses von b in R und R ist ein Körper. 2.4.7
Satz 2.4.7 Seien K ein Körper und k ein Teilkörper von K. Sei p ein irreduzibles Polynom aus k[x] und a eine Nullstelle von p in K. Sei schließlich L der kleinste Unterkörper von K, der a und k enthält, d.h. der Durchschnitt aller Unterkörper von K, die a und k enthalten. Dann ist
L={
n−1
ci ai | ci ∈ k}
i=0
mit n = grad p. Beweis 2.4.7 Wir setzen n−1
U ={
ci ai | ci ∈ k}.
i=0
Dann ist offensichtlich U ⊆ L. Sei nun p = xn −
n−1
bi xi
i=0
für gewisse bi ∈ k. Da a eine Nullstelle von p in K ist, gilt an =
n−1
bi ai .
i=0
Damit lässt sich an durch niedrige Potenzen ausdrücken. Man kann entsprechend U in etwas anderer Form schreiben, weil sich höhere Potenzen von a (konkret: größer oder gleich n) durch niedrigere ersetzen lassen: m U ={ ci ai | ci ∈ k, m ∈ N0 }. i=0
2.4
Automorphismen
101
In der Konsequenz heißt das, dass Summen und Produkte von Elementen aus U wieder in U liegen. Damit ist U ein Ring. Wir definieren nun eine Abbildung σ : k[x] → U durch σ(f ) = f (a). Dies ist die Einsetzung wie in Definition 2.3.18. Mit der auf diese Definition folgenden Bemerkung sieht man, dass σ ein Homomorphismus und U = Bild (σ) ist. Sei f ∈ Kern (σ). Dann ist insbesondere f (a) = 0. Für ein solches f gilt jetzt ggT(p, f ) = p. Einerseits ist nämlich das Polynom p irreduzibel, was die Möglichkeiten für den ggT so einschränkt, dass nur die Fälle ggT(p, f ) = p und ggT(p, f ) = 1 in Frage kommen. Andererseits gibt es nach Satz 2.3.12 geeignete u, v ∈ k[x] so, dass ggT(p, f ) = uf + vp ist. Da nun aber f (a) = 0 und p(a) = 0 ist, folgt ggT(p, f )(a) = 0 und der Fall ggT(p, f ) = 1 ist daher nicht möglich. Also gilt ggT(p, f ) = p und p ist ein Teiler von f . Also ist Kern (σ) ⊆ {pq | q ∈ k[x]} = pk[x]. Nun ist aber σ(pq) = p(a)q(a) = 0 für alle Polynome q ∈ k[x]. Das liefert Kern (σ) = pk[x], denn alle Vielfachen von p bilden a auf 0 ab. Da p irreduzibel ist, ist k[x]/pk[x] nach Satz 2.3.24 ein Körper. Wir betrachten die Zuordnung τ : k[x]/pk[x] → U , die durch τ (f + pk[x]) = σ(f ) = f (a) definiert ist und zeigen zunächst, dass τ eine Abbildung ist, also jedem Element aus k[x]/pk[x] durch τ eindeutig ein Element aus U zugeordnet wird. Ist nämlich f + pk[x] = f1 + pk[x], dann ist f1 = f + pv, v ∈ k[x]. Also ist σ(f1 ) = σ(f + pv) = σ(f ) + σ(p)σ(v) = f (a) + p(a)v(a) = f (a) = σ(f ). Damit ist τ eine Abbildung und da σ ein Homomorphismus ist, muss auch τ ein Homomorphismus sein. Es gilt Bild (τ ) = Bild (σ) = U , also ist die Abbildung τ surjektiv. Darüber hinaus ist τ auch injektiv. Sei dazu nämlich τ (f + pk[x]) = τ (f1 + pk[x]), so folgt f (a) = f1 (a) und damit (f − f1 )(a) = 0. Dann ist f − f1 ∈ Kern (σ) = pk[x], also f + pk[x] = f1 + pk[x]. Folglich ist τ bijektiv und so insbesondere ein Isomorphismus. Mit Satz 2.4.6 folgt, dass U ein Körper ist. Da a ∈ U ist, muss U = L sein.
102
2. Körper und Polynome
Den Körper L aus Satz 2.4.7 bezeichnen wir mit k(a). 2.4.8
Definition 2.4.8 Seien K ein Körper und k1 , k2 ⊆ K Teilkörper von K. Sei weiter σ : k1 → k2 ein Isomorphismus. Ist
p=
n
ai xi ∈ k1 [x]
i=0
ein Polynom, so setzt man σ(p) =
n
σ(ai )xi ∈ k2 [x].
i=0
2.4.9
Seien K ein Körper und k1 , k2 ⊆ K Teilkörper von K. Es sei σ : k1 → k2 ein Isomorphismus. Sei weiter
Satz 2.4.9
p=
n
ai xi ∈ k1 [x]
i=0
ein irreduzibles Polynom. Wir setzen p1 = σ(p) ∈ k2 [x]. Seien u, u1 ∈ K mit p(u) = p1 (u1 ) = 0. Dann gibt es einen Isomorphismus τ von k1 (u) nach k2 (u1 ) mit τ (u) = u1 , der σ fortsetzt. Beweisidee 2.4.9 Der Beweis ist konstruktiv und gibt die gesuchte Abbildung τ zunächst einfach an. Das ist nicht schwierig, denn der Satz nennt ja alle gewünschten Randbedingungen. Es wird dann nachgewiesen, dass die gewählte Definition vernünftig („wohldefiniert“) ist, es sich um einen Homomorphismus handelt und die Bijektivität gegeben ist. Die einzelnen Schritte sind dann eigentlich nur noch technischer Art. Beweis 2.4.9 Nach Satz 2.4.7 ist n−1
k1 (u) = {
bj ui | bi ∈ k1 }.
i=0
Sei nun v ∈ k1 (u). Dann ist v=
n−1 i=0
bi ui mit geeigneten bi ∈ k1 .
2.4
Automorphismen
103
Wir definieren eine Abbildung τ : k1 (u) → k2 (u1 ) durch τ (v) =
n−1
σ(bi )ui1
i=0
und weisen nach, dass τ ein Isomorphismus ist. Zunächst wollen wir zeigen, dass τ wohldefiniert ist. Sei also n−1
bi u i =
i=0
n−1
ci ui
i=0
für gewisse bi , ci ∈ k1 . Dann ist n−1
(bi − ci )ui = 0,
i=0
und u ist eine Nullstelle von f=
n−1
(bi − ci )xi .
i=0
Wegen der Voraussetzung p(u) = 0 ist u damit auch eine Nullstelle von ggT(f, p). Also ist ggT(f, p) = 1. Da p irreduzibel ist, ist dann ggT(f, p) = p und p ist ein Teiler von f . Es ist aber grad f < grad p, was f = 0 bedingt und damit ci = bi für i = 0, . . . , n − 1. Die Abbildung τ ist also wohldefiniert. Seien n−1 n−1 bi ui und v2 = ci ui v1 = i=0
i=0
zwei beliebige Elemente in k1 (u). Dann gilt τ (v1 ) + τ (v2 ) = =
n−1 i=0 n−1
σ(bi )ui1
+
n−1
σ(ci )ui1
i=0
(σ(bi ) + σ(ci ))ui1 =
i=0 n−1
= τ(
i=0
n−1
σ(bi + ci )ui1
i=0
(bi + ci )ui ) = τ (v1 + v2 )
104
2. Körper und Polynome
und n−1
τ (v1 )τ (v2 ) = ( =
n−1
σ(bi )ui1 )(
i=0 2n−2 i
σ(ci )ui1 )
i=0
σ(bj )σ(ci−j )ui1
i=0 j=0
=
2n−2
i σ( bj ci−j )ui1
i=0
j=0
n−1
= τ ((
n−1
bi ui )(
i=0
ci ui )) = τ (v1 v2 ).
i=0
Also ist τ ein Homomorphismus. Wir zeigen nun, dass auch p1 irreduzibel ist. Sei dazu p1 = f1 f2 mit Polynot s men f1 = i=0 bi xi und f2 = i=0 ci xi aus k2 [x]. Seien ˜bi und c˜i Urbilder ci ) = ci , i = 1, . . . , s. von bi und ci unter σ, also σ(˜bi ) = bi , i = 1, . . . , t und σ(˜ t s Wir setzen f˜1 = i=0 ˜bi xi und f˜2 = i=0 c˜i xi . Dann ist σ(f˜j ) = fj , j = 1, 2. Also ist p = f˜1 f˜2 . Da σ ein Isomorphismus ist, folgt grad fj = grad f˜j , j = 1, 2. Aber p ist irreduzibel, also können wir annehmen, dass f˜1 vom Grad 0 ist. Dann ist auch f1 vom Grad 0 und p1 ist irreduzibel. Es folgt, dass τ injektiv ist (und das ist klar, es geht nämlich genauso wie oben). Weiter ist σ = τ|k1 und τ (u) = u1 . Es bleibt zu zeigen, dass τ surjektiv ist. Da p1 ∈ k2 [x] irreduzibel ist, ist nach Satz 2.4.7 n−1
k2 (u1 ) = {
αi ui1 | αi ∈ k2 }.
i=0
Sei also d ∈ k2 (u1 ). Dann gibt es αi ∈ k2 mit d=
n−1
αi ui1 .
i=0
Wir wählen nun bi ∈ k1 mit σ(bi ) = αi für i = 0, . . . , n − 1 und das ist n−1 möglich, weil σ surjektiv ist. Damit ist aber d = τ ( i=0 bi ui ) und τ ist ein Isomorphismus.
2.4
Automorphismen
105
Satz 2.4.10 Sei K ein Körper, seien k1 , k2 ⊆ K Teilkörper von K und sei
σ : k1 → k2 ein Isomorphismus. Sei p=
n
ai xi ∈ k1 [x]
i=0
und p˜ =
n
σ(ai )xi ∈ k2 [x].
i=0
s t In K[x] sei p = i=1 (x − ui )ni und p˜ = i=1 (x − vi )mi , wobei u1 , . . . , us die Nullstellen von p in K und v1 , . . . , vt die Nullstellen von p˜ in K sind. Sei K1 = k1 (u1 , . . . , us ) der kleinste Teilkörper von K, der k1 und u1 , . . . , us enthält, und entsprechend K2 = k2 (v1 , . . . , vt ) der kleinste Teilkörper von K, der k2 und v1 , . . . , vt enthält. Dann läßt sich σ zu einem Isomorphismus θ : K1 → K2 fortsetzen. Beweis 2.4.10 Sei n = grad p. Wir beweisen die Behauptung durch Induktion nach n. Sei dazu r bi xi f= i=0
ein irreduzibler Teiler von p in k1 [x]. Wir setzen q=
r
σ(bi )xi ∈ k2 [x].
i=0
Dann ist offenbar q ein Teiler von p˜. Sei u1 eine Nullstelle von f und v1 eine von q. Nach Satz 2.4.9 gibt es eine Fortsetzung zu einem Isomorphismus τ : k1 (u1 ) → k2 (v1 ) von σ so, dass τ (u1 ) = v1 ist. In k1 (u1 )[x] gilt p = (x − u1 )
n−1
ci xi
i=0
und p˜ = (x − τ (u1 ))
n−1
τ (ci )xi mit geeigneten ci ∈ k1 (u1 ).
i=0
Wir setzen g1 =
n−1 i=0
ci xi , g2 =
n−1 i=0
τ (ci )xi .
2.4.10
106
2. Körper und Polynome
Dann ist K1 = k1 (u1 )(u2 , . . . , us ) und K2 = k2 (v1 )(v2 , . . . , vt ). Per Induktion, da grad g1 < n ist, gibt es eine Fortsetzung zu einem Isomorphismus θ von τ mit θ : K1 → K2 . 2.4.11
Satz 2.4.11 Sei p ∈ Q[x] ein irreduzibles Polynom. Seien u1 , . . . , us die Nullstellen von p in C und Q(u1 , . . . , us ) der kleinste Teilkörper von C, der u1 , . . . , us enthält. Dann gibt es Automorphismen τi von Q(u1 , . . . , us ) mit τi (u1 ) = ui (i = 1, . . . , s). Beweis 2.4.11 Wir wenden Satz 2.4.9 an und setzen k1 = k2 = Q und σ = id. Man beachte nun, dass jedes Polynom in C[x] in Linearfaktoren zerfällt. Also gibt es Isomorphismen σi : Q(u1 ) → Q(ui ) für i = 1, . . . , s. Nach Satz 2.4.10 gibt es jeweils eine Fortsetzung zu Isomorphismen τi von σi mit
τi : Q(u1 )(u2 , . . . , us ) → Q(ui )(u1 , . . . , ui−1 , ui+1 , . . . , us ). Es ist τi (u1 ) = ui . Bemerkung. Wir haben in diesem Kapitel gesehen, dass sich Z und K[x] (wobei K ein Körper ist) sehr ähnlich verhalten. In beiden Fällen gibt es eine eindeutige Primfaktorenzerlegung. Wir haben uns auch überlegt, dass dies eigentlich nur an der Existenz einer Division mit Rest liegt. Diese Sichtweise ist für eine weitere Abstraktion nützlich. Man kann nämlich ganz allgemein nullteilerfreie Ringe (also solche, bei denen aus ab = 0 immer a = 0 oder b = 0 folgt, wie etwa im Ring Z der ganzen ,Zahlen oder im Polynomring K[x] über einem beliebigen Körper K) betrachten, die eine Division mit Rest besitzen. Dazu muss man allerdings definieren, was eine Division mit Rest sein soll. Das soll im Folgenden geschehen (und im Beispiel auf Seite 86 haben wir diese Festlegung schon einmal genutzt). 2.4.12
Definition 2.4.12 Sei R ein nullteilerfreier Ring und weiter ϕ : R\{0} → N0 eine Abbildung so, dass für alle a, b ∈ R (mit b = 0) die folgenden beiden Eigenschaften erfüllt sind.
(a) Es gibt Elemente q, r ∈ R mit a = qb + r, wobei r = 0 oder ϕ(r) < ϕ(b) ist. (b) Es ist ϕ(ab) ≥ ϕ(a). Dann heißt R euklidischer Ring.
2.5
Algebraische Zahlen
107
Euklidische2 Ringe haben einige Eigenschaften, die man von der Menge Z der ganzen Zahlen her kennt. So kann man genauso wie in Z zeigen, dass man den größten gemeinsamen Teiler zweier Ringelemente als Linearkombination dieser Elemente schreiben kann, woraus dann in diesem Ring R eine eindeutige Primfaktorzerlegung abgeleitet werden kann. Beispiel 2.4.13 (a) Der Ring Z der ganzen Zahlen ist ein euklidischer Ring.
2.4.13
Als Abbildung ϕ : Z\{0} → N0 im Sinne von Definition 2.4.12 kann man die Betragsfunktion f : x → |x| für alle x ∈ Z wählen. (b) Der Gauß’sche Zahlenring Z[i] = {a + bi|a, b ∈ Z} ist mit der üblichen Addition und Multiplikation komplexer Zahlen ein euklidischer Ring. Hier kann man (man vergleiche Definition 2.4.12) als Zuordnung ϕ : Z\{0} → N0 mit ϕ(a + bi) = a2 + b2 wählen. Die Entscheidung, ob ein vorgegebener Ring euklidisch ist, darf im Allgemeinen allerdings als ein schwieriges Problem angesehen werden. So ist es beispielsweise eine offene Frage, für welche n der in Aufgabe 5 angegebene Ring euklidisch ist (man vergleiche Seite 112).
2.5 Algebraische Zahlen Wenn man in der Schule die Erweiterung der rationalen Zahlen Q zur Menge R der reellen Zahlen motiviert, dann spielt die Lösung der Gleichung x2 = 2 oder (alternativ formuliert) x2 − 2 = 0 eine tragende Rolle. Man zeigt geometrisch, dass eine solche Lösung existiert (denn zeichnen kann man sie), stellt √ dann fest, dass sie keine rationale Zahl sein kann und bezeichnet sie mit 2. Diese Zahl ist also Nullstelle eines Polynoms (mit ganzzahligen Koeffizienten), was sie prinzipiell etwa von der Kreiszahl π oder der Euler’schen Konstante e unterscheidet. Dieser mathematisch bedeutsame Unterschied bekommt einen Namen. Man nennt reelle Zahlen, die Nullstelle eines Polynoms (mit ganzzahligen Koeffizienten) sind, algebraische Zahlen. Alle anderen reellen Zahlen heißen transzendente Zahlen. 2
Euklid von Alexandria, geboren und gestorben um 300 v. Chr., verbrachte vermutlich seine Jugend in Athen und wirkte als Mathematiker in Alexandria. Ihm werden (unter anderem) die Elemente zugeschrieben, ein aus mehreren Bänden bestehendes Lehrbuch der Mathematik. Die Elemente geben Einblick in viele wesentliche Ergebnisse der griechischen Mathematik und waren lange das neben der Bibel am weitesten verbreitete Werk. Ihr Einfluss hielt sich bis hinein in das 19. Jahrhundert.
2.5
108
2.5.1
2. Körper und Polynome
Definition 2.5.1 Eine reelle Zahl a heißt algebraisch, falls sie Nullstelle eines
Polynoms mit ganzzahligen Koeffizienten vom Grad n > 0 ist. Die Zahl a ∈ R n ist also algebraisch, falls es ein Polynom f (x) = i=0 ai xi mit ai ∈ Z, n ≥ 1 und an = 0 gibt so, dass f (a) = 0 ist. Es sei angemerkt, dass man die Definition auch auf komplexe Zahlen übertragen kann und dass die Forderung nach rationalen Koeffizienten des Polynoms ausreichen würde (warum?). Beides spielt im weiteren Text allerdings kaum eine Rolle. Sie erinnern sich noch an Satz 2.4.7? Wir waren von einem Teilkörper k eines Körpers K ausgegangen, hatten ein in k[x] irreduzibles Polynom ausgewählt und eine Nullstelle a dieses Polynoms in K genommen. Der kleinste Teilkörper von K, der sowohl k als auch a enthielt, war leicht zu bestimmen, indem man Linearkombinationen aus den Elementen von k und den Potenzen von a bildete. Die Situation kann man sehr√einfach konkretisieren, wenn man den Körper Q und die algebraische Zahl 2 betrachtet. Wir definieren also √ √ Q[ 2] =: {a + b 2|a, b ∈ Q}. In dieser Menge kann man gut rechnen, denn für alle a1 , a2 , b1 , b2 ∈ Q ist √ √ √ √ (a1 + b1 2) + (a2 + b2 2) = (a1 + a2 ) + (b1 + b2 ) 2 ∈ Q[ 2] und ebenso √ √ √ √ (a1 + b1 2) · (a2 + b2 2) = (a1 a2 + 2b1 b2 ) + (a1 b2 + a2 b1 ) 2 ∈ Q[ 2]. √ √ Summen und Produkte von Elementen aus Q[ 2] sind also wieder aus Q[ 2]. Diese Menge enthält darüber hinaus auch die reellen Zahlen √ √ 0 = 0 + 0 · 2 und 1 = 1 + 0 · 2. Es ist außerdem
√ √ (a + b 2) + (−a + (−b 2)) = 0, √ Inverses, das ebenfalls also hat √ √ jede Zahl aus der Menge Q[ 2] ein additives aus Q[ 2] ist. Genauso rechnet man für a + b 2 = 0 √ a −b √ + 2 = 1. (a + b 2) · a2 − 2b2 a2 − 2b2
2.5
Algebraische Zahlen
109
√ Also ist auch das multiplikative Inverse in Q[ 2] (und a2 − 2b2 ist für rationale Zahlen a, b, die nicht beide Null sind, immer von 0 verschieden). Da R ein Körper ist, gelten alle anderen Axiome eines Körpers√automatisch auch √ 2]. Offenbar (und wohl überraschend) ist damit Q[ 2] ein Körper mit für Q[ √ Q ⊂ Q[ 2] ⊂ R. √ Was wir hier durch eine Erweiterung mit der algebraischen Zahl 2 geschafft haben, √ auch für √ andere Zahlen dieser Art plausibel. Warum sollten √ scheint Q[ 3], Q[ 5] oder Q[ 17] nicht auch Körper sein? Selbstverständlich, wir hatten dies bereits in Satz 2.4.7 ja ganz allgemein gemacht. Offen ist allerdings die Frage, ob man auch mit mehreren Zahlen erweitern kann, etwa mit allen Wurzeln, also den algebraischen Zahlen, die Lösungen einer Gleichung der Form x2 − n = 0 sind. Bevor wir mögliche Einzelfälle nachweisen, versuchen wir eine allgemeine Lösung des Problems. Und die soll wiederum so allgemein sein, dass sie gleich für beliebige Körper anwendbar ist. Wir fangen also beim Begriff „algebraisch“ an und definieren ihn noch einmal und in diesem breiten Sinne. Definition 2.5.2 Seien k, K Körper und sei k ⊂ K ein Teilkörper von K. Sei α ∈ K. Wir nennen α algebraisch über k, falls es ein Polynom p ∈ k[x] (mit p = 0) gibt so, dass p(α) = 0 ist.
2.5.2
Es gibt viele Möglichkeiten, einen Körper mit gewissen algebraischen Elementen aus einem darüber liegenden Körper zu erweitern und am Beispiel √ Q[ 2] haben wir das exemplarisch gesehen. Wir wollen hier nun noch einen übergreifenden Fall behandeln. Dazu betrachten wir für einen Körper k die Menge aller über k algebraischen Elemente. Wir werden zeigen, dass diese Elemente einen Körper bilden. Konkret ergibt sich dann beispielsweise diese Aussage: Existieren Polynome p1 , p2 ∈ k[x] mit p1 (α1 ) = p2 (α2 ) = 0, so gibt es auch ein Polynom p ∈ k[x] mit p(α1 + α2 ) = 0. Diese Tatsache ist allerdings bei weitem nicht offensichtlich. Wir werden p auch nicht konstruieren, sondern nur seine Existenz beweisen. Die folgenden Sätze 2.5.3, 2.5.4 und 2.5.5 bereiten das eigentliche Ergebnis, nämlich den Satz 2.5.6, vor. Dabei bleiben wir bei der Betrachtungsweise, einen Körper K als k-Vektorraum über einem Teilkörper k ⊂ K aufzufassen und wenden so Methoden an, die aus der Linearen Algebra bekannt sind. Satz 2.5.3 Seien K ein Körper und k ⊆ K ein Teilkörper von K. Als Vek-
torraum über k sei K endlich-dimensional. Dann ist jedes α ∈ K algebraisch über k.
2.5.3
110
2. Körper und Polynome
Beweis 2.5.3 Sei dimk K = n und α ∈ K beliebig. Wir betrachten die Poten-
zen von α, also 1, α, α2 , . . . , αn . Da es n + 1 Elemente sind, sind sie k-linear abhängig, also gibt es a0 , . . . , an ∈ k mit n
ai αi = 0,
i=0
wobei ai = 0 nicht für alle ai gelten darf. Also ist p(α) = 0 für p = und es gilt p = 0. 2.5.4
n i=0
ai xi
Satz 2.5.4 Seien k, K, L Körper, wobei K ein Teilkörper von L und k ein Teilkörper von K sei. Es sei K als k-Vektorraum endlich-dimensional und L als K-Vektorraum endlich-dimensional. Dann ist auch L als k-Vektorraum endlich-dimensional. Beweis 2.5.4 Sei {α1 , . . . , αn } eine k-Basis von K und weiter {β1 , . . . , βm } eine
K-Basis von L. Wir zeigen, dass dann {αi βj | i = 1, . . . , n; j = 1, . . . , m} ein k-Erzeugendensystem von L als k-Vektorraum ist. Sei dazu u ∈ L beliebig gewählt. Dann gibt es a1 , . . . , am ∈ K mit u=
m
ai βi .
i=0
Da jedes ai ∈ K ist, gibt es bij ∈ k mit ai =
n
bij αj .
j=1
Damit ist u=
m n ( bij αj )βi i=1 j=1
=
m n
bij (αj βi ).
i=1 j=1
Somit bilden die αj βi (i = 1, . . . , m; j = 1, . . . , n) ein k-Erzeugendensystem und L ist endlich-dimensional als k-Vektorraum. 2.5.5
Satz 2.5.5 Seien K ein Körper, k ein Teilkörper von K und α ∈ K algebraisch
über k. Dann ist k(α) endlich-dimensional als k-Vektorraum.
2.6
Übungsaufgaben
111
Beweis 2.5.5 Das Ergebnis wurde bereits mit Satz 2.4.7 bewiesen. Sei f ein Polynom in K[x], f = 0 mit f (α) = 0. Dann können wir f als irreduzibel annehmen. Nun wurde in Satz 2.4.7 gezeigt, dass für n = grad f die Menge {1, α, . . . , αn−1 } ein Erzeugendensystem von k(α) ist. Satz 2.5.6 Seien K ein Körper und k ein Teilkörper von K. Sei weiter M die
2.5.6
Menge aller über k algebraischen Elemente von K. Dann ist M ein Teilkörper von K. Beweis 2.5.6 Seien α, β ∈ M \ {0}. Wir müssen zeigen, dass α ± β ∈ M und
αβ −1 ∈ M sind. Wir betrachten dazu k ⊆ k(α) ⊆ k(α)(β). Nach Satz 2.5.5 ist k(α) als k-Vektorraum endlich-dimensional. Da β über k algebraisch ist, gibt es ein Polynom 0 = p ∈ k[x] mit p(β) = 0. Nun können wir auch p als Polynom in k(α)[x] betrachten. Damit ist β algebraisch über k(α). Nach Satz 2.5.5 ist dann k(α)(β) endlich-dimensional über k(α). Es folgt mit Satz 2.5.4, dass dann auch k(α)(β) endlich-dimensional über k ist. Durch Anwendung von Satz 2.5.3 bekommt man α ± β ∈ M und αβ −1 ∈ M .
Bemerkung. Wir betrachten Q ⊆ C. Nach Satz 2.5.6 bilden die reellen Nullstellen der Polynome mit Koeffizienten in Q einen Teilkörper K von R. Da Q abzählbar viele Elemente und jedes Polynom nur endlich viele Koeffizienten hat, gibt es nur abzählbar viele Polynome mit Koeffizienten in Q. Jedes Polynom hat nur endlich viele Nullstellen, also ist K abzählbar. Bekanntlich ist R überabzählbar. Es gibt also überabzählbar viele reelle Zahlen, die nicht algebraisch und damit transzendent sind. Man kennt π oder e namentlich und weiß vielleicht, dass die Sinusfunktion oft transzendente Werte erzeugt. Erstaunlich ist dennoch, dass wir von diesen überabzählbar vielen Zahlen offenbar nur relativ wenige konkret benennen bzw. angeben können.
2.6 Übungsaufgaben 1)
Sei f ∈ Z[x] ein Polynom und seien a, b, c, d ∈ Z paarweise verschieden. Es gelte f (a) = f (b) = f (c) = f (d) = 6. Zeigen Sie, dass f (k) = 9 für alle k ∈ Z ist.
2.6
112
2. Körper und Polynome
2)
Sei f ∈ Z[x] ein Polynom. Für ein a ∈ N sei keine der folgenden Zahlen f (1), . . . , f (a) durch a teilbar. Zeigen Sie, dass dann f keine ganzzahlige Nullstelle hat.
3)
Zeigen Sie: Das Polynom x4 + x + 1 ∈ GF (2)[x] ist irreduzibel.
4)
Sei m ∈ N, M = { ab | ggT(b, m) = 1, ggT(a, b) = 1} ∪ {0} ⊆ Q. Ist M ein Ring?
5)
Für welche n ∈ N, n quadratfrei, ist √ a + b n Rn = a, b ∈ Z, a − b gerade 2 ein Ring?
6)
Sei S eine Menge mit einer binären Operation ∗. Es gelte x∗x=x
für alle x ∈ S.
(x ∗ y) ∗ z = (y ∗ z) ∗ x für alle x, y, z ∈ S. Zeigen Sie, dass dann x ∗ y = y ∗ x für alle x, y ∈ S ist. 7)
Gegeben sei die Funktion f : N × N −→ N mit f (m, n) =
n−1 [|(B 2 − 1)| − (B 2 − 1)] + 2, 2
wobei B = m(n + 1) − (n! + 1) mit m, n ∈ N ist. Zeigen Sie: Es ist f (m, n) eine Primzahl für alle m, n ∈ N. Ist p = 2 eine Primzahl, so gibt es genau ein Paar m, n ∈ N mit f (m, n) = p. 8)
Sei K ein Körper. Bestimmen Sie zwei Polynome f, g ∈ K[x] so, dass (x7 − 1)f + (x5 − 1)g = x − 1 gilt.
9)
Ist das Polynom x5 + x2 − 1 irreduzibel über Z?
2.6
Übungsaufgaben
113
10) Geben Sie alle irreduziblen Teiler von (a) x2 + 1 in Z/5Z[x] (b) x3 + 5x2 + 5 in Z/11Z[x] (c) x4 + 3x3 + x + 1 in Z/5Z[x] an. 11) (a) Sei n ∈ N. Finden Sie einen Zusammenhang zwischen der Anzahl der ungeraden Koeffizienten in (1 + x)n und den Ziffern in der Dualdarstellung von n. (b) Beweisen Sie die in (a) gefundene Vermutung. 12) Betrachten Sie alle Geraden, die den Graph der Kurve y = 2x4 + 7x3 + 3x − 5 in vier verschiedenen Punkten (xi , yi ) (i = 1, 2, 3, 4) schneiden. Zeigen Sie, dass x1 + x2 + x3 + x4 a= 4 unabhängig von der gewählten Geraden ist. Berechnen Sie a. 13) Geben Sie alle Polynome p ∈ Z[x] mit der Eigenschaft, dass Null eine Nullstelle von p ist und die Identität p(x2 + 1) = p(x)2 + 1 für alle x ∈ Z erfüllt ist, an. 14) Berechnen Sie in (Z/2Z[x])/(x3 + 1)(Z/2Z[x]) das Inverse zu x2 und das Produkt (x + 1)(x2 + x + 1).
Kapitel 3 Gruppen und Symmetrien
3
3
3 3.1 3.1.1 3.1.2 3.2 3.2.1 3.2.2 3.2.3 3.3 3.3.1 3.3.2 3.4 3.5 3.6 3.7 3.8
Gruppen und Symmetrien Der Begriff der Gruppe ........................................ Gruppen und die Symmetrien des regulären n-Ecks ..... Einfache Eigenschaften von Gruppen und elementare Grundbegriffe.................................................... Isomorphie ....................................................... Beispiele isomorpher Gruppen ............................... Grundlagen der Bestimmung von Gruppen ................ Faktorgruppen .................................................. Permutationen .................................................. Die symmetrische Gruppe Sn ................................ Zyklenzerlegung ................................................ Untergruppen der Sn .......................................... Operationen von Gruppen auf Mengen .................... Färbungen ....................................................... Symmetrien von Polynomen.................................. Übungsaufgaben ................................................
117 117 123 130 130 133 139 143 143 145 150 155 168 184 196
3 Gruppen und Symmetrien Die Mathematik wird häufig als eine Wissenschaft angesehen, deren hauptsächlicher Inhalt in der Beschreibung und Untersuchung abstrakter Strukturen liegt. Genau darum geht es in diesem Kapitel. Wir zeigen auf, wie in der Mathematik Strukturen identifiziert und benannt werden. Darüber hinaus möchten wir aber deutlich machen, dass sich hinter abstrakten Strukturen durchaus Phänomene verbergen können, die einen klaren Bezug zur Realität haben. Am Beispiel von Gruppen und Symmetrien kann man das unseres Erachtens besonders gut erkennnen.
3.1 Der Begriff der Gruppe
3.1
Zu den zentralen Inhalten der Schulmathematik gehört die Beschäftigung mit der Symmetrie. Der Begriff basiert auf anschaulichen Phänomenen und ist daher in einer einfachen Form bereits Grundschulkindern zugänglich. Doch auch in der Mathematik als Wissenschaft kann Symmetrie als ein wesentliches Konzept angesehen werden. Es ist insbesondere der Begriff der Gruppe (als Axiomatisierung des Symmetriebegriffs), der dabei eine zentrale Rolle spielt. Obwohl Gruppen systematisch erst seit dem vorletzten Jahrhundert untersucht werden, gehören sie sicher zu den ältesten Strukturen der Mathematik überhaupt. Welche Eigenschaften eine Gruppe hat, soll nun mit Hilfe eines Beispiels betrachtet werden. Obwohl der Begriff aus Definition 2.1.1 eigentlich schon bekannt ist, soll er dann im Folgenden aus Gründen der Vollständigkeit des Kapitels noch einmal festgelegt werden (natürlich genauso wie vorher). 3.1.1 Gruppen und die Symmetrien des regulären n-Ecks Wir brauchen nicht nur in diesem Abschnitt, sondern im ganzen Kapitel immer wieder den Begriff der Symmetrie und wollen ihn daher definieren. Dabei soll er zunächst auf den Spezialfall eines regulären n-Ecks bezogen werden. Definition 3.1.1
Eine bijektive Abbildung eines regulären n-Ecks auf sich selbst heißt Symmetrie.
3.1.1
Beispiel 3.1.2 Betrachtet man ein gleichseitiges Dreieck, so lassen sich leicht
3.1.2
Abbildungen bestimmen, die dieses Dreieck auf sich selbst abbilden. Man kann es etwa mit einem Drehwinkel von 120 oder 240 Grad um den Schnittpunkt M seiner Mittelsenkrechten drehen. Dabei wird jede Ecke auf genau K. Reiss, G. Stroth, Endliche Strukturen, Mathematik für das Lehramt, c Springer-Verlag Berlin Heidelberg 2011 DOI 10.1007/978-3-642-17182-6_3,
118
3. Gruppen und Symmetrien
eine andere Ecke und das Dreieck folglich auf sich selbst abgebildet. Es geht auch anders, denn man kann das Dreieck genauso an einer der drei Mittelsenkrechten spiegeln, wobei eine Ecke festbleibt und die beiden anderen vertauscht werden. Nimmt man noch die Identität, also die Drehung um 0 Grad hinzu, dann sind es zusammen genau sechs Abbildungen der gewünschten Art. Es ist leicht einzusehen, dass dies alle möglichen Abbildungen sind, die das gleichseitige (reguläre) Dreieck auf sich selbst abbilden. Ganz ähnlich überlegt man sich für das Quadrat (also das reguläre Viereck mit vier gleichen Seiten und vier gleichen Winkeln), dass es ganz entsprechende Drehungen und Spiegelungen gibt, mit denen es auf sich selbst abgebildet wird. Man kann es nämlich um den Schnittpunkt der Diagonalen um 90 Grad, 180 Grad und 270 Grad drehen oder es an einer der zwei Mittelsenkrechten auf den Seiten bzw. an einer der beiden Diagonalen spiegeln. Zusammen mit der Identität bekommt man acht solche Abbildungen. Nun ist 6 = 2·3 und 8 = 2·4 und dahinter steckt ein System. Schauen wir uns nämlich ganz allgemein Symmetrien des reguläres n–Ecks an (und das sind genau die Abbildungen, die ein regulären n-Eck auf sich selbst abbilden), dann sind die Überlegungen aus den beiden konkreten Beispielen leicht zu verallgemeinern. In jedem Fall gibt es genau n Drehungen und n Spiegelungen mit den gewünschten Eigenschaften. Die Symmetrien des regulären n–Ecks sind genau die Drehungen um k·2π n und die Spiegelungen an n Achsen. Die Lage dieser n Achsen kann man sich leicht veranschaulichen, wenn man die Fälle n = 3 bzw. n = 4 auf ungerades bzw. gerades n verallgemeinert. Ist nämlich n ungerade, so verbindet man jeweils eine Ecke und die Mitte der gegenüberliegenden Seite. Für ein Dreieck sieht das folgendermaßen aus: TT
T
T T " b " b b " T b T " "" bb T b T "" b T b "
Ist n gerade, so verbindet man eine Ecke und die gegenüberliegende Ecke bzw. die Mitte einer Seite und die Mitte der gegenüberliegenden Seite.
3.1
Der Begriff der Gruppe
119
Bei einem Quadrat sieht es dann genau so aus: @ @ @ @ @ @ @ @ @ @ @ @ @ @ Es ist unmittelbar einsichtig, dass man auf diese Weise alle Abbildungen dieser Art („Symmetrien“, manchmal heißen sie auch „Deckabbildungen“) eines regulären n–Ecks bekommen hat, denn nur so werden jeweils Ecken auf Ecken abgebildet. Insbesondere gilt also der folgende Satz. Satz 3.1.3 Ein reguläres n–Ecks hat 2n Symmetrien, nämlich n Spiegelungen und n Drehungen. Die Spiegelachsen sind die Senkrechten auf den Seitenmitten und bei geradem n außerdem die Verbindungsgeraden gegenüberliegender Eckpunkte. Das Drehzentrum ist der Schnittpunkt der Senkrechten auf den Seitenmitten, die Drehwinkel sind von der Form k·2π n (für k = 1, 2, . . . , n). Beweis 3.1.3 Symmetrien sind offensichtlich Kongruenzabbildungen, welche
die Ecken eines regulären n–Ecks wieder in Ecken überführen. Entsprechend kann es sich nur um Drehungen (um den „Mittelpunkt“, also um den Schnittpunkt der Senkrechten auf den Seitenmitten) oder um geeignete Spiegelungen handeln. Man sieht nun unmittelbar ein, dass es n − 1 von der Identität verschiedene Möglichkeiten gibt, durch eine Drehung eine Ecke auf jede beliebige andere Ecke abzubilden. Diese Abbildungen lassen entsprechend auch keinen Punkt des regulären n–Ecks fest. Betrachten wir also Symmetrien, die (mindestens) einen Fixpunkt haben. Wenn eine Symmetrie alle Ecken festlässt, ist es ganz einfach, denn dann ist sie die Identität. Es geht also nur noch um die Symmetrien, die mindestens einen Punkt festlassen, aber von der Identität verschieden sind. Offenbar muss es sich dabei um Spiegelungen handeln. Wenn eine solche Symmetrie also eine Ecke festlässt, dann werden entsprechend die beiden benachbarten Ecken vertauscht. Dafür gibt es n Möglichkeiten, nämlich genau so viele, wie es Ecken gibt. Ist n gerade, dann haben diese Symmetrien jeweils genau zwei
3.1.3
120
3. Gruppen und Symmetrien
Fixpunkte (durch sie geht die Spiegelachse), ist n ungerade, dann gibt es genau einen Fixpunkt. Mehr Fixpunkte kann eine Spiegelung nicht haben, denn nur die Punkte auf der Spiegelachse bleiben unter der Abbildung fest. Insgesamt haben wir damit n Symmetrien identifiziert, die Drehungen sind (einschließlich der Drehung um 0◦ ), und ebenfalls n Symmetrien, die Spiegelungen sind. Symmetrien kann man, wie andere Abbildungen auch, miteinander verknüpfen, also hintereinander ausführen. Macht man das, so bekommt man insbesondere wieder Symmetrien. Dabei ist die Hintereinanderausführung von zwei (oder mehr) Drehungen fraglos wieder eine Drehung. Auch die Hintereinanderausführung von zwei Spiegelungen ist eine Drehung (warum?). Ebenso offensichtlich ist, dass die Hintereinanderausführung einer Spiegelung und einer Drehung den Drehsinn (dieser Begriff ist aus der Schule bekannt) verändert, also wieder eine Spiegelung sein muss. Besonders einfach ist die Drehung um 0 Grad, denn sie ändert nichts, egal mit welcher Symmetrie man sie verknüpft („neutrale Symmetrie“). Außerdem kann man jede Symmetrie rückgängig machen; man kann also durch Anwenden einer geeigneten Symmetrie („inverse Symmetrie“) immer wieder den Ausgangspunkt erreichen. Diese Eigenschaften gelten allerdings nicht nur in dem in Satz 3.1.3 diskutierten Fall der Symmetrien eines n–Ecks. Auch bei Symmetrien ganz beliebiger dreidimensionaler Objekte überlegt man sich leicht, dass ihre Verknüpfung wieder eine Symmetrie ist, es eine identische Abbildung gibt und man durch die geeignete Umkehrung einer Symmetrie wieder zum Ausgangspunkt zurückkommen kann. Die Addition der reellen Zahlen bzw. die Multiplikation der von Null verschiedenen reellen Zahlen folgt ebenfalls ganz ähnlichen Gesetzen. Zunächst ist die Summe bzw. das Produkt reeller Zahlen immer wieder eine reelle Zahl. In Anlehnung an die Wortwahl des letzten Absatzes ist im ersten Fall 0 das „neutrale“ Element und (−a) ∈ R das zu a ∈ R „inverse“ Element, im zweiten Fall ist 1 das „neutrale“ Element und ( a1 ) ∈ R das zu a ∈ R \ {0} „inverse“ Element. Ganz offensichtlich handelt es sich bei den diskutierten Eigenschaften genau um die, die wir in Definition 2.1.1 bereits mit dem Namen Gruppe belegt hatten. Die Begriffsbildung (und das ist nichts anderes als die mathematische Abstraktion) war insbesondere angesichts dieser neuen Beispiele wohl wirklich lohnenswert. Wir wollen die Eigenschaften noch einmal zusammenfassen. Dabei kommt mit dem Assoziativgesetz (ganz wie in Definition 2.1.1) eine Bedingung hinzu, die zwar auch für die bereits gegebenen Beispiele gilt, aber dort noch nicht explizit genannt wurde.
3.1
Der Begriff der Gruppe
121
Definition 3.1.4 Eine Gruppe G ist eine nicht-leere Menge, auf der eine Opera-
3.1.4
tion ◦ definiert ist, wobei jedem Paar g, h ∈ G eindeutig ein Element g ◦h ∈ G zugeordnet ist. Dabei sollen die folgenden Bedingungen erfüllt sein: (a) Es gilt das Assoziativgesetz. Es ist also g ◦ (h ◦ k) = (g ◦ h) ◦ k für alle g, h, k ∈ G. (b) Es gibt ein e ∈ G mit folgenden Eigenschaften: (i) Für alle g ∈ G ist g ◦ e = e ◦ g = g. (ii) Für alle g ∈ G gibt es ein g ∗ ∈ G mit g ◦ g ∗ = g ∗ ◦ g = e.
Ist zusätzlich g ◦ h = h ◦ g für alle g, h ∈ G, so nennen wir G eine abelsche bzw. eine kommutative Gruppe. Das Element e heißt neutrales Element von G, g ∗ heißt inverses Element zu g ∈ G. Wir hatten die Assoziativität bei den Symmetrien nicht thematisiert, obwohl sie zweifelsohne hier genauso wie bei der Addition und Multiplikation reeller Zahlen erfüllt ist. In der Tat hat dieses Axiom bei der Entwicklung der Gruppentheorie zunächst keine wesentliche Rolle gespielt. Es kam erst dann hinzu, als man sinnvolle nicht assoziative Strukturen entdeckte, die man nicht mehr Gruppen nennen wollte. In den folgenden Beispielen gehen wir mehr oder minder stillschweigend davon aus, dass es erfüllt ist. Beispiele 3.1.5 (a) Die Menge Z der ganzen Zahlen bildet zusammen mit der
Addition eine Gruppe mit neutralem Element 0. Da a + b = b + a für alle a, b ∈ Z gilt, ist diese Gruppe (Z, +) sogar abelsch. Die Schreibweise (Z, +) anstatt des einfachen Z wählen wir hier und im folgenden Text, wenn wir eine bestimmte Verknüpfung (in diesem Fall die Addition) betonen wollen. Dieses Beispiel ist eigentlich trivial (und wir benutzen diesen Ausdruck wirklich nur, weil alles ganz ganz einfach ist): (Z, +, ·) ist ein Ring (man vergleiche Seite 58), also ist (Z, +) nach Definition 2.1.4 eine Gruppe. (b) Die ganzen Zahlen zusammen mit der Multiplikation bilden keine Gruppe, da es zum Beispiel zu 2 ∈ Z kein inverses Element in Z gibt. Selbstverständlich ist 2 · 12 = 1, aber 12 ist eben keine ganze Zahl. (c) Es gibt genau sechs Symmetrien des regulären (gleichseitigen) Dreiecks (man vergleiche Satz 3.1.3), nämlich die Identität, die Drehungen um den 4π Mittelpunkt mit dem Drehwinkel 2π 3 bzw. 3 und die Spiegelungen an den
3.1.5
122
3. Gruppen und Symmetrien
Mittelsenkrechten der drei Seiten. Wir haben weiter oben im Prinzip schon alle Gruppeneigenschaften gezeigt. Interessant ist nun, dass das Kommutativgesetz nicht gilt. Das Dreieck soll folgendermaßen bezeichnet sein: 3 TT
1
T
T T "T b " b b " b " T b " " b T b T "" b b T "
2
Sei sp1 die Spiegelung, die 2 auf 3 abbildet und 1 festlässt, sp2 die Spiegelung, die 1 auf 3 abbildet und 2 festlässt, und sp3 die Spiegelung, die 1 auf 2 abbildet und 3 festlässt. Dann ist sp3 sp1 (1) = sp3 (1) = 2 und
sp1 sp3 (1) = sp1 (2) = 3 .
Also ist sp3 sp1 = sp1 sp3 . Die Symmetriegruppe des regulären Dreiecks (wir wollen sie im Folgenden übrigens mit D3 bezeichnen) ist somit nicht abelsch. Die Beispiele zeigen, dass es Gruppen mit einer endlichen Anzahl von Elementen (z. B. D3 ) genauso wie Gruppen mit einer unendlichen Anzahl von Elementen (z B. Z) gibt. Die Anzahl der Elemente nennt man Ordnung der Gruppe. 3.1.6
Definition 3.1.6 Sei G eine Gruppe. Dann heißt die Anzahl der Elemente von
G die Ordnung der Gruppe. Sie wird mit |G| bezeichnet. Ist |G| = n für ein n ∈ N, dann heißt G eine endliche Gruppe. Hat G unendlich viele Elemente, so schreibt man |G| = ∞ und nennt G eine unendliche Gruppe. Das dritte Beispiel auf Seite 121 kann man übrigens (wie wir auf Seite 119 bereits gesehen haben) leicht verallgemeinern: Die Symmetrien des regulären n–Ecks bilden eine Gruppe, die so genannte Diedergruppe der Ordnung 2n. Wir bezeichnen sie mit Dn . Das Zeichen ◦ für die Verknüpfung lassen wir dann weg, wenn ihm keine besondere Bedeutung zukommt. Wir schreiben also statt g ◦ h dann gh. Ganz entsprechend werden wir gh zumeist das Produkt der beiden Elemente g und h nennen (es sei denn, diese Bezeichnung wäre im Hinblick auf eine
3.1
Der Begriff der Gruppe
123
konkrete Gruppe und Operation eher unsinnig wie im Fall von (Z, +), wo die Verknüpfung offensichtlich die Addition ist). Genauso werden wir häufig 1 statt e schreiben (aber auch hier nur dann, wenn es im konkreten Fall nicht unsinnig erscheint). Schließlich schreiben wir in der Regel g −1 für das inverse Element zu einem Gruppenelement g (im Fall der ganzen Zahlen bleibt es in der Regel schlicht beim gewohnten −g). 3.1.2 Einfache Eigenschaften von Gruppen und elementare Grundbegriffe In einer Gruppe möchte man häufig etwas über die ganz konkreten Verknüpfungen und ihre Ergebnisse wissen. Insbesondere ist interessant, was passiert, wenn man Elemente immer wieder mit sich selbst verknüpft. Wir haben schon gesehen, dass man bei zweimaligem Spiegeln wieder zur Identität (dem neutralen Element) kommt. Gleiches gilt im regulären Dreieck, wenn man irgendeine Drehung dreimal nacheinander anwendet. Bei der Addition ganzer Zahlen erhält man hingegen immer wieder neue Zahlen, ganz unabhängig davon, wie oft man eine Zahl zu sich selbst addiert. Dieser Unterschied gibt Anlass zu einer neuen Begriffsbildung. Definition 3.1.7 Seien G eine Gruppe, g ∈ G und e das neutrale Element von G. Für jedes k ∈ N bezeichnet man mit g k das k–fache Produkt von g mit sich selbst, also
3.1.7
gk = g . . . g .
k
Für alle k ∈ Z, k < 0 setzt man g = (g −1 )−k . Es sei weiter g 0 = e. Mit o(g) bezeichnet man die kleinste natürliche Zahl k mit der Eigenschaft g k = e. Gibt es keine solche Zahl, so schreibt man o(g) = ∞. Man nennt o(g) die Ordnung von g. k
Beispiele 3.1.8 (a) In der Gruppe der Symmetrien des gleichseitigen Dreiecks 4π haben die Drehungen um 2π 3 bzw. 3 die Ordnung 3 und die Spiegelungen haben (wie alle Spiegelungen in allen Symmetriegruppen) die Ordnung 2.
(b) Offensichtlich hat in jeder Gruppe das neutrale Element die Ordnung 1 (und das ist wieder einmal wirklich trivial). (c) Das Element 1 ∈ Z hat in Bezug auf die Addition ganzer Zahlen (genauso wie alle anderen von 0 verschiedenen Elemente) die Ordnung ∞.
3.1.8
124
3. Gruppen und Symmetrien
Das letzte Beispiel zeigt insbesondere, dass die wiederholte Anwendung der Operation in Definition 3.1.7 nicht als „Potenzieren“ missverstanden werden darf (man vergleiche die Bemerkungen vor Satz 2.1.2). Genauso gut kann im konkreten Fall die wiederholte Addition eines Elements mit sich selbst oder die mehrfache Hintereinanderausführung derselben Abbildung gemeint sein (und auch das sind nur mögliche Beispiele). Direkt aus den bisherigen Regeln kann man ein kleines Lemma ableiten. Es besagt, dass eine Gruppe abelsch ist, wenn alle Gruppenelemente (bis auf das neutrale Element) die Ordnung 2 haben. 3.1.9
Lemma 3.1.9 Ist G eine Gruppe und g 2 = e für alle g ∈ G, dann ist G abelsch. Beweis 3.1.9 Seien g, h ∈ G. Dann ist (gh)(gh) = (gh)2 = e = g 2 h2 . Also ist
hg = g −1 (gh)(gh)h−1 = g −1 g 2 h2 h−1 = gh für beliebige g, h ∈ G. Damit ist G eine abelsche Gruppe. Eine Verallgemeinerung von Lemma 3.1.9 ist das nächste Resultat (und man kann sich leicht überlegen, warum das so ist). 3.1.10
Satz 3.1.10 Seien G eine Gruppe und n ∈ N. Gelten für alle g, h ∈ G die drei Bedingungen
(a) (gh)n = g n hn (b) (gh)n+1 = g n+1 hn+1 (c) (gh)n+2 = g n+2 hn+2 , so ist G abelsch. Beweisidee 3.1.10 Der Beweis ist nicht viel mehr als geschicktes Rechnen. Ist
eine Gruppe abelsch, so ist für beliebige Elemente g und h der Gruppe stets gh = hg. Man muss also aus einem passenden Term gh und aus einem anderen hg abspalten und dann versuchen, eine Kette von Gleichungen aufzubauen, die schließlich zu gh = hg führen. Das Erweitern mit (geeigneten) Elementen und ihren Inversen hilft dabei sehr. Insbesondere gibt es zwei Zwischenergebnisse (d) und (e), die für den letzten Beweisschritt benutzt werden. Beweis 3.1.10 Es ist
g n+2 hn+2 = (gh)n+2 = (gh)(gh)n+1 = ghg n+1 hn+1 . (c)
(b)
3.1
Der Begriff der Gruppe
125
Also ist g n+1 h = g −1 g n+2 hn+2 h−(n+1) = g −1 ghg n+1 hn+1 h−(n+1) = hg n+1 .
(d)
Weiter gilt g n+1 hn+1 = (gh)n+1 = (gh)(gh)n = ghg n hn .
(e)
(b)
(a)
Somit ist g n h = g −1 gg n hn h−n h = g −1 g n+1 hn+1 h−n = g −1 ghg n hn h−n = hg n .
(f )
(e)
Das ergibt nun g n+1 h = hg n+1 = hg n g = g n hg, (d)
(e)
sodass man gh = g −n g n+1 h = g −n g n hg = hg folgern kann. Die Aussage von Satz 3.1.10 ist nicht mehr richtig, wenn wir Bedingung (c) streichen. Betrachten wir etwa die Symmetriegruppe D3 des gleichseitigen Dreiecks (man vergleiche Beispiel (c) auf Seite 121), dann hat jede Spiegelung s die Ordnung 2, erfüllt somit s2 = e und jede Drehung d hat die Ordnung 3, erfüllt also d3 = e. Folglich ist g 6 = e für alle g ∈ D3 . Damit ist g 7 = g 6 g = eg = g für alle g ∈ D3 . Also gilt (a) (b)
(gh)6 = e = ee = g 6 h6 (gh)7 = gh = g 7 h7
und
für alle g, h ∈ D3 , aber D3 ist (wie wir im oben genannten Beispiel gesehen haben) nicht abelsch. Wenn man die Ordnung eines Elements g in einer Gruppe G kennt und diese Ordnung eine natürliche Zahl ist, dann kann man nicht nur etwas über Lösungen der Gleichung g m = e sagen, sondern auch über die Ordnung einer beliebigen Potenz von g. Den konkreten Zusammenhang beschreibt der folgende Satz.
126
3.1.11
3. Gruppen und Symmetrien
Satz 3.1.11 Seien G eine Gruppe und g ∈ G mit o(g) = k. Ist m ∈ Z mit
g m = e, so ist k ein Teiler von m und o(g x ) = k/ggT(k, x) für alle x ∈ Z.
Beweisidee 3.1.11 Der erste Teil des Satzes wird mit Hilfe der Division mit
Rest bewiesen. Man zerlegt m additiv in ein Vielfaches von k und einen Rest und weist nach, dass dieser Rest 0 sein muss. Der Beweis des zweiten Teils nutzt aus, dass für natürliche Zahlen a und b aus a|b und b|a stets a = b folgt. Man zeigt also, dass der oben gegebene Bruch ein Teiler der Ordnung und umgekehrt die Ordnung ein Teiler des Bruchs ist. Die Aussage des ersten Teils wird übrigens im Beweis des zweiten Teils verwendet. Beweis 3.1.11 Es genügt, die Aussage für positive m zu zeigen und das folgt
direkt mit Definition 3.1.7. Wir wenden so auf m und k die Division mit Rest an und setzen m = kq + r mit k > r ≥ 0 und q ≥ 1. Das darf man, denn es ist k ≤ m nach Definition 3.1.7. Dann ist e = g m = (g k )q g r = g r , da o(g) = k ist. Da aber r < k und k die kleinste natürliche Zahl mit g k = e ist oder (kurz gesagt) wegen der Minimalität von k muss r = 0 sein. Also ist k ein Teiler von m. Sei x ∈ N. Da ggT(k, x) auf jeden Fall ein Teiler von x ist (und natürlich auch von k), hat man es bei folgenden Exponenten immer mit natürlichen Zahlen zu tun. Man darf daher (g x )(k/ggT(k,x)) = (g k )(x/ggT(k,x)) = e rechnen. Also ist o(g x ) ein Teiler von k/ggT(x, k). Wir setzen nun (weil es sonst etwas unübersichtlich wird) y = o(g x ). Damit ist dann offensichtlich (g x )y = g xy = e und k = o(g) ist auch ein Teiler von xy. Es muss also k/ggT(k, x) ein Teiler von y = o(g x ) sein. Damit folgt die Behauptung o(g x ) = k/ggT(k, x) (und wenn man das nicht sofort einsieht, dann sollte man sich die Beweisidee noch einmal durchlesen). Das folgende Lemma werden wir zwar erst im Kapitel über die Codierung von Nachrichten benötigen, sein Inhalt und die Beweismethode passen allerdings schon jetzt gut in das Konzept.
3.1
Der Begriff der Gruppe
127
Lemma 3.1.12 Sei G eine endliche abelsche Gruppe und seien a, b ∈ G.
(a) Ist ggT(o(a), o(b)) = 1, so ist o(ab) = o(a)o(b). (b) Es gibt geeignete Potenzen ax von a und by von b so, dass für c = ax by wir o(c) = kgV(o(a), o(b)) haben. Beweis 3.1.12 (a) Sei m = o(ab). Da (ab)o(a)o(b) = ao(a) bo(b) = 1 ist (man be-
achte dabei, dass G abelsch ist), folgt mit Satz 3.1.11, dass o(a)o(b) von m geteilt wird. Weiter ist 1 = (ab)m = am bm und damit 1 = (a−m )o(a) = (bm )o(a) . Noch einmal wenden wir Satz 3.1.11 an und es folgt, dass m · o(a) von o(b) geteilt wird. Da o(a) und o(b) teilerfremd sind, ist daher o(b) ein Teiler von m. Genauso folgt, dass auch o(a) ein Teiler von m ist. Wieder wegen der Teilerfremdheit folgt nun, dass m von o(a)o(b) geteilt wird. Zusammen erhalten wir die Behauptung (a). (b) Wir zerlegen o(a) und o(b) jeweils in Primfaktoren: α
β1 αt j αr βr βs 1 o(a) = pα 1 · · · pj · · · pr · · · pt , o(b) = p1 · · · pr · · · ps .
Dabei sei die Notation so gewählt, dass genau die p1 , . . . , pr die gemeinsamen Primfaktoren sind. Weiter sei für 1 ≤ i ≤ j stets αi ≥ βi und für j +1 ≤ i ≤ r stets αi < βi . Nun definieren wir x und y durch x=
r i=j+1
i pα i
und y =
j
pβi i .
i=1
Wir setzen c1 = ax und c2 = by . Nach Satz 3.1.11 ist dann α
α
β
αt j j+1 r+1 βs 1 o(c1 ) = pα 1 · · · pj · pr+1 · · · pt und o(c2 ) = pj+1 · · · ps .
Insbesondere ist ggT(o(c1 ), o(c2 )) = 1. Nach (a) ist dann o(c1 c2 ) = o(c1 )o(c2 ). Offenbar ist o(c1 )o(c2 ) = kgV (o(a), o(b)) und das ist die Aussage von (b). Betrachtet man die Menge der Drehungen des regulären n–Ecks (wobei natürlich nur die gemeint sind, die auch Symmetrien sind), so fällt eine besondere Eigenschaft auf. Ist d nämlich die Drehung um den Winkel 2π n , so ist jede andere Drehung eine Potenz dieses Elements d. Kennt man d, dann kennt man im Grunde alle Drehungen. Nun bilden die Drehungen des regulären n–Ecks eine Gruppe, denn alle Eigenschaften sind erfüllt: Das Assoziativgesetz gilt ohnehin, die Drehung um den Winkel von 0 Grad ist neutrales Element und zu jeder Drehung kann man eine inverse Drehung angeben. Kennt man also diese eine Drehung d, dann kennt man sogar die ganze Gruppe. Man sagt daher, dass d die Gruppe der Drehungen des regulären n–Ecks erzeugt.
3.1.12
128
3. Gruppen und Symmetrien
Solche erzeugenden Elemente gibt es auch in manchen anderen Gruppen. Beispielsweise ist jedes Element aus Z im Grunde eine „Potenz“ von 1 (wieder im Sinne der Bemerkungen vor Satz 2.1.2). Es ist nämlich 2 = 2 · 1 = 1 + 1, 3 = 3 · 1 = 1 + 1 + 1 und n = n · 1 = 1 + . . . + 1, wobei diese Summe n (gleiche) Summanden hat. Außerdem ist beispielsweise 0 = 0 · 1, (−1) = (−1) · 1, (−2) = (−2) · 1. Wem das merkwürdig vorkommt, der schaue sich bitte noch einmal Definition 3.1.7 ganz formal an: Da in Z die Addition die entscheidende Operation im Hinblick auf die Gruppeneigenschaft ist, schreibt man nicht 1k (was zu Missverständnissen Anlass geben würde), sondern (wie gewohnt) k · 1 für k ∈ Z und bekommt so alle Elemente. Damit hat auch (Z, +) ein erzeugendes Element (und nicht nur eines, wie wir etwas später sehen werden). Diese Eigenschaft bekommt in der folgenden Definition einen Namen. 3.1.13
Definition 3.1.13 Eine Gruppe G, die nur aus den Potenzen eines einzigen Elements g besteht, heißt zyklisch. Man nennt g ein erzeugendes Element oder einen Erzeuger der Gruppe G. Damit ist insbesondere G = {g i |i ∈ Z} für das erzeugende Element g. Man schreibt auch G = g.
3.1.14
Beispiele 3.1.14 (a) Das Element 2 ∈ Z erzeugt die Gruppe der geraden Zahlen (zusammen mit der Addition), aber auch −2 ∈ Z erzeugt diese Gruppe.
(b) Die Drehung um 2π 3 erzeugt die Gruppe der Drehungen (als Teilmenge der Symmetrien) des gleichseitigen Dreiecks. Sei d1 die Drehung um 2π 3 . Dann 3 und d = d ◦ d ◦ d die Identität. Also ist ist d21 = d1 ◦ d1 die Drehung um 4π 1 1 1 1 3 4 d1 = d1 und das Beispiel zeigt, dass die Potenzen nicht notwendig verschieden sein müssen (sonst gäbe es ja auch keine zyklischen Gruppen endlicher Ordnung). (c) Selbstverständlich ist nicht jede Gruppe zyklisch. So ist die Gruppe der Symmetrien des gleichseitigen Dreiecks nicht zyklisch. Betrachtet man die Potenzen der Drehungen, so bekommt man immer wieder eine Drehung, aber keinesfalls eine Spiegelung. Betrachtet man die Potenzen der Spiegelungen, so bekommt man entweder die Identität (bei gerader Potenz) oder aber das Element selbst, also niemals eine von der Identität verschiedene Drehung oder eine der anderen Spiegelungen. Insbesondere kann ein einziges Element nicht die ganze Gruppe erzeugen.
3.1
Der Begriff der Gruppe
129
Das zweite Beispiel zeigt, dass manchmal Teilmengen von Gruppen wieder eine Gruppenstruktur haben. Man nennt sie Untergruppen. Dieser Begriff wird häufig benutzt und soll deswegen definiert werden. Definition 3.1.15 Sei G eine Gruppe und U ⊆ G. Ist U in Bezug auf die in
3.1.15
G definierte Verknüpfung eine Gruppe, so heißt U Untergruppe von G. Man schreibt: U ≤ G. Beispiele 3.1.16 (a) Die Drehungen bilden eine Untergruppe Rn der Gruppe
3.1.16
aller Symmetrien des regulären n-Ecks Dn . (b) Sei sp ∈ Dn eine beliebige Spiegelung. Dann ist U = {e, sp} eine Untergruppe von Dn der Ordnung 2. (c) Die geraden Zahlen (die durch 3 teilbaren Zahlen, die durch 4 teilbaren Zahlen, . . . , die durch n teilbaren Zahlen) bilden in Bezug auf die Addition jeweils eine Untergruppe von Z. Untergruppen spielen häufig eine wichtige Rolle und so kann es sinnvoll sein, Teilmengen einer Gruppe auf diese Eigenschaft hin zu untersuchen. Dafür muss man nicht bei allen Axiomen prüfen, ob sie erfüllt sind. Satz 3.1.17 (Untergruppenkriterium) Sei G eine Gruppe und U eine Teilmenge
von (a) (b) (c)
G. Genau dann ist U eine Untergruppe, falls gilt: U = ∅. Für alle g, h ∈ U ist auch gh ∈ U . Ist g ∈ U , so ist auch g −1 ∈ U .
Beweis 3.1.17 Die eine Richtung ist offensichtlich, denn eine Untergruppe er-
füllt nach Definition 3.1.15 die Bedingungen (a), (b) und (c), wobei die Eindeutigkeit des neutralen Elements nach Satz 2.4.3 und der Inversen nach Satz 2.1.3 benutzt werden. Sei also U eine Teilmenge von G, für die alle drei Bedingungen gelten. Dann ist wegen (b) die Verknüpfung von G eingeschränkt auf U eine Verknüpfung in U . Das formale Axiom der Assoziativität ist automatisch erfüllt, da es in der Gruppe G gilt. Wegen (a) ist U nicht leer, es gibt also ein g ∈ U und wegen (c) ist dann auch g −1 ∈ U . Schließlich besagt (b), dass mit g und g −1 auch e = gg −1 ein Element von U ist. Damit ist U eine Gruppe.
3.1.17
130
3. Gruppen und Symmetrien
Die im Beispiel auf Seite 129 genannten Gruppen sind insbesondere zyklische Gruppen (was natürlich nicht immer der Fall sein muss). Zyklische Gruppen haben eine sehr einfache Struktur, sodass sie sich gut als Beispiele eignen. Sie sind nicht nur leicht zu verstehen, sondern auch relativ einfach anzugeben. Genau das wollen wir jetzt tun: Wir werden alle zyklischen Gruppen bestimmen. Dabei interessieren uns selbstverständlich nur prinzipiell verschiedene Gruppen und nicht etwa solche, bei denen sich Elemente nur durch ihren Namen unterscheiden. Ob man in D3 die Drehungen mit d0 , d1 und d2 oder aber 4π mit id, 2π 3 und 3 bezeichnet, darf keinen Unterschied machen. Welche Unterschiede aber wirklich wichtig sind, das wird sich im Verlauf des folgenden Abschnitts zeigen.
3.2
3.2 Isomorphie Der Grundbegriff, den wir nun benötigen, ist der Begriff der Isomorphie. Die folgende Definition klärt ihn, doch im Prinzip kennen wir ihn schon (man vergleiche Definition 2.4.1). Die speziellen Abbildungen, die wir dort für Ringe definiert und betrachtet haben, spielen auch bei Gruppen eine wichtige Rolle.
3.2.1
Definition 3.2.1 Seien G, H zwei Gruppen mit den Verknüpfungen ◦ in G bzw.
∗ in H. Eine Abbildung ϕ : G → H mit ϕ(g1 ◦ g2 ) = ϕ(g1 ) ∗ ϕ(g2 ) für alle g1 , g2 ∈ G nennen wir Homomorphismus. Ist diese Abbildung zusätzlich bijektiv, so nennen wir sie Isomorphismus zwischen G und H. Wir sagen dann auch, dass G und H isomorph sind und schreiben G ∼ = H. Ein bijektiver Homomorphismus einer Gruppe G auf sich selbst heißt Automorphismus. Durch den Begriff des Isomorphismus wird offensichtlich der Begriff der bijektiven Abbildung erweitert. Ist ϕ ein Isomorphismus, so ist ϕ einerseits eine bijektive Abbildung zwischen den Gruppen, die andererseits die Struktur über die konkreten Verknüpfungen in den Gruppen respektiert. 3.2.1 Beispiele isomorpher Gruppen Wir haben mit S3 die Permutationen auf der Menge N = {1, 2, 3} bezeichnet (das sind die bijektiven Abbildung von N auf sich, man vergleiche Seite 24). Dabei haben wir gesehen, dass es sechs solche Abbildungen gibt. Es sind die Identität, die alle Elemente festlässt, sowie zwei Abbildungen, bei denen es keinen Fixpunkt gibt, und drei Abbildungen, bei denen jeweils ein Element
3.2
Isomorphie
131
festbleibt. Wenn man nun als Verknüpfung ◦ die Hintereinanderausführung von Abbildungen betrachtet, dann ist S3 in Bezug auf diese Verknüpfung eine Gruppe (und darüber sollte man an dieser Stelle kurz nachdenken). Insbesondere ist die Identität das neutrale Element, die Abbildungen mit genau einem Fixpunkt sind jeweils zu sich selbst invers und die beiden Abbildungen ohne Fixpunkt sind zueinander invers. Wir bezeichnen die Elemente von S3 (wie auf Seite 24) mit s1 , s2 , . . . , s6 . Möchte man alle möglichen Produkte aufschreiben, so bietet sich nun eine so genannte Verknüpfungstafel an. Im Folgenden ist eine solche Tafel dargestellt. Wir erinnern daran, dass bei Permutationen s2 ◦ s5 bedeutet, erst s5 und dann s2 auszuführen. Das entspricht dem Verfahren bei allgemeinen Abbildungen, denn auch dort wird f g(x) als f (g(x)) gelesen, also erst g und dann f angewendet. Im konkreten Fall sieht das so aus: Durch s2 wird wird 1 auf 2 und durch s5 wird 2 auf 2 abgebildet. Genauso wird 2 durch s2 auf 3 und 3 durch s5 auf 1 abgebildet. Schließlich wird 3 durch s2 auf 1 und durch s5 auf 3 abgebildet. Damit ist 1 2 3 1 2 3 1 2 3 = s6 . = s2 s5 = 2 1 3 2 3 1 3 2 1 Man trägt das Ergebnis in die zweite Zeile und fünfte Spalte ein (und alle anderen Ergebnisse entsprechend). Die Tafel sieht dann so aus ◦ s1 s2 s3 s4 s5 s6
s1 s1 s2 s3 s4 s5 s6
s2 s2 s3 s1 s6 s4 s5
s3 s3 s1 s2 s5 s6 s4
s4 s4 s5 s6 s1 s2 s3
s5 s5 s6 s4 s3 s1 s2
s6 s6 s4 s5 s2 s3 s1
und gibt einen Überblick über alle Beziehungen in der Gruppe S3 . Betrachtet man nun die Menge D3 der Symmetrien des regulären Dreiecks, dann kann man genauso verfahren. Wir bezeichnen mit d0 , d1 , d2 die Dre4π hungen um 0, 2π 3 , 3 und die Spiegelungen mit sp1 , sp2 , sp3 . Dabei soll spi die i-te Ecke festhalten (man vergleiche die Bezeichnungen auf Seite 122).
132
3. Gruppen und Symmetrien
Die Verknüpfungstafel ist somit durch ◦ d0 d1 d2 sp1 sp2 sp3
d0 d0 d1 d2 sp1 sp2 sp3
d1 d1 d2 d0 sp2 sp3 sp1
d2 d2 d0 d1 sp3 sp1 sp2
sp1 sp1 sp3 sp2 d0 d2 d1
sp2 sp2 sp1 sp3 d1 d0 d2
sp3 sp3 sp2 sp1 d2 d1 d0
gegeben und man erkennt problemlos die strukturelle Ähnlichkeit zwischen den beiden Tafeln. Im Grunde unterscheiden sie sich nur in den Namen der Elemente. Die Identität in D3 lässt alle Ecken fest, sodass d0 und s1 einander entsprechen. Die beiden Drehungen d1 und d2 sind zueinander invers und lassen keine Ecke fest, entsprechen also den Permutationen s2 , s3 ∈ S3 , die keinen Punkt festlassen. Die drei Spiegelungen sp1 , sp2 , sp3 lassen eine Ecke fest und sind jeweils zu sich selbst invers, sodass sie den drei Permutationen s4 , s5 , s6 entsprechen, die jeweils einen Fixpunkt haben. Auch die jeweiligen Verknüpfungen der Elemente sind genau entsprechend. Man kann also die Permutationen der Menge N = {1, 2, 3} nicht nur bijektiv auf die Symmetrien des gleichseitigen Dreiecks abbilden, sondern dabei auch die prinzipielle Struktur erhalten. Damit haben wir das folgende Lemma bewiesen. 3.2.2
Lemma 3.2.2 Die Gruppe S3 der Permutationen von drei Elementen ist iso-
morph zur Gruppe D3 der Symmetrien des gleichseitigen Dreiecks. Das Beispiel lässt sich übrigens nicht beliebig verallgemeinern. So hat ein reguläres Viereck (also ein Quadrat) 8 = 2 · 4 Symmetrien, es gibt aber 4! = 24 Permutationen einer Menge mit vier Elementen, sodass es zwischen den beiden Mengen keine bijektive Abbildung geben kann. Es ist natürlich auch möglich, weniger formal und stärker inhaltlich zu argumentieren. So gibt es beispielsweise eine Permutation auf der Menge der Zahlen {1, 2, 3, 4}, die 1 nach 2, 2 nach 3 und 3 nach 1 abbildet, aber 4 festlässt. Eine entsprechende Symmetrie kann es aber nicht geben: Eine Drehung des Quadrats lässt keine Ecke fest, kommt also nicht in Frage. Eine Spiegelung, die eine Ecke festlässt, müsste an einer Diagonalen durch diese Ecke erfolgen. Dann bleibt aber auch die zweite Ecke auf der Diagonalen fest.
3.2
Isomorphie
133
Betrachten wir noch ein weiteres Beispiel, in dem der natürliche Logarithmus eine Rolle spielt. Wenn Sie sich nicht mehr ganz genau erinnern können, worum es dabei ging, dann dürfen Sie das Beispiel getrost überschlagen.
Lemma 3.2.3 Die Gruppen (R+ , ·) und (R, +) sind isomorph.
3.2.3
Beweis 3.2.4 Sei R+ = {a|a ∈ R, a > 0} die Menge aller positiven reellen
Zahlen. Mit der üblichen Multiplikation reeller Zahlen ist R+ eine Gruppe. Sie hat das Einselement 1 und zu jedem r ∈ R+ gibt es das inverse Element + 1 (das klappt, weil r = 0 ist). Mit der üblichen Addition ist auch R r ∈ R eine Gruppe. Sei nun die Abbildung log : R+ → R gegeben, die jedem a ∈ R+ den Logarithmus dieser Zahl zur Basis e zuordnet. Für den Logarithmus gilt log(ab) = log(a)+log(b). Sei a ∈ R. Dann ist a = log ea , also ist die Abbildung log : R+ → R surjektiv (denn jede reelle Zahl hat ein Urbild). Die Abbildung ist aber auch injektiv. Ist nämlich log a = log b, dann ist a = elog a = elog b = b (gleiche reelle Zahlen haben gleiche Urbilder in R+ ). Damit ist die Abbildung log : R+ → R bijektiv. Wegen log(ab) = log(a) + log(b) erhält die Abbildung die Struktur und ist damit ein Isomorphismus zwischen R+ und R. Also ist (R+ , ·) ∼ = (R, +). 3.2.2 Grundlagen der Bestimmung von Gruppen Betrachtet man die beiden Beispiele im Abschnitt 3.2.1 aus gruppentheoretischer Sicht, dann gibt es keinen prinzipiellen Unterschied zwischen der Gruppe der Symmetrien des gleichseitigen Dreiecks und der Gruppe der Permutationen von drei Elementen bzw. zwischen (R+ , ·) und (R, +). Gruppentheoretisch kommt es weder auf die konkreten Namen noch auf die konkreten Operationen an, sondern ausschließlich auf die Elemente und ihre Beziehungen. Alle Gruppen (etwa alle zyklischen Gruppen) zu bestimmen, bedeutet aus dieser Sicht also, alle Gruppen (etwa alle zyklischen Gruppen) bis auf Isomorphie zu bestimmen. Bei den zyklischen Gruppen geht das nun recht einfach, wenn man ihre Ordnung kennt. Satz 3.2.5 Sei G eine zyklische Gruppe.
(a) Ist |G| = n mit 3 ≤ n < ∞, so ist G ∼ = Rn , wobei Rn ≤ Dn die Gruppe der Drehungen des regulären n–Ecks bezeichnen soll. (b) Ist |G| = ∞, so ist G ∼ = Z.
3.2.5
134
3. Gruppen und Symmetrien
Beweisidee 3.2.5 Der Beweis startet zunächst mit der Definition der zyklischen Gruppe. Betrachtet wird entsprechend das erzeugende Element g. Nun wird unterschieden, ob die Ordnung von g endlich ist oder nicht. In beiden Fällen wird ein geeigneter Isomorphismus angegeben. Der Beweis erschöpft sich darin zu zeigen, dass es sich wirklich um (jeweils) einen Isomorphismus handelt. Es bleibt eigentlich nur die Frage, wie man auf genau diese Isomorphismen kommt. Nun ja, Erfahrung, Erfahrung, Erfahrung und der richtige Blick auf die Dinge helfen ganz ungemein . Beweis 3.2.5 Da G eine zyklische Gruppe ist, gibt es in jedem Fall ein g ∈ G
mit G = {g i |i ∈ Z}. Wir unterscheiden im Folgenden die beiden Fälle o(g) < ∞ und o(g) = ∞.
(a)
Sei n = o(g) < ∞. Dann ist U = {g j |0 ≤ j < n}
multiplikativ abgeschlossen. Ist g j ∈ U , j > 0, so ist auch g n−j ∈ U und g j g n−j = g n = e. Also ist U eine Gruppe. Nun enthält U aber das Element g und alle (verschiedenen) Potenzen von g. Damit muss U = G sein, da G auch von g erzeugt wird. Insbesondere hat G genau n Elemente. Wir betrachten nun Rn = {di | di ist Drehung um den Winkel
2πi , i = 0, . . . , n − 1}, n
die Menge der Drehungen des regulären n–Ecks. Wir setzen ϕ : Rn → G mit ϕ(di ) = g i für alle i ∈ {0, . . . , n − 1}. Die Abbildung ϕ ist offensichtlich bijektiv. Sie ist außerdem ein Homomorphismus, denn es ist ϕ(di dj ) = ϕ(di+j ) = g i+j = g i g j = ϕ(di )ϕ(dj ) für alle i, j ∈ {0, . . . , n − 1}. Also ist ϕ ein Isomorpismus. (b)
Sei o(g) = ∞. Wir setzen ϕ : Z → G mit ϕ(i) = g i , für alle i ∈ Z.
Diese Abbildung ϕ ist ein Homomorphismus, denn es ist ϕ(i + j) = g i+j = g i g j = ϕ(i)ϕ(j) für alle i ∈ Z.
3.2
Isomorphie
135
Außerdem ist ϕ surjektiv, weil jedes Element g i ∈ G ein Urbild i ∈ Z hat. Sei nun ϕ(i) = ϕ(j). Dann ist ϕ(i)ϕ(j)−1 = e, also g i−j = e. Da o(g) = ∞, folgt i−j = 0 und somit ist i = j. Also ist ϕ bijektiv und damit ein Isomorphismus.
Folgerung 3.2.6 Für jedes n ∈ N gibt es eine zyklische Gruppe der Ordnung n. Beweis 3.2.7 Weil es zu jedem n ≥ 3 ein reguläres n-Eck gibt, bilden die Symmetrien, die Drehungen sind, eine zyklische Gruppe Rn der Ordnung n. Die Fälle n = 1 und n = 2 sind ganz einfach: Das Einselement e bildet in jeder Gruppe eine Untergruppe (und damit gibt es eine zyklische Gruppe der Ordnung 1). Außerdem haben wir weiter oben (man vergleiche Seite 129) schon gesehen, dass eine beliebige Spiegelung sp ∈ Dn eine (notwendigerweise zyklische) Untergruppe der Ordnung 2 von Dn erzeugt.
Was wir in diesem Abschnitt bisher gemacht haben, ist ein typisches Beispiel für ein axiomatisch orientiertes Arbeiten in der Mathematik. Wir finden zunächst in einem bestimmten mathematischen Kontext Beispiele für ein Phänomen. Dann sehen wir in diesen Beispielen Gemeinsamkeiten und abstrahieren zu einem neuen Begriff. Die Grundlage ist in der Regel ein Axiomensystem, das den neuen Begriff beschreibt (und das war hier der Begriff der zyklischen Gruppe). Man fragt sich nun, welche grundlegend unterschiedlichen Beispiele es für den Begriff gibt und sieht etwa (wie in unserem Fall zu einer bestimmten Ordnung), dass es bis auf Isomorphie im Wesentlichen nur ein Beispiel gibt. Das ist tatsächlich außerordentlich praktisch. Mit dieser Voraussetzung können wir nämlich viele Fragen über die abstrakte Struktur beweisen, indem wir einfach in dem konkreten Beispiel prüfen, ob und warum sie richtig sind (oder auch nicht). So kann man beispielsweise alle Fragen über unendliche zyklische Gruppen klären, indem man sie in Z betrachtet und klärt. Damit hat sich in unserem konkreten Fall der Aufwand gelohnt, denn es gibt viele Beispiele für zyklische Gruppen, die eben nur bis auf Isomorphie eindeutig sind. Insbesondere stehen für jedes dieser Beispiele alle gruppentheoretischen Sätze zur Verfügung, die man vielleicht für Z oder die Untergruppe der Drehungen in Dm bewiesen hat. Leider sind Gruppen nicht immer so einfach, übersichtlich und konkret bestimmbar wie die zyklischen Gruppen. Entsprechend ist es sinnvoll, für ganz unterschiedliche Kriterien zu testen, ob es Gruppen gibt, die genau dieses Kriterium erfüllen. So liegt etwa die Frage nahe, ob man alle Gruppen einer
3.2.6
136
3. Gruppen und Symmetrien
endlichen Ordnung n bis auf Isomorphie bestimnmen kann. Wenn n klein ist, dann kann man sehr konkret arbeiten und der folgende Satz gibt ein Beispiel. 3.2.8
Satz 3.2.8 Es gibt bis auf Isomorphie zwei Gruppen der Ordnung 4. Beweisidee 3.2.8 Wir experimentieren mit der Ordnung von Elementen der
Gruppe, wobei nur die interessant sind, die vom neutralen Element verschieden sind. Man zeigt damit, dass eine der möglichen Gruppen zyklisch ist (und damit zwei Elemente der Ordnung 4 und ein Element der Ordnung 2 hat) und die andere drei Elemente der Ordnung 2 haben muss (und insbesondere nicht zyklisch ist). Beweis 3.2.8 Nach Folgerung 3.2.6 gibt es zunächst eine zyklische Gruppe der
Ordnung 4, die von einem Element der Ordnung 4 erzeugt wird. Hat also eine Gruppe der Ordnung 4 ein Element der Ordnung 4, dann muss sie zyklisch sein und wir haben einen möglichen Typ identifiziert. Wir können also annehmen, dass o(g) < 4 für alle g ∈ G ist. Angenommen, es gibt ein g ∈ G mit o(g) = 3. Dann gibt es in G die Elemente e, g, g 2 und ein weiteres Element h. Indem wir h mit den Potenzen von g multiplizieren, erhalten wir Elemente h, hg, hg 2 . Diese können nicht in der Menge {e, g, g 2 } liegen, da sonst h eine Potenz von g wäre (ist nämlich hg j = g i , so ist h = g i−j ). Damit haben wir aber sechs verschiedene Elemente, was nicht möglich ist. Also ist o(g) = 2 für jedes von e verschiedene Gruppenelement. Seien g, h, k unterschiedliche Elemente von G der Ordnung 2. Dann bekommt man die folgende Verknüpfungstafel, die eindeutig ist (und das kann man ganz einfach begründen, oder?): · e g h k
e e g h k
g g e k h
h h k e g
k k h g e
Im Grunde ist durch die Verknüpfungstafel gegeben, dass eine solche Gruppe existiert. Wir müssten nur noch das Assoziativgesetz nachweisen. Oder aber wir geben einfach ein konkretes Beispiel an, von dem wir wissen, dass es eine Gruppe ist. Das ist leicht möglich, denn wir nehmen hier die Untergruppe der
3.2
Isomorphie
137
Symmetrien des Quadrats, die aus der Identität, der Drehung um π und den beiden Spiegelungen an den Achsen durch die gegenüberliegenden Ecken (also den Diagonalen) besteht. Diese Gruppe hat die Ordnung 4 und ist offenbar nicht zyklisch. Im Beweis von Satz 3.2.8 wurde mehr oder minder systematisches Probieren genutzt, indem wir versucht haben, mögliche Ordnungen von Elementen zu bestimmen. Dabei fiel auf, dass ein Element der Ordnung 3 wohl gar nicht zu einer Gruppe der Ordnung 4 passen kann. Das ist völlig richtig und man kann es sogar recht allgemein beweisen. Satz 3.2.9 Sei G eine endliche Gruppe und g ∈ G. Dann ist o(g) ein Teiler
von |G|. Beweisidee 3.2.9 Wenn g ∈ G ein Element der Ordnung m ist, dann bilden alle Potenzen von g eine Untergruppe U der Ordnung m von G. Man überlegt sich nun, dass für ein h ∈ G (und dieses h soll keine Potenz von g sein) die Mengen {g, g 2 , . . . , g m } und {hg, hg 2 , . . . , hg m } keine gemeinsamen Elemente haben. Bildet man also ihre Vereinigung, dann hat die entstehende Menge doppelt so viele (und sicherlich verschiedene) Elemente wie U . Da |U | = m ist, müssen es 2m Elemente sein. Wenn das nun alle Gruppenelemente sind, so ist man fertig, denn m teilt 2m. Wenn nicht, dann gibt es ein weiteres Gruppenelement k, das bisher noch nicht beteiligt war. Mit ihm wird ähnlich verfahren, insbesondere bekommt man durch Multiplikation von k mit allen Potenzen von g wieder genau m neue Elemente. Kurz und gut: Immer wenn noch ein neues Element gefunden wird, dann findet man gleich m neue Elemente. Wiederholen darf man das zwar bei Bedarf jederzeit, allerdings kann das nicht beliebig oft sein, weil G nur eine endliche Anzahl von Elementen hat, die dann irgendwann ausgeschöpft sind. Im Beweis wird nun ein induktives Argument verwendet. Man nimmt an, dass es r Elemente h1 , h2 , . . . , hr gibt so, dass einerseits eine entsprechende Vereinigung die Elemente von G noch nicht ganz abdeckt, aber andererseits r maximal ist. Es wird sich zeigen, dass das nicht möglich ist. Beweis 3.2.9 Sei g ∈ G und o(g) = m. Falls G = {g, g 2 , g 3 , . . . , g m } ist (wobei
natürlich g m = g 0 = e gilt), so hat G genau m Elemente und m ist daher ein (trivialer) Teiler von |G|.
3.2.9
138
3. Gruppen und Symmetrien
Wir zeigen nun per Induktion, dass es Elemente h1 , . . . , hr ∈ G gibt so, dass r
{hi g k |k = 1, . . . , m} = G
i=1
ist, wobei die Vereinigung disjunkt ist. Dann folgt, dass |G| = mr ist, was die Behauptung ist. Seien dazu h1 , . . . , hr bereits gefunden und so, dass die Vereinigung r
{hi g k |k = 1, . . . , m}
i=1
disjunkt ist. Wir wählen dabei r maximal. Da die Gruppe endlich ist, gibt r es ein solches r. Ist i=1 {hi g k |k = 1, . . . , m} = G, so gibt es ein weiteres r / i=1 {hi g k |k = 1, . . . , m}. Wir betrachElement hr+1 ∈ G, mit hr+1 ∈ ten die Menge {hr+1 g k |k = 1, . . . , m}. Die Elemente dieser Menge sind alle verschieden, denn aus hr+1 g i = hr+1 g j folgt g i = g j . Außerdem ist r / i=1 {hi g k |k = 1, . . . , m}, denn aus hr+1 g i = hk g j , k ≤ r folgt hr+1 g i ∈ hr+1 = hk g für geeignetes . Offensichtlich ist damit r
{hi g k |k = 1, . . . , m} ∪ {hr+1 g k |k = 1, . . . , m}
i=1
eine disjunkte Vereinigung, was der maximalen Wahl von r widerspricht. Also ist r {hi g k |k = 1, . . . , m} = G, i=1
was wir zeigen wollten. In der Beweisidee zu Satz 3.2.9 ist ja schon angeklungen, dass ein Element g ∈ G der Ordnung m eine Untergruppe der Ordnung m erzeugt. Wir haben also mit diesem Satz gezeigt, dass die Ordnung eines bestimmten Typs von Untergruppe die Ordnung der ganzen Gruppe teilt. Dieses Ergebnis kann man verallgemeinern, denn es gilt sogar, dass die Ordnung jeder Untergruppe die Gruppenordnung teilt. Bekannt ist dieses Resultat unter dem Namen Satz von Lagrange.1 Wir werden ihn zu einem späteren Zeitpunkt beweisen (man vergleiche Satz 3.5.8). 1
Joseph Louis Lagrange, *25.1.1736 Turin, †10.4.1813 Paris, war Professor in Turin, Berlin und Paris. Sein Name wird mit grundlegenden Arbeiten zur Variationsrechnung, Zahlentheorie und Differentialrechnung verbunden. Er gilt als Begründer der analytischen Mechanik.
3.2
Isomorphie
139
Das Resultat vereinfacht häufig die konkrete Bestimmung von Gruppen. Beschäftigt man sich beispielsweise mit Gruppen der Ordnung 5, so besagt Satz 3.2.9, dass die Elemente einer solchen Gruppe entweder die Ordnung 1 (und das trifft auf genau ein Element zu) oder die Ordnung 5 haben können. Offensichtlich gibt es also (bis auf Isomorphie) nur genau eine Gruppe der Ordnung 5 und das ist die zyklische Gruppe (man vergleiche Folgerung 3.2.6, in der die Existenz dieser Gruppe belegt wird, und überlege sich, warum mit einem vom neutralen Element verschieden Gruppenelement alle anderen Elemente eindeutig bestimmt sind). Was wir uns hier für die konkrete Zahl 5 überlegt haben, sollte sich verallgemeinern lassen. Man vermutet zurecht, dass eine ähnliche Aussage für alle Gruppen gelten muss, deren Ordnung eine Primzahl ist. Genau das besagt der folgende Satz, dessen Beweis wirklich nicht mehr als die Überlegungen im vorigen Absatz erfordert (und der darum hier entfallen darf). Satz 3.2.10 Seien G eine Gruppe, p eine Primzahl und |G| = p. Dann ist G
3.2.10
zyklisch. Man sieht sofort, dass die Drehungen eines regulären n-Ecks für eine Primzahl n ≥ 3 offensichtlich das (bis auf Isomorphie eindeutig bestimmte) konkrete Beispiel für diese Gruppen liefern. 3.2.3 Faktorgruppen Wir wollen nun Homomorphismen von Gruppen etwas eingehender studieren, denn wir werden später noch mit ihnen zu tun haben. Wie bei den Körpern spielen auch hier die Elemente eine besondere Rolle, die auf das neutrale Element abgebildet werden (man vergleiche Definition 2.4.4). Definition 3.2.11 Seien G und H Gruppen und sei σ : G −→ H ein Homomor-
3.2.11
Seien G und H Gruppen und sei σ : G −→ H ein Homomorphismus. Dann ist der Kern von σ eine Untergruppe von G.
3.2.12
phismus. Dann nennen wir die Menge Kern (σ) = {x | x ∈ G, σ(x) = 1} den Kern von σ. Lemma 3.2.12
Beweis 3.2.12 Es ist σ(1) = σ(1 · 1) = σ(1) · σ(1). Also ist σ(1) = 1, sodass der Kern von σ das Einselement enthält und insbesondere nicht leer ist.
140
3. Gruppen und Symmetrien
Seien nun a, b ∈ G mit σ(a) = 1 = σ(b). Dann ist σ(ab) = σ(a)σ(b) = 1, sodass für a, b ∈ Kern (σ) auch ab ∈ Kern (σ) gilt. Weiter ist 1 = σ(aa−1 ) = σ(a)σ(a−1 ) = σ(a−1 ) und somit ist a−1 im Kern von σ. Also ist Kern (σ) nach Satz 3.1.17 eine Untergruppe von G. Der Kern eines Homomorphismus σ hat eine besondere Eigenschaft, die wir im Folgenden motivieren wollen. Seien also wieder G und H Gruppen und σ : G −→ H ein Homomorphismus. Sei außerdem U = Kern (σ), das Element g ∈ G beliebig und σ(g) = h. Wir betrachten das Urbild von h ∈ H unter der Abbildung σ, also alle Elemente aus G mit der Eigenschaft σ(x) = h. Sei x ∈ G ein solches Element mit σ(x) = h. Offensichtlich ist dann σ(g −1 x) = 1, also ist g −1 x ∈ U und damit x = gu für ein geeignetes u ∈ U . Also unterscheidet sich ein Element des Urbilds von σ nur durch ein Element aus dem Kern von g ∈ G und es ist gU = {gu | u ∈ U } das Urbild von h unter σ. Nun ist aber genauso σ(ug) = σ(u)σ(g) = σ(g) = h. Also ist gU = U g für alle g ∈ G und U = Kern (σ). Ist das eine besondere Eigenschaft? Ja. Um das zu verstehen, betrachten wir noch einmal die Symmetriegruppe des Dreiecks. 3
J
J J
J
J
J
1 2 Sei sp1 die Spiegelung, die 2 und 3 vertauscht, und U = {id, sp1 }. Offensichtlich ist U eine Untergruppe der Symmetriegruppe des Dreiecks. Sei sp2 die Spiegelung, die 1 und 3 vertauscht. Dann ist sp2 U = {sp2 , sp2 sp1 }, U sp2 = {sp2 , sp1 sp2 }. Nun ist sp1 sp2 die Drehung um 3π 2 und sp2 sp1 die Drehung um sp1 sp2 = sp2 sp1 und damit U sp2 = sp2 U .
π 2
. Also gilt
Da die Teilmengen gU eine besondere Rolle spielen, wollen wir ihnen zunächst einen Namen geben.
3.2
Isomorphie
141
Definition 3.2.13 Sei G eine Gruppe und U ≤ G eine Untergruppe von G, dann
3.2.13
heißt gU = {gu|u ∈ U } Linksnebenklasse von U in G und U g = {ug|u ∈ U } Rechtsnebenklasse von U in G. Beide fasst man unter dem Begriff Nebenklasse zusammen.
Die Begriffsbildung ist völlig formal, aber nützlich. Wir wählen eine Untergruppe aus und betrachten alle möglichen Produkte der Elemente mit einem bestimmten Element aus g ∈ G. Ist g ∈ U , dann gilt offensichtlich gU = U g = U . In allen anderen Fällen bekommt man eine neue Menge, die genauso viele Elemente wie U hat (und das kann man sich leicht überlegen), aber keine Gruppe mehr ist (diese Überlegung ist genauso einfach). Die Beispiele zeigen, dass es in einer Gruppe durchaus Untergruppen U geben kann, für die gU = U g gilt, aber dies nicht notwendig für alle Untergruppen so ist. In der folgenden Definition bekommen solche speziellen Untergruppen daher einen eigenen Namen. Definition 3.2.14 Sei G eine Gruppe und N eine Untergruppe von G. Ist gN =
N g für alle g ∈ G, so nennt man N einen Normalteiler von G. Man schreibt N G. Was ist nun das Besondere an den Normalteilern einer Gruppe? Um eine erste Antwort zu finden, betrachten wir für eine Untergruppe U von G die Menge {gU | g ∈ G}, also die Menge der Linksnebenklassen von U in G. Auf dieser Menge wollen wir eine Multiplikation einführen, also zu den Elementen g, h ∈ G ein geeignetes x ∈ G bestimmen, sodass (gU )(hU ) = xU ist. Nun sind gU und hU Mengen, multiplizieren kann man aber sinnvoll nur elementweise. Die Multiplikation von Teilmengen in einer Gruppe sollte man entsprechend so definieren, dass man jedes Element der einen Menge mit jedem Element der anderen Menge multipliziert. Es ist g ∈ gU und h ∈ hU , denn g = g · 1 und h = h · 1. Also muss gh ∈ xU sein. Dies bedeutet xU = (gh)U . Somit scheint es sinnvoll, (gU )(hU ) = (gh)U festzulegen. Allerdings, wenn U = 1 ist (und der andere Fall ist allzu einfach), dann gibt es in gU und hU noch andere Elemente. Dies bedeutet, dass das
3.2.14
142
3. Gruppen und Symmetrien
Element g durch die Menge gU nicht eindeutig festgelegt ist. Eine Multiplikation in einer Gruppe ist aber eine Abbildung, also wird jedem Paar eindeutig ein Produkt zugeordnet. Wir müssen also zeigen, dass die obige Multiplikation von der spezifischen Auswahl von g und h unabhängig ist. Seien dazu gu1 ∈ gU, hu2 ∈ hU mit u1 , u2 ∈ U . Dann muss (nach der Festlegung oben) auch gu1 hu2 ∈ ghU sein. Also sollte gu1 hu2 = (gh)u3 für ein geeignetes u3 ∈ U sein. Man rechnet damit u1 hu2 = hu3 oder h−1 u1 h = u3 u−1 2 . Insbesondere ist h−1 u1 h ∈ U für alle u1 ∈ U . Das ist eine wesentliche Eigenschaft, die in der Konsequenz (a)
U h ⊆ hU
bedeutet. Nun gilt diese Beziehung aber für alle h ∈ G, insbesondere auch für das inverse Element h−1 ∈ G zu h. Damit ist U h−1 ⊆ h−1 U . Die Multiplikation mit h liefert hU h−1 ⊆ U und somit (b)
hU ⊆ U h.
Aus (a) und (b) folgt schließlich hU = U h für alle h ∈ G. Nach Definition 3.2.14 muss U also ein Normalteiler sein. Überlegen wir noch einmal, was wir gemacht haben: Im Grunde wollten wir nur eine halbwegs vernünftige Multiplikation auf der Menge der Nebenklassen erklären. Der weitere Weg hat gezeigt, dass dieses Ziel nicht ohne weiteres zu erreichen ist, sondern sinnvoll nur für einen Normalteiler angegangen werden kann. In diesem Fall gibt es in der Tat eine Multiplikation auf {gU | g ∈ G}. Diese Multiplikation erfüllt allerhand gute Eigenschaften. Insbesondere kann man zeigen, dass sie assoziativ ist. Außerdem gibt es in der Menge der Nebenklassen ein neutrales Element bezüglich dieser Multiplikation und dazu jeweils ein inverses Element. Kurz und gut, unsere Menge erfüllt mit der oben definierten Multiplikation wiederum die Gruppeneigenschaften. 3.2.15
Sei N ein Normalteiler der Gruppe G. Dann bilden die Nebenklassen {gN | g ∈ G} eine Gruppe. Wir nennen sie die Faktorgruppe nach N und schreiben G/N . Lemma 3.2.15
3.3
Permutationen
143
Beweis 3.2.15 Seien g, h, k ∈ G und gN, hN, kN Nebenklassen des Normaltei-
lers N G. Dann ist
((gN )(hN ))(kN ) = ((gh)N )(kN ) = (gh)kN = g(hk)N = (gN )((hk)N ) = (gN )((hN )(kN )). Also gilt das Assoziativgesetz. Das neutrale Element ist 1 · N = N , denn (1 · N )(gN ) = gN. Ist gN eine Nebenklasse, so ist (gN )−1 = g −1 N , da (g −1 N )(gN ) = (g −1 g)N = N ist.
3.3
3.3 Permutationen Im Beispiel auf Seite 132 haben wir gezeigt, dass die Permutationen von drei Elementen in Bezug auf ihre Hintereinanderausführung eine Gruppe bilden, die wir mit S3 bezeichnet haben (man vergleiche Definition 1.3.2). Es liegt auf der Hand, dass die Beschränkung auf drei Elemente nicht unbedingt nötig ist. Betrachtet man nämlich die bijektiven Abbildungen der Menge {1, 2, . . . , n} auf sich selbst, dann gelten auch für diese Menge Sn (wiederum in Bezug auf die Hintereinanderausführung von Abbildungen) die Gruppenaxiome. 3.3.1 Die symmetrische Gruppe Sn Sind g, f ∈ Sn , so definiert man gf durch gf (i) = g(f (i)) für alle i ∈ {1, . . . , n}. Zu zeigen ist, dass auch gf eine bijektive Abbildung der Menge {1, 2, . . . , n} auf sich selbst ist (eigentlich haben wir das schon mit Satz 1.3.4 bewiesen, aber doppelt hält bekanntlich besser). Satz 3.3.1 Die bijektiven Abbildungen Sn einer Menge mit n Elementen auf
sich bilden eine Gruppe der Ordnung n! = 1 · 2 · . . . · n = symmetrische Gruppe vom Grad n.
n
i=1
i. Sie heißt
Beweis 3.3.1 Für g, f ∈ Sn ist zunächst gf ∈ Sn zu zeigen. Dabei genügt
der Nachweis der Injektivität, denn gf operiert auf einer endlichen Menge (man vergleiche Satz 1.2.13). Sei also gf (a) = gf (b) für a, b ∈ {1, 2, . . . , n}. Dann ist f (a) = f (b), weil g injektiv ist, und damit, weil f injektiv ist, auch a = b. Also ist gf injektiv, damit auch surjektiv und somit gf ∈ Sn . Das neutrale Element ist offensichtlich die identische Abbildung id ∈ Sn mit id(i) = i für alle i = 1, 2, . . . , n. Sei nun f ∈ Sn eine beliebige Abbildung.
3.3.1
144
3. Gruppen und Symmetrien
Dann definieren wir f −1 ∈ Sn durch f −1 (i) = j, wobei f (j) = i ist. Man rechnet f −1 f (i) = i = f f −1 (i) für i ∈ {1, 2, . . . , n} und f −1 ∈ Sn ist das inverse Element von f ∈ Sn . Da das Assoziativgesetz ohnehin gilt, ist Sn eine Gruppe. Die Ordnung von |Sn | haben wir in Satz 1.3.6 bereits bestimmt. Die Gruppe Sn der Permutationen von n Elementen ist ein ganz wichtiges Beispiel einer Gruppe. Dabei ist es wohl unmittelbar klar, dass die n Elemente, auf denen die Abbildungen operieren, nicht unbedingt mit der Menge {1, . . . , n} identisch sein müssen. Wichtig ist allein die Anzahl der (verschiedenen) Elemente, unwichtig ist ihre Bezeichnung. Insbesondere ist Sn isomorph zur Gruppe der Permutationen von irgendeiner Menge von n Elementen. Wir verwenden für die Permutationen aus Sn eine Schreibweise, die dem Beispiel auf Seite 24 entspricht (und werden sie noch weiter vereinfachen). Ganz allgemein sieht das so für ein Element g ∈ Sn aus: g=
... in i1 g(i1 ) . . . g(in )
.
Dabei sind die Elemente i1 , . . . , in nichts anderes als die Zahlen 1, . . . , n in irgendeiner passenden Reihenfolge. Vermutlich wirkt das auf manche Leserinnen und Leser kryptisch, daher konkretisiert das folgende Beispiel die Schreibweise (und zeigt, dass alles im Grunde ganz einfach ist). 3.3.2
Beispiel 3.3.2 Die Permutation, mit der die Zahlen 1, 2, . . . , 9 nach der Vor-
schrift 1 → 3, 2 → 2, 3 → 5, 4 → 4, 5 → 7, 6 → 6, 7 → 8, 8 → 1, 9 → 9 auf sich selbst abgebildet werden, stellt man in S9 wie folgt dar: 123456789 . 325476819 Diese Permutation könnten wir bei einer anderen Anordnung der Zahlen 1, 2, . . . , 9 in der oberen Zeile auch in der Form 135782469 357812469 schreiben (denn auf die Reihenfolge darf es nicht ankommen). Diese geänderte Schreibweise ist allerdings keine Spielerei, sondern sie hat durchaus einen praktischen Vorteil. Hier sieht man nämlich deutlich, dass die
3.3
Permutationen
145
ersten fünf Symbole zyklisch permutiert werden, während die restlichen vier festbleiben (und diese vier damit eigentlich für das Ergebnis uninteressant sind). Der Sachverhalt führt zu einer neuen Definition. Definition 3.3.3 Eine Permutation g ∈ Sn mit
g=
3.3.3
m1 m2 . . . mk−1 mk mk+1 . . . mn m2 m3 . . . mk m1 mk+1 . . . mn
heißt ein k–Zykel. Wir schreiben vereinfachend g = (m1 , m2 , . . . , mk ). Ein 2–Zykel heißt Transposition. Bei einem k–Zykel in der Gruppe Sn bleiben entsprechend n − k Elemente fest, während unter den verbleibenden k Elementen keines mehr ein Fixpunkt ist. Diese Betrachtung von k–Zyklen führt uns nun zu einer weiteren Vereinfachung der Schreibweise, bei der insbesondere auf einen Blick klar wird, was die einzelnen Permutationen bewirken. Auch hier sehen wir uns die Sache zunächst anhand eines Beispiels an. Beispiel 3.3.4 Wir betrachten die Permutation
123456789 245873619
3.3.4
.
Dabei wird 1 auf 2, 2 auf 4, 4 auf 8, 8 auf 1 abgebildet. Dies entspricht dem 4-Zykel g1 = (1, 2, 4, 8). Weiter wird 3 auf 5, 5 auf 7, 7 auf 6 und 6 auf 3 abgebildet. Das entspricht dem 4-Zykel g2 = (3, 5, 7, 6). Wir setzen außerdem g3 = (9) und machen damit deutlich, dass dieses Element auf sich selbst abgebildet wird. Dann können wir die obige Permutation als Produkt g1 g2 g3 schreiben (das ist offensichtlich richtig, oder?). 3.3.2 Zyklenzerlegung In den vorangegangenen Absätzen haben wir uns mit der Darstellungen von Permutationen durch beliebige Zyklen bzw. Transpositionen beschäftigt. Dabei sind die Überlegungen im Kern verallgemeinerbar. Diese Beschreibung einer Permutation aus Sn als Produkt von disjunkten Zyklen ist nämlich ganz allgemein möglich und genau das besagt der erste Teil des folgenden Satzes. Der Beweis zeigt auch noch, dass diese Darstellung bis auf die Reihenfolge eindeutig ist. Im zweiten Teil wird gezeigt, dass auch eine Zerlegung
146
3. Gruppen und Symmetrien
in Transpositionen nicht nur im Beispiel, sondern ganz allgemein möglich ist. Kleine Anmerkung: Bitte haben Sie keine Angst vor den vielen Indizes, die im Satz auftreten. Es geht wirklich um nichts anderes als das, was oben in den konkreten Beispielen so einfach war. 3.3.5
Satz 3.3.5 (Zyklenzerlegung)
(a) Sei g ∈ Sn eine Permutation. Dann gibt es Teilmengen M1 , . . . , Mt von {1, 2, . . . , n} mit Mi = {mi1 , . . . , miki }, Mi ∩ Mj = ∅ für i = j und t i=1 Mi = {1, . . . , n} und so, dass g das Produkt der Zyklen (mi1 , . . . , miki ), mit i = 1, . . . , t ist. (b) Ist n ≥ 2, so ist jede Permutation g ∈ Sn als ein Produkt von Transpositionen darstellbar. Beweisidee 3.3.5 Im Grunde wird nur die Idee übertragen, die wir im Beispiel des Elements aus S9 (auf Seite 145) verwendet haben. Da aber für alle n ∈ N gedacht werden und man sich jeweils für alle möglichen Längen von Zyklen absichern muss, sind die Indizes (und dahinter steckt ja nichts anderes als die Bezeichnung der Zyklen) für manche Leserinnen und Leser vielleicht das eigentliche Problem. Konkret bestimmt man für den Beweis vom ersten Teil des Satzes („Zerlegung in Zyklen“) der Reihe nach die Zyklen und legt sie unter den Namen M1 , . . . , Mt in Form von Mengen ab. Begonnen wird mit irgendeinem Element zwischen 1 und n, dass mit mi1 bezeichnet wird. Dann wird betrachtet, was mit mi1 passiert, wenn man g, g 2 , g 3 , . . . darauf anwendet. Alle diese Elemente bilden schließlich M1 . Und aus den restlichen Elementen pickt man sich ein neues heraus und verfährt genauso (im Beweis 3.3.5 heißt es dann einfach „usw.“). Im Beispiel oben (wie gesagt auf Seite 145) wäre M1 = {1, 2, 4, 8}, M2 = {3, 5, 7, 6} und M3 = {9} und somit t = 3 gewesen. Der zweite Teil des Satzes ist übrigens ganz einfach zu beweisen, denn man kann für ein beliebiges g ∈ Sn die Zerlegung in Transpositionen einfach angeben. Beweis 3.3.5 (a) Sei mi1 ∈ Ω = {1, . . . , n}. Da Ω endlich ist, gibt es k1 , k2 ∈ N,
k1 < k2 mit g k1 (mi1 ) = g k2 (mi1 ). Also gibt es auch ein minimales ki ∈ N mit g ki (mi1 ) = mi1 . Sei M1 = {mi1 , g(mi1 ), . . . , g ki −1 (mi1 )}, also g|M1 = (mi1 , . . . , g ki −1 (mi1 )).
3.3
Permutationen
147
Dabei bezeichnet g|M1 die Einschränkung der Abbildung g auf die Menge M1 . Falls Ω \ M1 nicht leer ist, so betrachtet man g|Ω\M1 . Auch das ist wieder eine bijektive Abbildung. Nun folgt die Behauptung mit einer Induktion nach |Ω|. (b) Da Teil (a) bewiesen ist, genügt es, die Behauptung für einen Zykel g = (m1 , . . . , mk ) zu beweisen. Dann kann man die Transpositionen aber konkret angeben. Wir unterscheiden die beiden Fälle k = 1 und k > 1. Für k = 1 ist (m1 ) = (m1 , m2 )(m1 , m2 ), wobei m2 beliebig gewählt werden kann (und wegen n ≥ 2 auch existieren muss). Ist k > 1, dann rechnet man (m1 , . . . , mk ) = (m1 , mk )(m1 , mk−1 ) . . . (m1 , m2 ).
Es ist eine Konvention, dass in der Zyklenzerlegung von g Zyklen der Länge 1 nicht aufgeschrieben werden, sodass beispielsweise (1, 2)(4, 5, 6) in S6 dem Produkt (1, 2)(3)(4, 5, 6) entspricht. Beispiel 3.3.6 Wir betrachten wieder die Symmetriegruppe S3 des regulären
Dreiecks und wollen nun die Zyklenzerlegung aller Elemente aufschreiben. Mit den Bezeichnungen der Elemente dieser Gruppe wie auf Seite 24 gilt dann: s2 = (1, 2, 3), s3 = (1, 3, 2), s4 = (2, 3), s5 = (1, 3) und s6 = (1, 2). Als Produkt von Transpositionen schreibt man etwa s2 = (1, 3)(1, 2) und s22 = s3 = (1, 2)(1, 3). Allerdings hätten wir s2 auch als (1, 2)(2, 3) oder als (1, 2)(1, 3)(2, 3)(1, 2) schreiben können. Wir sehen, dass die Zerlegung in Transpositionen nicht eindeutig ist, aber eine kleine Aussage lässt sich ganz allgemein machen. Insbesondere ist es kein Zufall, dass wir für die Darstellung des Elements s2 als Produkt von Transpositionen jeweils eine gerade Anzahl von Transpositionen gefunden haben. Die beiden folgenden Sätze 3.3.7 und 3.3.9 klären den Sachverhalt. Der schöne Beweis von Satz 3.3.7 stammt aus dem Buch von P. M. Neumann, G. A. Stoy und E. C. Thompson mit dem Titel Groups and Geometry (siehe [10]).
3.3.6
148
3.3.7
3. Gruppen und Symmetrien
Satz 3.3.7 Seien h1 , . . . , hr ∈ Sn (mit n ≥ 2) Transpositionen. Hat das Pro-
dukt h1 h2 . . . hr in der Zyklenzerlegung genau c Zyklen, wobei auch Zyklen der Länge 1 mitzählen, so ist r ≡ n − c (mod 2). Beweisidee 3.3.7 Der Beweis geschieht durch vollständige Induktion und beginnt mit r = 0. Diesen Fall kann man ganz leicht mit einer geschickten Festlegung abarbeiten. Wer es konservativ mag, kann sich den Induktionsanfang auch für r = 1 überlegen. Ist nämlich r = 1, so haben wir es mit genau einer Transposition h = (a1 , a2 ) für gewisse a1 , a2 ∈ {1, 2, . . . , n} zu tun, die offensichtlich in der Zyklenzerlegung aus genau dieser Transposition (a1 , a2 ) und weiteren n − 2 Zyklen der Länge 1 besteht. Insgesamt sind das 1 + (n − 2) = n − 1 Zyklen. Damit ist c = n − 1 und die Kongruenz 1 ≡ n − (n − 1) (mod 2) gilt wirklich trivialerweise.
Der Schluss von r − 1 auf r gelingt folgendermaßen: Wir wählen zunächst eine beliebige Permutation f aus, die ein Produkt von r Transpositionen ist. Eine neue Permutation g entsteht dann, wenn die erste Transposition in diesem Produkt weggelassen wird. Dann kann man g aber als Produkt von r − 1 Transpositionen darstellen und die Behauptung des Satzes gilt (das ist die Induktionsannahme). Um den Rest der Argumentation zu verstehen, muss man eigentlich nur bedenken, dass Namen Schall und Rauch sind, was auch für Indizes gilt. Fakt ist, dass g ∈ Sn ist, also in der Zyklenzerlegung von g irgendwo jede der Zahlen 1, 2, . . . , n einmal auftritt, da wir auch Zyklen der Länge 1 mitzählen. Insbesondere findet man da auch die beiden Zahlen, aus denen die „weggelassene“ Transposition besteht. Und diese zwei Zahlen findet man entweder in einem gemeinsamen Zykel oder aber in zwei unterschiedlichen Zyklen. Diese beiden Fälle werden für den Induktionsschluss unterschieden. Beweis 3.3.7 Wir beweisen die Behauptung durch Induktion nach r. Ist r = 0,
so ist die Behauptung richtig, da wir das Produkt von Null Transpositionen als 1 setzen, die Zyklenzerlegung somit durch n Zyklen der Länge 1 bestimmt ist und folglich c = n gilt. Sei also r > 0. Wir betrachten f = h1 h2 · · · hr−1 hr und g = h2 · · · hr . Nach Satz 3.3.5 kann man jede beliebige Permutation und damit auch g in Zyklen zerlegen. Sei also g = (α1 , . . . , αb1 )(β1 , . . . , βb2 ) . . . (λ1 , . . . , λbd ) die Zyklenzerlegung von g.
3.3
Permutationen
149
Die Permutation g hat d Zyklen und da g das Produkt von r − 1 Transpositionen ist, kann man die Induktionsannahme anwenden. Es ist r − 1 ≡ n − d (mod 2). Die Zyklen von g können in jeder Reihenfolge geschrieben werden und jeder Zyklus kann an jeder Stelle starten. Falls also beide Einträge in h1 im gleichen Zyklus von g liegen, können wir h1 = (α1 , αs+1 ) für ein geeignetes s annehmen und falls sie in verschiedenen Zyklen liegen, darf man h1 = (α1 , β1 ) setzen. Im ersten Fall ist f = h1 g = (α1 , . . . , αs )(αs+1 , . . . , αb1 )(β1 , . . . , βb2 ) . . . (λ1 , . . . , λbd ) und somit c = d + 1, also r ≡ n − d + 1 ≡ n − c (mod 2) (nicht vergessen: n − d + 1 ≡ n − d − 1 (mod 2)). Im zweiten Fall ist f = h1 g = (α1 , . . . , αb1 , β1 , . . . , βb2 )(γ1 , . . . , γb3 ) . . . (λ1 , . . . , λbd ), also c = d − 1 und daher r ≡ n − d + 1 ≡ n − c (mod 2). Manchmal zeigt man mit einem Beweis mehr als die Behauptung und das ist auch in diesem Beweis von Satz 3.3.7 der Fall. Aus den letzten Argumentationsschritten folgt nämlich sofort, dass die Multiplikation mit einer Transposition die Anzahl der Zyklen um genau 1 erhöht oder vermindert. Für die Formulierung eines weiteren Ergebnisses in diesem Zusammenhang brauchen wir zunächst einen neuen Begriff. Wir legen fest, was wir unter dem Signum („Vorzeichen“) einer Permutationen verstehen wollen. Sei g ∈ Sn (mit n ≥ 2). Sei x(g) die Anzahl der Transpositionen in einer Darstellung von g als Produkt von Transpositionen. Dann heißt Definition 3.3.8
sgn(g) = (−1)x(g) das Signum von g. Der folgende Satz besagt nun, dass jedem g ∈ Sn (unter der Voraussetzung n ≥ 2) eindeutig das Signum zugeordnet werden kann. Damit ist sgn eine
3.3.8
150
3. Gruppen und Symmetrien
Abbildung von Sn in die Menge {−1, +1} und insbesondere ist der Begriff wohldefiniert. Diese Abbildung ist sogar ein Homomorphismus, was bedeutet, dass man einem Produkt von Permutationen als Signum das Produkt der jeweiligen Signa zuordnen kann. 3.3.9
Satz 3.3.9 Die Zuordnung
sgn : Sn → {−1, +1} ist für n ≥ 2 ein Homomorphismus von Sn auf die Menge {−1, +1}. Beweis 3.3.9 Sei f ∈ Sn . Ist f ein Produkt von sowohl r als auch s Transpo-
sitionen, so ist r ≡ n − c ≡ s (mod 2) (nach Satz 3.3.7), wobei c die Anzahl der Zyklen in der Zyklenzerlegung ist. Also ist x(f ) modulo 2 eindeutig bestimmt und damit auch sgn(f ) = (−1)x(f ) . Offensichtlich ist sgn damit eine Abbildung von Sn in {1, −1}. Auf der Menge {1, −1} sei nun eine Multiplikation so wie für reelle Zahlen erklärt. Damit ist {1, −1} eine Gruppe, wobei hier nur wichtig ist, dass jedes solche Produkt wieder aus der Menge {1, −1} ist. Seien g, h ∈ Sn . Dann kann gh als Produkt von x(g) + x(h) Transpositionen geschrieben werden. Also ist sgn(gh) = (−1)(x(g)+x(h)) = (−1)x(g) · (−1)x(h) = sgn(g)sgn(h), und sgn ist ein Homomorphismus. Da sgn((1, 2)) = −1 ist, ist die Abbildung sgn surjektiv.
3.4
3.4 Untergruppen der Sn Wir wollen uns nun mit einigen Eigenschaften von Untergruppen der symmetrischen Gruppe beschäftigen. Dabei kann man schon am folgenden einfachen Beispiel einige prinzipielle Aspekte erkennen.
3.4.1
Beispiel 3.4.1 Wir betrachten noch einmal die Symmetriegruppe des Quadrats.
Sie hat acht Elemente, nämlich vier Drehungen um den Schnittpunkt der Diagonalen und vier Spiegelungen an den Diagonalen bzw. an den Seitenmitten.
3.4
Untergruppen der Sn
151
4
3
1
2
Konkret kann man diese Symmetrien mit Hilfe von Bezeichnungen der vier Ecken beschreiben. d sei die Drehung um π2 : 1 → 2 → 3 → 4 → 1 Dann gilt: d2 ist die Drehung um π : d3 ist die Drehung um 3π 2 :
1 → 3 → 1, 2 → 4 → 2 1→4→3→2→1
s1 sei die Spiegelung an 1 und 3 :
1 → 1, 3 → 3, 2 → 4 → 2
Dann gilt: s2 = ds1 ist die Spiegelung an 12 und 34 : d2 s1 ist die Spiegelung an 2 und 4 : d3 s1 ist die Spiegelung an 14 und 23 :
1 → 2 → 1, 3 → 4 → 3 2 → 2, 4 → 4, 1 → 3 → 1 1 → 4 → 1, 2 → 3 → 2
Der Vollständigkeit halber nehmen wir noch die Identität hinzu und ergänzen id = d4 ist die Drehung um 0◦ :
1 → 1, 2 → 2, 3 → 3, 4 → 4.
Nun identifizieren wir die Ecken des Quadrats mit der Menge {1, 2, 3, 4} und benutzen die (inzwischen vertraute) Zyklenschreibweise, bei der Zyklen der Länge 1 nicht mitgeschrieben werden. Das Ergebnis sieht so aus: id = (1)(2)(3)(4), d = (1, 2, 3, 4), d2 = (1, 3)(2, 4), d3 = (1, 4, 3, 2), s1 = (2, 4), s2 = (1, 2)(3, 4), d3 s1 = (1, 4)(2, 3) und d2 s1 = (1, 3). Ganz offensichtlich bilden diese Elemente genau die Gruppe, die wir auf Seite 122 schon kennen gelernt und mit D4 bezeichnet haben. Genauso offensichtlich ist D4 von S4 verschieden, denn es ist zum Beispiel (1, 2, 3) ∈ D4 . Wir haben also eine Teilmenge von S4 , die mit der von S4 induzierten Verknüpfung wieder eine Gruppe bildet. Die Symmetriegruppe des regulären 4–Ecks ist somit zu einer Untergruppe von S4 isomorph.
152
3. Gruppen und Symmetrien
Mit Hilfe des Untergruppenkriteriums 3.1.17 kann man die Aussage des vorherigen Beispiels leicht verallgemeinern. Der folgende Satz formuliert diesen Sachverhalt. 3.4.2
Satz 3.4.2 Die Symmetriegruppe Dn des regulären n–Ecks ist zu einer Untergruppe von Sn isomorph. Beweisidee 3.4.2 Man muss sich nur zwei Dinge überlegen: (1) Es geht darum, zu zeigen, dass die Bedingungen des Untergruppenkriteriums gelten. (2) Die Elemente von Dn sind nichts anderes als gewisse Permutationen der Menge {1, 2, . . . , n}. Beweis 3.4.2 Da die Elemente von Dn als Permutationen der Menge der Ecken
{1, 2, . . . , n} aufgefasst werden können, können wir Dn zunächst einmal als Teilmenge von Sn betrachten. Wir zeigen, dass die Bedingungen (a), (b) und (c) des Untergruppenkritriums 3.1.17 erfüllt sind. Zunächst ist die Menge Dn nicht leer, denn in jedem Fall ist die identische Abbildung id aus Dn . Damit gilt Bedingung (a). Sind g und h Symmetrien des regulären n–Ecks, dann ist es auch ihre Hintereinanderausführung, also ist Bedingung (b) erfüllt. Außerdem ist jede Symmetrie des regulären n–Ecks umkehrbar und diese Umkehrung ist wieder eine Symmetrie des regulären n–Ecks. Damit ist (c) erfüllt und Dn ist eine Gruppe. Der Beweis über das Untergruppenkriterium ist zwar sehr einfach, der Sachverhalt war aber im Grunde schon mit den Überlegungen im Beispiel (auf Seite 150) einsichtig. Ganz so einfach ist es bei der folgenden Verallgemeinerung nicht, mit der die Bedeutung der Gruppe Sn noch einmal unterstrichen wird. 3.4.3
Satz 3.4.3 Sei G eine endliche Gruppe. Dann gibt es ein n ∈ N und eine Untergruppe U von Sn so, dass G ∼ = U ist. Beweisidee 3.4.3 Der Beweis wird für eine ganz beliebige endliche Gruppe G der Ordnung n geführt. Dabei spielt diese Ordnung eine tragende Rolle, denn alles läuft darauf hinaus, zu zeigen, dass die Gruppe G isomorph zu einer Untergruppe von Sn ist. Dazu ist es notwendig, zwischen den (völlig beliebigen) Elementen von G und geeigneten Elementen von Sn (das sind bijektive Abbildungen) eine (natürlich bijektive) Beziehung zu konstruieren. Und so geht
3.4
Untergruppen der Sn
153
es im Beweis auch ganz wesentlich um diese Konstruktion. Dabei tritt G im ersten Teil in zwei Rollen auf, einmal als Gruppe (unter dem Namen G) und einmal als Menge, auf der operiert wird (unter dem Namen Ω). Auf dieser Menge wird eine bijektive Abbildung definiert. Und weil diese bijektive Abbildung auf einer Menge mit n Elementen operiert, ist sie ein Element von Sn . Damit ist der Bogen zwischen G und Sn geschlagen und es fehlt nur noch die (auf einer geeigneten Teilmenge bijektive) Abbildung zwischen diesen Gruppen. Stören Sie sich nicht an eher ungewohnt wirkenden Bezeichnungen wie „ gˆ“. Dadurch wird offensichtlich, wann die Idee der Operation auf G zum Tragen kommt. Beweis 3.4.3 Wir setzen G = Ω und definieren für jedes ω ∈ Ω und g ∈ G
gˆ(ω) = g ◦ w, wobei ◦ die Verknüpfung in der Gruppe G ist. Mit dieser Festlegung ist gˆ eine bijektive Abbildung von Ω. Ist nämlich gˆ(ω1 ) = gˆ(ω2 ), dann ist ω1 = ω2 , weil ω1 = g −1 ◦ g ◦ ω1 = g −1 ◦ gˆ(ω1 ) = g −1 ◦ gˆ(ω2 ) = g −1 ◦ (g ◦ ω2 ) = ω2 ist. Damit ist gˆ injektiv und wegen der Endlichkeit von Ω sogar bijektiv (man vergleiche Satz 1.2.13). Da gˆ auf der Menge Ω operiert und |Ω| = n ist, gilt somit gˆ ∈ Sn . Wir definieren eine weitere Abbildung ϕ : G → Sn , n = |G|, durch ϕ(g) = gˆ. Es ordnet ϕ somit jedem g ∈ G die durch gˆ induzierte Abbildung auf G = Ω zu. Diese Abbildung ist injektiv. Falls nämlich ϕ(g1 ) = ϕ(g2 ) und damit gˆ1 = gˆ2 ist, so folgt g1 ◦ ω = g2 ◦ ω für ω ∈ Ω, also g1 = (g1 ◦ ω) ◦ w−1 = (g2 ◦ ω) ◦ ω −1 = g2 . Entsprechend ist ϕ sogar bijektiv, wenn man das Bild auf die Teilmenge U von Sn mit U = {ˆ g |g ∈ G} einschränkt.
154
3. Gruppen und Symmetrien
Es bleibt zu zeigen, dass U eine Untergruppe von Sn und ϕ ein Isomorphismus von G auf U ist. Dieser Nachweis gelingt mit Hilfe des Untergruppenkriteriums (Satz 3.1.17). Zunächst ist die Menge U nicht leer, denn es ist eˆ = id ∈ U, also ist 3.1.17 (a) erfüllt. Seien gˆ1 , gˆ2 ∈ U . Dann ist gˆ1 gˆ2 (ω) = gˆ1 (g2 ◦ ω) = g1 ◦ (g2 ◦ ω) = (g1 ◦ g2 ) ◦ ω = g 1 g2 (ω) für ω ∈ Ω. Das liefert gˆ1 gˆ2 = g 1 g2 , und auch 3.1.17 (b) gilt. Insbesondere gilt auch ϕ(g1 g2 ) = ϕ(g1 )ϕ(g2 ). −1 = gg −1 = e Für gˆ ∈ U ist damit gˆg ˆ = id, folglich −1 ∈ U, gˆ−1 = g
und das beweist 3.1.17 (c). Also ist U eine Untergruppe von Sn und ϕ ein Isomorphismus von G auf U . Satz 3.4.3 besagt, dass die Theorie der Untergruppen von Sn und die abstrakte Gruppentheorie zwei Seiten derselben Sache sind. Er zeigt insbesondere, dass das Studium abstrakter Strukturen manchmal auf das Studium gewisser Beispiele zurückgeführt werden kann. Allerdings ist der Satz nur begrenzt praxistauglich. Sein Beweis verdeutlicht das nicht sehr effektive Vorgehen, bei dem etwa das Studium einer Gruppe mit 60 Elementen auf das von Untergruppen von S60 , einer Gruppe mit 60! Elementen, zurückgeführt wird. Die Zahl 60! hat immerhin 82 Dezimalstellen. Für den weiteren Text spielt der folgende Satz kaum eine Rolle, in der Gruppentheorie ist er aber eine wichtige Tatsache. Die damit verbundene Begriffsbildung ist ebenfalls wichtig (und wird uns später noch einmal begegnen). 3.4.4
Satz 3.4.4 Sei n ≥ 2. Die Elemente aus Sn , die sich als Produkt einer geraden Anzahl von Transpositionen schreiben lassen, bilden eine Untergruppe An von Sn mit |An | = n! 2 . Man nennt An die alternierende Gruppe vom Grad n.
3.5
Operationen von Gruppen auf Mengen
155
Beweis 3.4.4 Sei An ⊆ Sn die Menge aller Elemente, die sich als Produkt
einer geraden Anzahl von Transpositionen schreiben lassen. Da n ≥ 2 ist, ist 1 = (1, 2)(1, 2) in dieser Menge, also ist sie nicht leer. Offenbar ist das Produkt von zwei Elementen dieses Typs wieder ein Produkt einer geraden Anzahl von Transpositionen. Das Inverse zu einem solchen Element ist das Element einfach in der umgekehrten Reihenfoge aufgeschrieben. Also ist An nach Satz 3.1.17 eine Gruppe. Es ist (1, 2) ∈ An . Mit Satz 3.3.9 ist dann für a ∈ An stets a(1, 2) ∈ An . Ist weiter b ∈ An , so folgt wieder mit Satz 3.3.9, dass b(1, 2) ∈ An ist. Also liegen gleich viele Elemente von Sn innerhalb von An wie außerhalb von An . Das liefert |An | = n! 2 . Beispiel 3.4.5 Für S3 = {(1), (1, 2), (1, 3), (2, 3), (1, 2, 3), (1, 3, 2)} ist
3.4.5
(1, 2, 3) = (1, 3)(1, 2) und (1, 3, 2) = (1, 2)(1, 3). Also ist A3 = {(1), (1, 2, 3), (1, 3, 2)} die alternierende Gruppe der Ordnung 3.
3.5 Operationen von Gruppen auf Mengen Wir wollen den doch sehr abstrakten Begriff der Gruppe auf konkrete Situationen anwenden und zeigen, wie man damit Symmetriefragen modellieren kann. Die Inhalte des folgenden Abschnitts sollen mit einer Aufgabe vorbereitet werden. Sie ist halbwegs praxisrelevant, wenn auch nicht mehr ganz auf dem neuesten Stand. Dennoch kann man hieran gut die Problemstellung und die Lösungsansätze aufzeigen. Wir stellen uns nämlich vor, dass in einem Betrieb Identitätskarten für die Mitarbeiter produziert werden. Gedacht ist an quadratische Plastikkarten, die an bestimmten Stellen mit Löchern versehen und so gelesen werden können. Wie schafft man es, dass eine gegebene Anzahl von Personen ganz sicher unterschiedliche Karten bekommt?2
2 Lochkarten waren im 20. Jahrhundert eine beliebte Methode zur Erfassung von Daten. Sie geht auf Herman Hollerith *29.2.1860 Buffalo NY †17.11.1929 Washington DC zurück. Er nutzte einen Lochkartenleser erstmals 1890 bei der Volkszählung in den USA.
3.5
156
3. Gruppen und Symmetrien
Nehmen wir zunächst einmal den wenig komplizierten Fall an, dass die Karte auf beiden Seiten mit einem 3 × 3–Gitter versehen ist. Das sieht ungefähr so aus:
◦
◦
Nehmen wir nun an, dass je zwei kleine Quadrate in ihrer Mitte gelocht werden sollen. Wie viele verschiedene Karten kann man auf diese Weise herstellen? Die Lösung scheint auf den ersten Blick ganz einfach zu sein. Da es ja neun mögliche Positionen und jeweils zwei Löcher gibt, muss es 92 = 36 Möglichkeiten geben. Wir wollen sie Konfigurationen nennen. Wenn man allerdings ein wenig nachdenkt, dann ist sofort klar, dass in der Praxis nicht alle Konfigurationen unterscheidbar sind. Karten können gedreht oder auch umgedreht werden, wobei sich manchmal identische Anordnungen ergeben. So ist zum Beispiel die Konfiguration ◦
◦
von der oben angegeben Konfiguration nicht zu unterscheiden. Die Konfiguration
◦ ◦ ist hingegen neu und offensichtlich weder durch Drehen noch durch Wenden in die vorher gegebene Konfiguration zu überführen.
3.5
Operationen von Gruppen auf Mengen
157
Um die prinzipiell verschiedenen Konfigurationen zu finden, könnte man natürlich alle aufmalen und sie dann abzählen. Schöner ist es allerdings, wenn man eine allgemeinere Methode hat, die möglichst auch nicht auf ein 3 × 3– Gitter beschränkt ist. Eine solche Methode wollen wir im Folgenden entwickeln. Sie wird es uns erlauben, die Anzahl aller Konfigurationen für ein beliebiges n × n–Gitter (mit n ∈ N) zu bestimmen. Darüber hinaus wird sie helfen, zu einer gegebenen Anzahl unterschiedlicher Karten die minimale Gittergröße zu bestimmen. Damit kann man die (vielleicht interessantere) Frage beantworten, wie groß ein Gitter sein muss, wenn in einem Betrieb alle 2000 Angestellten unterschiedliche Karte haben sollen. Eine Feststellung kann man recht einfach treffen: Offenbar sind zwei Konfigurationen gleich, wenn sie unter einer geeigneten Symmetrie des Quadrats (also einer Drehung oder einer Spiegelung) aufeinander abgebildet werden. Und genauso offensichtlich kommen andere Abbildungen nicht in Frage. Das Problem ist also, die geeigneten Abbildungen zu bestimmen. Leider erfordert das einen tiefen Gang in die Theorie, den wir hiermit aufnehmen. Kleiner Trost: Die Theorie ist natürlich nicht nur für dieses eine Problem zu gebrauchen, sondern sie ist in vielen Fällen nützlich und gibt darüber hinaus einen guten Einblick in eine wichtige Arbeitsweise der Gruppentheorie. Sei also G die Symmetriegruppe des Quadrats und Ω die Menge aller Konfigurationen (zum Beispiel in einem 3 × 3–Gitter). Wenn wir eine bestimmte Konfiguration betrachten, dann kann man irgendeine Symmetrie (konkret eine Drehung, oder eine Spiegelung) darauf anwenden und bekommt wieder eine Konfiguration. Wir haben also einerseits die Gruppe G und andererseits haben wir Ergebnisse in Ω, wenn wir Abbildungen (aus G) auf Ω anwenden. In diesem Sinn bewirkt G auch auf Ω Permutationen. Sei nun ω ∈ Ω und g ∈ G. Bildet man ω unter g ab, dann ist das Ergebnis in unserem Spezialfall der Identitätskarten nicht beliebig, denn die Konfiguration g(ω) ist ja in gewisser Weise gleichwertig zu ω. Das gilt für alle g ∈ G, denn alle Konfigurationen {g(ω)|g ∈ G} sind zu der gegebenen Konfiguration ω gleichwertig (und das heißt im Prinzip, dass es um eine gleiche Anzahl von Lochungen in gleicher Lage geht). Verallgemeinert man den Sachverhalt, dann ist eigentlich nur wichtig, dass Ω eine Menge und G eine Gruppe von bijektiven Abbildungen der Menge Ω ist. Man kann sich dann ansehen, was mit einem bestimmten Element passiert,
158
3. Gruppen und Symmetrien
wenn man seine Bilder unter diesen Abbildungen betrachtet. Man könnte es seinen „Weg“ nennen, hat sich in der Mathematik aber für den Begriff der Bahn (im Englischen orbit) entschieden (das ist intuitiv ja ziemlich ähnlich). 3.5.1
Definition 3.5.1 Sei G eine Gruppe von bijektiven Abbildungen einer nicht
leeren Menge Ω. Eine Teilmenge Γ von Ω nennen wir eine Bahn, falls für jedes ω ∈ Γ stets Γ = {g(ω)|g ∈ G} gilt. Das Problem, alle unterschiedlichen Konfigurationen zu bestimmen, hat man damit zum Problem gemacht, alle möglichen Bahnen von Ω unter G zu bestimmen. Allerdings ist das nur dann wirklich die Lösung, wenn unterschiedliche Bahnen disjunkt sind. Ist das der Fall? Ja, und das kann man relativ leicht einsehen. Seien nämlich x, y ∈ Ω, Γ = {g(x)|g ∈ G}, Γ = {g(y)|g ∈ G} und Γ ∩ Γ = ∅. Dann gibt es bijektive Abbildungen h, h ∈ G so, dass h(x) = h (y) ist. Unter dieser Voraussetzung ist aber x = h−1 h (y) und damit ist x ∈ Γ . Mit x sind aber auch alle Bilder von x unter irgendeiner Abbildung g ∈ G aus Γ , und da mit h und h auch h−1 h eine bijektive Abbildung ist, folgt Γ ⊂ Γ . Genauso kann man schließen, dass Γ ⊂ Γ ist. Also muss Γ = Γ sein, wenn die Schnittmenge der beiden Bahnen nicht leer ist. Es gilt also der folgende Satz. 3.5.2
Sei G eine Gruppe von bijektiven Abbildungen einer nicht leeren t Menge Ω. Dann ist Ω = i=1 Ωi mit Bahnen Ωi ⊆ Ω und Ωi ∩ Ωj = ∅ für i = j.
Satz 3.5.2
Beweis 3.5.2 Wir haben ihn bereits geführt und er steht einfach vor dem Satz.
Eine Kleinigkeit haben wir dabei implizit angenommen, die man auch explizit t bedenken kann: Fraglos ist Ω = i=1 Ωi , denn schließlich betrachtet man die Bahnen von allen Elementen x ∈ Ω. Satz 3.5.2 ist die Verallgemeinerung der Zyklenzerlegung. Wenn wir G = g für g in der symmetrischen Gruppe auf Ω setzen, so erhalten wir dann genau die Zyklenzerlegung nach Satz 3.3.5. Ganz offensichtlich spielen beim Umgang mit Abbildungen immer wieder solche Abbildungen eine besondere Rolle, die gewisse Elemente festlassen. Dies ist der Anlass für eine neue Begriffsbildung. Gleich nach der folgenden Definition wird ein Beispiel zeigen, was darunter zu verstehen ist.
3.5
Operationen von Gruppen auf Mengen
Definition 3.5.3
159
Sei G eine Gruppe bijektiver Abbildungen einer Menge Ω.
3.5.3
Die Menge Gω = {g ∈ G|g(ω) = ω} für ω ∈ Ω heißt Stabilisator von ω in G. Beispiel 3.5.4 Sei G die Symmetriegruppe des Quadrats (sie ist an vielen Stel-
3.5.4
len erwähnt, so auch auf Seite 150, woher wir die Bezeichnungen nehmen). Dann ist G1 , der Stabilisator der Ecke mit der Nummer 1, die Menge {s1 , id}. Insbesondere ist G1 eine Untergruppe von G, da s1 s1 = id ist. Man sieht unmittelbar ein, dass G1 = G3 ist, denn nur diese beiden Abbildungen lassen die Ecke Nummer 3 fest. Es ist außerdem G2 = {s1 d2 , id} = G4 , denn (nur) diese Abbildungen lassen sowohl die Ecke mit der Nummer 2 als auch die Ecke mit der Nummer 4 fest. Da s1 d2 s1 d2 = id ist (Einsicht durch Rechnen!), ist der Stabilisator aber auch in diesem Fall eine Gruppe. Dies ist kein Zufall, wie der folgende Satz zeigt. Satz 3.5.5 Sei G eine Gruppe bijektiver Abbildungen von Ω. Ist ω ∈ Ω, so ist der Stabilisator Gω von ω in G eine Untergruppe von G. Beweis 3.5.5 Wir zeigen, dass die Bedingungen des Untergruppenkriteriums
3.1.17 erfüllt sind. Sei also e ∈ G das neutrale Element der Gruppe. Wir zeigen e(ω) = ω für alle ω ∈ Ω. Sei dazu g ∈ G. Dann ist g(ω) = α ∈ Ω. Weiter ist g −1 (α) = ω, da g bijektiv ist. Also ist e(ω) = g −1 g(ω) = ω. Somit ist e ∈ Gω und es ist Gω = ∅. Damit ist die erste Bedingung gezeigt. Seien g, h ∈ Gω . Dann ist g(ω) = ω = h(ω). Also ist (gh)(ω) = g(h(ω)) = g(ω) = ω und mit g, h ∈ Gω folgt gh ∈ Gω . Das ist die zweite Bedingung. Sei schließlich g ∈ Gω , also g(ω) = ω. Dann ist ω = e(ω) = (g −1 g)(ω) = g −1 (g(ω)) = g −1 (ω) . Also ist mit g ∈ Gω auch g −1 ∈ Gω und das dritte Kriterium ist gezeigt. Damit ist Gω nach Satz 3.1.17 eine Untergruppe von G. Im Beispiel vor diesem Satz haben wir gesehen, dass bei der Symmetriegruppe des Quadrats die Ecken 1 und 3 sowie die Ecken 2 und 4 jeweils denselben Stabilisator haben. Außerdem haben alle Stabilisatoren einer Ecke dieselbe Anzahl von Elementen. Nun kann das in diesem Fall offensichtlich gar nicht anders sein, denn von den Drehungen hat ohnehin nur die Identität einen
3.5.5
160
3. Gruppen und Symmetrien
Fixpunkt und die Spiegelungen lassen entweder keinen oder aber genau zwei Punkte fest. Der Zusammenhang gilt aber viel allgemeiner und das zeigen wir mit dem folgenden Satz. 3.5.6
Satz 3.5.6 Sei G eine endliche Gruppe bijektiver Abbildungen der Menge Ω. Sind α, β ∈ Ω und gibt es ein g ∈ G mit g(β) = α, so ist |Gα | = |Gβ |. Beweisidee 3.5.6 Gα und Gβ sind nicht leere und endliche Mengen, denn zum
einen ist die Identität sowohl aus Gα als auch aus Gβ (also nicht leer) und zum anderen sind beide Untergruppen einer endlichen Gruppe (also selbst auch endlich). Nun haben zwei Mengen die gleiche Anzahl von Elementen, wenn man eine bijektive Abbildung zwischen ihnen definieren kann. Genau das wird im Beweis gemacht. Man nimmt jenes g ∈ G, für das g(β) = α ist, und betrachtet g −1 hg für (im Prinzip alle) h ∈ Gα . Dann wird gezeigt, dass durch diese Zuordnung eine bijektive Abbildung von Gα nach Gβ gegeben ist. Dazu braucht man die üblichen drei Schritte und beweist, dass (a) es sich um eine Abbildung von Gα nach Gβ handelt (es könnte ja irgendwohin gehen), außerdem (b) diese Abbildung injektiv ist und schließlich (c) die Abbildung surjektiv ist (man vergleiche Definiton 1.2.5). Beweis 3.5.6 Sei h ∈ Gα , also h(α) = α. Dann ist
g −1 hg(β) = g −1 h(α) = g −1 (α) = β . Also ist h → g −1 hg eine Abbildung von Gα nach Gβ . Sind h1 , h2 ∈ Gx und g −1 h1 g = g −1 h2 g, so ist h1 = g(g −1 h1 g)g −1 = g(g −1 h2 g)g −1 = h2 . Somit ist h → g −1 hg injektiv. Sei nun k ∈ Gβ . Wir setzen h = gkg −1 . Dann ist h(α) = (gkg −1 )(α) = gk(β) = g(β) = α . Also ist h ∈ Gα und g −1 hg = g −1 (gkg −1 )g = k, d.h. k hat ein Urbild in Gα . Damit ist die Abbildung h → g −1 hg bijektiv. Insbesondere haben Gα und Gβ als Gruppen die gleiche Ordnung. Betrachtet man nun eine endliche Menge Ω und die Bahnen einer Gruppe G von bijektiven Abbildungen auf dieser Menge, dann kann man Satz 3.5.6 noch ein wenig anders lesen. Er macht nämlich ganz konkret eine Aussage über die
3.5
Operationen von Gruppen auf Mengen
161
Stabilisatoren aller Elemente, die in einer bestimmten Bahn liegen. Sei etwa Ω1 eine Bahn von G auf Ω. Dann ist |Gω1 | = |Gω2 | für alle ω1 , ω2 ∈ Ω1 . Da nun aber nach Satz 3.5.2 die Menge Ω durch G in disjunkte Bahnen zerlegt wird, muss es einen (zumindest quantitativen) Zusammenhang zwischen den Bahnen und den Stabilisatoren ihrer Elemente geben. Der folgende Satz stellt ihn her. Satz 3.5.7 Sei G eine Gruppe bijektiver Abbildungen auf Ω und |G| < ∞. Sei Ω1 eine Bahn und ω ∈ Ω1 . Dann gilt |Ω1 | = |G| |Gω |. Beweisidee 3.5.7 Im Grunde zählen wir die Menge Ω1 = {g(ω)|g ∈ G} ein-
fach ab. Wir betrachten dazu die Bilder eines Elements ω ∈ Ω1 unter G und überlegen, welche dieser Bilder wirklich verschiedenen sind. Dabei stellt sich heraus, dass der Stabilisator von ω die tragende Rolle spielt. Verschiedene Elemente von G, die sich nur um ein Element aus Gω unterscheiden, bewirken nämlich das Gleiche. Wenn man also die Bilder zählt, dann muss man entsprechend durch den Faktor |Gω | teilen, um alle „Doubletten“ zu entfernen. Beweis 3.5.7 Seien g, h ∈ G mit g(ω) = h(ω). Dann ist
h−1 g(ω) = ω und somit h−1 g ∈ Gω . Also gibt es ein k ∈ Gω so, dass h−1 g = k und damit g = hh−1 g = hk ist. Folglich gilt g(ω) = h(ω) genau dann, wenn sich g und h nur um ein Element aus Gω unterscheiden. Also gibt es genau |Gω | Möglichkeiten für Elemente gi , gj ∈ G, bei denen gi (ω) = gj (ω) ist. Entsprechend ist {g(ω) | g ∈ G} = |G| |Gω | , und der Satz ist bewiesen. Man kann Satz 3.5.7 natürlich auch in der Art lesen, dass (mit der entsprechenden Notation) die Gleichung |Ω1 | · |Gω | = |G| gilt. So betrachtet ist er dann eine Verallgemeinerung unserer Überlegungen zur Größe der Symmetriegruppe eines regulären n–Ecks. Die Bahn dieser Gruppe besteht aus allen Ecken, hat also die Länge n. Der Stabilisator einer Ecke besteht aus der Spiegelung zu dieser Ecke und der Identität, hat also die Ordnung 2. Damit hat die Symmetriegruppe nach Satz 3.5.7 die Ordnung 2n, was wir allerdings schon lange wissen.
3.5.7
162
3. Gruppen und Symmetrien
Es gibt interessante Anwendungen des Satzes, von denen wir zwei besonders wichtige im Folgenden betrachtet wollen. Die folgende Begriffsbildung ist dabei zwar nicht zwingend notwendig, aber vielleicht für das Verständnis hilfreich. 3.5.8
Satz 3.5.8 (Satz von Lagrange) Seien G eine endliche Gruppe und U eine Un-
tergruppe von G. Dann ist |U | ein Teiler von |G|. Beweisidee 3.5.8 Man betrachtet die Menge aller Linksnebenklassen der Untergruppe U und nennt diese Menge Ω. Vorsicht, das ist eine sehr formale Sache, bei der Ω eine Menge von Mengen ist. Auf diesen Mengen (die eigentlich Elemente, eben von Ω, sind) wird nun durch Multiplikation mit einem Gruppenelement (von links) operiert. Es wird gezeigt, dass man so eine bijektive Abbildung auf Ω definiert hat. Also schlüpft G in eine bekannte (und wohluntersuchte) Rolle, nämlich in die einer Gruppe von bijektiven Abbildungen auf der (zugegebenermaßen gruseligen) Menge Ω. Und bijektive Abbildungen hinterlassen Bahnen. Alles läuft in diesem Moment darauf hinaus, Satz 3.5.7 anzuwenden. Die Länge der Bahn ist eine natürliche Zahl, |G| ist ebenfalls eine natürliche Zahl, also muss auch |U | eine natürliche Zahl sein. Nochmals: Es ist ganz wichtig, zu verstehen, dass Ω eine Menge von Mengen ist. Also sind die Elemente von Ω zwar Mengen, aber man darf Satz 3.5.7 anwenden. Beweis 3.5.8 Für alle g ∈ G betrachten wir jeweils die Linksnebenklasse nach
U , also gU = {gu|u ∈ U }, und setzen Ω = {gU |g ∈ G}. Sei h ∈ G und ω = gU ∈ Ω eine beliebige Linksnebenklasse. Wir definieren ˆ von der Menge Ω in die Menge Ω durch eine Abbildung h ˆ h(ω) = (hg)U. ˆ 2 U ), ˆ eine bijektive Abbildung. Ist h(g ˆ 1 U ) = h(g Mit dieser Festlegung ist h ˆ so ist nämlich hg1 U = hg2 U . Das Bild unter h hängt also nicht von der Wahl des Vertreters der Linksnebenklasse ab. Jedes Element der Form hg1 u mit u ∈ U lässt sich also auch für ein geeignetes u∗ ∈ U als hg2 u∗ schreiben. Also gibt es ein u1 ∈ U mit hg1 = hg2 u1 und damit g1 = g2 u1 . Sei nun u ∈ U . Dann ist g1 u = g2 (u1 u) ∈ g2 U . Daist, folgt auch g2 U ⊆ g1 U . Somit ist mit ist g1 U ⊆ g2 U . Da g2 = g1 u−1 1
3.5
Operationen von Gruppen auf Mengen
163
ˆ injektiv. Also ist h ˆ auch eine bijektive Abbildung, da Ω g1 U = g2 U und h ˆ −1 gU ) = gU eine endliche Menge ist (oder weil für gU ∈ Ω die Beziehung h(h ˆ surjektiv ist). Damit kann man G als eine Gruppe bijektiver gilt und damit h Abbildungen von Ω auffassen. Wir betrachten nun GU = {g|g ∈ G, gU = U }. Es gilt GU = U . Ist nämlich gU = U , so ist g ∈ U . Ist umgekehrt g ∈ U , so ist gU = U . Da die Länge einer Bahn eine natürliche Zahl ist, folgt mit Satz 3.5.7, dass |G|/|U | = |G|/|GU | eine natürliche Zahl ist, also ist |U | ein Teiler von |G|. Übrigens folgt aus Satz 3.2.10, dass eine Gruppe zyklisch ist, wenn ihre Ordnung eine Primzahl ist. Das kann man leicht aus dem Satz von Lagrange folgern. Sei nämlich G eine Gruppe mit |G| = p für eine Primzahl p und g ∈ G ein Element, das vom neutralen Element verschieden ist. Dann ist U = {g i |i ∈ Z} eine nicht triviale zyklische Untergruppe von G, die demnach nur die Ordnung p haben kann. Also ist G = U = {g i |i ∈ Z} eine zyklische Gruppe. Und wenn man mag, dann kann man Satz 3.5.8 als eine Verallgemeinerung von Satz 3.2.10 auffassen. Der Beweis von Satz 3.5.7, dem Satz von Lagrange, ist typisch für viele Beweise der Gruppentheorie. Wir haben eine abstrakte Gruppe, über die wir etwas beweisen wollen. Wir suchen (und das ist die Kunst) nach einer geeigneten Menge, auf der die Gruppe als Gruppe bijektiver Abbildungen treu operiert. Damit ist diese Gruppe dann eine Untergruppe einer symmetrischen Gruppe Sn . Entsprechend können wir alle Resultate über Gruppen von Permutationen anwenden. Dazu muss man allerdings genügend viel über die Gruppen von Permutationen wissen. Nach Satz 3.5.7 ist die Ordnung jeder Untergruppe U einer endlichen Gruppe G ein Teiler der Gruppenordnung. Es liegt also nahe zu fragen, ob auch die Umkehrung gilt. Gibt es zu jedem Teiler d der Ordnung von G auch stets eine Untergruppe U mit |U | = d? Betrachtet man als Beispiel D3 oder D4 , dann ist das offensichtlich erfüllt. Die Gruppe D3 (oder auch S3 ) der Symmetrien des gleichseitigen Dreiecks hat Untergruppen der Ordnung 2 und der Ordnung 3, die Gruppe D4 der Symmetrien des Quadrats hat Untergruppen der Ordnung 2 und der Ordnung 4. Es ist trivial, dass beide Gruppen eine Untergruppe der Ordnung 1 bzw. eine Untergruppe der Ordnung 6 oder 8 haben. Allerdings klappt es so nicht immer, wie das folgende Beispiel zeigt.
164
3.5.9
3. Gruppen und Symmetrien
Beispiel 3.5.9 Wir wollen zeigen, dass es im Allgemeinen nicht zu jedem Teiler
der Ordnung einer endlichen Gruppe eine Untergruppe dieser Ordnung gibt. Wir betrachten dazu die Gruppe A4 , die alternierende Gruppe vom Grad 4 mit der Ordnung 12 (man vergleiche Satz 3.4.4), und zeigen, dass A4 keine Untergruppe der Ordnung 6 hat. Wir nehmen an, dass G = A4 eine Untergruppe U mit |U | = 6 hat. Dann muss auch U eine Gruppe von bijektiven Abbildungen der Menge {1, 2, 3, 4} auf sich sein. Da 4 kein Teiler von |U | = 6 ist, hat U nach Satz 3.5.7 mehr als eine Bahn und somit mindestens zwei Bahnen. Nehmen wir also an, dass U zwei Bahnen hat und nehmen wir außerdem an, dass beide die Länge 2 haben. Dann darf man (ohne Beschränkung der Allgemeinheit und weil Namen Schall und Rauch sind) Ω1 = {1, 2} und Ω2 = {3, 4} setzen. Damit induziert jedes u ∈ U auf jeder der Bahnen die Identität oder eine Transposition. Also kann U nur aus den Elementen id und (1, 2)(3, 4) bestehen, da alle Elemente in U ein Produkt einer geraden Anzahl von Transpositionen sind (und die beiden Bahnen nicht „stören“ dürfen). Damit hätte U aber nur zwei Elemente, was der Annahme widerspricht. Also hat U auch eine Bahn der Länge 1. Wir können annehmen, dass U ≤ G1 , also Untergruppe des Stabilisators von 1 ist (und auch das wieder, weil Namen Schall und Rauch sind). Dann operiert U auf {2, 3, 4}, ist also isomorph zu einer Untergruppe von S3 . Da nun aber |S3 | = 6 ist, muss U zu S3 isomorph sein. Also enthält U alle Permutationen von {2, 3, 4} und damit auch ein Element u, das auf {2, 3, 4} die Transposition (3, 4) induziert. Damit ist aber u auch auf {1, 2, 3, 4, } eine Transposition (und das ist eine ungerade Anzahl). Das widerspricht der Annahme u ∈ A4 . Also hat A4 keine Untergruppe der Ordnung 6. Es gibt allerdings Teiler der Gruppenordnung, die immer zu Untergruppen gehören. Sei etwa p eine Primzahl und pd (mit d ∈ N) ein Teiler der Ordnung |G| einer Gruppe G. Dann gibt es immer eine Untergruppe U ≤ G der Ordnung pd . Dieses Ergebnis wollen wir hier nicht beweisen. Es ist Teil der Aussage eines der fundamentalen Sätze der Gruppentheorie, des so genannten Sylow–Satzes (siehe z. B. [14, 5.4.6]). 3.5.10
Definition 3.5.10 Sei G eine Gruppe bijektiver Abbildungen einer Menge Ω. Für g ∈ G nennen wir die Elemente der Menge
F (g) = {x |x ∈ Ω, g(x) = x} die Fixpunkte von g auf Ω.
3.5
Operationen von Gruppen auf Mengen
165
Beispiel 3.5.11 Sei G die Symmetriegruppe des Quadrats (mit den Bezeichun-
3.5.11
gen von Seite 151). Ganz offensichtlich lassen die Drehungen (bis auf die Identität) kein Element fest. Das gilt auch für die Spiegelungen an den Quadratseiten, wohingegen die Spiegelungen an den beiden Diagonalen jeweils die Ecken auf der Diagonalen festlassen. Ist d also die Drehung um π2 , dann ist F (d) = ∅ und für s1 , die Spiegelung an 1 und 3, ist F (s1 ) = {1, 3}. Der folgende Satz, der nach dem Mathematiker William Burnside3 benannt ist, stellt nun eine Beziehung zwischen den Anzahlen der Fixpunkte und denen der Bahnen her. Er besagt, dass die Anzahl der Bahnen die durchschnittliche Fixpunktzahl der Elemente ist, was doch überraschend ist. Satz 3.5.12 (Satz von Burnside) Sei G eine endliche Gruppe bijektiver Abbil-
dungen der endlichen Menge Ω und t die Anzahl der Bahnen von G auf Ω. Dann gilt: 1 t= |F (g)|. |G| g∈G
Beweis 3.5.12 Wir betrachten die Menge
E = {(g, x)|g(x) = x, g ∈ G, x ∈ Ω} und zählen |E| auf zwei Arten ab. Es ist nämlich einerseits |F (g)|, |E| = g∈G
(und das ist eine direkte Anwendung von Definition 3.5.10) und andererseits |E| = |Gx | x∈Ω
(und das ist eine direkte Anwendung von Definition 3.5.3). 3
William Burnside, *2.7.1852 London, †21.8.1927 Cotleigh, war Professor am Royal Naval College in Greenwich. Seine Arbeitsgebiete umfassen elliptische Funktionen, Hydrodynamik, Wahrscheinlichkeitstheorie und (ganz wesentlich) Gruppentheorie. Sein 1897 erschienenes Buch „The Theory of Groups of Finite Order“ war das erste Buch der Gruppentheorie in englischer Sprache, die 1911 erschienene zweite Auflage ist auch heute noch von Bedeutung. Wesentlichstes Resultat war, dass Gruppen der Ordnung pn q m auflösbar sind. Die Vermutung, dass alle Gruppen ungerader Ordnung auflösbar sind, wurde erst 1963 von Walter Feit und John G. Thompson in einer mehr als 250 Seiten langen Arbeit bewiesen. Das BurnsideProblem über die Endlichkeit von gewissen Gruppen ist noch heute ein aktives Forschungsgebiet.
3.5.12
166
3. Gruppen und Symmetrien
Diesen zweiten Ausdruck können wir nun weiter umformen. Aus jeder Bahn Ωi wählen wir einen Vertreter xi (mit i = 1, . . . , t). Dann gilt: t
t |G| |Gxi | = t|G|. |Ωi | |Gxi | = |E| = |G xi | i=1 i=1
Die erste Gleichung folgt mit Satz 3.5.6 und die zweite mit Satz 3.5.7. Satz 3.5.12 ist insbesondere geeignet, eine Lösung für unser Problem mit den Identitätskarten zu berechnen. Wir möchten bestimmen, wie viele Karten sich nicht nur um eine Drehung oder Spiegelung unterscheiden, sondern wirklich voneinander verschieden sind. Damit wollen wir nichts anderes, als die Anzahl der entsprechenden Bahnen bestimmen. Der Satz von Burnside besagt, dass wir dazu nur zwei Angaben brauchen, nämlich die Ordnung der operierenden Gruppe G von Symmetrien und die Anzahl der Fixpunkte zu jedem einzelnen Element von G. 3.5.13
Beispiel 3.5.13 (a) Gegeben sind Karten einer bestimmten Größe und mit einem bestimmten Lochmuster. Wie viele verschiedene Karten dieser Art gibt es? Nehmen wir als Beispiel (wie auf Seite 156 beschrieben) die Identitätskarten, die auf beiden Seiten ein 3 × 3–Gitter haben und bei denen je zwei dieser neun kleinen Quadrate in der Mitte gelocht sind. Um zu sehen, wie viele verschiedene Karten man auf diese Weise herstellen kann, müssen wir F (g) für jedes g ∈ G berechnen (nach Satz 3.5.12). Für die Karten gibt es 36 Möglichkeiten, sodass für die acht Elemente von G folgendes gilt:
F (id ) F (Drehung um π2 ) F (Drehung um 3π 2 ) F (Drehung um π) F (Spiegelung an 13) F (Spiegelung an 24) F (Spiegelung an Mitte 12) F (Spiegelung an Mitte 34)
= = = = = = = =
36 0 0 4 6 6 6 6
Ganz offensichtlich suchen wir jeweils die Konfigurationen, die sich unter einer bestimmten Abbildung der Symmetriegruppe nicht sichtbar ändern. Im Fall der Identität ist sofort klar, dass alle 36 möglichen Karten unter dieser Abbildung festbleiben. Fast genauso einfach kann man sich überlegen, dass die Drehungen um π2 und 3π 2 keine „Fixkarten“ haben können. Diese gibt es aber bei einer Drehung um π und es sind genau die Konfigurationen, die
3.5
Operationen von Gruppen auf Mengen
167
punktsymmetrisch zum Mittelpunkt des Quadrats sind, also entweder zwei gegenüberliegende Ecken oder aber zwei gegenüberliegende Seitenmitten betreffen. Insgesamt gibt es vier solche Karten. Schließlich müssen bei den Spiegelungen die Konstellationen festbleiben, bei denen die entsprechende Achse die Symmetrieachse ist. Das sind zunächst solche, die auf der Symmetrieachse liegen (dafür gibt es drei Möglichkeiten) und dann solche, bei denen die zwei Punkte zwar nicht auf der Symmetrieachse liegen, aber von ihr jeweils gleichen Abstand haben (dafür gibt es nochmals drei Möglichkeiten). Da es vier Symmetrieachsen gibt, ist t=
1 (36 + 0 + 0 + 4 + 6 + 6 + 6 + 6) = 8. 8
Man bekommt also nur 8 wirklich verschiedene Identitätskarten. Der Vorteil der eben gezeigten Vorgehensweise liegt darin, dass man jetzt leicht die jeweilige Gruppe ändern kann und sofort das neue Ergebnis erhält. Betrachten wir zum Beispiel nur Drehungen der Karte (vielleicht weil vorne und hinten durch eine Farbe oder die Textur unterscheidbar sind), so rechnen wir unmittelbar t=
1 (36 + 0 + 0 + 4) = 10. 4
Also gibt es 10 Möglichkeiten für diese Karten, wenn man Vorder- und Rückseite auf irgendeine Art unterscheiden kann. (b) Das Problem und seine Lösung kann man verallgemeinern und zu einer beliebigen Größe des Rasters die Anzahl unterschiedlicher Karten bestimmen. Dazu gehen wir von einem 2 n × n Raster aus, wobei n gerade sein soll. Insgesamt haben wir damit n2 Karten, wenn genau zwei Rasterpunkte gelocht werden sollen. Wir müssen nun (wie oben auch) die Fixpunkte der einzelnen Symmetrien zählen: Die Identität hat
n2 2
Fixpunkte.
Die Drehungen um π2 und um man sich unmittelbar klar).
3π 2
haben keine Fixpunkte (auch das macht
Die Drehung um π hat n2 + n2 Fixpunkte. Betrachten wir eine Diagonale. Diese hat n Punkte. Ist eines der Löcher auf der Diagonalen, so auch das andere, was also genau n2 Fixpunkte gibt, n ist gerade. Ist eines der Löcher unterhalb der Diagonalen, so ist das andere oberhalb. Da es unterhalb der Diagonalen genau n2 Felder gibt, liefert das noch einmal n2 Fixpunkte.
168
3. Gruppen und Symmetrien 2
Die Spiegelungen an Achsen durch die Seitenmitten haben n2 Fixpunkte (denn jeder Punkt auf einer „Hälfte“ kommt in Frage und hat ein eindeutiges Spiegelbild). Ist Die Spiegelung an Achsen durch Gegenecken hat immer 2 n2 Fixpunkte. ein Punkt auf der Achse, so auch der andere und davon gibt es n2 Paare. Ist ein Punkt auf der einen Seite der Achse, so ist der andere Punkt eindeutig bestimmt auf der anderen Seite. Also gibt es so viele Paare, wie es Punkte unterhalb der Diagonalen gibt, und dies ist wieder n2 . Damit haben wir für gerades n 2 2 n n n n n 1 + +2 + +2 2 2 8 2 2 2 =
1 4 (n + 6n2 − 4n) 16
unterschiedliche Konfigurationen. Und selbstverständlich kann man diesen Term auch nutzen, um zu einer vorgegebenen Anzahl von Karten das passende n zu bestimmen. Wollen wir also 2000 verschiedene Identitätskarten haben, so müssen wir für gerades n ein 14 × 14 Gitter benutzen (Frage: Könnte es auch mit einem 13 × 13 Gitter gehen?).
3.6
3.6 Färbungen Wir wollen in diesem Abschnitt Symmetrien betrachten, wenn mehrere Merkmale zu berücksichtigen sind. Das beschreibt man dann durch Färbungen. Dazu betrachten wir zunächst ein einfaches Beispiel. Wir nehmen ein Quadrat und fragen, auf wie viele Arten wir die Ecken mit den Farben schwarz und rot färben können. Ganz offensichtlich gibt es zunächst 24 = 16 Möglichkeiten, aber die Symmetrien des Quadrats sind wieder dafür verantwortlich, dass einige gleich bzw. ununterscheidbar sind und es nur 6 wesentlich verschiedene Färbungen gibt. Schwieriger wird das Problem allerdings, wenn man drei oder vier Farben zulässt. Doch auch hier ist es die Gruppentheorie, die man zur Lösung des Problemtyps benutzen kann. Die Vorgehensweise unterscheidet sich zunächst nicht von der, die wir schon bei den Identitätskarten verwendet haben. Leider reicht dieser theoretische
3.6
Färbungen
169
Ansatz nicht, sodass wir im Folgenden die notwendigen Grundlagen entwickeln werden. Eines bleibt fest: Wenn G die Symmetriegruppe des Quadrats ist und somit die Gruppe, die auf den Färbungen der Ecken operiert, dann müssen wir die Anzahl der Bahnen von G berechnen, wozu nach Satz 3.5.12 die Fixpunkte der Elemente von G zu bestimmen sind. Wir wollen das Problem verallgemeinern und betrachten deshalb eine beliebige endliche Menge (die dann nicht unbedingt nur vier Elemente oder Ecken hat) und die Möglichkeiten, ihre unterschiedlichen Elemente zu „färben“. Jedem Element wird eine Farbe zugeordnet, sodass man nichts anderes als eine Abbildung bekommt. Da wir mit genau dieser Abbildung im Folgenden ständig arbeiten, kleiden wir den zugehörigen Begriff der Färbung in eine Definition. Definition 3.6.1 Seien Ω mit |Ω| = n und K mit |K| = r endliche Mengen. Eine Abbildung
3.6.1
ω : Ω → K. heißt Färbung der Menge Ω mit den r Farben der Menge K. Es gibt offenbar rn solche Färbungen der Menge Ω mit r Farben, wenn |Ω| = n ist. Bezeichnen wir die Menge aller Färbungen mit F , dann induziert jede Permutation g von Ω eine Permutation gˆ von F auf diese Art: Ist ω ∈ F , so wollen wir die Färbung gˆ(ω) definieren. Dazu stellen wir uns die Menge Ω zweimal vor, als Ωω mit ω gefärbt und als Ω, was mit gˆ(ω) gefärbt werden soll. Die Permutation g stellen wir uns als bijektive Abbildung von Ωω nach Ω vor. Sei nun x ∈ Ω. Dann ist g −1 (x) ∈ Ωω und mit ω gefärbt. Genauso wollen wir x färben. Als Formel halten wir also fest: gˆ(ω)(x) = ω(g −1 (x)), für alle x ∈ Ω. Beispiel 3.6.2 Angenommen, es ist |Ω| = 4 und |K| = 2. Dann kann man sich vier Plättchen in den beiden Farben blau und weiß vorstellen, die geordnet nebeneinander liegen und es können 24 = 16 Färbungen unterschieden werden. Eine dieser Färbungen kann man durch die Folge blau weiß blau weiß beschreiben, eine andere durch die Folge blau weiß blau blau und noch eine andere durch die Folge weiß blau weiß blau. Formal kann man die drei Färbungen als F1 = {(1, b), (2, w), (3, b), (4, w)}, F2 = {(1, b), (2, w), (3, b), (4, b)} und F3 = {(1, w), (2, b), (3, w), (4, b)} schreiben. Ganz offensichtlich sind die beiden ersten und die beiden letzten Färbungen jeweils grundlegend verschieden, aber F1 und F3 unterscheiden sich nicht in der Anzahl der weißen und blauen
3.6.2
170
3. Gruppen und Symmetrien
Plättchen. Man überlege sich, dass F3 durch die Permutation (1, 2)(3, 4) auf der Menge Ω = {1, 2, 3, 4} aus F1 induziert wird. Umgekehrt bekommt man genau so zu jeder Permutation der Plättchen eine entsprechende Färbung. Wie sieht es nun aus, wenn man mehrere Permutationen auf Ω hintereinander ausführt? Wir machen dazu folgende Überlegung. Für die zwei Permutationen betrachten. Sei x ∈ Ω. Dann rechnet man (ganz g, h von Ω wollen wir gh formal) −1 ˆ (x)) gh(ω)(x) = ω((gh)−1 (x)) = ω(h−1 (g −1 (x)) = h(ω)(g ˆ ˆ = gˆ(h(ω))(x) = (ˆ g h)(ω)(x).
ˆ und gˆh ˆ Also sind gh(ω) und gˆh(ω) die gleichen Färbungen. Damit sind gh die gleichen Permutationen auf der Menge der Färbungen und die Abbildung g → gˆ ist ein Homomorphismus der Symmetriegruppe von Ω in die Symmetriegruppe von F , falls wir zeigen können, dass gˆ eine bijektive Abbildung von F ist. Das geht ganz einfach, denn es genügt die folgende Feststellung (warum?): −1 = g −1 ˆ = gg ˆg id = id Also ist −1 = g g ˆ−1
und gˆ ist bijektiv. Zwei Färbungen ω1 und ω2 heißen äquivalent, wenn sie unter einem geeigneten gˆ aufeinander abgebildet werden können. Die Anzahl der Färbungen ist also die Anzahl der Bahnen von G auf F . Wir müssen daher die Fixpunkte von g für g ∈ G bestimmen. Sei ω ein Fixpunkt, nämlich eine Färbung mit g(ω) = ω und (x, y, z, . . .) ein Zykel von g auf Ω. Dann ist ω(x) = ω(g −1 (y)) = g(ω)(y) = ω(y) . Somit haben x und y die gleiche Farbe, was bedeutet, dass alle Elemente in einem Zykel die gleiche Farbe haben müssen (Induktionsargument). Hat also g genau k Zyklen auf Ω, so gibt es genau rk Färbungen, die unter g invariant sind. Der Zyklenzerlegung eines Elements g auf der Menge Ω kommt also eine wesentliche Bedeutung zu. Wir müssen daher dem Element g seine Zyklen zuordnen. Nützlich sind in diesem Zusammenhang einige Definitionen, die im
3.6
Färbungen
171
Folgenden gegeben werden. Der Ausgangspunkt für Definition 3.6.3 ist dabei Satz 3.3.7, der besagt, dass jede Permutation eindeutig als ein Produkt von disjunkten Zyklen geschrieben werden kann. Definition 3.6.3 Sei g ∈ G eine Permutation der Menge Ω mit n Elementen. Wir definieren den Typ von g als [1α1 2α2 . . . nαn ], wobei iαi bedeutet, dass in der Zyklenzerlegung von g genau αi Zyklen der Länge i vorkommen.
3.6.3
Ganz offensichtlich gilt (und muss sogar für n > 1 gelten), dass αi = 0 für einige der αi ist. Ganz konkret zeigt es das folgende Beispiel. Beispiel 3.6.4 Sei Ω = {1, 2, 3, 4} und G = S4 .
3.6.4
(a) Ist g = (1, 2, 3, 4) ∈ S4 , so ist [10 20 30 41 ] der Typ von g. (b) Ist g = (1, 2)(3, 4) ∈ S4 , so ist [10 22 30 40 ] der Typ von g. Man kann sich leicht überlegen, dass die αi aus Definition 3.6.3 nicht unabhängig voneinander sein können. Einerseits ist α1 + α2 + α3 + . . . + αn = k die Anzahl der Zyklen, die ein Element g auf der Menge Ω hat. Darüber hinaus kommt in der Zyklenzerlegung eines Elements jedes n ∈ Ω genau einmal vor, wenn man auch Zyklen der Länge 1 berücksichtigt. Die „gewichteten“ Exponenten müssen sich daher zu n addieren. Man hat somit eine einfache Folgerung aus der Definition. Folgerung 3.6.5 Mit den Bezeichnungen aus Definition 3.6.3 gilt
α1 + 2α2 + 3α3 + . . . + nαn = n, wobei α1 die Anzahl der Fixpunkte von g auf Ω ist. Auf eine halbwegs natürliche Weise kann so dem Element g das Polynom αn 1 x(g) = xα 1 . . . xn ∈ Z[x1 , . . . , xn ].
zugeordnet werden. Die Zuordnung liefert beispielsweise für die Permutation g = (1, 2, 3, 4) das Polynom x(g) = x4 und für die Permutation g = (1, 2)(3, 4) das Polynom x(g) = x22 .
3.6.5
172
3. Gruppen und Symmetrien
Für unser Färbungsproblem ist dieses Polynom nun nützlich. Ist nämlich g ∈ G und hat g genau k Zyklen auf Ω, so hat g genau rk = rα1 +α2 +...+αn = x(g)(r, . . . , r) Fixpunkte (man vergleiche Seite 170), wobei [1α1 2α2 . . . nαn ] der Typ von g auf Ω ist. Im Folgenden kürzen wir x(g)(r, . . . , r) durch x(g)(r) ab. Nach Satz 3.5.12 müssen wir somit 1 1 |F ( g )| = x(g)(r) . |G| |G| g∈G
g∈G
berechnen. Diese Gleichung führt uns zu einem neuen Begriff, mit dessen Hilfe man einen Satz formulieren kann, der in Richtung einer Lösung unseres Problems der Bestimmung möglicher Färbungen führt. 3.6.6
Definition 3.6.6 Sei G eine Gruppe von bijektiven Abbildungen einer endlichen
Menge Ω mit |G| < ∞. Dann heißt das Polynom 1 x(g) ZG (x1 , . . . , xn ) = |G| g∈G
der Zyklenindex von G. 3.6.7
Satz 3.6.7 Sei G eine Gruppe von Permutationen der endlichen Menge Ω und
|G| < ∞. Sei ZG (x1 , . . . , xn ) der Zyklenindex von G. Dann ist ZG (r, r, . . . , r) die Anzahl der nicht äquivalenten Färbungen mit r Farben. Beweis 3.6.7 Sei F die Menge der Färbungen. Nach Satz 3.5.12 ist die Anzahl
der nicht äquivalenten Färbungen gleich 1 1 |F ( g )| = x(g)(r) = ZG (r, . . . , r) . |G| |G| g∈G
3.6.8
g∈G
Beispiele 3.6.8 Die Theorie klingt abstrakt, sie lässt sich mit Beispielen aber
schnell mit Leben füllen. Satz 3.6.7 ermöglicht die Bestimmung unterscheidbarer Färbungen, die wir im Folgenden zunächst beim Quadrat und dann beim Würfel bestimmen.
3.6
Färbungen
173
(a) Betrachten wir noch einmal, wie viele Möglichkeiten es gibt, die Ecken eines Quadrats mit zwei bzw. drei Farben so einzufärben, dass Drehungen oder Spiegelungen berücksichtigt werden. Wir müssen zunächst den Zyklenindex bestimmen. Für die Gruppe G der Symmetrien des Quadrats gilt offenbar: g
Typ
x(g)
id (1, 2, 3, 4) (1, 3)(2, 4) (1, 4, 3, 2) (1, 2)(3, 4) (1, 4)(2, 3) (1, 3) (2, 4)
[14 20 30 40 ] [10 20 30 41 ] [10 22 30 40 ] [10 20 30 41 ] [10 22 30 40 ] [10 22 30 40 ] [12 21 30 40 ] [12 21 30 40 ]
x41 x4 x22 x4 x22 x22 x21 x2 x21 x2
Das ergibt ZG (x1 , x2 , x3 , x4 ) =
1 4 (x + 2x21 x2 + 3x22 + 2x4 ). 8 1
Mit r Farben haben wir somit 1 4 (r + 2r3 + 3r2 + 2r) 8 nicht äquivalente Färbungen. Das ergibt für r = 2 dann 6 Färbungen und für r = 3 genau 21 Färbungen. Wir könnten das Problem auch modifizieren, indem wir nur die Drehungen des Quadrats zulassen, es also auf G = {id , (1, 2, 3, 4), (1, 3)(2, 4), (1, 4, 3, 2)} einschränken. Dann ist ZG (x1 , x2 , x3 , x4 ) =
1 4 (x + x22 + 2x4 ) . 4 1
Ist r = 2, so erhalten wir 6 mögliche Färbungen. Ist r = 3, so haben wir 24 mögliche Färbungen.
174
3. Gruppen und Symmetrien
(b) Auf wie viele Arten können die Ecken eines Würfels mit zwei Farben so gefärbt werden, dass sie bis auf Symmetrien unterscheidbar sind? 2 1 PP PP PP PP P3 P 4
6 P PP PP PP P P 8 7 Um das Problem zu lösen, muss man zunächst die Symmetriegruppe des Würfels bestimmen. Mathematisch gesehen ist das etwas unübersichtlich, aber machbar. Wir gehen dabei wieder von Drehungen und Spiegelungen aus. Allerdings geht es uns nicht um theoretische Möglichkeiten, sondern darum, wie es für einen ganz bestimmten Würfel praktisch aussieht. Und dieser Fall ist einfacher, denn die Spiegelungen sind nicht (wie beim Quadrat) tatsächlich zu realisieren. Ein Quadrat kann man umdrehen, denn es hat eine Vorder– und eine Rückseite. Einen Würfel kann man nur drehen. Und weil wir uns auf das reale Färbungsproblem konzentrieren, besteht die gesuchte Symmetriegruppe des Würfels somit nur aus Drehungen. 5
PP
Wie viele Drehungen gibt es? Zur Beantwortung dieser Frage gehen wir Schritt für Schritt vor und überlegen uns jeweils, welche Drehachsen es geben kann. Dabei lassen wir die Identität erst einmal unberücksichtigt. Als Achsen kommen zum Beispiel die Geraden in Frage, die durch die Mittelpunkte gegenüberliegender Flächen gehen. Es gibt drei dieser Geraden und man kann jeweils den Würfel um π2 , π und 3π 2 drehen, sodass es 9 solche Drehungen gibt. Man macht sich leicht klar, dass alle diese Möglichkeiten wirklich voneinander verschieden sind. Beispiele: (1, 2, 3, 4)(5, 6, 7, 8)
(Drehung um
π 2)
(1, 3)(2, 4) (5, 7)(6, 8)
(Drehung um π)
(1, 4, 3, 2)(5, 8, 7, 6)
(Drehung um
3π 2 )
Auch um die Achsen, die durch die Mittelpunkte diagonal gegenüberliegender Kanten gegeben sind, kann man den Würfel drehen. Allerdings ist dann jeweils nur eine Drehung um π möglich. Es gibt also genau so viele Drehungen dieses Typs, wie es Paare von Kanten gibt, nämlich insgesamt 6 Drehungen. Beispiel:
(1, 5)(2, 8)(3, 7)(4, 6).
3.6
Färbungen
175
Schließlich kann man noch die Drehungen betrachten, bei denen die Achsen durch diagonal gegenüberliegende Ecken, also durch die Raumdiagonalen des Würfels gehen. Es gibt vier Raumdiagonalen und dazu je zwei unterschiedliche Drehungen, also insgesamt 8 Drehungen dieser Art. Beispiel:
(2, 4, 5)(3, 8, 6).
Rechnet man die Identität hinzu, so haben wir damit 24 Symmetrien gefunden. Es stellt sich die Frage, ob das tatsächlich alle Drehungen sind. Sie sind es und zum Beweis stellen wir ein paar Überlegungen an, die sich auf die vier Raumdiagonalen eines Würfels beziehen. Wenn man sie einfach als Menge mit vier Elementen sieht, dann kann man diese vier Elemente permutieren und hat (das ist trivial) 24 Möglichkeiten für ihre Anordnung. Was passiert nun unter einer Symmetrie mit einer Raumdiagonalen? Offensichtlich bildet jede Symmetrie eine Raumdiagonale wieder auf eine Raumdiagonale ab. Sei nun s eine Symmetrie des Würfels, die alle Raumdiagonalen festlässt. Dabei gibt es zwei prinzipielle Möglichkeiten, denn s könnte die beiden Eckpunkte auf einer Diagonalen festlassen oder aber sie vertauschen. Ist nun eine Ecke e1 fest unter s, so ist es auch ihre Gegenecke. Da Nachbarecken eines Punktes durch s wieder auf Nachbarecken dieses Punktes abgebildet werden, müssen damit alle Nachbarecken von e1 festbleiben, was in der Konsequenz bedeutet, dass alle Ecken unter s fest sind. Wenn s also nicht die identische Abbildung ist, dann muss s unter den gegebenen Umständen stets eine Ecke und ihre Gegenecke vertauschen. Dies ist aber mit einer Symmetrie im Raum nicht realisierbar. Somit kann man die gesuchte Symmetriegruppe des Würfels als eine Untergruppe der Permutationsgruppe der vier Raumdiagonalen, also als eine Untergruppe von S4 auffassen. Da aber beide Gruppen genau 24 Elemente haben, sind sie gleich. Dies bedeutet insbesondere, dass wir alle Symmetrien gefunden haben. Also ist ZG (x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 ) =
1 8 (x + 8x21 x23 + 9x42 + 6x24 ) , 24 1
was für r = 2 konkret bedeutet, dass es 1 8 (2 + 8 · 24 + 9 · 24 + 6 · 4) = 23 24 nicht äquivalente Färbungen gibt.
176
3. Gruppen und Symmetrien
Wir werden unsere Fragestellung nun noch einmal präzisieren und auf ganz bestimmte Fälle einschränken. Gesucht sind nur die Färbungen, in denen die einzelnen Farben in einer vorgegebenen Anzahl auftreten. Das können etwa die Schwarz–Rot–Färbungen des Quadrats sein, bei denen zweimal Rot und zweimal Schwarz vorkommt. Dabei ist dieser konkrete Fall einfach, denn es gibt offenbar genau zwei Möglichkeiten, weil entweder zwei benachbarte oder zwei gegenüberliegende Ecken dieselbe Farbe haben können. Doch wie sieht es im allgemeinen Fall aus? Wir müssen einen Weg finden, die gesuchten speziellen Färbungen aus der Menge aller Färbungen herauszusuchen. Ein erster Schritt ist es dabei, jeder Färbung einen Wert zuzuordnen. Sei Ω die zu färbende Menge und K = {y1 , . . . , yr } die Menge der Farben. Zu jeder Färbung ω:Ω→K definieren wir einen Wert w(ω) durch w(ω) = y1n1 . . . yrnr , wobei ni die Anzahl der Elemente in Ω ist, welche die Farbe yi haben. Insbesondere ist n1 + n2 + · · · + nr = |Ω| = n . Umfasst K beispielsweise die zwei Farben y1 und y2 , so hat eine Färbung, die zwei Ecken des Quadrats mit der Farbe y1 und die anderen beiden Ecken mit der Farbe y2 färbt, den Wert y12 y22 unabhängig davon, welche Ecken in welcher Farbe eingefärbt werden. Sei nun A eine Menge von Färbungen. Da wir nicht mehr alle Färbungen betrachten wollen, sondern nur solche mit gewissen Eigenschaften, kann A eine echte Teilmenge der Menge F aller Färbungen sein. Wir setzen ganz formal UA (y1 , . . . , yr ) = w(ω) ω∈A
und nennen UA /|A| den Durchschnittswert einer Färbung aus A. Ist UA als Polynom in y1 , . . . , yr aufgeschrieben, so ist der Koeffizient von y1s1 y2s2 . . . yrsr die Anzahl der Färbungen, in denen genau diese Farben yi jeweils genau si –mal vorkommen.
3.6
Färbungen
177
Beispiel 3.6.9 Sei A die Menge aller nicht äquivalenten Schwarz–Rot–Färbun-
3.6.9
gen eines Quadrats. Dafür gibt es (je nach gegebener Anzahl schwarzer oder roter Ecken) die folgenden Möglichkeiten: Schwarz Rot Anzahl der Färbungen 4
0
1
3
1
1
2
2
2
1
3
1
0
4
1
Also ist UA (y1 , y2 ) = y14 + y13 y2 + 2y12 y22 + y1 y23 + y24 . Es macht nun wenig Sinn, zunächst das Problem (wie hier) jeweils per Hand zu lösen und dann ein passendes Polynom aufzuschreiben. Die Fragestellung ist vielmehr die, wie man das Polynom UA (y1 , . . . , yr ) berechnen kann, ohne alle Färbungen bereits zu kennen. Bei der Antwort hilft das Ergebnis des folgenden Satzes. Satz 3.6.10 Sei Ω = Ω1 ∪ . . . ∪ Ωk eine disjunkte Vereinigung mit |Ωi | = mi
(und somit insbesondere m1 + m2 + . . . + mk = n). Sei B die Menge der Färbungen, bei denen jedes Element in Ωi jeweils dieselbe Farbe hat. Dann gilt: UB (y1 , . . . , yr ) = (y1m1 + y2m1 + . . . + yrm1 )(y1m2 + y2m2 + . . . + yrm2 ) . . . (y1mk + y2mk + . . . + yrmk ). Beweis 3.6.10 Es gehöre zu Ωi die Farbe zi ∈ K. Sei ω ∈ B. Dann ist
w(ω) =
k
zimi .
i=1
Für jede Belegung der zi mit yj gibt es eine Färbung. Also ist UB (y1 , . . . , yr ) =
ω∈B
w(ω) =
k i=1
(y1mi + · · · + yrmi ) .
3.6.10
178
3. Gruppen und Symmetrien
Nach Satz 3.5.12 hängt die Anzahl der Bahnen einer Gruppe immer mit den Fixpunkten der Elemente zusammen. Färbungen, die unter g ∈ G fest sind, sind konstant auf den Zyklen von g. Diese Zyklen liefern nun aber gerade die Ωi aus Satz 3.6.10. Somit eröffnet Satz 3.6.10 eine Möglichkeit der Berechnung von UA (y1 , . . . , yr ), wobei A die Menge aller nicht äquivalenten Färbungen ist. Seien G die Symmetriegruppe einer Menge Ω, g ∈ G und ω eine Färbung mit gˆ(ω) = ω. Dann folgt (das hatten wir gesehen), dass ω konstant auf den Zyklen von g ist. Setzt man umgekehrt voraus, dass ω konstant auf den Zyklen von g ist, so ist ω ∈ F (ˆ g ). Seien nun Ωi (mit i = 1, . . . , k) die Zyklen von g. Dann ist w(ω) UF (ˆg) (y1 , . . . , yr ) = ω∈F (ˆ g)
nach Satz 3.6.10. Also ist UF (ˆg) (y1 , . . . , yr ) =
k
(y1mi + . . . + yrmi ) ,
i=1
wobei die mi = |Ωi | (mit i = 1, . . . , k) die Zyklenlängen sind. Wir setzen nun (für i = 1, . . . , n) σi = y1i + . . . + yri . Dann ist UF (ˆg) (y1 , . . . , yr ) = σm1 · · · σmk = σ1α1 · · · σnαn , wobei [1α1 . . . nαn ] der Typ von g ist. Das liefert sofort UF (ˆg) (y1 , . . . , yr ) = x(g)(σ1 , . . . , σn ). Insbesondere enthält die letzte Gleichung nur noch Werte, die ausschließlich die Operation von g ∈ G auf Ω benutzen. Wir können also in der Tat UF (ˆg) (y1 , . . . , yr ) berechnen. Der folgende Satz, der auf George Pólya4 zurückgeht, verallgemeinert dies nun auf eine beliebige endliche Gruppe G von bijektiven Abbildungen einer endlichen Menge Ω. 4
George Pólya, *13.12.1887 Budapest †7.9.1985 Palo Alto, war ein Mathematiker, der auch Beiträge zum Problemlösen geleistet hat. Sein 1945 erschienenes Buch How to solve it (in der deutschen Übersetzung Schule des Denkens) gilt immer noch als Klassiker in diesem Bereich.
3.6
Färbungen
179
Satz 3.6.11 (Pólya) Sei ZG (x1 , . . . , xn ) der Zyklenindex von G auf Ω. Sei weiter
K = {y1 , . . . , yr } eine Menge von Farben. Wir setzen σi = i = 1, . . . , n) und
y1i
+ ··· +
yri
für
U (y1 , . . . , yr ) = ZG (σ1 , . . . , σn ) . Dann ist der Koeffizient von y1s1 . . . yrsr in U die Anzahl der nicht äquivalenten Färbungen von Ω, bei denen die Farbe yi genau si –mal vorkommt. Beweis 3.6.11 Sei D die Menge der nicht äquivalenten Färbungen von Ω. Dann
ist
UD (y1 , . . . , yr ) =
w(ω) .
ω∈D
Es ist
w(ω) =
ω∈D
1 |G| |Gω | w(ω) . |G| |Gω | ω∈D
Sei F die Menge aller Färbungen. Dann enthält D aus jeder Bahn von G auf F genau ein Element. In einer Bahn haben alle Färbungen den gleichen Wert. Weiter wissen wir nach Satz 3.5.7, dass die Bahn, die ω ∈ F enthält, |G| hat. Das ergibt nun die Länge |G ω| 1 |G| 1 |Gω | w(ω) = |Gω |w(ω) = w(ω) . |G| |G| |Gω | ω∈F
ω∈D
ω∈D
Dies können wir auch wie folgt schreiben: 1 1 1 |G| w(ω) = |Gω |w(ω) = w(ω) . |Gω | w(ω) = |G| ω∈F |G| ω∈F |G| ω∈D |Gω | ω∈D g ∈Gω
Wir setzen nun E = {(g, ω) | g(ω) = ω, ω ∈ F }. Dann erhält man (∗)
ω∈D
w(ω) =
1 1 w(ω) = |G| ω∈F |G| g ∈Gω
(g,ω)∈E
w(ω) =
1 w(ω) . |G| g∈G ω∈F (ˆ g)
3.6.11
180
3. Gruppen und Symmetrien
Nach Definition ist
w(ω) = UF (ˆg) (y1 , . . . , yr )
ω∈F (ˆ g)
und somit UF (ˆg) (y1 , . . . , yr ) = σ1α1 . . . σnαn = x(g)(σ1 , . . . , σn ) . Nun folgt aus (∗) UD (y1 , . . . , yr ) =
1 x(g)(σ1 , . . . , σn ) = ZG (σ1 , . . . , σn ). |G| g∈G
3.6.12
Beispiele 3.6.12 (a) Wir hatten in einem Beispiel auf Seite 177 bereits gesehen, dass für das Quadrat U (y1 , y2 ) = y14 + y13 y2 + 2y12 y22 + y1 y23 + y24 gilt. Der Zyklenindex der Symmetriegruppe des Quadrats ist entspechend
1 4 (x + 2x21 x2 + 3x22 + 2x4 ) . 8 1 Indem wir im Zyklenindex x1 = y1 + y2 , x2 = y12 + y22 , x3 = y13 + y23 und x4 = y14 +y24 setzen (und rechnen), erhalten wir in der Tat das obige Polynom. (b) Mit Hilfe der gerade entwickelten Theorie kann man auch Probleme zu unterschiedlichen Identitätskarten elegant lösen. Wir gehen dabei wieder von einem Quadrat aus, das in neun quadratische Felder eingeteilt ist.
Wir färben die Quadrate mit den drei Farben rot, grün, blau, wobei zwei Quadrate rot, drei Quadrate grün und vier Quadrate blau sein sollen. Nun muss G, die Symmetriegruppe des Quadrats, auf diesen 9 Feldern operieren. Wir betrachten die Operationen und bestimmen den Zyklenindex.
3.6
Färbungen
181
Konkret sieht das so aus: Die Identität hat 9 Fixpunkte, was x91 liefert. Die Drehung um π2 bzw. 3π 2 hat zwei Zyklen der Länge 4 und einen Fixpunkt, was x1 x24 liefert. Die Drehung um π hat vier Zyklen der Länge 2 und einen Fixpunkt, was x1 x42 liefert. Die Spiegelungen haben jeweils drei Zyklen der Länge 2 und drei Fixpunkte, was x31 x32 liefert. Dies ergibt für den Zyklenindex 1 9 (x + x1 x42 + 4x31 x32 + 2x1 x24 ) . 8 1 Nach Satz 3.6.11 erhalten wir daher U (r, g, b) = 18 (r + g + b)9 + (r + g + b)(r2 + g 2 + b2 )4 +4(r + g + b)3 (r2 + g 2 + b2 )3 + 2(r + g + b)(r4 + g 4 + b4 )2 . Der Koeffizient von r2 g 3 b4 ist 174 (ja, wiederum muss man heftig rechnen). Es gibt damit 174 der gewünschten Identitätskarten. (c) Wir betrachten Perlenketten, die aus 3 roten und 13 blauen Perlen bestehen. Wie viele Ketten dieser Art gibt es? Wir können die Perlen als Ecken eines regulären 16–Ecks anordnen, müssen also zunächst die Symmetriegruppe des regulären 16–Ecks bestimmen. Die Ecken sollen dabei mit den Nummern 1 bis 16 versehen sein. Es gibt die folgenden Symmetrien: Drehung um 2kπ , k ungerade 16
z. B.
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
Drehung um 4kπ , k ungerade 16
z. B.
(1, 3, 5, 7, 9, 11, 13, 15)(2, 4, 6, 8, 10, 12, 14, 16)
Drehung um 8kπ , k ungerade 16
z. B.
(1, 5, 9, 13)(3, 7, 11, 15)(2, 6, 10, 14)(4, 8, 12, 16) (1, 9)(5, 13)(3, 11)(7, 15)(2, 10)(4, 12)(6, 14)(8, 16)
Drehung um π Spiegelung an Geraden durch Gegenecken
z. B.
(2, 16)(3, 15)(4, 14)(5, 13)(6, 12)(7, 11)(8, 10)
Spiegelung an Geraden durch Mitten von Gegenseiten
z. B.
(1, 16)(2, 15)(3, 14)(4, 13)(5, 12)(6, 11)(7, 10)(8, 9)
Identität
4kπ Es gibt 8 Drehungen um 2kπ 16 , es gibt 4 Drehungen um 16 und es gibt 2 8kπ Drehungen um 16 . Außerdem gibt es von jedem Typ der Spiegelungen jeweils die gleiche Anzahl, das sind genau 8 Spiegelungen.
182
3. Gruppen und Symmetrien
Damit erhalten wir den Zyklenindex ZG (x1 , . . . , x16 ) =
1 16 (x + 8x21 x72 + 9x82 + 2x44 + 4x28 + 8x16 ) 32 1
und rechnen 1 [(r +b)16 +8(r +b)2 (r2 +b2 )7 +9(r2 +b2 )8 +2(r4 +b4 )4 +4(r8 +b8 )2 +8(r16 +b16 )] 32 = . . . + 21r3 b13 .
Der Koeffizient vor r3 b13 ist 21. Hierbei ist zu beachten, dass wir nur den ersten und den zweiten Summanden auswerten müssen, da alle anderen zu r3 b13 keine Beiträge leisten. Sie bleiben daher unberücksichtigt. (d) Mathematiker und Mathematikerinnen haben jetzt zumeist dieselbe Idee: Wie kann man das Problem verallgemeinern? Versuchen wir es und betrachten eine Perlenkette mit n Perlen. Wir wollen dabei nur Drehungen zulassen. Also ist die entspechende Symmetriegruppe G eine zyklische Gruppe der Ordnung n. m ist nach Satz 3.1.11 gerade Sei g die Drehung um 2π n . Die Ordnung von g n/ggT(n, m) = d. Diese Elemente bestehen aus n/d Zyklen der Länge d, n/d tragen also jeweils den Summanden xd zum Zyklenindex bei. Wir müssen nur noch abzählen, wie viele Elemente der Ordnung d es gibt. Wir haben d = n/ggT(n, m), also ist m = ggT(n, m)y mit ggT(d, y) = 1. Somit gehört zu jedem g m mit Ordnung d ein y mit ggT(y, d) = 1. Sei umgekehrt y mit m die Ordnung d. ggT(d, y) = 1 gegeben. Wir setzen m = ny d . Dann hat g Damit wissen wir, dass es genau ϕ(d) Elemente der Ordnung d in G gibt (dabei ist ϕ die Euler’sche ϕ–Funktion (vgl. [11, Seite 218]). Man bekommt 1 n/d ϕ(d)xd . ZG (x1 , . . . , xn ) = n d|n
Was wir gegen Ende dieses Paragraphen behandelt haben, nennt man Pólya– Theorie. Diese wurde von George Pólya in einer großen Arbeit 1937 (Acta mathematica 68, 1937, 145 - 254) entwickelt. Die ursprüngliche Fragestellung kommt aus der Chemie und geht auf Arthur Cayley5 zurück. Wir wollen sie hier nur kurz am Beispiel der Alkohole erläutern. 5
Arthur Cayley, *16.8.1821 Richmond †26.1.1895 Cambridge, war Professor in Cambridge. Er gilt als Begründer der Invariantentheorie und arbeitete auf den Gebieten Analysis, algebraische Geometrie, Gruppentheorie sowie Mechanik.
3.6
Färbungen
183
Alkohole haben die chemische Formel Cm H2m+1 OH. Abgesehen vom Nullalkohol (m = 0, auch Wasser genannt), sind sie giftig, so auch der Ethylalkohol C2 H5 OH (wenn auch in kleinen Mengen sehr beliebt). Wir wollen die Strukturformeln betrachten. Dabei ist zu beachten, dass ein C–Atom stets vierwertig ist, wärend ein H-Atom stets einwertig ist. Die Wurzel des Moleküls ist immer der OH - Kern. Damit gibt es für m = 1 und m = 2 jeweils nur eine Struktur: Ha
aH r
a
aH
C@
OH
Methylalkohol
r
a
OH
@ @ @aH
aH
C
C
a @
aH @
a
Ethylalkohol@
@aH
H
Anders ist die Situation für m = 3, denn hier gibt es bereits zwei Propylalkohole. aH a H Ha Ha a Ha H a aH C r
OH
a a
H
C
a a
C
H
C
a @
aH @ @ @a H
und
r
OH
C
a @
a @
aH
@ @aH
@ @a H
C
@
@
Für m = 4 sind es dann schon vier Alkohole. Das mathematische Problem kann man so formulieren: Wie viele Wurzelbäume mit n Ecken (Wurzel ist das OH–Atom, die Moleküle haben immer eine Baumstruktur) gibt es, in denen jede Ecke vier oder einen Nachbarn hat. Dieses Problem kann man als ein Färbungsproblem auffassen. Es wurde in der oben zitierten Arbeit von Pólya gelöst. Allerdings spielen dann nicht mehr Polynome, sondern Potenzreihen eine Rolle. Es würde zu weit führen, hier darauf einzugehen. Wir wollen daher nur die Anzahl der Moleküle für n ≤ 26 angeben.
184
3. Gruppen und Symmetrien
n 1 2 3 4 5 6 7 8 9
3.7
Anzahl 1 1 2 4 9 20 48 115 286
n 10 11 12 13 14 15 16 17 18
Anzahl
n
Anzahl
719 1842 4766 12486 32973 87811 235381 634847 1721159
19 20 21 22 23 24 25 26
4688676 12826228 35221832 97055181 268282855 743724984 2067174645 5759636510
3.7 Symmetrien von Polynomen Es ist ein wesentliches Charakteristikum mathematischen Arbeitens, von einfachen Dingen auszugehen und zu sehen, in welcher Form sie erweitert und verallgemeinert werden können. Genau das wollen wir nun mit dem Begriff der Symmetrie machen. Wir werden ihn auf einen eher ungewohnten Bereich übertragen und Symmetrien auf der Menge C der komplexen Zahlen betrachten. Eine Symmetrie eines Quadrats haben wir als eine bijektive Abbildung dieses Quadrats auf sich selbst definiert (man vergleiche Definition 3.1.1). Auch unter einer Symmetrie von C wollen wir daher eine bijektive Abbildung von C auf C verstehen. Die Abbildung soll darüber hinaus die Struktur erhalten, also das gewohnte Rechnen in C nicht stören.
3.7.1
Definition 3.7.1 Sei C die Menge der komplexen Zahlen. Die Abbildung α heißt
eine Symmetrie von C, falls α : C −→ C bijektiv ist und α(a + b) = α(a) + α(b) sowie α(ab) = α(a) · α(b) für alle a, b ∈ C gilt.
Insbesondere ist die Abbildung α in Bezug auf die Addition und auf die Multiplikation ein Automorphismus, (das ist ein bijektiver Homomorphismus eines Körpers auf sich; man vergleiche Definition 2.4.1).
3.7
Symmetrien von Polynomen
185
Man kann leicht zeigen, dass α(1) = 1 und α(0) = 0 ist. Genauso einfach ist es einzusehen, dass die Bildung des multiplikativen Inversen eines Elements und die Anwendung von α vertauscht werden können. Lemma 3.7.2 Sei α eine Symmetrie von C. Dann ist α(1) = 1 und α(0) = 0. Für jedes 0 = a ∈ C \ {0} gilt α(a−1 ) = α(a)−1 .
3.7.2
Beweis 3.7.2 Mit Lemma 2.4.3 folgt α(1) = 1 und α(0) = 0. Es ist außerdem
1 = α(1) = α(aa−1 ) = α(a)α(a−1 ), also α(a)−1 = α(a−1 ). Schließlich kann man unmittelbar sehen, dass Symmetrien von C sehr einfach sind, wenn man nur ihre Wirkung auf rationale Zahlen betrachtet. Unter Anwendung von Definition 3.7.1 und Lemma 3.7.2 sieht man, dass jede rationale Zahl unter einer Symmetrie auf sich selbst abgebildet wird. Lemma 3.7.3 Sei α eine Symmetrie von C. Dann ist α|Q die Identität. Beweisidee 3.7.3 Man zeigt zunächst, dass die Behauptung für eine beliebige
natürliche Zahl gilt und nutzt diese Tatsache, um zu beweisen, dass sie auch für alle ganzen Zahlen gilt. Im letzten Schritt wird sie auf rationale Zahlen erweitert. Beweis 3.7.3 Sei z ∈ N. Wir nehmen an, dass α(z) = z ist und z mit dieser
Eigenschaft minimal ist. Nach Lemma 2.4.3 ist z > 1, also ist auch z − 1 ∈ N. Da z minimal gewählt ist, muss also α(z − 1) = z − 1 sein. Damit rechnet man mit Hilfe von Definition 3.7.1, dass α(z) = α(z − 1 + 1) = α(z − 1) + α(1) = z − 1 + 1 = z ist und das ist ein Widerspruch. Also ist α|N die Identität. Sei nun wiederum z ∈ N, also −z ∈ Z. Nach Lemma 2.4.3 ist α(0) = 0, also 0 = α(0) = α(z + (−z)) = α(z) + α(−z) = z + α(−z). Folglich ist α(−z) = −z und es gilt α|Z = id. Betrachten wir schließlich ab ∈ Q mit a, b ∈ Z und b = 0. Dann ist α
a b
= α(ab−1 ) = α(a)α(b−1 )
=
Lemma 3.7.2
α(a)α(b)−1 = ab−1 = ab .
3.7.3
186
3. Gruppen und Symmetrien
Symmetrien können auf unterschiedlichen Strukturen operieren und zu interessanten Ergebnissen führen. Wir wollen uns deshalb mit Polynomen f ∈ Q[x] n beschäftigen, also mit Polynomen der Art f = i=0 ai xi für gewisse ai ∈ Q. Sei etwa u ∈ C eine Nullstelle dieses Polynoms, also f (u) = 0, und sei α eine Symmetrie von C. Dann kann man zeigen, dass auch α(u) eine Nullstelle von f ist. 3.7.4
Lemma 3.7.4 Sei f ∈ Q[x], sei u ∈ C mit f (u) = 0 und sei α eine Symmetrie
von C. Dann ist f (α(u)) = 0. Beweis 3.7.4 Es ist einerseits n α(f (u)) = α( ai ui ) = α(0) = 0 . i=0
Andererseits rechnet man α(f (u)) =
n
α(ai ui ) =
i=0
n i=0
α(ai )α(ui ) =
n
ai α(u)i = f (α(u)).
i=0
Damit folgt die Behauptung. Die Lemmas 3.7.2 bis 3.7.4 hängen im Grunde nicht von C ab, denn spezielle Eigenschaften werden in den Beweisen nicht benutzt. Wir könnten statt Symmetrien von C auch Symmetrien jedes beliebigen anderen Körpers K mit Q ⊆ K ⊆ C betrachten. Insbesondere gelten alle genannten Aussagen auch für den Körper R der reellen Zahlen. Lemma 3.7.4 besagt auch, dass die Symmetrien die Nullstellen von f permutieren. Die Symmetriegruppe von C induziert also so etwas wie eine Symmetriegruppe von f . Diesen Sachverhalt wollen wir nun genauer untersuchen. Wir beginnen mit einer Definition, die einen ganz wesentlichen Begriff mit großer theoretischer und praktischer Bedeutung betrifft, nämlich den Begriff der Galoisgruppe6 eines Polynoms. Auf den ersten Blick sehen die vielen Bedingungen etwas wild aus, aber lassen Sie sich davon nicht entmutigen. 6 Evariste Galois, *25.10.1811 Bourg-la-Reine †31.5.1832 Paris, war ein französischer Mathematiker, der bereits als Schüler durch sein großes Talent für das Fach auffiel. Sein wichtigstes Ergebnis ist es, die in diesem Abschnitt beschriebenen Grundlagen der Galois-Theorie gelegt zu haben, die Aussagen über die Lösbarkeit von algebraischen Gleichungen erlaubt. Galois starb jung an den Folgen eines Duells, seine weitreichenden Ideen hatte er erst am Abend vorher schriftlich zusammengefasst.
3.7
Symmetrien von Polynomen
187
Definition 3.7.5 Sei f ∈ Q[x] ein Polynom und L der kleinste in C enthaltene
Körper, der sowohl Q als auch alle Nullstellen von f in C enthält. Sei G die Gruppe der Symmetrien von L und sei H die Gruppe der Permutationen der Nullstellen von f in C. Sei schließlich σ : G → H der Homomorphismus, der jedem α ∈ G die von α auf den Nullstellen bewirkte Permutation zuordnet. Dann ist G/Kern (σ) eine Permutationsgruppe der Nullstellen. Sie heißt die Galoisgruppe von f . Die Definition hat es offensichtlich (wie bereits angemerkt) in sich, auch wenn die bisher bereitgestellten Grundlagen zumindest erkennen lassen, dass die genannten Bedingungen sinnvoll gestellt sind. Es wird damit allerdings nicht gezeigt, wie zu einem gegebenen Polynom die Galoisgruppe auch tatsächlich bestimmt werden kann. Schließlich kennt man die Gruppe G der Symmetrien der zugehörigen Körpererweiterung in der Regel nicht. Im Folgenden wollen wir aber an einem Beispiel zeigen, wie man im konkreten Fall weiterkommt und welche Erkenntnisse man dabei gewinnen kann. Wir gehen zunächst ganz eng in Anlehnung an Definition 3.7.5 vor. Gegeben sei dazu in Q[x] das Polynom p = x4 − 2. Bekanntlich gibt es in C vier Nullstellen von p, nämlich √ √ √ √ 4 4 4 4 2, − 2, i 2, −i 2. √ √ √ Nun ist 4 2 (genauso wie − 4 2) eine reelle Zahl und damit ist Q( 4 2, i) der von den Nullstellen erzeugte Teilkörper L von C. Eine der Symmetrien dieses Teilkörpers L ist die Abbildung τ , die jeder komplexen Zahl a + bi ∈ L ihr konjugiert Komplexes a − bi ∈ L zuordnet. √ √ 4 2) = 4 2, Wendet man τ auf die Nullstellen an, dann bekommt man τ ( √ √ √ √ √ √ τ (− 4 2) = − 4 2, τ (i 4 2) = −i 4 2 und τ (−i 4 2) = i 4 2. Kann man weitere Symmetrien finden? Ja und Satz 2.4.11 hilft dabei. Er besagt explizit, dass es Isomorphismen gibt, durch die die Nullstellen eines Polynoms aufeinander abgebildet werden. Eine Voraussetzung ist allerdings zu erfüllen: Das Polynom muss irreduzibel sein. Wir müssen folglich zeigen, dass p = x4 − 2 irreduzibel ist. Da p keine Nullstellen in Q hat, kann man mit Sicherheit keinen Linearfaktor der Form x + a mit a ∈ Q finden. Wir müssen also nur zeigen, dass es keine Polynome p1 = x2 + ax + b und p2 = x2 + cx + d mit a, b, c, d ∈ Q gibt so, dass p = p1 p2 ist. Nehmen wir an, dass es solche Polynome gibt. Dann folgt durch
3.7.5
188
3. Gruppen und Symmetrien
Koeffizientenvergleich a + c = 0, b + d + ac = 0, ad + bc = 0 und bd = 2. Also ist a = −c und a(b − d) = 0. Ist a = 0, so muss b = d sein. Damit bekommt man b2 = 2 und diese Gleichung hat in Q keine Lösung. Somit ist a = c = 0. Dann folgt aus b + d + ac = 0 aber b = −d und damit b2 = −2. Auch diese Gleichung ist in Q nicht lösbar. Damit kann man keine Polynome p1 und p2 der gewünschten Form finden. Folglich ist p irreduzibel. Da p irreduzibel ist, gibt es nach Satz 2.4.11 einen Isomorphismus σ von √ L = Q( 4 2, i) mit √ √ 4 4 σ( 2) = i 2. Wir bestimmen σ(i) und nutzen dabei, dass i eine Nullstelle von x2 + 1 ist. Dann ist auch σ(i) eine Nullstelle von x2 + 1. Also ist σ(i) = i oder σ(i) = −i. Da wir gegebenenfalls σ durch στ ersetzen können, dürfen wir σ(i) = i annehmen. Damit ist √ √ √ √ 4 4 4 4 σ(i 2) = iσ( 2) = ii 2 = − 2 und
√ √ 4 4 σ(− 2) = −i 2.
Also entspricht σ einem 4-Zyklus auf den Nullstellen von p = x4 − 2. Es ist außerdem √ √ √ 4 4 4 τ στ ( 2) = −i 2 = σ −1 ( 2), sodass τ στ = σ −1 ist. Damit haben wir acht verschiedene Symmetrien des Polynoms p = x4 − 2 gefunden, nämlich {σ, σ 2 , σ 3 , id, τ, στ, σ 2 τ, σ 3 τ } = U. Man rechnet leicht nach, dass U eine Gruppe ist. Sie ist (ganz klar) eine Untergruppe der Gruppe aller Symmetrien von p. Nun bildet jede Symmetrie die Menge aller Nullstellen von p auf sich selbst ab (man vergleiche Lemma 3.7.4). Da p genau vier Nullstellen hat, ist folglich die Gruppe aller Symmetrien eine Untergruppe von S4 . Allerdings sind nicht alle theoretisch möglichen Permutationen auch tatsächlich in dieser Untergruppe enthalten.
3.7
Symmetrien von Polynomen
189
So kann es etwa keine Abbildung ω mit √ √ √ √ √ √ √ √ 4 4 4 4 4 4 4 4 ω( 2) = 2, ω(− 2) = i 2, ω(i 2) = − 2 und ω(−i 2) = −i 2 geben, da die Einschränkung ω|Q = id gelten muss. Da damit ω(−1) = −1 √ √ √ √ ist, folgt aus ω( 4 2) = 4 2 offensichtlich auch ω(− 4 2) = − 4 2. Mit diesen Vorbereitungen ist es ganz einfach, die Galoisgruppe G des Polynoms p = x4 − 2 zu bestimmen. Man muss eigentlich nur die Tatsache berücksichtigen, dass U eine Untergruppe von G ist und Satz 3.5.8, den Satz von Lagrange, anwenden. Damit folgt, dass | U | ein Teiler von | G | und | G | ein Teiler von | Σ4 |= 24 ist. Da G von Σ4 verschieden ist, folgt G = U . Das klingt wieder einmal sehr abstrakt. Ist es wirklich wichtig, die Galoisgruppe eines Polynoms f zu kennen? Ja, denn es gibt eine nützliche Anwendung, die Sie vielleicht nicht erwarten würden. Schauen wir uns dazu die historischen Wurzeln an. Wie bereits angemerkt, war es Evariste Galois, der sich mit dieser Thematik beschäftigte. Er hatte dabei ein ganz konkretes Problem im Auge, nämlich die Frage der Auflösbarkeit von Polynomen durch so genannte Radikale. Seine Frage lässt sich leicht formulieren: Kann man die Nullstellen von Polynomen als Terme schreiben, die neben rationalen Zahlen nur elementare Operationen mit diesen Zahlen – wie die Addition, Subtraktion, Multiplikation oder Division – sowie Wurzelausdrücke berücksichtigen? Für quadratische Gleichungen klappt das und wir alle kennen die Lösungsformel aus der Schule (noch einmal, es ist die so genannte „Mitternachtsformel“). Sei nämlich f = x2 + ax + b. Dann kann man die Nullstellen x1 , x2 folgendermaßen schreiben: 1 (−a + 2 1 x2 = (−a − 2 x1 =
a2 − 4b) a2 − 4b).
Die von Galois untersuchte Problemstellung beinhaltet die Frage, ob es für alle möglichen Polynome beliebigen Grades solche Lösungsformeln für die Nullstellen gibt. Schlechte Nachricht: Nein, bereits ab n = 5 gibt es keine Formel mehr zur Bestimmung der Nullstellen. Gute Nachricht: Ähnliche Formeln wie für den Grad 2 gibt es für die Nullstellen von Polynomen vom Grad 3 und 4. Sie sind allerdings relativ komplex, sodass die guten Nachrichten in der Realität gar nicht so gut sind. Trotzdem betrachten wir zumindest einen der beiden möglichen Fälle.
190
3. Gruppen und Symmetrien
Wir wollen für ein Polynom f = x3 + ax2 + bx + c vom Grad 3 die Nullstellen bestimmen. Nun kann man ein solches Polynom durch eine Transformation x → x − a3 immer auf die Form x3 + px + q vereinfachen. Das Ziel ist es also, u und v so anzugeben, dass x = u + v eine Lösung der Gleichung dritten Grades ist. Auch wenn das kompliziert klingt, so ist es doch eine Vereinfachung. Betrachtet man nämlich (u + v)3 = u3 + 3u2 v + 3uv 2 + v 3 , dann sieht man durch einen Koeffizientenvergleich sofort: f (x) = f (u + v) = 0 gilt genau dann, falls 3uv = −p und u3 + v 3 = −q ist. Wir ersparen uns nun etwas Rechnerei (die man bei [3, Seite 328f.] nachschlagen kann) und setzen ! " 3 q 27q 2 + 4p3 und u= − + 2 108 ! " 3 q 27q 2 + 4p3 . v= − − 2 108 Man überlege sich, dass es in R nur ein solches Paar (u1 , v1 ) geben kann, denn die dritte Wurzel aus einer reellen Zahl ist eine eindeutig bestimmte reelle Zahl. Wir rechnen für dieses Paar ! ! " " 3 q 27q 2 + 4p3 3 q 27q 2 + 4p3 · − − u 1 v1 = − + 2 108 2 108 " =
3
27q 2 + 4p3 q2 − = 4 108
" 3
−p −p3 = . 27 3
Insbesondere ist die Bedingung 3u1 v1 = −p in diesem Fall erfüllt. Sei nun ω eine primitive dritte Einheitswurzel, also √ 1+i 3 ω=− . 2
3.7
Symmetrien von Polynomen
191
Mit (u1 , v1 ) sind auch (ωu1 , ω 2 v1 ) und (ω 2 u1 , ωv1 ) zulässige Paare gemäß der Zusatzbedingung. Die Nullstellen sind x 1 = u 1 + v1 , x2 = ωu1 + ω 2 v1 , x3 = ω 2 u1 + ωv1 , was offenbar von unserer (einfachen und plausiblen) Auswahl von (u1 , v1 ) unabhängig ist. Insbesondere haben die Terme für die Nullstellen die geforderte Form, die man Cardano-Form7 nennt. In ω taucht die komplexe Zahl i auf und diese Zahl ist historisch interessant. Die Beschäftigung mit komplexen Zahlen ist in der Geschichte der Mathematik nämlich eine eher neuere Erscheinung. Dokumentiert ist, dass sich Mathematiker im Zusammenhang mit dem Lösen von Gleichungen im 16. Jahrhundert mit ihnen befasst haben. Nun sind die einfachsten Gleichungen, bei denen man auf Wurzeln negativer Zahlen stößt, quadratische Gleichungen wie etwa x2 + 1 = 0. Es würde also nahe liegen, dass sie den Anstoß zur Beschäftigung mit komplexen Zahlen gegeben haben. Doch es waren historisch gesehen nicht die quadratischen, sondern die kubischen Gleichungen, die letztendlich die Auseinandersetzung mit den komplexen Zahlen erzwungen haben. y = x2 + 2 y=x
Eine Begründung dafür kann man sich leicht überlegen. Nimmt man etwa die (quadratische) Gleichung x2 − x + 2 = 0, dann kann man sie genauso in der Form x2 + 2 = x schreiben. Man kann also ohne weiteres die Lösung als Schnittpunkt zweier Kurven mit den Gleichungen y = x2 + 2 und y = x deuten.
7
Gerolamo Cardano, *24.9.1501 Pavia †21.9.1576 Rom, war ein italienischer Mathematiker, der sich mit der Lösbarkeit von Gleichungen befasste und dabei auch die Möglichkeit von Zahlen jenseits der reellen Zahlen andachte. Sein Problem blieb das Rechnen mit komplexen Zahlen, für das dann Rafaele Bombelli (1526– 1572) einen Vorschlag machte (man vergleiche die Fußnote auf Seite 192).
192
3. Gruppen und Symmetrien
Für die Lösung dieser Gleichung erhalten wir mit der oben aufgestellten Formel √ 1 x = (1 ± −7) . 2 Offenbar ist dieser Ausdruck innerhalb der reellen Zahlen sinnlos, da man aus −7 keine Quadratwurzel ziehen kann. Aber sollte uns das wirklich beunruhigen? Sollten wir so weit gehen, deswegen neue Zahlen einzuführen? Eigentlich nicht, da sich die beiden Kurven y = x2 + 2 und y = x offensichtlich nicht schneiden. Die Idee, den Zahlbereich zu erweitern, um auch in diesem Fall eine Lösung zu haben, ist also nicht zwingend. Ganz anders sieht es nun bei Gleichungen dritten Grades aus. Hier beschäftigte sich Rafaele Bombelli8 mit der Gleichung x3 − 15x − 4 = 0, also anders ausgedrückt mit der Gleichung x3 = 15x + 4. Die Formel liefert für eine Nullstelle # # √ √ 3 3 u1 = 2 + −121, v1 = 2 − −121, also
# x1 =
3
2+
√
# −121 +
3
2−
√ −121,
wobei die u1 , v1 so zu sehen sind, dass u1 v1 = 5 ist. √ Auch hier bekommen wir den „sinnlosen“ Ausdruck −121. Allerdings entspricht x1 der Lösung x1 = 4 und damit haben wir in der Bewertung der Situation ein echtes Problem. Wenn man allerdings („Augen zu und durch“) √ mit der Zahl −121 so rechnet, wie man es von den reellen Zahlen gewohnt √ ist, und ( −121)2 = −121 setzt, so kann man in der Tat # # √ √ 3 3 2 + −121 + 2 − −121 = 4 nachrechnen. Die zunächst sinnlosen Zahlen passen auf einmal in das Gefüge der bekannten Mathematik. Genau auf diese Weise haben die italienischen Mathematiker und Ingenieure des 16. Jahrhunderts erfolgreich das Rechnen mit den komplexen Zahlen begonnen.
8
Rafaele Bombelli *1526 Bologna, †1572 Rom, Ingenieur und Mathematiker, gab 1572 ein fünfbändiges Werk zur Algebra heraus, das das mathematische Wissen seiner Zeit zusammenfasste. Die beiden letzten Bände sind erst 1929 aus seinem Nachlass erschienen. Diese Bücher enthalten die Gleichungstheorie und zum ersten Mal sowohl negative als auch imaginäre Zahlen.
3.7
Symmetrien von Polynomen
193
Allerdings waren diese „imaginären“ Zahlen (die Wortwahl sagt hier schon einiges aus) etwas absonderlich. Mit ihnen konnte man zwar reelle Lösungen von Gleichungen berechnen, die Zahlen selbst existierten jedoch nicht in dem Sinne, wie man es gewohnt war. Entsprechend erlaubten nicht alle Mathematiker den Umgang mit solchen Rechenausdrücken, die im Grunde nicht mathematisch sauber in das vorhandene Wissen zu integrieren waren. Von Leibniz9 stammt der Ausspruch: Die komplexen Zahlen sind eine Art Amphibium zwischen Sein und Nichtsein. Erst durch Gauß10 und Hamilton (und hier vergleiche man die Fußnote auf Seite 257) wurden sie in das „Sein“ geholt, indem sie als Paare reeller Zahlen eingeführt und mit Rechenregeln versehen wurden, die ausschließlich auf dem Rechnen in R basierten. Es blieb das Problem, ob es Formeln zur Lösung von Gleichungen bzw. zur Bestimmung der Nullstellen, wie man sie für n = 2, 3, 4 inzwischen kannte, auch für Polynome von höherem Grad geben √ würde. Dabei ging es natürlich nicht um Spezialfälle wie etwa die Lösung 6 1 der Gleichung x6 − 1, sondern um allgemeine Formeln für allgemeine Fälle. Wir haben bereits angemerkt, dass Evariste Galois zu Beginn des 19. Jahrhunderts darauf die Antwort gab. Genial an seiner Lösung war, dass er keine Bedingungen an die Koeffizienten eines Polynoms stellte (das hatten viele vor ihm vergeblich versucht), sondern einen grundlegend neuen Ansatz entwickelte. Seine Lösung nutzt die Sprache der Gruppentheorie. Wir wollen im Folgenden die Grundzüge dieses Ansatzes darstellen und beginnen mit einer neuen Begriffsbildung. Definition 3.7.6 Eine Gruppe G = 1, die nur die Normalteiler 1 und G hat, heißt einfache Gruppe.
3.7.6
Beispiel 3.7.7 Sei G eine Gruppe mit | G |= p, wobei p eine Primzahl ist. Nach
3.7.7
dem Satz von Lagrange 3.5.8 hat G nur die Untergruppen 1 und G. Damit kann G auch nur diese Normalteiler haben und ist somit einfach. 9
Gottfried Wilhelm Leibniz, *1.7.1646 Leipzig †14.11.1716 Hannover, war ein Universalgelehrter, der wesentliche Beiträge zur Mathematik geleistet hat. Aus dem umfangreichen Werk soll nur auf seine Entdeckung der Infinitesimalrechnung und auf den Bau einer Rechenmaschine auf Grundlage des Dualsystems hingewiesen werden. 10
Carl Friedrich Gauß, *30.4.1777 Braunschweig †23.2.1855 Göttingen, war wohl der bekannteste und einflussreichste deutsche Mathematiker. Seine Arbeiten reichen von Beiträgen zu den Grundlagen der Algebra bis hin zu Anwendungen in der Physik und Astronomie.
194
3. Gruppen und Symmetrien
Wir beschränken uns im Folgenden auf Gruppen endlicher Ordnung. Sei also | G |< ∞ eine Gruppe und G = 1. Dann können wir offenbar eine Kette von Untergruppen 1 = U1 < U2 < · · · < Ur = G finden so, dass Ui ein Normalteiler von Ui+1 ist, es aber keinen Normalteiler mehr gibt, den man „dazwischenschieben“ kann. Insbesondere hat Ui+1 /Ui dann nur die trivialen Normalteiler 1 und Ui+1 /Ui (denn jede Gruppe ist Normalteiler von sich selbst und auch 1 ist stets ein Normalteiler). Jede Gruppe G lässt sich somit aus einfachen Gruppen zusammensetzen. Nach einem Satz von Jordan-Hölder sind diese einfachen Gruppen (natürlich bis auf Isomorphie) durch G sogar eindeutig bestimmt (man vergleiche z. B. [8, Seite 37]). Das Beispiel hat gezeigt, dass Gruppen von Primzahlordnung immer einfach sind. Sie kommen also als „Bausteine“ im Sinne des Satzes von Jordan-Hölder in Frage. Es gibt aber auch prinzipiell andere Möglichkeiten für endliche einfache Gruppen. Daher ist die folgende Begriffsbildung interessant, die auf Galois zurückgeht. 3.7.8
Definition 3.7.8 Sei G eine Gruppe. Gibt es Untergruppen
1 = U1 < . . . < Ur = G so, dass stets Ui ein Normalteiler von Ui+1 und |Ui+1 /Ui | = pi für eine Primzahl pi ist, so nennt man G auflösbar. Der Begriff der Auflösbarkeit geht auf Galois zurück. Warum aber nannte er solche Gruppen auflösbar? Der folgende Satz soll die Wortwahl verständlich machen. Leider können wir ihn an dieser Stelle nicht beweisen, weil die notwendigen Voraussetzungen den Rahmen dieses Buchs sprengen würden. Er verbindet zwei „Welten“, indem er Aussagen über die Nullstellen von Polynomen und über die zugehörige Galoisgruppe verbindet. Man darf es ruhig noch einmal sagen: Eine geniale Idee im frühen 19. Jahrhundert. 3.7.9
Satz 3.7.9 Die Gleichung f ist genau dann auflösbar (und das heißt, dass die Nullstellen sich durch arithmetische Operationen und Wurzeln ausdrücken lassen), wenn die Galoisgruppe von f auflösbar ist.
Diese von Galois zum ersten Mal angewendete Methode war später noch in vielen anderen Gebieten fruchtbar. Konkret wird es so gemacht: Man beweist
3.7
Symmetrien von Polynomen
195
Eigenschaften, indem man die Symmetrie studiert und die gewünschten Resultate in Verbindung zu der Eigenschaft der Symmetriegruppe setzt. Die symmetrische Gruppe Sn ist nun für n > 4 in keinem Fall auflösbar. Sie hat mit der alternierenden Gruppe An einen Normalteiler der Ordnung n! 2 (man vergleiche Definition 3.4.4), der für n > 4 eine nicht abelsche einfache Gruppe ist, was wir hier (wieder einmal) nicht beweisen können. Man kann aber Polynome über Q konstruieren, die als Galoisgruppe gerade die symmetrische Gruppe haben, weshalb es für n > 4 nie mehr eine allgemein gültige Formel für die Bestimmung der Nullstellen geben kann, die nur arithmetische Operationen und Wurzelausdrücke enthält. Beispiel 3.7.10 Wir betrachten das Polynom p = x5 − 6x + 3 und zeigen, dass
es als Galoisgruppe die Gruppe S5 hat. Dabei nutzen wir, dass dieses Polynom irreduzibel ist (auch wenn wir das hier nicht ausführen, sondern im Folgenden schlicht voraussetzen). Die Galoisgruppe eines irreduziblen Polynoms hat nach Satz 2.4.11 immer nur 4 eine # Bahn auf den Nullstellen. Es ist p = 5x − 6 und p hat die Nullstellen ± 4 65 . Nach Satz 2.3.28 hat p also fünf verschiedene Nullstellen. Damit ist die Galoisgruppe Gp auf jeden Fall eine Untergruppe von S5 . Wenn wir die konkreten Werte p(−2) = −17, p(−1) = 8, p(0) = 3, p(1) = −2, p(2) = 23 berechnen, dann bringt uns der Satz von Rolle (man vergleiche etwa [4]) weiter. Nach diesem Satz trennen die Nullstellen der Ableitung die reellen Nullstellen von p, also hat p genau 3 reelle Nullstellen. Seien y und y¯ die beiden nicht reellen Nullstellen von p. Bilden wir nun jeweils das konjugiert Komplexe, dann werden diese beiden Nullstellen vertauscht und alle anderen ganz offensichtlich festgehalten. Somit enthält die Galoisgruppe Gp Transpositionen. Wir ändern ein wenig den Blick und sehen Gp als Gruppe von Permutationen der Menge {1, . . . , 5} an. Dann können wir ohne Beschränkung der Allgemeinheit annehmen, dass Gp die Transposition τ = (1, 2) enthält. Da Gp nur eine Bahn hat, gibt es dann auch Transpositionen (i, xi ) ∈ Gp für alle i = 2, 3, 4, 5 mit einem geeigneten xi . Noch einmal ohne Beschränkung der Allgemeinheit (und da es nur eine einzige Bahn gibt) können wir sogar annehmen, dass auch τ1 = (2, 3) in Gp ist. Damit ist (1, 2) ∈ Gp und (2, 3) ∈ Gp , also ist auch (1, 3) = (1, 2)(2, 3)(1, 2) ∈ Gp .
3.7.10
196
3. Gruppen und Symmetrien
Somit enthält Gp mindestens zwei Transpositionen, die 1 enthalten. Wegen der Transitivität von Gp gilt dies auch für 4. Damit gibt es (4, x4 ) ∈ Gp mit x4 ∈ {1, 2, 3}. Somit können wir (1, 4) ∈ Gp annehmen. Dann sind auch (2, 4) = (1, 2)(1, 4)(1, 2) und (3, 4) = (2, 3)(2, 4)(2, 3) in Gp . Damit sind alle Transpositionen der symmetrischen Gruppe auf der Menge {1, 2, 3, 4} Elemente von Gp . Nach Satz 3.3.5(b) bilden diese Transpositionen aber genau die Gruppe S4 . Wir haben also gezeigt, dass der Stabilisator der 5 in Gp gerade S4 ist, denn diese Gruppe muss im entsprechenden Stabilisator in der S5 auf jeden Fall enthalten sein. Mit Satz 3.5.7 folgt |Gp | = |S4 | · 5 = |S5 |. Somit hat das Polynom p = x5 − 6x + 3 als Galoisgruppe die Gruppe S5 (und noch einmal: Die Gruppe ist nicht auflösbar). Insbesondere gibt es keine Formel für die Nullstellen von p, die nur Wurzeln und arithmetische Operationen benutzen
3.8
3.8 Übungsaufgaben 1)
Auf der Menge R der reellen Zahlen definieren wir eine neue Multiplikation ∗ durch x ∗ y = xy + x + y. Ist R mit der Operation ∗ eine Gruppe?
2)
Sei G eine Gruppe, a ∈ G mit a3 = 1. Sei b ∈ G mit aba−1 = b2 . Man bestimme die Möglichkeiten für o(b), die Ordnung des Elements b.
3)
Bestimmen Sie bis auf Isomorphie alle Gruppen der Ordnung 6.
4)
Sei G eine Gruppe, A, B ≤ G. Zeigen Sie: A ∪ B ist genau dann eine Untergruppe von G, falls A ⊆ B oder B ⊆ A ist.
5)
Zeigen Sie: Ist G eine Gruppe gerader Ordnung, so gibt es ein Element g ∈ G (g = 1) mit g 2 = 1.
6)
Bestimmen Sie die Symmetriegruppe des Tetraeders. Ist Ihnen diese Gruppe schon aus einem anderen Zusammenhang bekannt?
3.8
7)
Übungsaufgaben
197
In den folgenden Teilaufgaben sollen alle Permutationen Elemente von S9 sein. (a) Berechnen Sie 123456789 123456789 · 436291587 923147865 und
123456789 762539418
−1 .
(b) Schreiben Sie (1, 3, 5)(3, 5, 4)(4, 7)(7, 6, 5, 8, 9) als ein Produkt von elementfremden Zyklen. (c) Schreiben Sie (1, 3, 5)−1 (7, 9)(3, 6, 8, 2) als ein Produkt von Transpositionen. (d) Bestimmen Sie das Signum von (5, 2, 6, 9, 8)−1 (1, 7)(1, 5)(1, 6)(4, 3, 2)−1 . 8)
Zwei Elemente σ1 , σ2 ∈ Sn heißen konjugiert, falls es ein τ ∈ Sn mit τ −1 σ1 τ = σ2 gibt. Zeigen Sie: Die Elements σ1 , σ2 sind genau dann konjugiert, wenn sie den gleichen Typ haben.
9)
(a) Berechnen Sie in S8 die Ordnungen von (1, 2, 3, 5)(4, 8)(6, 7), (1, 2)(3, 5)(4, 8)(6, 7), (1, 3, 6, 7, 2)(4, 5, 8). Sehen Sie ein System? Gibt es eine Verallgemeinerung für o(g), g ∈ Sn ? Beweisen Sie Ihre Vermutung. (b) Finden Sie ein Element maximaler Ordnung in S52 .
10) Sei K = Z/5Z und G die Menge aller Abbildungen ta,b von K mit ta,b (x) = ax + b, a, b ∈ K, a = 0. (a) Zeigen Sie: G ist eine Gruppe. (b) Berechnen Sie |G|. (c) Geben Sie einen injektiven Homomorphismus von G in S5 an.
198
3. Gruppen und Symmetrien
11) Bestimmen Sie alle Untergruppen von A4 . 12) Sei g ∈ Sn . Eine natürliche Zahl i, 1 ≤ i ≤ n − 1, heißt Abstieg, falls g(i) > g(i + 1) ist. Die Anzahl der Elemente in Sn mit k Abstiegen wird mit $ % n k bezeichnet und Euler-Zahl genannt. Zeigen Sie: (a) $ % $ % n n = und k n−k−1 (b)
$ % $ % $ % n n−1 n−1 = (k + 1) + (n − k) . k k k−1
13) Sei x ∈ N. Zeigen Sie: xn =
n−1 $ k=0
n k
%
x+k . n
Hinweis : Zeigen Sie x+k+1 x+k x+k . + (n − k) = (k + 1) x n+1 n+1 n 14) Bestimmen Sie die Anzahl der Kantenfärbungen des Tetraeders mit den Farben Rot, Gelb und Blau, bei denen jede Farbe jeweils zweimal auftritt. 15) Berechnen Sie den Zyklenindex von S5 . 16) Bestimmen Sie die Anzahl möglicher Färbungen der Seitenflächen in den Farben schwarz und weiß für die platonischen Körper, also für Tetraeder, Würfel, Oktaeder, Dodekaeder und Ikosaeder. 17) Zeigen Sie, dass die Anzahl der quadratischen n × n–Identitätskarten, n ungerade, mit zwei Markierungen (wie auf Seite 167) genau 1 4 (n + 8n2 − 8n − 1) 16 ist.
3.8
Übungsaufgaben
199
18) Sei G eine Gruppe. (a) Zeigen Sie, dass Z(G) = {g|g ∈ G, gx = xg für alle x ∈ G} eine Untergruppe von G ist. (b) Ist |G| = pn > 1 und p eine Primzahl, so ist Z(G) = 1. Hinweis: Lassen Sie G auf G \ {1} durch x → g −1 xg operieren. 19) Zeigen Sie, dass S4 für jeden Teiler d von 24 eine Untergruppe der Ordnung d enthält. 20) (a) Sei G eine Gruppe und U eine Untergruppe. Ist g ∈ G, so ist auch V = {g −1 ug|u ∈ U } eine Untergruppe von G. (b) Sei G eine Gruppe, die zu jedem Teiler d ihrer Ordnung genau eine Untergruppe von der Ordnung d besitzt, so ist G zyklisch. 21) Es sollen rechteckige (aber nicht quadratische) Identifikationskarten für 160 Teilnehmerinnen und Teilnehmer einer Veranstaltung ausgegeben werden, die sich aus vier kleinen, farbigen und gleichgroßen Teilen zusammensetzen.
Dabei sind Vorder- und Rückseiten nicht zu unterscheiden. Wie viele Farben benötigt man mindestens, damit die 160 Personen eindeutig zu unterscheiden sind? 22) Sei G die volle Symmetriegruppe der Perlenkette mit n Perlen, also alle Drehungen und Spiegelungen. Zeigen Sie, dass der Zyklenindex von G die folgende Form hat: 1 1 n/d ϕ(d)xd + Rn ) ZG (x1 , . . . , xn ) = ( 2 n d|n
mit
Rn =
(n−1)/2
x1 x2 für n ungerade . n/2 2 (n−2)/2 )/2 für n gerade (x2 + x1 x2
Kapitel 4 Codierung von Nachrichten
4
4
4 4.1 4.2 4.3 4.4
Codierung von Nachrichten Einführende Beispiele .......................................... Fehlererkennung und Fehlerkorrektur....................... Decodierung ..................................................... Übungsaufgaben ................................................
203 205 222 236
4 Codierung von Nachrichten In der Codierungstheorie geht es darum, mathematische Verfahren zu identifizieren, mit deren Hilfe eine Nachricht möglichst störungsfrei und sicher über einen eher unsicheren Kanal gesendet werden kann. Dabei ist die automatische Fehlererkennung eine der wesentlichen Herausforderungen. Wir wollen uns entsprechend in diesem Kapitel mit Grundlagen der Übertragung und Fehlerkorrektur auseinandersetzen. Wir können hier nur die grundsätzlichen Fragen behandeln. Als weiterführende Literatur sei auf die Bücher von J. H. van Lindt [9] und W. Willems [15] verwiesen.
4.1 Einführende Beispiele Wie es in den einleitenden Worten schon gesagt wurde, befasst sich die Codierungstheorie mit der sicheren Übertragung von Nachrichten. Unter einer Nachricht stellen wir uns dabei in der Regel einen in einem normalen Alphabet geschriebenen Text vor. Es gibt aber zahlreiche weitere Beispiele für Nachrichten. So kann man etwa mit Hilfe von Morsezeichen eine Botschaft in eine Folge von längeren und kürzeren Signalen übersetzen, die damit in einer für elektrische Impulse geeigneten Form weitergegeben werden. Genauso ist der Barcode (und da steckt das Wort „Code“ wie in „Codierung“ bereits drin) auf dem Joghurtbecher oder dem Schokoladenriegel im Grunde als eine Art Nachricht an die Scannerkasse zu verstehen, die Auskunft über die konkrete Ware, ihren Preis oder die Verfügbarkeit am Lager geben kann. Bei der Übermittlung von Nachrichten können nun zwei wesentliche Probleme auftreten, die aus unterschiedlicher Perspektive beide die Zuverlässigkeit betreffen. Einerseits sollten Nachrichten nämlich möglichst fehlerfrei übertragen werden, damit sich der Empfänger auf die Korrektheit des Inhalts auch wirklich verlassen kann. Andererseits gibt es Nachrichten, die nicht für die Öffentlichkeit bestimmt sind, sodass auch die Sicherheit der Übertragung ein zentraler Aspekt ist. Wir wollen im Folgenden nur einen kurzen Einblick in die Thematik geben und uns dabei vor allem mit Möglichkeiten befassen, die eine fehlerfreie Übertragung gewährleisten. Es geht uns allerdings nicht nur darum, Fehler zu erkennen, sondern auch darum, das (automatische) Korrigieren von Fehlern mit zu bedenken. Der Aspekt der Sicherheit ist Gegenstand der Kryptographie und wird hier nicht behandelt. Man kann dies in dem schon oben erwähnten Buch von Willems [15] finden.
K. Reiss, G. Stroth, Endliche Strukturen, Mathematik für das Lehramt, c Springer-Verlag Berlin Heidelberg 2011 DOI 10.1007/978-3-642-17182-6_4,
4.1
204
4. Codierung von Nachrichten
Manchmal sind Fehler schon mit recht einfachen Methoden zu erkennen, z. B. bei Büchern über die ISBN, die International Standard Book Number (siehe hierzu auch das Buch von R.H. Schulz [12]). Sie verrät nicht nur, in welchen Sprachraum ein Buch gehört und welcher Verlag es herausgegeben hat, sondern enthält auch ganz am Ende eine Prüfziffer. Wird die Nummer in eine Scannerkasse eingelesen, dann wird das korrekte Lesen über diese Ziffer kontrolliert, wobei grobe Fehler in der Regel erkannt werden. Wie das im Prinzip (hier sehr vereinfacht) funktioniert, werden wir gleich sehen. Wir nehmen dazu den üblichen Fall an, dass Nachrichten in Form von {0, 1}-Signalen übertragen werden. Sei also a1 , . . . , an eine Nachricht (z. B. der verschlüsselte Waren- und Preisn+1 code), dann fügt man an+1 so an, dass i=1 ai ≡ 0 (mod 2) ist (wobei, wie gesagt, alle ai entweder 0 oder 1 sind). Besteht der Code aus fünf Zeichen, dann könnte das folgendermaßen aussehen: 4.1.1
Beispiel 4.1.1 n = 5 : a1 a2 a3 a4 a5 = 01010 und a6 = 0.
Das Beispiel ist sehr einfach, viel einfacher, als die tatsächlich in der Praxis realisierten Verfahren. Dennoch zeigt es den Kern: Man kontrolliert die Summe a1 + a2 + a3 + a4 + a5 und prüft, ob sie gerade ist. Stimmt das nach der Übertragung nicht mehr, so liegt auf jeden Fall mindestens ein Fehler vor (und offensichtlich ist auch, dass hier die Umkehrung nicht gilt). Bei einer Kasse ist die Korrektur im Grunde unkompliziert, denn hier kann man notfalls den richtigen Preis erfragen oder die Zahlenfolge per Hand eingeben. Wir alle kennen diese Standardsituation. Das Nachfragen oder die schnelle neue Eingabe sind aber nicht mehr möglich, wenn man etwa Bilder vom Mars zur Erde übertragen will oder Musik auf einem MP3-Player speichern möchte. Dann reicht es nicht, Codes zu haben, die Fehler zuverlässig erkennen, sondern man möchte, dass der Fehler auch gleich automatisch korrigiert wird. Dafür ist die genannte Codierung natürlich nicht geeignet, denn jede beliebige falsche Stelle führt zur gleichen Fehlermeldung. Aber es gibt für die Fehlerkorrektur einfache Lösungen und die folgenden Beispiele geben eine erste Idee, wie es funktionieren kann. In beiden Fällen ist Wiederholung das passende Stichwort: Wenn etwas beim ersten Mal nicht korrekt verstanden wird, dann muss man es noch einmal machen. Wir wollen übrigens an dieser Stelle noch nicht im Detail diskutieren, warum die Übertragung (insbesondere mit der Methode des zweiten Beispiels) tatsächlich überlegen ist, sondern es bei Plausibilitätsbetrachtungen belassen. Die Erklärung wird im Laufe des Kapitels gegeben. Prägen Sie sich besonders Beispiel (b) gut ein, wir werden mehrfach darauf zurückkommen.
4.2
Fehlererkennung und Fehlerkorrektur
205
Beispiele 4.1.2 (a) Sei n = 4 und a1 a2 a3 a4 mit ai ∈ {0, 1} die Nachricht.
4.1.2
Sendet man nun a1 a2 a3 a4 a1 a2 a3 a4 a1 a2 a3 a4 , wiederholt man also die Nachricht unverändert mehr als einmal, dann ist es sehr wahrscheinlich, dass ein einzelner Fehler erkannt und korrigiert werden kann. Man spricht hier von einem Wiederholungscode, bei dem in diesem (sehr einfachen) Fall relativ lange Codewörter übertragen werden müssen. (b) Der Nachteil der mehrfachen Wiederholung ist offensichtlich. Wer mag schon die ungefähr dreifache Zeit beim Überspielen einer MP3-Datei tolerieren? Kann man das gleiche Resultat mit weniger Aufwand erreichen? Man kann es und dieses Beispiel zeigt eine Möglichkeit. Sei wieder n = 4. Die möglichen Nachrichten sind alle Worte a1 a2 a3 a4 mit ai ∈ {0, 1}. Gesendet wird nun die Botschaft a1 a2 a3 a4 a5 a6 a7 , wobei a5 , a6 , a7 ∈ {0, 1} das folgende lineare Gleichungssystem erfüllen a5 ≡ a1 + a3 + a4 (mod 2) a6 ≡ a1 + a2 + a4 (mod 2) a7 ≡ a1 + a2 + a3 (mod 2). Die Methode in Beispiel (b) erscheint sinnvoll. Wenn nur ein einzelnes Zeichen a1 , a2 , a3 , a4 nicht korrekt übertragen wird, dann werden zwei bzw. drei der Ziffern a5 , a6 , a7 (und das ganz eindeutig) fehlerhaft sein. Aber noch einmal sei betont, dass damit nicht klar ist, warum die Codierung in Beispiel (b) ganz allgemein funktioniert und besser als die in Beispiel (a) ist. Das Problem wollen wir genauer betrachten. Selbstverständlich geht das nicht ganz ohne Theorie und solide Begriffsbildungen.
4.2 Fehlererkennung und Fehlerkorrektur Der wichtigste Begriff ist die Codierung bzw. der Code. Konkret geht es also darum, eine Nachricht so zu verschlüsseln (oder einfach darzustellen), dass sie eindeutig entschlüsselt werden kann. Eine Codierung ist damit eine injektive Abbildung von der Menge der Nachrichten in die Menge möglicher Codewörter (und bei den genannten {0, 1}-Signalen sind die Nachrichten auch schon {0, 1}-Wörter).
4.2
206
4. Codierung von Nachrichten
Allgemeiner beschreibt diesen Sachverhalt die folgende Definition. 4.2.1
Definition 4.2.1 Sei A ein Alphabet und
Am = {(a1 , . . . , am )|ai ∈ A; i = 1, . . . , m} eine Menge von Nachrichten. Sei c : Am −→ An mit An = {(a1 , . . . , an )|ai ∈ A; i = 1, . . . , n} eine injektive Abbildung. Dann nennen wir C = c(Am ) ⊆ An Code und die injektive Abbildung c Codierung. Das Bild einer Nachricht unter c heißt Codewort. 4.2.2
Beispiele 4.2.2 (a) So machen es manchmal Kinder: Sei A = {a, b, c, . . . , x, y, z} die Menge der 26 Buchstaben des „normalen“Alphabets. Sei γ die Abbildung, die jeden Buchstaben dieses Alphabets bis auf z auf den folgenden und z auf a abbildet. Fasst man jeden einzelnen Buchstaben als Nachricht auf, dann ist auch der Code C das ganze Alphabet und γ ist eine Codierung.
(b) In der Regel ist A = {0, 1} das im Zusammenhang mit Codierungen verwendete (sehr überschaubare) Alphabet. Mit Hilfe dieser beiden Werte kann man beispielsweise jeden Buchstaben aus dem regulären lateinischen Alphabet über ASCII, den American Standard Code for Information Interchange, als Folge von sieben Zeichen aus A, also als Wort der Länge 7 schreiben (allerdings ohne die meisten Sonderzeichen). Wie gesagt, Fehler sind bei einer Übertragung von Daten niemals auszuschließen. Es gilt also, sie in den Griff zu bekommen. Dazu müssen wir sie in irgendeiner Form „messbar“ machen. Einen Ansatz dafür bietet die folgende Definition 4.2.3 des Hammingabstands1 . Sie legt fest, wie man Abweichungen zwischen Wörtern quantifizieren kann. Eigentlich ist alles ganz einfach, denn man betrachtet nur die Anzahl unterschiedlicher Buchstaben und achtet dabei auf die Reihenfolge. 1
Richard W. Hamming, *11.2.1915 Chicago, †7.1.1998 Monterey. Während des 2. Weltkriegs war Hamming Professor an der Universität von Louisville, ab 1945 arbeitete er am Manhattan-Projekt in Los Alamos mit. Hier beschäftigte er sich mit der Programmierung der ersten digitalen Computer. Zwischen 1946 und 1976 arbeitete er zusammen mit Claude Shannon für Bell Labs. Danach war er bis 1997 außerordentlicher Professor an der Naval Postgraduate School. Neben der Codierungstheorie beschäftigte sich Hamming mit der numerischen Lösung von gewöhnlichen Differentialgleichungen.
4.2
Fehlererkennung und Fehlerkorrektur
207
Es ist plausibel, dass den Begiffen Haus und Maus der Unterschied 1, den Begriffen Hans und Maus der Unterschied 2 und den Begriffen Hans und Hase ebenfalls der Unterschied 2 zugewiesen wird, oder? Definition 4.2.3 Seien a = (a1 , . . . , an ) ∈ An und b = (b1 , . . . , bn ) ∈ An zwei
4.2.3
gleich lange Wörter in einem Alphabet. Der Hammingabstand zwischen a und b ist definiert durch d(a, b) = |{i|ai = bi , i = 1, 2, . . . , n}|. Würde man die Wörter als Vektoren ansehen, dann könnte man den Hammingabstand als ein Maß für den Abstand der beiden Vektoren nehmen. Er ist also nichts anderes als die Anzahl der voneinander verschiedenen Koordinaten. Beispiele 4.2.4 (a) Ist a = (1, 0, 2, 1) und b = (1, 1, 3, 1), dann ist d(a, b) = 2.
4.2.4
(b) Ist a ein Codewort und b die empfangene Nachricht, so ist d(a, b) die Anzahl der Fehler. Gerade das zweite Beispiel zeigt einen Aspekt, der die Bedeutung des Hammingabstands ausmacht. Ansonsten verhält er sich wie ein „richtiger“ Abstand, also so, wie man es bei diesem Namen erwarten würde. Es gilt offensichtlich das folgende Lemma. Lemma 4.2.5 Seien a, b und c gleich lange Wörter in einem Alphabet. Der Hammingabstand d sei wie in Definition 4.2.3 gegeben. (a) Es ist d(a, b) = 0 genau dann, wenn a = b ist. (b) Es ist d(a, b) = d(b, a). (c) Es ist d(a, b) + d(b, c) ≥ d(a, c) (Dreiecksungleichung). Beweis 4.2.5 Es folgen (a) und (b) direkt aus der Definition. Wir wollen (c)
beweisen. Dazu muss man sich nur klar machen, was der Hammingabstand bedeutet: Er ist die kleinste Anzahl von Koordinatenänderungen, die notwendig sind, um a nach c zu überführen. Es ist einsichtig, dass diese Zahl höchstens so groß ist, wie man Schritte benötigt, um erst a nach b und dann b nach c zu überführen.
4.2.5
208
4. Codierung von Nachrichten
Mit Hilfe des neuen Begriffs wollen wir nun auf die Idee der Decodierung eingehen und uns dabei vor allem darüber Gedanken machen, was passiert, wenn Fehler auftreten. Sei also a ein gesendetes Codewort und b das empfangene Wort. Falls b nicht die Bedingungen an ein Codewort erfüllt, so ist offensichtlich mindestens ein Fehler vorgekommen. Wir können nun wie folgt decodieren: Wir suchen ein gültiges Codewort a ˜ mit einem möglichst kleinen Hammingabstand zum nicht korrekten Wort b. Dieser Hammingabstand sei t, sodass sich a ˜ und b an t Stellen unterscheiden. Wir decodieren nun das Wort a zu a ˜ und nehmen an, dass t Fehler bei der Übertragung aufgetreten sind. Die Hoffnung ist, dass a ˜=a ist (und natürlich kann man hier keine Sicherheit haben). Hinter dieser Decodierung steckt eine Philosophie, die in der Praxis realistisch ist, nämlich die, dass wenige Fehler wahrscheinlicher als viele Fehler sind. Fraglos hat dieses Verfahren in seiner Allgemeinheit einen wesentlichen Nachteil. Gibt es nämlich mehrere Codewörter im Abstand t von b, so ist nicht mehr klar, welches zu wählen ist. Diese Situation sollte man vermeiden und wie das geht, werden wir gleich sehen. Nützlich ist dabei der Begriff der Kugel, der in Definition 4.2.6 festgelegt wird. Wir verwenden hier und im restlichen Kapitel im Wesentlichen die Bezeichnungen wie in Definition 4.2.1. 4.2.6
Definition 4.2.6 Sei t ∈ N und C ⊆ An ein Code. Für jedes a ∈ C sei
S(a, t) = {x|x ∈ An , d(x, a) ≤ t}. Wir nennen S(a, t) Kugel um a mit Radius t. Konkret geben wir nun ein t ∈ N vor und nehmen an, dass bei der Codierung nicht mehr als t Fehler passiert sind. Wir versuchen dann, einen Code zu finden, mit dem t Fehler im eben beschriebenen Sinne erkannt werden und korrigierbar sind. 4.2.7
Definition 4.2.7
Sei t ∈ N und C ⊆ An ein Code. Ist S(a, t) ∩ C = {a} für alle a ∈ C,
so nennen wir C t-fehlererkennend. Wir nennen C t−fehlerkorrigierend, falls es für jedes y ∈ An höchstens ein c ∈ C mit d(y, c) ≤ t gibt.
4.2
Fehlererkennung und Fehlerkorrektur
209
Wir wollen uns diese für das Gebiet zentrale Definition noch einmal verdeutlichen. Sei a das gesendete und b das empfangene Wort. Wir wollen weiter annehmen, dass höchstens t Fehler bei der Übertragung aufgetreten sind. Ist b = a, so ist immerhin b ∈ S(a, t). Ist S(a, t) ∩ C = {a}, so sehen wir, dass b kein Codewort ist, können also erkennen, dass Fehler vorliegen. Nun liegen alle möglichen Codewörter, die gesendet worden sein können, in S(b, t). Ist also S(b, t) ∩ C = {a}, so können wir die Fehler korrigieren, d. h. wir stellen fest, dass a gesendet wurde. Ganz offensichtlich ist damit ein Code C t-fehlerkorrigierend, wenn es in einer passenden Umgebung nur ein einziges gültiges Codewort gibt. Drückt man diesen Sachverhalt mit Hilfe von Kugeln aus, dann ergibt sich der folgende kleine Satz. Satz 4.2.8 Der Code C ist t-fehlerkorrigierend, falls für alle a, b ∈ C mit a = b
die Beziehung S(a, t) ∩ S(b, t) = ∅ gilt. Das Problem ist nun, bei gegebenem n einen Code C ⊆ An zu finden so, dass (a) C möglichst groß ist und ebenfalls (b) min{d(a, b) | a, b ∈ C, a = b} möglichst groß ist. Die erste Bedingung besagt eigentlich nur, dass wir möglichst viele Nachrichten übertragen möchten, während die zweite beinhaltet, dass wir möglichst viele Fehler korrigieren können. Ist C = An , so können wir zwar maximal viele Nachrichten übertragen, aber keinen einzigen Fehler korrigieren. Wenn wir also viele Nachrichten übertragen wollen, so können wir wenig Fehler korrigieren. Die beiden Anforderungen (a) und (b) widersprechen sich somit, was man in der Mathematik ja nicht so gerne hat. Es gilt also, die richtige Balance zu finden (und manche sehen darin den eigentlichen Reiz der Codierungstheorie). Der Hammingabstand ist ganz wesentlich in diesem Zusammenhang, was Ihnen sicherlich schon aufgefallen ist. Wir wollen deshalb auch dem entsprechenden Minimum (man vergleiche die zweite eben genannte Bedingung) einen Namen geben.
4.2.8
210
4.2.9
4. Codierung von Nachrichten
Definition 4.2.9 Sei d ∈ N gegeben. Wir setzen
d(C) = min{d(a, b) | a, b ∈ C, a = b}. Ist C ⊆ An ein Code mit d(C) ≥ d, dann nennen wir C einen n-Code der Distanz d. Der hier definierte Abstand ist nun zentral für den folgenden Satz, der einen Bezug zur Fehlerkorrektur herstellt. 4.2.10
Satz 4.2.10 Sei C ein Code mit Distanz d. Sei weiter d ≥ 2t + 1 für t ∈ N. Dann kann C mindestens t Fehler korrigieren. Beweis 4.2.10 Seien x, y ∈ C mit x = y. Es ist dann d(x, y) ≥ d(C) ≥ d. Somit
ist S(x, t) ∩ S(y, t) = ∅ . Das ist die Aussage von Satz 4.2.8 und C ist damit t-fehlerkorrigierend. Die Schranke in Satz 4.2.10 ist übrigens scharf und das heißt, dass es mit einem kleineren Wert nicht funktioniert. Ist nämlich t ∈ N mit d(C) ≤ 2t, so wählen wir x, y ∈ C mit d(x, y) = d(C). Dann gibt es ein ω ∈ S(x, t) ∩ S(y, t) = ∅ . Aber ω hat t Fehler, sowohl zu x als auch zu y. Somit kann C nicht t Fehler korrigieren. Wollen wir also feststellen, wie viele Fehler ein Code C korrigieren kann, so müssen wir d(C) bestimmen. 4.2.11
Beispiel 4.2.11 Wir greifen nun das Beispiel (b) auf Seite 205 auf und bestim-
men in diesem Fall d(C). Dazu stellen wir zwei Überlegungen an. Zunächst gilt offenbar, dass mit den Codewörtern a = (a1 , a2 , a3 , a4 , a5 , a6 , a7 ) und b = (b1 , b2 , b3 , b4 , b5 , b6 , b7 ) auch ihre Differenz a − b = (a1 − b1 , a2 − b2 , a3 − b3 , a4 − b4 , a5 − b5 , a6 − b6 , a7 − b7 ) ein Codewort ist, da die Wörter alle Lösungen eines linearen Gleichungssystem sind.
4.2
Fehlererkennung und Fehlerkorrektur
211
Außerdem sieht man unmittelbar, dass d(a, b) = d(a − b, 0) gilt. Wenn sich nämlich ai und bi (natürlich für ein geeignetes i) unterscheiden, so ist ihre Differenz 1, wenn sie sich nicht unterscheiden, dann ist ihre Differenz 0. Also rechnet man ganz einfach d(C) = min d(a, 0) mit a ∈ C und a = 0. Man kann d(C) nun relativ leicht nach oben abschätzen. Es ist nämlich (1, 1, 0, 0, 1, 0, 0) ∈ C, da dieses Wort die Gleichungen auf Seite 205 erfüllt, und damit ist auf jeden Fall d(C) ≤ 3. Wir werden nun zeigen, dass sogar d(C) = 3 gilt. Dazu wählen wir ein Codewort (a1 , a2 , a3 , a4 , a5 , a6 , a7 ) ∈ C so, dass für i = 1, 2, 3, 4 mindestens ein ai von 0 verschieden ist (ansonsten wäre ai = 0 für i = 1, 2, . . . , 7). Wir versuchen nun, an möglichst vielen, aber nicht allen Stellen den Wert 0 zu bekommen. Seien also a5 = a1 +a3 +a4 = 0, a6 = a1 +a2 +a4 = 0 und a7 = a1 +a2 +a3 = 0. Wir rechnen modulo 2 und damit folgt a2 + a3 = a2 + a4 = a3 + a4 = 0 sowie a1 = 0. Wenn also ai = 0 für ein i ∈ {2, 3, 4} ist, dann gilt sogar ai = 0 für alle diese i. Da das nicht sein darf, sind in diesem Fall a2 , a3 und a4 von 0 verschieden. Ist andererseits mindestens ein ai = 0 für i = 5, 6, 7, dann ist auch mindestens ein ai = 0 für i = 1, 2, 3, 4. Wenn es mehr als ein Element ist, dann sind wir fertig. Wenn es genau ein Element ist, dann sind sogar mindestens zwei Elemente ai für i = 5, 6, 7 von 0 verschieden, denn in der Beschreibung von a5 , a6 , a7 kommt jedes ai für i = 1, 2, 3, 4 mindestens zweimal vor. Also ist d(C) = 3. Nach Satz 4.1.2 kann der Code im Beispiel (b) auf Seite 205 also (mindestens) einen Fehler korrigieren. Bei der Berechnung von d(C) in diesem Beispiel haben wir ausgenutzt, dass wir Codewörter addieren können. Insbesondere hat C eine über die schlichte Menge hinausgehende Struktur. Diese Idee ist Grundlage der folgenden Definition. Definition 4.2.12 Sei K ein endlicher Körper. Ein Code C ⊆ K n heißt linearer
Code der Länge n, falls (a) a + b ∈ C für alle a, b ∈ C und (b) λa ∈ C für alle a ∈ C und λ ∈ K ist.
4.2.12
212
4. Codierung von Nachrichten
Genau wie wir in Satz 2.2.11 gezeigt haben, dass jeder endliche Körper Primzahlpotenzordnung hat, kann man auch zeigen, dass für einen linearen Code C die Anzahl |C| seiner Elemente eine Potenz von |K| ist. 4.2.13
Satz 4.2.13 Sei K ein endlicher Körper und C ⊆ K n ein linearer Code der
Länge n. Dann gilt |C| = |K|k für ein geeignetes k.
Beweisidee 4.2.13 Die Idee für diesen Beweis beinhaltet eine typische mathe-
matische Arbeitsmethode: Es ist alles eine Frage der Betrachtungsweise. Aus Definition 4.2.12 kann man nämlich ableiten, dass C alle Axiome eines Vektorraums über K erfüllt. Außerdem spielt sich alles in einem endlichen Bereich ab, woraus man die Behauptung folgern kann. Beweis 4.2.13 Definition 4.2.12 besagt, dass C ein K-Vektorraum ist. Also hat
C eine Dimension k und es ist |C| = |K|k für dieses k. Mit den Bezeichnungen aus Satz 4.2.13 nennen wir k die Dimension des linearen Codes C und C einen (n, k)-Code. Damit ist unser Code aus Beispiel (b) auf Seite 205 ein (7, 4)-Code. Im Sinne der Linearen Algebra ist ein linearer (n, k)-Code ein k-dimensionaler Unterraum des K n . Lineare Codes erleichtern in mancher Hinsicht die Arbeit. Insbesondere kann man für einen linearen Code C die Distanz d(C) einfacher fassen, was wir im Beispiel auf Seite 210 bereits ausgenutzt haben. Wir sehen es in Satz 4.2.15, den wir durch eine Definition vorbereiten. 4.2.14
Definition 4.2.14 Sei C ein linearer Code. Dann nennen wir w(a) = |{i|ai = 0}| für a ∈ C das Gewicht von a.
Unter Verwendung dieses neuen Begriffs kann man nun den folgenden Satz formulieren. Er besagt, dass wir im Grunde nur Gewichte bestimmen müssen, wenn wir es mit linearen Codes zu tun haben. 4.2.15
Satz 4.2.15 Seien C ein (n, k)-Code und a, b ∈ C. Dann ist d(a, b) = w(b − a).
Außerdem ist d(C) = min{w(c) | c ∈ C, c = 0}.
4.2
Fehlererkennung und Fehlerkorrektur
213
Beweis 4.2.15 Da ai = bi genau dann gilt, wenn ai − bi = 0 ist, folgt die erste Behauptung. Damit bekommt man dann aber auch
d(C) = min{d(a, b) | a, b ∈ C, a = b} = min{w(c) | c ∈ C, c = 0}. Die Parameter n, k und d eines linearen Codes sind allerdings nicht voneinander unabhängig, wie wir gleich sehen werden. Wir betrachten zunächst ein Beispiel. Beispiel 4.2.16 In einer Firma sollen die Angestellten Identitätsnummern erhalten und zwar in der Form von binären Worten. Dies soll mit einem linearen Code bewerkstelligt werden. Die Firma hat 53 Angestellte. Also ist 6 die kleinste benötigte Dimension, denn es ist 25 < 53 < 26 . Soll nun der Code auch noch einen einzelnen Fehler korrigieren können, so suchen wir dafür die kleinste Codewortlänge. Jedes Codewort c bestimmt eine Kugel S(c, 1) vom Radius 1. In dieser Kugel liegen genau 1+n binäre Worte der Länge n (man bedenke, dass jeweils genau ein Zeichen von c geändert wird). Die Kugeln müssen paarweise disjunkt sein. Also erhalten wir so genau
4.2.16
26 · (1 + n) binäre Worte der Länge n. Es gibt aber nur 2n solche Worte. Das liefert 26 · (1 + n) ≤ 2n und damit eine Ungleichung, die für alle n ≥ 10 erfüllt ist. Die kleinste Lösung ist n = 10 und das wäre auch die minimale Codewortlänge. Die eben festgestellten Bedingungen sind allerdings nach dem, was wir bisher wissen, nur als notwendig einzustufen. Ob es wirklich einen (10,6)-Code gibt, der einen Fehler korrigieren kann, können wir im Moment noch nicht beantworten. Die grundlegende Aussage des Beispiels können wir allerdings verallgemeinern. Das Ergebnis ist der folgende Satz. Satz 4.2.17 (Kugelpackungsschranke) Sei K ein endlicher Körper mit |K| = q und C ein (n, k)-Code über K. Ist C t-fehlerkorrigierend, so gilt
qn . n i i=0 i (q − 1)
q k ≤ t
4.2.17
214
4. Codierung von Nachrichten
Beweisidee 4.2.17 Man wählt ein x ∈ C und bestimmt zunächst |S(x, t)|. Kombinatorische Überlegungen zeigen, dass dieser Wert gerade die Summe im Nenner des Bruches auf der rechten Seite der Abschätzung ist. Da C ein tfehlerkorrigierender Code ist, haben Kugeln mit Radius t um unterschiedliche x ∈ C jeweils einen leeren Durchschnitt. Bildet man also ihre Summe, dann bekommt man das q k -fache des genannten Werts („Summe im Nenner“). Man muss dann nur noch umformen und erhält das Ergebnis. Beweis 4.2.17 Sei x ∈ C. Wir müssen zunächst |S(x, t)| berechnen. Sei also
y ∈ K n mit d(x, y) = r ≤ t. Dann gibt es eine r-Menge von Indizes i1 , . . . , ir so, dass xij = yij für alle j = 1, . . . , r ist. Für jedes yij gibt es q − 1 Möglichkeiten. Also gibt es für eine feste r-Menge r zu x haben. Nun gibt es nr solche (q − 1)r solche y ∈ K n , die Abstand n r-Mengen. Also gibt es genau r (q − 1)r Elemente y ∈ K n , die den Abstand r zu x haben. Damit bekommen wir das Ergebnis t n (q − 1)i . |S(x, t)| = i i=0 Seien nun x1 , x2 ∈ C. Dann ist S(x1 , t) ∩ S(x2 , t) = ∅. Also ist t n k (q − 1)i . S(x, t)| = |S(x, t)| = q | i i=0
Da |
x∈C
x∈C
S(x, t)| ≤ |K| = q ist, folgt die Ungleichung. n
n
x∈C
Wird in Satz 4.2.17 die Ungleichung zu einer Gleichung, ist also S(x, t), Kn = x∈C
so nennen wir C t-perfekt. Diese Codes haben den Vorteil, dass C maximal ist, sie können somit bei gegebener Codewortlänge und Distanz maximal viele Informationen übertragen. Doch perfekte Codes sind sehr selten. 4.2.18
Beispiele 4.2.18 (a) Sei C noch einmal der Code aus Beispiel (b) auf Seite 205.
Es ist 24 = Also ist C 1-perfekt.
27 27 = 7 7 . 3 2 0 + 1
4.2
Fehlererkennung und Fehlerkorrektur
215
(b) Sei q = 2, K = {0, 1}, n = 2t + 1 und C = {(0, . . . , 0), (1, . . . , 1)} (Wie
derholungscode). Offenbar ist C t-fehlerkorrigierend. Wir bestimmen
n
n
t n . i i=0
Diese Summe zählt alle Teilmengen der n-Menge mit höchstens t = n−1 2 Elementen. Für jede Teilmenge der n-Menge gilt aber, dass sie entweder selbst n−1 höchstens n−1 2 Elemente hat oder aber ihr Komplement höchstens 2 Elemente hat. Da n ungerade ist, kann nicht beides gleichzeitig vorkommen. Also ist die Anzahl der Teilmengen mit höchstens t Elementen genau die Hälfte aller Teilmengen, also 2n−1 . Damit ist |C| = 2 = t
2n
i=0
n . i
Also ist C t-perfekt. Dieses Beispiel zeigt auch, dass die Forderung, t-perfekt zu sein, so ganz allein noch keinen guten Code garantieren kann. Bis auf wenige Ausnahmen sind die Wiederholungscodes die einzigen t-perfekten Codes. So gibt es z.B. über K = {0, 1} außer diesen Codes keine weiteren 2-perfekten Codes. (c) Sei n = 17 und k = 10. Gibt es einen 2-fehlerkorrigierenden Code über K = {0, 1}? Nach Satz 4.2.17 müsste gelten: 7
17−10
128 = 2 = 2
17 17 = 1 + 17 + 136 = 154. + ≥1+ 2 1
Das ist offensichtlich nicht so, also gibt es einen solchen Code nicht. Die Ungleichung in Satz 4.2.17 kann also benutzt werden, um zu zeigen, dass es für gewisse Parameterkombinationen keinen linearen Code gibt. Für praktische Zwecke benötigen wir allerdings Codes. Wir können uns nicht mit Nichtexistenzresultaten begnügen. Deshalb wollen wir uns nun der Frage ihrer Konstruktion zuwenden.
216
4.2.19
4. Codierung von Nachrichten
Beispiel 4.2.19 Seien C1 und C2 zwei lineare Codes über K = {0, 1} der Länge
n. Sei |C1 | = m1 , |C2 | = m2 sowie d(C1 ) = d1 und d(C2 ) = d2 . Wir definieren einen neuen Code C3 = C1 ∗ C2 durch C3 = {(u, u + v) | u ∈ C1 , v ∈ C2 }. Sei etwa C1 = {(0, 0), (1, 0), (0, 1), (1, 1)} und C2 = {(0, 0), (1, 1)}. Beides sind Codes der Länge 2, wobei der zweite Code der Wiederholungscode ist, während der erste Code aus allen möglichen 2-Wörtern besteht. Es ist C3 = {(0, 0, 0, 0), (0, 0, 1, 1), (1, 0, 1, 0), (1, 0, 0, 1), (0, 1, 0, 1), (0, 1, 1, 0), (1, 1, 1, 1), (1, 1, 0, 0)}. Offenbar ist C3 mit der getroffenen Festlegung stets ein Code der Länge 2n und |C3 | = m1 m2 . Es ist aufgrund seiner Konstruktion klar, dass der Code C3 linear ist.
Wir wollen d(C3 ) bestimmen. Ist u = 0 und v ∈ C2 mit v = 0, so ist (0, v) ∈ C3 . Es ist min{w((0, v)) | v ∈ C2 , v = 0} = d2 . Also ist d(C3 ) ≤ d2 . Ist umgekehrt v = 0 und u ∈ C1 mit u = 0, so ist (u, u) ∈ C3 . Es ist min{w((u, u)) | u ∈ C1 , u = 0} = 2d1 . Also ist d(C3 ) ≤ 2d1 . Man bekommt somit d(C3 ) ≤ min(2d1 , d2 ). Sei nun c = (u, u + v) ∈ C3 . Wir wollen u = 0 und v = 0 annehmen. Also ist w(u) ≥ d1 . Es hat u + v mindestens d2 − d1 (falls d2 ≥ d1 ) bzw. d1 − d2 (falls d1 ≥ d2 ) von 0 verschiedene Einträge. Also ist w(c) = w(u) + w(u + v) ≥ d1 + (d2 − d1 ) = d2 bzw. d1 + d1 − d2 ≥ d2 . Somit ist w(c) ≥ min(2d1 , d2 ). Das liefert nun d(C3 ) = min(2d1 , d2 ). Die Idee bei der Konstruktion von C3 ist jetzt, für C2 einen Code mit möglichst großem d2 zu wählen, also beispielsweise den Wiederholungscode. Dann kann man einen Code C1 , der vielleicht ein kleines d1 hat, zu einem Code verbessern, der als Distanz 2d1 hat und somit viele Fehler korrigieren kann.
4.2
Fehlererkennung und Fehlerkorrektur
217
Wir werden diese Idee verdeutlichen. Zu jedem m ∈ N und r ∈ N0 mit 0 ≤ r ≤ m definieren wir einen Code C(r, m) über K der Länge 2m rekursiv. Es sei C(0, m) der Wiederholungscode der Länge 2m . Es sei C(m, m) die Menge aller {0, 1}-Wörter der Länge 2m . Wir setzen C(r + 1, m + 1) = C(r + 1, m) ∗ C(r, m). Im obigen Beispiel ist C1 = C(1, 1), C2 = C(0, 1) und C3 = C(1, 2). Die Codes C(r, m) heißen Reed-Muller-Codes2 . Zum Beispiel wurde der Code C(1, 5) von der NASA 1972 bei der Mariner-Expedition zum Mars verwendet, um eine gute Bildübertragung zu gewährleisten. Es ist C(1,5) ein Code der Länge 32 mit |C(1, 5)| = 64. Weiter ist d(C(1, 2)) = 2. Da stets d(C(0, m)) = 2m ist, folgt d(C(1, 3)) = d(C(1, 2) ∗ C(0, 2)) = 4. Das ergibt dann d(C(1, 5)) = 16. Also ist C(1, 5) nach Satz 4.2.10 ein 7-fehlerkorrigierender Code. Wir wollen nun systematisch untersuchen, wann es einen (n, k)-Code C der Distanz d(C) über einem Körper K gibt und wie man ihn finden kann. Satz 4.2.20 Sei n ≥ k. Dann sind die folgenden Aussagen gleichwertig: (a) Es gibt einen (n, k)-Code über K mit d(C) ≥ d. (b) Es gibt u1 , . . . , un ∈ K n−k so, dass für je d − 1 Elemente ui1 . . . , uid−1 aus den Elementen u1 , . . . , un die Gleichung
λi1 ui1 + . . . + λid−1 uid−1 = 0 mit λij ∈ K nur die Lösung λi1 = . . . = λid−1 = 0 hat. Beweisidee 4.2.20 In der Sprache der Vektorräume besagt dieser Satz, dass es
genau dann einen (n, k)-Code über K mit d(C) ≥ d gibt, falls es n Vektoren in K n−k gibt, von denen je d−1 linear unabhängig sind. Diese Betrachtungweise verwendet man im Beweis. Man kann drei Schritte unterscheiden: Im ersten Schritt wird aus dem Code C der so genannte duale Code C ⊥ gebildet. Man zeigt dann, dass die doppelte Dualisierung wieder C ergibt, also C = (C ⊥ )⊥ gilt. Nun kann man 2
Sie sind nach den amerikanischen Mathematikern Irving Stoy Reed, *1923 in Seattle, Washington und D. E. Muller benannt.
4.2.20
218
4. Codierung von Nachrichten
dies nutzen, um konstruktiv zu zeigen, ob ein c ∈ K n in C liegt oder aber nicht. Wendet man Bedingung (a) an, dann folgt daraus (b) und das ist der zweite Schritt. Die Umkehrung folgt schließlich im dritten Schritt mit der Umkehrung der konkreten Konstruktion. Wir machen zunächst eine Vorbetrachtung. Diese zeigt, wie man aus einem gegebenen linearen Code C einen neuen Code C ⊥ , den so genannten dualen Code, konstruieren kann.
Beweis 4.2.20
Sei C ein (n, k)-Code. Wir setzen C ⊥ = {x = (x1 , . . . , xn )|x ∈ K n mit c1 x1 + · · · + cn xn = 0 für alle (c1 , . . . , cn ) ∈ C}. Sind x, y ∈ C ⊥ , so ist offenbar auch x + y ∈ C ⊥ . Ist c ∈ C ⊥ und λ ∈ K, so ist damit λx ∈ C ⊥ . Also ist C ⊥ ein linearer Code und es gibt ein f so, dass C ⊥ ein (n, f )-Code ist. Ein Satz der Linearen Algebra [13, Satz 20.10] besagt, dass f = n − k ist. Damit ist C ⊥ ein (n, n − k) − Code. Wir können dieses Verfahren auch auf C ⊥ anwenden, wodurch man einen Code (C ⊥ )⊥ bekommt. Wir zeigen, dass C = (C ⊥ )⊥ ist. Es ist offensichtlich C ⊆ (C ⊥ )⊥ . Da (C ⊥ )⊥ ein (n, n − f ) = (n, k)-Code ist, gilt aber auch |(C ⊥ )⊥ | = |K|k = |C|. Also muss C = (C ⊥ )⊥ sein. Da C ⊥ ein Vektorraum ist, wissen wir, dass es y1 , . . . , yf ∈ K n gibt so, dass C ⊥ = {a1 y1 + . . . + af yf |ai ∈ K} ist, eben die Elemente einer Basis von C ⊥ . Die yi sind n-Tupel, also von der Form yi = (yi1 , . . . , yin ), i = 1, . . . , f. Wir bilden nun uj = (y1j , . . . , yfj ) ∈ K f , j = 1, . . . , n. Wenn man die yi als Zeilen einer n × f -Matrix schreibt, so sind die uj ihre Spalten.
4.2
Fehlererkennung und Fehlerkorrektur
219
Ist also C ein (n, k)-Code über K, so können wir von diesem Code ausgehend gewisse uj ∈ K f (j = 1, . . . , n), konstruieren. Wir wollen zeigen, dass diese uj dazu geeignet sind, zu testen, ob ein c ∈ K n in C liegt oder nicht. Sei dazu c = (c1 , . . . , cn ) ∈ K n . Es ist c1 u1 + . . . + cn un = (c1 y11 , . . . , c1 yf1 ) + (c2 y12 , . . . , c2 yf2 ) + . . . + (cn y1n , . . . , cn yfn ) = (c1 y11 + c2 y12 + · · · + cn y1n , c1 y21 + c2 y22 + . . . + cn y2n , . . . , c1 yf1 + . . . + cn yfn ). Sei nun c ∈ C. Da die yi ∈ C ⊥ sind, folgt c1 yi1 + c2 yi2 + . . . + cn yin = 0 (i = 1, . . . , f ). Also ist c1 u1 + . . . + cn un = (0, 0, . . . , 0). Sei umgekehrt c1 u1 + . . . + cn un = (0, 0, . . . , 0). Dann ist c1 yi1 + c2 yi2 + . . . + cn yin = 0 (i = 1, . . . , f ). Damit ist c ∈ (C ⊥ )⊥ = C und somit gilt, dass c1 u1 + . . . + cn un = (0, 0, . . . , 0) genau für c ∈ C ist. Wir können mit den uj ∈ K f also testen, ob ein c ∈ K n in C liegt oder nicht. Sei nun w(c) ≥ d für alle c ∈ C mit c = o. Es kann c1 u1 + · · · + cn un = (0, 0 . . . , 0) nur erfüllt werden, wenn alle ci = 0 sind oder wenn mindestens d der ci von 0 verschieden sind. Somit haben wir gezeigt, dass (a) die Aussage (b) impliziert. Wenn umgekehrt (b) erfüllt ist, dann kehren wir den gesamten Konstruktionsprozess um. Wir schreiben die gegebenen uj als Spalten einer n×f -Matrix, mit f = n − k. Dann nennen wir die Zeilen yi . Wir betrachten den linearen Code D = {a1 y1 + . . . + af yf |a1 , . . . , af ∈ K}.
220
4. Codierung von Nachrichten
Wir setzen C1 = D⊥ . Damit ist C1 ein linearer Code. Hat D die Dimension r, so hat C1 die Dimension n − r. Es ist r ≤ f = n − k. Also ist n − r ≥ n − (n − k) = k. Sei C1 = {a1 v1 + . . . + an−r vn−r | a1 , . . . , an−r ∈ K}. Dann bilden die {v1 , . . . , vn−r } eine Basis von C1 . Da n − r ≥ k ist, ist dann C = {a1 v1 + . . . + ak vk | a1 , . . . , ak ∈ K} ⊆ C1 ein (n, k)-Code. Sei nun 0 = c = (c1 , . . . , cn ) ∈ C. Da C ⊥ ≥ C1⊥ = (D⊥ )⊥ = D ist, muss c ∈ D⊥ sein. Also ist c1 yi1 + . . . + cn yin = 0, für alle i = 1, . . . f. Das liefert c1 u1 + . . . + cn un = 0. Da c = 0 ist, müssen nach Annahme in (b) mindestens d der ci von 0 verschieden sein. Somit ist w(c) ≥ d. Der Beweis von Satz 4.2.20 ist konstruktiv, denn wir zeigen nicht nur die Wahrheit der Behauptung, sondern geben die jeweiligen Elemente konkret an. Wir finden zunächst n Vektoren in K n−k für die die Bedingung (b) gilt. Diese schreiben wir in eine Matrix, die wir Paritätsmatrix nennen. Wir wählen beispielsweise für n = 7, k = 4: ⎛
⎞ 1011100 H = ⎝1 1 0 1 0 1 0⎠. 1110001 Sei H = (hij )
i=1,...,n
eine solche Matrix. Dann ist genau die Menge aller
j=1,...,n−k
(c1 , . . . , cn ) mit n i=1
zu bestimmen.
hij ci = 0, j = 1, . . . , n − k
4.2
Fehlererkennung und Fehlerkorrektur
221
Wir müssen also ein lineares Gleichungssystem lösen und das sieht im Beispiel so aus: c1 + c3 + c4 + c5 = 0 c1 + c2 + c4 + c6 = 0 c1 + c2 + c3 + c7 = 0 . Mit der Umbenennung c1 = a1 , c2 = a2 , c3 = a3 , c4 = a4 erhalten wir genau den Code aus Beispiel (b) auf Seite 205. Sei ⎛ ⎞ 1 1 0 0 ... 0 ⎜1 0 1 0 ... ⎟ ⎜ ⎟ ⎜ ⎟ ⎜1 0 0 1 0 ...⎟ ⎜ ⎟. H =⎜. ⎟ ⎜ .. ⎟ ⎜ ⎟ ⎝1 ⎠ 1 0 0 0 ... 1 Damit folgt c1 = a1 = c2 . . . = cn und das ist der (n, 1)-Wiederholungscode. Wir können nun auch das Existenzproblem des (10,6)-Codes im Beispiel auf Seite 213 lösen. Wir müssen dazu in K 4 genau zehn Elemente ui = 0 so finden, dass keine zwei die Summe 0 haben. Dies bedeutet einfach, dass wir zehn verschiedene Elemente in K 4 \ {0} finden müssen. Es gibt fünfzehn solche Elemente. Also gibt es einen 1-fehlerkorrigierenden (10,6)-Code über K = {0, 1}. Wenn wir ihn konkret angeben wollen, gehen wir folgendermaßen vor: Wir betrachten beispielsweise die Matrix ⎛
1 ⎜1 H=⎜ ⎝1 1
0 1 1 1
1 0 1 1
1 1 0 1
1 0 0 1
0 1 1 0
0 0 1 1
1 1 1 0
0 1 0 0
⎞ 1 0⎟ ⎟. 0⎠ 0
Der Code C besteht dann aus allen c = (c1 , . . . , c10 ) mit ci ∈ {0, 1}, die das folgende Gleichungssystem erfüllen: c1 c1 c1 c1
+ + + +
c3 c2 c2 c2
+ + + +
c4 c4 c3 c3
+ + + +
c5 c6 c6 c4
+ + + +
c8 c8 c7 c5
+ + + +
c10 c9 c8 c7
= = = =
0 0 0 0.
Somit besteht C aus allen c = (c1 , c2 , c3 , c4 , c5 , c6 , c1 + c2 + c3 + c4 + c5 , c4 + c5 + c6 , c1 + c2 + c5 , c1 + c3 + c6 ), mit c1 , . . . , c6 ∈ {0, 1} .
222
4.2.21
4. Codierung von Nachrichten
Beispiel 4.2.21 Sei |K| = q und n = k + r. In K r gibt es genau n =
q r −1 q−1
disjunkte Teilmengen Kv = {av|a ∈ K, a = 0}, v ∈ K r , v = 0. Wir wählen aus jedem Kv ein v. Seien v1 ∈ Kv1 und v2 ∈ Kv2 so gewählt, dass av1 + bv2 = 0 mit a = 0 gilt. Dann ist v1 = (−b)a−1 v2 ∈ Kv2 ∩ Kv1 = ∅. Das ist ein Widerspruch. Nach Satz 4.2.20 gibt es also einen (n, k)-Code C mit d ≥ 3. Die so gebildeten Codes nennt man Hammingcodes. Da |C| = q k =
qn = qr 1+
qn q r −1 q−1 (q
− 1)
gilt, ist der Hammingcode 1-perfekt. Das Beispiel (b) auf Seite 205 ist nichts anderes als der Spezialfall |K| = 2, n = 7 und r = 3.
4.3
4.3 Decodierung Wir wollen in diesem letzten Abschnitt des Kapitels auf die Decodierung eingehen. Es geht in der Codierungstheorie nämlich nicht nur darum, besonders geschickt zu codieren, damit Fehler korrigiert werden können, sondern man muss auch mit tragbarem Aufwand die Nachrichten wieder decodieren können. Dies ist eine zentrale Aufgabe der Codierungstheorie. Sei C ein 1-fehlerkorrigierender Code mit Paritätsmatrix H = (hij ) (man vergleiche Seite 220) und c ein Codewort. Es soll y = c + e empfangen worden sein, wobei höchstens ein Fehler vorgekommen ist. Wir setzen c = (c1 , . . . , cn ) und e = (e1 , . . . , en ), also (y1 , . . . , yn ) = y = c + e = (c1 + e1 , . . . , cn + en ) und berechnen
n
hij yi ,
j = 1, . . . , n − k.
i=1
Es ist n
da
n
i=1
i=1
hij yi =
n i=1
hij ci = 0 ist.
hij (ci + ei ) =
n i=1
hij ci +
n i=1
hij ei =
n i=1
hij ei ,
4.3
Decodierung
223
n Ist i=1 hij yi = 0, so ist y ∈ C und es ist kein Fehler aufgetreten. Sei nun genau ein Fehler aufgetreten. Dann ist ei = 0 für alle i bis auf eine Stelle s. Somit ist n hij ei = hsj es . i=1
Also erhalten wir mit n
hij yi ,
j = 1, . . . , n − k
i=1
genau die s-te Spalte der Matrix H, multipliziert mit dem Faktor es . Da nach Satz 4.2.20 keine Spalte der Matrix ein Vielfaches einer anderen Spalte ist, können wir sofort feststellen, wo korrigiert werden muss. Nehmen wir das Beispiel (b) auf Seite 205. Die Paritätsmatrix ist ⎛ ⎞ 1011100 H = ⎝1 1 0 1 0 1 0⎠. 1110001 Wir empfangen y = (1, 1, 0, 0, 0, 0, 0). Das Gleichungssystem liefert (1,0,0). Also tritt der Fehler an Stelle 5 auf. Somit ist c = (1, 1, 0, 0, 1, 0, 0). Prinzipiell ist diese Vorgehensweise auch bei mehr als einem Fehler machbar, doch wird das Decodieren dann in der Regel zu aufwendig. Deshalb sind für reale Anwendungen spezielle Codes, die so genannten zyklischen Codes, besonders wichtig. Mit diesen wollen wir uns ab jetzt beschäftigen. Ein zyklischer Code C ist ein linearer Code, bei dem mit c = (a0 , . . . , an−1 ) ∈ C stets auch cˆ = (an−1 , a0 , . . . , an−2 ) ∈ C ist. Definition 4.3.1
Die zyklischen Codes sind aus zwei Gründen von spezieller Bedeutung. Zum einen ist nämlich ihre Implementation besonders einfach („Schieberegister“), zum anderen kann man mit ihrer Hilfe sehr hoch fehlerkorrigierende Codes erzeugen. Die nun folgende Beschreibung ist fundamental für die Behandlung zyklischer Codes.
4.3.1
224
4. Codierung von Nachrichten
Sei K ein Körper mit |K| = q und a = (a0 . . . . , an−1 ) ∈ K n . Dann ordnen wir a ein Polynom n−1 ai xi ∈ K[x] a(x) = i=0
zu. Das Verschieben zu a ˆ entspricht der Operation a(x) → a ˆ(x) = xa(x) − an−1 (xn − 1). Also ist a ˆ(x) ≡ xa(x) (mod (xn − 1)). Dies bedeutet, dass modulo xn −1 die Verschiebung durch Multiplikation mit x realisiert wird. Sei nun V = K[x]/(xn − 1)K[x] die Menge der Reste modulo xn − 1 (man vergleiche Satz 2.3.24). Wie in den Beispielen auf Seite 91 entspricht die Menge V genau den Polynomen vom Grad höchstens n − 1. Damit liefert a(x) eine bijektive Zuordnung von C zu einer Teilmenge S ⊆ V . Also können wir C ⊆ V annehmen. Da C linear ist, kann man aus a, b ∈ C auch a + b ∈ C folgern. Wir wollen zeigen, dass sogar die folgende Aussage gilt: Ist r ∈ V und a ∈ C, so ist ra ∈ C. Hierbei werden wir davon profitieren, dass V ein Ring ist. s Es ist r = i=0 ri xi mit ri ∈ K. Weil mit a, b ∈ C auch a + b ∈ C ist, genügt es, ri xi a ∈ C zu zeigen. Da C zyklisch ist, ist xa ∈ C (die Verschiebung wurde ja gerade durch Multiplikation mit x realisiert), also auch xi a ∈ C. Da C linear ist, ist ri (xi a) ∈ C und wir sind fertig. Es gilt aber auch die Umkehrung. Ist C eine Teilmenge von V mit der Eigenschaft, dass mit a, b ∈ C und r ∈ V auch a + b ∈ C und ra ∈ C gilt, dann ist C ein zyklischer Code. Die Linearität folgt, weil mit a, b ∈ C auch a + b ∈ C ist. Außerdem ist nach Voraussetzung xa ∈ C für a ∈ C. Diese beiden Eigenschaften a + b ∈ C und ra ∈ C spielen in unterschiedlichen Kontexten der Mathematik so oder ganz ähnlich eine wichtige Rolle. Ganz wesentlich sind sie in Bezug auf Ringe (man vergleiche Definition 2.1.4). Die folgende Definition fasst diese Bedeutung in einen eigenen Begriff.
4.3
Decodierung
225
Definition 4.3.2 Sei R ein kommutativer Ring und S ⊆ R mit S = ∅. Gilt
4.3.2
(a) a + b ∈ S für alle a, b ∈ S und (b) ra ∈ S für alle r ∈ R und a ∈ S, dann heißt S Ideal in R. Die zyklischen Codes sind demnach gerade die Ideale in V . Ein sehr interessanter Aspekt ist nun, dass wir alle Ideale von V angeben können. Die folgenden Beispiele werden es verdeutlichen. Dabei sollen alle Ringe, die in diesen Beispielen auftreten, kommutativ sein. Beispiele 4.3.3 (a) In jedem Ring R sind R und {0} Ideale.
(b) Sei 5Z die Menge aller durch 5 teilbaren ganzen Zahlen. Dann ist 5Z ein Ideal im Ring Z der ganzen Zahlen. (c) Sei R ein Ring und U ein Ideal mit 1 ∈ U . Ist r ∈ R, so ist r · 1 ∈ U , also ist R ⊆ U . Da nun fraglos U ⊆ R gilt, muss U = R sein. (d) Sind U1 und U2 Ideale, so können wir eine Summe bilden: U1 + U2 = {u1 + u2 |u1 ∈ U1 , u2 ∈ U2 }. Es ist U1 + U2 wieder ein Ideal. Sind nämlich u1 , v1 ∈ U1 und u2 , v2 ∈ U2 , dann ist (u1 +u2 )+(v1 +v2 ) = (u1 +v1 )+(u2 +v2 ) ∈ U1 +U2 , weil u1 +v1 ∈ U1 und u2 + v2 ∈ U2 ist. Für r ∈ R ist r(u1 + u2 ) = ru1 + ru2 ∈ U1 + U2 , da ru1 ∈ U1 und ru2 ∈ U2 ist. Konkret sieht das so aus: Sei R = Z, U1 = 5Z und U2 = 7Z. Dann ist 5Z + 7Z = Z. Es sind nämlich 5 und 7 teilerfremd, sodass sich 1 aus 5 und 7 linear kombinieren lässt. Man rechnet 1 = 7 · 3 + 5(−4) und es gilt somit 1 ∈ 5Z+7Z. Also ist dieses Ideal der ganze Ring, wie wir in (c) gesehen haben. (e) Sei R ein Ring und seien U1 und U2 Ideale in R. Dann können wir diese Ideale multiplizieren. U1 U2 ist die Menge aller endlichen Summen von Produkten der Form u1 u2 mit u1 ∈ U1 und u2 ∈ U2 . Ein typisches Element von s U1 U2 lässt sich als i=1 u1i u2i für ein geeignetes s ∈ N schreiben. Mit dieser Definition ist U1 U2 wieder ein Ideal. Der Beweis sei dieses Mal den Leserinnen und Lesern als Übung überlassen.
4.3.3
226
4. Codierung von Nachrichten
Für dieses Ideal gilt U1 U2 ⊆ U1 ∩ U2 . Ist nämlich u1 ∈ U1 und u2 ∈ U2 , so ist u1 u2 ∈ U2 , da U2 ein Ideal ist. Es ist aber auch u1 u2 = u2 u1 ∈ U1 , da s U1 ein Ideal ist. Also ist u1 u2 ∈ U1 ∩U2 und dann auch i=1 u1i u2i ∈ U1 ∩U2 . Dabei kann U1 U2 eine echte Teilmenge von U1 ∩ U2 sein, muss es aber nicht. Wir betrachten dazu zwei konkrete Beispiele im Ring Z der ganzen Zahlen. Es ist offensichtlich 5Z7Z = 35Z = 5Z ∩ 7Z, aber 2Z6Z = 12Z = 2Z ∩ 6Z = 6Z. (f) Sei U ein Ideal in Z und U = {0}. Wir wählen a ∈ U mit a = 0 und so, dass |a| minimal ist. Sei nun b ∈ U . Wir dividieren b durch a mit Rest und bekommen b = ar + q, mit |q| < |a|. Nun ist b ∈ U und ar ∈ U , also auch b − ar ∈ U . Somit ist q ∈ U. Wegen der minimalen Wahl von |a| folgt q = 0. Also ist b = ar. Somit wird jedes Element von U von a geteilt. Dies bedeutet U = aZ. Insbesondere haben wir damit alle Ideale von Z angegeben. Das gleiche Prinzip wie in (f) können wir auch auf den Polynomring anwenden. Wir haben nur die Division mit Rest benutzt. Eine solche Division mit Rest existiert nach Satz 2.3.9 auch in K[x]. Das nutzen wir im folgenden Satz aus, um alle Ideale in K[x] zu bestimmen. Zunächst aber noch eine Bezeichnung. 4.3.4
Definition 4.3.4 Sei p = 0 ein Polynom in K[x], p =
n i=0
ai xi . Wir nennen p
normiert, falls an = 1 ist. 4.3.5
Satz 4.3.5 Seien K ein Körper und S ein Ideal in K[x]. Dann gibt es ein
Polynom p ∈ S mit S = {pa|a ∈ K[x]} =: pK[x]. Ist S = {0} und ist p normiert, so ist p eindeutig bestimmt. Beweisidee 4.3.5 Wir müssen eigentlich nur den Fall S = {0} betrachten. Hier weisen wir zunächst nach, dass jedes Polynom die gewünschte Form hat. Die Vorgehensweise ist (wie so oft) die, dass wir ein Polynom mit minimalem Grad auswählen und dann sehen, dass es die Rolle von p in Satz 4.3.5 einnehmen kann.
4.3
Decodierung
227
Die Eindeutigkeit folgt unkompliziert, indem man annimmt, dass es zwei Polynome dieser Art gibt, und zeigt, dass sie identisch sein müssen. Beweis 4.3.5 Ist S = {0}, so ist p = 0. Sei also S = {0}. Wir wählen p ∈ S mit p = 0 und dann mit minimalem Grad. Sei b ∈ S. Wir dividieren b durch p mit Rest und bekommen
b = ap + r mit grad r < grad p für ein geeignetes a. Mit b ∈ S und p ∈ S folgt aber b − ap = r ∈ S. Das liefert r = 0, da p minimalen Grad unter allen Polynomen hat, die ungleich Null sind, und in S liegen. Somit ist b = pa (für ein geeignetes a). Wir müssen noch zeigen, dass p eindeutig bestimmt ist. Sei nun zusätzlich p normiert und p1 ein zweites normiertes Polynom mit den gleichen Eigenschaften wie p. Dann ist p = p1 s und p1 = pt mit geeigneten s, t ∈ K[x]. Also ist p = pst und folglich p(1 − st) = 0. Da p = 0 ist, muss st = 1 sein, und s und t sind Einheiten. Damit ist s ∈ K nach Satz 2.3.7. Da aber p und p1 normiert sind, folgt s = t = 1. Nun wollen wir dies auf die zyklischen Codes anwenden und sie alle angeben. Sei C ein zyklischer Code in V und C = 0. Dann gibt es ein normiertes Polynom p ∈ K[x] mit p|xn − 1 so, dass C = {pa|a ∈ V } ist. Wir nennen p Erzeugerpolynom.
Satz 4.3.6
Beweis 4.3.6 Sei
S = {f |f ∈ K[x], es gibt ein c ∈ C mit f ≡ c (mod (xn − 1))}. Seien s1 , s2 ∈ S. Dann ist si ≡ ci (mod (xn − 1)), i = 1, 2, mit ci ∈ C. Also ist s1 + s2 ≡ c1 + c2 (mod (xn − 1)). Da C linear ist, ist c1 + c2 ∈ C, d. h. s1 + s2 ∈ S. Ist r ∈ K[x] und s ∈ S, dann ist s ≡ c (mod (xn − 1)) für ein c ∈ C. Also ist rs ≡ rc (mod (xn − 1)). Da C zyklisch ist, ist rc ∈ C, also rs ∈ S. Somit ist S ein Ideal. Nach Satz 4.3.5 ist S = {pb|b ∈ K[x]} mit einem eindeutig bestimmten normierten Polynom p ∈ K[x]. Da 0 ∈ C ist, muss xn − 1 ∈ S sein, also ist p ein Teiler von xn − 1. Nun ist C die Menge der Restklassen der Polynome in S, also ist C = {pa|a ∈ V }, da grad p < n ist.
4.3.6
228
4. Codierung von Nachrichten
Somit können wir alle zyklischen Codes in V bestimmen und dazu müssen wir nur alle Teiler p von xn − 1 berechnen. Es gilt dann C = {pa|a ∈ V }. 4.3.7
Beispiel 4.3.7 Sei K = GF (2) und n = 3. Wegen x − 1 = x + 1 ist 1 + x ein
Teiler von x3 − 1. Wir bestimmen C = {(1 + x)a|a ∈ V }. a∈V 0 1 x 1+x x2 1 + x2 x + x2 1 + x + x2
(1 + x)a
Codewort
0 1+x x + x2 1 + x2 1 + x2 x + x2 1+x 0
000 110 011 101 101 011 110 000
Damit ist C = {(0, 0, 0), (1, 1, 0), (0, 1, 1), (1, 0, 1)} und dies ist der so genannte Paritätscode. Wollen wir alle zyklischen Codes über K mit |K| = 2 und n = 3 angeben, so müssen wir x3 − 1 in irreduzible Polynome zerlegen. Es ist x3 − 1 = (x + 1)(1 + x + x2 ). Somit gibt es genau zwei Codes. Da der Wiederholungscode zyklisch ist, gehört er zu 1 + x + x2 , also ist C = {(0, 0, 0), (1, 1, 1)}. Ist p gegeben, so können wir relativ leicht die Paritätsmatrix bestimmen. Es ist p · h = xn − 1 mit p = p0 + p1 x + . . . + pn−k xn−k , h = h0 + h1 x + . . . + hk xk , p0 = h0 = 1 und pn−k = hk = 1. Wir setzen damit ⎛ ⎞ hk . . . . . . h0 0 . . . . . . 0 ⎜ 0 hk . . . . . . h0 0 . . . 0 ⎟ ⎜ ⎟ H=⎜ h0 . . . 0 ⎟ ⎜ 0 0 hk ⎟ ⎝ ⎠ 0 . . . . . . . . . 0 h k . . . h0 und das ist eine (n − k) × n–Matrix.
4.3
Decodierung
229
Mit den gewählten Bezeichnungen und Bedingungen gilt der folgende Satz. Satz 4.3.8 H ist die Paritätsmatrix des Codes C.
4.3.8
Beweis 4.3.8 Sei c = pf ∈ C mit
f = f0 + f1 x + . . . + fn−1 xn−1 und c = f0 p + . . . + fn−1 pxn−1 . Sei c(i) das folgende Wort in C: (0, . . . , 0, p0 , p1 , . . . , pn−k , 0, . . . , 0)
i
Es entspricht c dem Polynom f0 p + f1 c(1) + . . . + fk−1 c(k−1) . Es genügt also zu zeigen, dass Hc(i) = 0 für alle i = 0, . . . k − 1 ist. Dazu benutzen wir, dass ph = xn − 1 ist. Zur Vereinfachung der Notation setzen wir hj = 0 für j < 0 oder j = n − 1, . . . k + 1. Sei nun Hc(i) = (x0 , x1 , . . . , xn−1 ). Dann ist xj = hk−i+j p0 + hk+i+j−1 p1 + . . . + hk+i−j−(n−k) pn−k . Dies ist der Koeffizient vor xk−i+j in xn − 1. Ist also k − i + j = 0 oder n, so ist dieser Koeffizient = 0. Der Index k − i + j kommt nicht vor, da die Matrix die Zeilenlänge n hat, also höchstens hn−1 vorkommt. Sei also k − i + j = 0. Es ist i ≤ k − 1. Also ist k − i > 0 und somit ist k − i + j = 0 nicht möglich. Somit haben wir gezeigt, dass xj = 0 für alle j = 0, . . . , n − 1 gilt, d. h. es ist Hc(i) = 0 und somit auch Hc = 0. Damit ist H die Paritätsmatrix. Beispiel 4.3.9 Wollen wir alle zyklischen Codes der Länge 7 über dem Körper
K mit |K| = 2 bestimmen, so benötigen wir alle Teiler von x − 1: 7
(x7 − 1) = (1 + x)(1 + x + x3 )(1 + x2 + x3 ). Das liefert 1, x7 − 1, 1 + x, 1 + x + x3 , 1 + x2 + x3 , (1 + x)(1 + x + x3 ) (1 + x)(1 + x2 + x3 ) und (1 + x + x3 )(1 + x2 + x3 ).
4.3.9
230
4. Codierung von Nachrichten
Zu jedem solchen Faktor gehört ein zyklischer Code und dies sind auch alle zyklischen Codes. Zu 1 gehört der Code, bei dem jedes Wort ein Codewort ist. Zu x7 −1 gehört der Code C = {(0, 0, 0, 0, 0, 0, 0)}. Zu 1+x gehört wieder der Paritätscode. Ist p = 1 + x + x3 , so ist h = (1 + x)(1 + x2 + x3 ) = 1 + x + x2 + x4 . Also ist ⎛ ⎞ 1011100 H = ⎝0 1 0 1 1 1 0⎠. 0010111 Das ist unser Code aus Beispiel (b) auf Seite 205. Ist p = 1 + x2 + x3 , so ist h = (1 + x)(1 + x + x3 ) = 1 + x2 + x3 + x4 . Also ist ⎛ ⎞ 1110100 H = ⎝0 1 1 1 0 1 0⎠. 0011101 Noch einmal bekommt man also den Code aus Beispiel (b) auf Seite 205. Ist p = (1 + x)(1 + x + x3 ), so ist h = 1 + x2 + x3 . Also ist ⎛ ⎞ 1101000 ⎜0 1 1 0 1 0 0⎟ ⎟ H=⎜ ⎝0 0 1 1 0 1 0⎠. 0001101 Das ist der Code aus Beispiel (b) auf Seite 205 mit einer zusätzlichen Prüfziffer. Ist p = (1 + x)(1 + x2 + x3 ), so erhalten wir wieder den gleichen Code. Ist p = (1 + x + x3 )(1 + x2 + x3 ), so erhalten wir den Wiederholungscode. 4.3.10
Satz 4.3.10 Sei C ein zyklischer Code der Länge n über K, mit |K| = q und Polynom p. Sei ggT(q, n) = 1 und seien β1 , . . . βr die Nullstellen von p in einem Zerfällungskörper von p (siehe Seite 93). Dann ist c ∈ C genau dann, wenn c(β1 ) = 0 = . . . = c(βr ) ist. Beweis 4.3.10 Sei V = K[x]/(xn − 1)K[x]. Nach Satz 4.3.6 gilt
C = {pa|a ∈ V }.
4.3
Decodierung
231
Sei nun c ∈ C. Dann ist c(βj ) = p(βj )a(βj ) = 0, j = 1, . . . , r. Sei umgekehrt c(β1 ) = 0 = . . . = c(βr ). Dann ist nach Satz 2.3.20 x − βi | c, für alle i ∈ {1, . . . , r}. Es ist p ein Teiler von xn − 1. Hat xn − 1 eine doppelte Nullstelle, so ist nach Satz 2.3.28 1 = ggT(xn − 1, (xn − 1) ) = ggT(xn − 1, nxn−1 ). Da aber ggT(n, q) = 1 ist, ist ggT(xn −1, nxn−1 ) = 1. Also sind die Nullstellen von xn − 1 paarweise verschieden. Dies gilt somit auch für die Nullstellen von p. Somit ist r (x − βi ). p= i=1
Dann gilt p=
r
(x − βi )|c.
i=1
Also ist c ∈ C. Sei nun |K| = q. Wir suchen einen „guten“ (also geeigneten) Code der Länge n. Hierzu müssen wir uns endliche Körper etwas genauer ansehen. Lemma 4.3.11 Seien K K1 Körper mit |K| = q = pf . Sei xn − 1 ∈ K[x].
Der Körper K1 enthalte alle Nullstellen von xn − 1. Ist ggT(p, n) = 1, so gibt es ein α ∈ K1 mit αn = 1 aber αm = 1 für alle 0 < m < n. Beweis 4.3.11 Zunächst gilt nach Satz 2.3.22, dass xn − 1 höchstens n ver-
schiedene Nullstellen hat. Es ist (xn − 1) = nxn−1 . Wegen p | n ist ggT(nxn−1 , xn − 1) = ggT(xn−1 , xn − 1) = 1.
Nach Satz 2.3.28 hat xn − 1 also genau n verschiedene Nullstellen in K1 .
4.3.11
232
4. Codierung von Nachrichten
Ist α eine Nullstelle und β eine Nullstelle, so ist αn = 1 = β n = (αβ)n und (α−1 )n = (αn )−1 = 1. Also bilden die Nullstellen von xn − 1 eine Gruppe. Für jede Nullstelle α gibt es ein minimales m = 0 so, dass α auch eine Nullstelle von xm − 1 ist, nämlich m = o(α). Es folgt mit Satz 3.1.11, dass m ein Teiler von n ist. Angenommen, es sei nun o(α) < n für jede Nullstelle α. Sei t = kgV(o(α)|α ist Nullstelle von xn − 1). Dann ist jedes α Nullstelle von xt −1. Da nach Satz 2.3.22 das Polynom xt −1 höchstens t verschiedene Nullstellen hat, aber xn − 1 genau n verschiedene Nullstellen hat, ist t = n. Nach Lemma 3.1.12 gibt es ein α mit o(α) = n. Lemma 4.3.11 kann man nun benutzen, um den folgenden Satz (sehr schnell) zu zeigen. Er besagt, dass man einen endlicher Körper relativ einfach erzeugen kann, nämlich mit einem einzigen Element. 4.3.12
Satz 4.3.12 Sei K ein endlicher Körper und K ∗ = K \ {0}. Dann gibt es ein
α ∈ K mit K ∗ = {αi |i = 0, . . . , |K| − 2}.
Beweis 4.3.12 Sei |K| = q. Wir zeigen, dass K die Voraussetzungen von Lemma 4.3.11 mit n = q − 1 erfüllt. Es ist offensichtlich |K ∗ | = q − 1 und dann αq−1 − 1 = 0 für alle α ∈ K ∗ nach Satz 3.5.6. Also sind alle Elemente von K ∗ Nullstellen von xq−1 − 1. Da dieses Polynom höchstens q − 1 Nullstellen besitzt, enthält K alle Nullstellen. Es gibt also ein α ∈ K ∗ mit o(α) = q − 1, d. h. |{αi |i = 0, . . . , q − 2}| = q − 1.
Sei K1 ein Körper, in dem xn − 1 in Linearfaktoren zerfällt (man vergleiche Kapitel 2). Sei α ∈ K1 mit αn = 1, aber αm = 1 für alle 0 < m < n. Ein solches Element gibt es nach Lemma 4.3.11, falls ggT(n, q) = 1 ist. Sei m(i) der irreduzible Teiler von xn − 1 in K[x] mit m(i) (αi ) = 0 für i = 0, . . . , n − 1. Sei nun d gegeben und b ≥ 0. Setze p = kgV(m(b) , . . . , m(b+d−2) ). Dann ist p(αi ) = 0 für i = b, . . . , b + d − 2. Für diese Codes gilt der folgende Satz, den wir hier nicht beweisen werden.
4.3
Decodierung
233
Satz 4.3.13 Seien K ein Körper mit |K| = q und C ein zyklischer Code der
4.3.13
Länge n über K mit ggT(n, q) = 1 und p das Erzeugerpolynom. Sei K1 ein Körper, in dem xn − 1 in Linearfaktoren zerfällt, K ⊆ K1 . Weiter sei α ∈ K1 mit αn = 1 aber αm = 1 für 0 < m < n. Sei nun p(αb ) = p(αb+1 ) = . . . = p(αb+d−2 ) = 0 für ein b ≥ 0 und ein d mit 2 ≥ d ≥ n. Dann ist d(C) ≥ d. Satz 4.3.13 ist im Grunde das Rezept, um hochgradig fehlerkorrigierende Codes zu konstruieren. Besonders wichtig ist dabei der folgende Spezialfall. Sei |K1 | = q m so, dass n = q m − 1 ist. Nach Satz 4.3.12 gibt es dann ein α ∈ K1 mit K1∗ = {αi |i = 0, 1, . . . , n − 1}, wobei α0 = 1 sei. Es ist αn = 1. Also ist α eine Nullstelle von xn − 1 in K1 . Sei nun d wie in Satz 4.3.13 gewählt. Der dazu gehörige Code heißt ein BCH-Code (nach den Entwicklern Bose, Ray-Chaudhuri und Hocquenghem)3 mit Parameter d. Im Falle n = q − 1 handelt es sich dabei um einen Reed-Solomon4 -Code. Für einen BCH-Code C mit Parameter d gilt also d(C) ≥ d. Insbesondere im Zusammenhang mit Compact Discs werden übrigens BCH-Codes genutzt. Für mehr Informationen hierzu sei auf das Buch von K. A. S. Immink [6] verwiesen. Beispiele 4.3.14 (a) Sei K = GF (2). Wir betrachten das Polynom
x23 −1 = (x+1)(1+x+x5 +x6 +x7 +x9 +x11 )(1+x2 +x4 +x5 +x6 +x10+ x11 ). Wir setzen p = 1 + x + x5 + x6 + x7 + x9 + x11 . Sei K1 ein Oberkörper von K, in dem x23 − 1 in Linearfaktoren zerfällt. Sei α ∈ K1 mit α23 = 1 = α. Da 23 eine Primzahl ist, gilt o(αi ) = 23 für alle 0 < i < 23 nach Satz 3.1.11. Also können wir p(α) = 0 annehmen und erhalten dann p(α) = 0 = p(α)2 = p(α2 ). 2.2.8
3
Raj Chandra Bose, *19.6.1901 Hoshangabad †31.10.1987 Colorado, indischer Mathematiker und Statistiker; Dijen Kumar Ray-Chaudhuri, * 1.11.1933 Narayangang, indischer Mathematiker mit Schwerpunkt in der Kombinatorik; Alexis Hocquenghem, vermutlich *1908 †1990, französischer Mathematiker. Hocquenhem entwickelte die BCH-Codes unabhängig von Bose und Ray-Chaudhuri. 4
Gustave Solomon, *27.10.1930 Brooklyn †31.1.1996 Los Angeles. Solomon arbeitete als Mathematiker und Ingenieur. Er gilt als einer der Mitbegründer der algebraischen Codierungstheorie. Zusammen mit H.F.Mattson entwickelte er das Mattson-Solomon-Polynom, ein wichtiges Hilfsmittel zur Analyse von fehlerkorrigierenden Codes.
4.3.14
234
4. Codierung von Nachrichten
Also hat p die Nullstellen α, α2 , α4 , α8 , α16 , α32 = α9 , α18 , α36 = α13 , α26 = α3 , α6 , α12 . Wir setzen nun d = 5 in Satz 4.3.13. Dann folgt d(C) ≥ 5. In der Tat ist d(C) = 7. Also ist C ein 3-fehlerkorrigierender (23,12)-Code. Es ist 23 23 = 223 . + 212 1 + 23 + 3 2 Somit ist C nach Satz 4.2.17 sogar 3-perfekt. Wir haben also einen 3-perfekten Code über GF(2) gefunden. Dieser heißt binärer Golay-Code5 . (b) Sei C ein 3-perfekter Code über K = GF (2) der Länge n. Dann ist n n = 2r + 1+n+ 3 2 für ein geeignetes r. Das liefert nun (n + 1)(n2 − n + 6) = 3 · 2r . Dies können wir auch als (n + 1)((n + 1)2 − 3(n + 1) + 8) = 3 · 2r+1 schreiben. Es ist entweder n+1 ein Teiler von 24 oder n+1 wird von 16 geteilt. Sei zunächst n + 1 ≡ 0 (mod 16). Dann ist n2 − n + 6 ≡ 8 (mod 16). Also ist n2 −n+6 ein Teiler von 24 und wird durch 8 geteilt. Das liefert n2 −n+6 = 8 oder 24. Da n ≥ 15 ist, ist dies ein Widerspruch. Somit ist n + 1 ein Teiler von 24. Es folgt n ∈ {1, 2, 3, 5, 7, 11, 23} Nun ist in jedem Fall n > 3, also bleiben vier mögliche Fälle übrig: Ist n = 5, so ist n2 − n + 6 = 26, also nicht von der Form 2a 3b . Ist n = 7, so erhalten wir den Wiederholungscode. Ist n = 11, so ist n2 − n + 6 = 116, ein Widerspruch wie zuvor. Ist n = 23, so erhalten wir einen (23,12)-Code, der nach (a) existiert. 5 Marcel J. E. Golay, *3.5.1902 Neuchâtel †27.4.1989, Mathematiker, Physiker, Informatiker. Auf Grund seines Artikels Notes on digital coding von 1949 gilt er als Mitbegründer der algebraischen Codierungstheorie.
4.3
Decodierung
235
(c) Man kann zeigen, dass es außer dem Wiederholungscode keinen linearen t-perfekten Code mit t ≥ 4 gibt. Für t = 3 gibt es nur den (23,12)-Code über GF(2). Für t = 2 gibt es nur einen (11,6)-Code über GF(3). Man kann sich die Frage stellen, warum es überhaupt sinnvoll ist, sich mit Codes über Körpern K mit |K| > 2 zu beschäftigen, wenn die Praxis später doch nur (0,1)-Wörter überträgt. Hier ist dazu ein Beispiel. Beispiel 4.3.15 Sei q = 28 , also n = 255 (Reed-Solomon). Man kann sich über-
legen, dass es einen 5-fehlerkorrigierenden Code mit Polynom von Grad 10 gibt. Jedes Codewort ist ein 255-Tupel mit Einträgen in K, |K| = 28 . Sei F der Primkörper (man vergleiche Definition 2.2.10) von K. Dann ist F = {0, 1} und jedes a ∈ K kann als 8-Tupel über GF (2) = F aufgefasst werden (siehe den Beweis von Satz 2.2.13). Über GF (2) = F gelesen ist jedes Codewort also ein 2040-Tupel: K
K
K
K
K
K
33 Nun benutzen 33 aufeinander folgende Fehler höchstens 5 Symbole über K. Diese 5 Fehler können dann korrigiert werden. Als Code über GF (2) gelesen, kann C also 33 aufeinander folgende Fehler korrigieren. Für einen Code über GF (2) mit Länge ca. 2040 wäre n = 211 − 1 = 2047. Soll er 33 Fehler korrigieren, so hätte dies ein Polynom vom Grad 352 zur Folge und das wäre viel zu kompliziert. Bei der Nachrichtenübertragung kommen aufeinander folgende Fehler (Rauschen) viel häufiger vor als viele vereinzelte Fehler. Für diese Zwecke sind die Reed-Solomon Codes die besten bekannten Codes. Der in der CD verwendete Code CIRC (Cross Interleave Reed Solomon Code) setzt sich aus zwei Reed-Solomon-Codes der Länge 63 über K mit |K| = 64 zusammen. Die maximale Länge eines vollständig korrigierbaren Fehlerbündels ist ungefähr 4000 Bits, die Länge eines interpolierbaren Fehlerbündels im schlimmsten Fall etwa 12300 Bits (7.7 mm Spurlänge). Zum Ende dieses Abschnittes wollen wir noch kurz auf die Decodierung zyklischer Codes eingehen. Auch diese ist einfach. Seien p das Erzeugerpolynom und pf = c ein Codewort, p, c, f ∈ K[x]. Zur Decodierung betrachte man f = pc . Angenommen, wir empfangen das Wort a. Es ist a = c + e, wobei e der potentielle Fehler ist. Damit ist ah = ch + eh modulo xn − 1, was wir
4.3.15
236
4. Codierung von Nachrichten
mit dem euklidischen Algorithmus berechnen können. Ist also ah nicht durch xn − 1 teilbar, so liegt ein Fehler vor. Da e vom Grad höchstens n − 1 ist, können wir nun auch e bestimmen.
4.4
4.4 Übungsaufgaben 1)
Berechnen Sie für jeden der folgenden Codes den minimalen Abstand: (a) (a, b, c) → (a, b, c, a + c, b + c) (mod 2). (b) (a, b, c, d) → (a, b, c, d, a + b + d, a + c + d, b + c + d) (mod 2).
2)
Geben Sie einen Code C ⊆ {0, 1}6 mit |C| = 5 an, der einen Fehler korrigieren kann. Geht das auch mit C ⊆ {0, 1}5 und |C| = 5?
3)
Sei C(m, r) der Code aus dem Beispiel (b) auf Seite 216. Zeigen Sie: r m , d(C(r, m)) = 2m−r . |C(r, m)| = 2a , a = i i=0
4)
Zeigen Sie, dass der lineare Code über GF (3) mit Matrix 0112 1011 1-perfekt ist.
5)
Sei C der lineare Code über GF (2) mit Matrix ⎛ ⎞ 110101 ⎝1 1 0 0 1 0⎠. 101100 Es wird 110110 empfangen. Was wurde gesendet, falls höchstens ein Fehler auftritt?
6)
Sei V ein Ideal in K[x], V = pK[x], p irreduzibel. Zeigen Sie: Sind f, g ∈ K[x] mit f g ∈ V , so ist f ∈ V oder g ∈ V .
7)
Sei {0} = V = K[x] ein Ideal in K[x] mit der folgenden Eigenschaft: Sind f, g ∈ K[x] mit f g ∈ V , so ist stets f ∈ V oder g ∈ V . Zeigen Sie: V = pK[x], wobei p irreduzibel ist.
4.4
8)
Übungsaufgaben
237
Sei R = K[x] der Polynomring über einem Körper K. Seien pK[x] und f K[x] zwei Ideale in R. Nach Satz 4.3.5 ist pK[x] ∩ f K[x] = gK[x] mit geeignetem g ∈ R. Wie kann man g angeben?
9)
Seien C1 , C2 zwei zyklische Codes über K mit Polynom g1 bzw. g2 . Zeigen Sie: C1 ⊆ C2 genau dann, wenn g1 von g2 geteilt wird.
10) Seien C1 , C2 zyklische (n, ki )-Codes über K, i = 1, 2, mit Polynom g1 bzw. g2 . Zeigen Sie: (a) C1 + C2 (der kleinste Code, der C1 und C2 enthält) wird von ggT(g1 , g2 ) erzeugt. (b) C1 ∩ C2 wird von kgV(g1 , g2 ) erzeugt. 11) Sei im Beispiel auf Seite 222 K der Körper mit 2 Elementen und K1 der Körper mit 4 Elementen. Sei C der (26 − 1, 26 − 1 − 6)-Code über K und C1 der ((22 )3 − 1, (22 )3 − 1 − 3)-Code über K1 . Wie unterscheiden sich die Codes in ihrem Fehlerverhalten? 12) Geben Sie einen (7,5)-Reed-Solomon-Code an. 13) Sei K ein endlicher Körper mit |K| = q und sei 2t−1 n − 1 (q − 1)i < q n−k i i=0 für natürliche Zahlen t, n, k, n > k. Zeigen Sie, dass dann ein (n, k)-Code C über K mit d(C) ≥ 2t + 1 existiert. 14) Sei K = GF (2). Für welche der folgenden Parameter (n, k, d) gibt es einen linearen Code? (a) (12,7,5) (b) (11,4,5) 15) Sei C ein zyklischer Code der Länge n über GF (2), der ein Codewort von ungeradem Gewicht enthält. Zeigen Sie: Es ist (a0 , . . . , an−1 ) mit ai = 1 für alle i ein Codewort.
238
4. Codierung von Nachrichten
16) (R.-H. Schulz) Beim Fußballtoto werden jeweils die Ausgänge von 13 Spielen vorhergesagt. Dabei steht 1 für einen Heimsieg, 2 für einen Auswärtssieg und 0 für ein Unentschieden. Wie viele Tippreihen muss man abgeben, damit man garantiert 12 Richtige hat? (Hinweis: Nutzen Sie den Hammingcode.)
Kapitel 5 Tourenplanung
5
5
5 5.1 5.2 5.3 5.3.1 5.3.2 5.3.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10
Tourenplanung Grundlegende Eigenschaften von Graphen ................ Zusammenhängende Graphen................................ Eulerwege ........................................................ Das Königsberger Brückenproblem ......................... Der Algorithmus von Dijkstra................................ Verallgemeinerungen ........................................... Der Floyd-Warshall-Algorithmus ............................ Das Müllproblem: Eine Zwischenbilanz .................... Netzwerke........................................................ Der ungarische Algorithmus .................................. Das Müllproblem: Die Bilanz ................................ Ein ungelöstes Problem: P = N P ?......................... Übungsaufgaben ................................................
242 249 256 258 266 271 273 278 279 289 293 295 297
5 Tourenplanung Es geht in diesem Kapitel um ein einfach klingendes Problem, das es allerdings in sich hat. Wir werden sehen, wie unterschiedliche Aspekte zusammenwirken, um eine angemessene Modellierung zu finden und wie schwierig sich diese einzelnen Aspekte darstellen. Wir werden auch sehen, dass eigentlich nichts über eine gute Theorie geht, die dann für viele reale Situationen die mathematische Basis bieten kann. Konkret wird das Kapitel einen ersten Einblick in die Inhalte der Graphentheorie geben. Wir beschäftigen uns in den folgenden Abschnitten mit einem Anwendungsproblem, das so oder so ähnlich in allen Städten und Gemeinden vorkommt. Gegeben ist uns ein Stadtplan bzw. ein Ausschnitt davon. Es soll nun ein Fahrplan für einen Müllwagen so aufgestellt werden, dass alle Straßen in diesem Gebiet möglichst gut und sparsam bedient werden (was das genau bedeutet, werden wir gleich ausführAbbildung 5.1. Ausschnitt aus dem Amtlilich diskutieren). chen Stadtplan der Stadt Halle (Saale) Das Problem ist als Chinesisches Postbotenproblem bekannt, da Anfang der 1960er Jahre der chinesische Mathematiker Mei Go Guan die erste Veröffentlichung dazu geschrieben hat. Sein Ziel war es, einen optimalen Weg für einen Postboten in seinem Zustellbezirk zu finden. Die Probleme sind zwar nicht ganz identisch (Postboten kennen beispielsweise keine Schwierigkeiten mit Einbahnstraßen), stehen aber in einem engen Zusammenhang miteinander. Wir wollen uns hier auf die Wegfindung bei Müllwagen beschränken. Dazu müssen wir uns zunächst fragen, welche Informationen man dafür braucht. Die folgenden Bedingungen klingen vernünftig, oder? Man sollte alle Wege und auch ihre Längen kennen, denn das sind die Basisinformation. Man sollte einen Überblick über alle Einbahnstraßen haben, weil sie nur in einer Richtung befahrbar sind. Man sollte die Sackgassen kennen, denn man fährt auf dem gleichen Weg hinein und hinaus, sodass man nichts optimieren kann.
K. Reiss, G. Stroth, Endliche Strukturen, Mathematik für das Lehramt, c Springer-Verlag Berlin Heidelberg 2011 DOI 10.1007/978-3-642-17182-6_5,
242
5. Tourenplanung
Man sollte wissen, wie breit die verschiedenen Straßen sind. Auf breiten Straßen, aber auch auf Straßen, die durch Mittelstreifen getrennt sind, kann man nicht gleichzeitig auf beiden Seiten Müll abholen. Man sollte die realen Fahrtzeiten kennen. So gehen Leerfahrten viel schneller als Fahrten, bei denen die eigentliche Müllentsorgung geleistet wird. Man muss den Anfang der Tour kennen, der normalerweise das Depot ist. Die Tour sollte dort auch wieder enden. Schließlich ist zu klären, was „optimal“ bedeutet. Soll die Länge der Tour minimiert werden, um den Benzinverbrauch möglichst gering zu halten? Soll möglichst wenig Zeit aufgewendet werden, um die Bezahlung der Angestellten niedrig zu halten? Oder soll gar ein Mix aus beiden Bedingungen zur optimalen Lösung führen? Alle diese Aspekte wollen wir in einem mathematischen Modell berücksichtigen, wobei wir zunächst viele der genannten Punkte ignorieren müssen. Wir tasten uns Schritt für Schritt an die Lösung heran. Dabei sind die genannten Aspekte nicht mit den folgenden Paragraphen identisch. Die Systematik ist eher die der Mathematik als die der Müllabfuhr . Warum müssen wir überhaupt darüber nachdenken? Schließlich handelt es sich um ein endliches Problem, denn es gibt nur endlich viele Touren für den Müllwagen. Diese könnten wir doch einfach aufschreiben, würden nachschauen, welche die beste Tour ist und hätten das Problem gelöst. Leider ist es nicht so einfach, weil es zu viele Möglichkeiten gibt. Das geschilderte Verfahren ist exponentiell und wird sehr schnell mit wachsender Anzahl undurchführbar. Tatsächlich ist es schon bei einer Anzahl von 30 bis 40 Straßen nicht mehr anwendbar. Es geht also darum, substantiell schnellere Verfahren zu entwickeln. Was das genau bedeutet, werden wir später sehen.
5.1
5.1 Grundlegende Eigenschaften von Graphen Da nun ohne eine klare Repräsentation des Problems gar nichts gehen kann, stellen wir die Modellierung eines Straßenplans an den Anfang. Ganz offensichtlich können wir uns einen solchen Plan als eine Menge von Kreuzungen oder Abzweigungen vorstellen, die durch Straßen verbunden sind. Die folgende Abbildung beschreibt einen recht einfachen Fall.
5.1
Grundlegende Eigenschaften von Graphen
243
Hier sind vier mögliche Abzweigungspunkte durch fünf Straßen miteinander verbunden. Doch auch einen einfachen Fall kann man in der Darstellung weiter vereinfachen. Wenn wir nämlich zunächst die Längen der Straßen und die genaue Linienführung ignorieren, dann können wir den Plan wie folgt zeichnen:
Aus mathematischer Sicht enthält diese Abbildung die wichtigsten Informationen: Wo gibt es Verzweigungspunkte und wo verlaufen Verbindungen? Diese Betrachtungsweise führt zu einer neuen Definition und zur begrifflichen Präzisierung. Wir werden die entsprechende mathematische Struktur als Graph bezeichnen, aus Verzweigungspunkten werden Ecken und aus Verbindungen werden Kanten. Definition 5.1.1 Ein Graph Γ = Γ(E, K) besteht aus zwei Mengen E und K,
nämlich den Ecken E und den Kanten K. Es ist K ⊆ E × E. Wir werden im Folgenden stets annehmen, dass (e, e) ∈ K für alle e ∈ E gilt. Solche Graphen nennt man schlingenfrei. Wir machen das, weil in unserem Problem diese Schlinge einer kreisförmigen Straße r entspricht, die wir immer in einer Richtung befahren müssen und die damit zur optimalen Tour ohnehin immer den gleichen Beitrag liefern würde. Wir wollen außerdem zunächst annehmen, dass mit (e, f ) ∈ K auch stets (f, e) ∈ K ist. Man spricht dann von einem ungerichteten Graph. q q e f Für unser Beispiel heißt dies, dass man sowohl von e nach f als auch von f nach e fahren kann, es also in diesem Teil der Stadt keine Einbahnstraßen gibt. Das mag unrealistisch sein, vereinfacht aber zunächst die Theorie (wenn auch nicht unser Problem).
5.1.1
244
5. Tourenplanung
Bei einem ungerichteten Graph können wir die Kante (e, f ) mit der Menge {e, f } identifizieren. Die Kanten sind damit Teilmengen von K, die aus genau zwei Elementen bestehen. 5.1.2
Beispiele 5.1.2
Üblicherweise stellt man kleinere Graphen bildlich dar und verzichtet, anders als meistens in der Mathematik, auf eine symbolische Beschreibung. So machen wir es auch in den folgenden Beispielen. (a) Es soll ganz einfach losgehen. Im nachfolgenden Graph sind die Ecken mit v1 , v2 , . . . , v7 bezeichnet und unterschiedlich durch Kanten verbunden. vr1 v2
@ @r
r @ @r
v3
rv6 r @ @r
v4 v5
v7
Es ist |E| = 7 und |K| = 7. Kein Problem, oder? (b) Die folgenden beiden Graphen sind so genannte Gerüstgraphen von Polyedern. Stellen Sie sich einfach vor, Tetraeder und Würfel hätten Ecken, die mit Gummibändern verbunden sind. Dann kann man sie genau auf diese Weise auf einer Tischplatte ausbreiten.
Tetraeder :
q A qA @A q @ Aq
r @ @r Würfel :
r
r
r
r
r @ @r
(c) Auf Seite 243 hatten wir im Anschluss an Definition 5.1.1 ausgeschlossen, dass Graphen Schlingen haben. Wir können genauso (auch in Bezug auf genau diese Definition) ausschließen, dass in einem Graph zwei Ecken durch mehr als eine Kante verbunden sind. Dies ist dann aber schon eine Vereinfachung, die nicht immer der Realität entspricht. In einem Stadtplan kann es durchaus mehr als eine Straße geben, die zwei Kreuzungen verbindet. Wir werden diesen Aspekt später wieder in unser Modell aufnehmen und dann von Multigraphen sprechen. Aber zunächst wollen wir mit dieser Vereinfachung weitermachen. Damit gibt es eine maximal mögliche Zahl von Kanten bei einer gegebenen Zahl von Ecken. Ein Graph, der diese maximal mögliche Anzahl von Kanten hat, heißt vollständig.
5.1
Grundlegende Eigenschaften von Graphen
245
Hier sind zwei vollständige Graphen, einer mit drei Ecken und damit drei Kanten und einer mit vier Ecken und sechs Kanten:
K3 :
r
r A
A r K4 :
r r @ r @r
Wir haben in den vorangegangenen Beispielen unterschiedliche Graphen gezeichnet. Manche sind prinzipiell verschieden wie die Graphen für Ecken und Kanten von Tetraeder und Würfel, denn hier stimmen die Anzahlen von Ecken und Kanten nicht überein. Manche sind aber durchaus ähnlich wie etwa der Graph des Tetraeders aus Beispiel (b) und der Graph K4 aus Beispiel (c), bei denen Ecken– und Kantenzahlen gleich waren. Wenn man es richtig betrachtet, dann sind hier nur die Zeichnungen unterschiedlich, denn auch die Verbindungen sind prinzipiell gleich: Jede Ecke ist mit jeder anderen Ecke verbunden. Nun sind die beiden genannten Graphen vollständig, aber das ist keine notwendige Bedingung für diese prinzipielle Übereinstimmung, wie die folgenden beiden Graphen zeigen. Hier gibt es jeweils zwei Ecken, die mit zwei anderen Ecken verbunden sind, und zwei Ecken, die mit allen anderen Ecken verbunden sind. Stellt man sich vor, dass alle Kanten aus Gummi sind, dann kann man leicht den einen Graphen in den anderen überführen. Damit sind r
r
r
r
und
r rAA @A r @ Ar
nichts anderes als Darstellungen des gleichen Graphen. Diese Betrachtung ist der Anlass für die folgende Definition. Definition 5.1.3 Seien Γ1 , Γ2 Graphen mit Eckenmengen E1 , E2 und Kantenmengen K1 , K2 . Dann heißen Γ1 und Γ2 isomorph, falls es eine bijektive Abbildung α zwischen E1 und E2 gibt so, dass
(α(x), α(y)) ∈ K2 genau für (x, y) ∈ K1 gilt. Dabei sei Ei die Mengen der Ecken und Ki die Mengen der Kanten des Graphen Γi (i = 1, 2). Im Allgemeinen kann man nicht ohne weiteres über die Isomorphie von Graphen entscheiden. Es ist sogar ein besonders schwieriges Problem der Graphentheorie, einen effizienten Algorithmus zu finden, der feststellt, ob zwei
5.1.3
246
5. Tourenplanung
gegebene Graphen isomorph sind. Konkret geht es darum, einen Algorithmus zu identifizieren, der das Problem in m Schritten entscheidet, wobei m ein Polynom in der Eingabegröße n (Anzahl der Ecken) des Graphen ist. Natürlich gibt es einen Algorithmus, der alle Graphen auf n Ecken durchgeht. Dieser einfache Algorithmus ist allerdings kein solcher polynomialer Algorithmus und damit nicht hinreichend effizient (man vergleiche Seite 242). Ist es nun tatsächlich eine offene Frage, ob es einen effizienten Algorithmus für dieses so simpel klingende Problem gibt? Ja, genau so ist es. Mathematik ist (und bleibt) eine spannende, herausfordernde und schöne Wissenschaft mit vielen noch ungeklärten Fragen. Es gibt allerdings Ansätze, das beschriebene Problem anzugehen. So ist es schon ein Erfolg, wenn man zeigen kann, dass zwei gegebene Graphen nicht isomorph sind. Das ist eine Grundidee: Bildet ein Isomorphismus eine Ecke e auf eine Ecke v ab, so bildet er auch die benachbarten Ecken von e auf die benachbarten Ecken von v ab. Somit haben e und v gleich viele Nachbarn. Es ist erstaunlich, aber schon diese einfache Idee reicht häufig aus, um zumindest die Nichtisomorphie von Graphen zu beweisen. Als nützlich erweist sich dabei die folgende Definition der Valenz einer Ecke. 5.1.4
Definition 5.1.4 Sei Γ ein Graph und e ∈ E eine Ecke. Sei
De = {k|k ∈ K, e ∈ k}. Dann nennt man d(e) = |De | die Valenz der Ecke e. Die Valenz ist damit genau die Anzahl der Kanten, auf denen die Ecke e liegt. Denkt man an den Stadtplan, mit dem wir gearbeitet haben, dann ist die Valenz die Anzahl der Straßen, die von einer Kreuzung oder Verzweigung abgehen. 5.1.5
Beispiel 5.1.5 (man vergleiche [2, Seite 108]): Wir betrachten die folgenden
beiden Graphen und wollen die Frage klären, ob sie isomorph sind. Auf den ersten Blick sieht es ganz gut aus, doch was gilt im Detail? rP r @ r P Pr @P r
rP r PP @ Pr @
r r @ @r r und
r
rP r PP @ Pr @
5.1
Grundlegende Eigenschaften von Graphen
247
Offenbar gilt, dass in beiden Graphen jede Ecke die Valenz drei oder vier hat. Auch haben beide Graphen vier Ecken der Valenz drei und vier Ecken der Valenz vier. Aber der zweite Graph hat zwei benachbarte Ecken der Valenz drei, die es im ersten Graphen nicht gibt. Somit sind beide Graphen nicht isomorph. Bereits dieses erste übersichtliche Beispiel legt die Vermutung nahe, dass Isomorphieuntersuchungen mitunter recht schwierig sein können. Dennoch gibt es einige Regelmäßigkeiten in Graphen, die sich relativ unkompliziert finden lassen. So scheitern wir etwa bei dem Versuch, einen Graphen zu zeichnen, der genau fünf Ecken ungerader Valenz hat. Wir zeigen das mit Hilfe des folgenden Satzes. Satz 5.1.6 Sei Γ = Γ(E, K) ein Graph. Dann ist
5.1.6
d(e) = 2|K|.
e∈E
Beweis 5.1.6 Die Beweismethode ist hier doppeltes Abzählen. Sei
S = {(e, k)|e ∈ E, k ∈ K, e ∈ k}. Dann ist |S| =
d(e).
e∈E
Andererseits ist auch |S| = |K| · 2, da jede Kante genau zwei Ecken hat. Damit ist die Behauptung bewiesen. Intuitiv ist dieser Satz sofort klar, denn wir betrachten ja ausschließlich schlingenfreie Graphen (man vergleiche Seite 243). Damit gehören zu jeder Kante zwei Ecken. Der Satz hat als Konsequenz, dass auch die Anzahl der Ecken mit ungerader Valenz (und die Anzahl der Ecken mit gerader Valenz sowieso) eine gerade Zahl sein muss. Das „sowieso“ in der Klammer liefert dabei bereits die Beweisidee. Folgerung 5.1.7 Die Anzahl der Ecken ungerader Valenz in einem Graphen Γ
ist stets gerade.
5.1.7
248
5. Tourenplanung
Beweis 5.1.7 Nach Satz 5.1.6 ist
⎛ ⎝
d(e) +
e, d(e)≡1(mod 2)
⎞ d(e)⎠ = 2|K| ≡ 0 (mod 2).
e, d(e)≡0(mod 2)
Also ist
d(e) ≡ 0 (mod 2).
e, d(e)≡1(mod 2)
Da die Summe gerade ist, alle Summanden aber ungerade sind, muss die Anzahl der Summanden gerade sein. Dies ist genau die Behauptung. 5.1.8
Beispiele 5.1.8 (a) Sei Γ ein Graph mit d(e) = 3 für alle e. Dann hat Γ eine
gerade Anzahl von Ecken. (b) Händeschüttelsatz: Auf einer Party schüttelt jeder Gast jedem anderen die Hand. Dann ist die Anzahl der Personen, die auf der Party ungerade oft Hände geschüttelt haben, stets gerade. (c) Es gibt keinen Graphen mit 11 Ecken, der die folgenden Valenzen hat: 3, 3, 3, 3, 5, 6, 6, 6, 6, 6, 6. 5.1.9
Lemma 5.1.9 In einem Graphen Γ = Γ(E, K) mit |E| > 1 gibt es stets zwei
Ecken mit gleicher Valenz. Beweisidee 5.1.9 In einem Graphen mit n Ecken ist jede Ecke mit höchsten n − 1 Kanten verbunden. Wären alle Valenzen verschieden, dann müssten die Zahlen 0, 1, . . . , n − 1 als Valenzen vorkommen. Per Induktion zeigen wir, dass dies nicht möglich ist. Beweis 5.1.9 Wir beweisen die Behauptung durch Induktion nach |E|. Ist
|E| = 2, so ist die Behauptung richtig, da die Valenzen entweder beide gleich 0 (die beiden Ecken sind nicht verbunden) oder gleich 1 (die beiden Ecken sind verbunden) sind. Sei |E| = n > 2 und alle Valenzen seien verschieden. Da keine Ecke mit n Ecken benachbart ist (der Graph ist schlingenfrei), sind die Valenzen 0, 1, · · · , n − 1. Indem wir nun die Ecke mit der Valenz 0 wegnehmen, erhalten wir einen neuen Graphen Γ1 mit n − 1 Ecken, wobei die Valenzen der Ecken in Γ1 unverändert bleiben. Per Induktion muss dieser Graph nun zwei Ecken von gleicher Valenz enthalten.
5.2
Zusammenhängende Graphen
249
Man könnte im Beweis von Lemma 5.1.9 auch anders argumentieren. Wieder nehmen wir an, dass alle Valenzen verschieden sind. Betrachtet man nun die Ecke mit Valenz n − 1, dann ist diese Ecke auf jeden Fall nicht zu sich selbst benachbart. Also ist sie zu allen anderen Ecken benachbart. Damit kann es gar keine Ecke der Valenz 0 geben.
5.2 Zusammenhängende Graphen
5.2
Die Ergebnisse in Abschnitt 5.1 zeigen erste Grundlagen zum Umgang mit Graphen. In unserem konkreten Problem der Müllabfuhr geht es aber weniger um allgemeine Graphen als um solche, die ganz praktische Anforderungen erfüllen. So muss man beispielsweise bedenken, dass ein Müllwagen durch Straßen fahren wird, sodass alle Häuser, die er besucht, auch durch Straßen verbunden sein müssen. Diese Feststellung ist Anlass für eine neue Definition. Definition 5.2.1 Sei Γ = Γ(E, K) ein Graph und u, v ∈ E. Eine Tour (auch Kantenzug genannt) von u nach v ist eine Folge von Ecken
5.2.1
u = u 0 , u 1 , . . . , us = v mit {ui−1 , ui } ∈ K für i = 1, 2, . . . , s. Sind alle ui verschieden, so nennen wir eine Tour auch einen Weg und s die Länge des Weges. Ist s > 2, u = v und sind alle ui für i = 1, . . . , s verschieden, so sprechen wir von einem Kreis der Länge s. Wie gesagt, die Müllabfuhr muss nicht nur Teile einer Stadt bedienen, sondern durch alle Straßen fahren. Insbesondere ist es also notwendig, von jeder Ecke zu jeder anderen Ecke zu kommen. Auch für dieses Phänomen kennt die Graphentheorie einen Begriff, der in der Überschrift zu diesem Abschnitt bereits steht und nun definiert wird. Definition 5.2.2 Einen Graph Γ heißt zusammenhängend, wenn je zwei Ecken
durch einen Weg verbunden sind. Die folgende Abbildung zeigt je ein Beispiel für einen zusammenhängenden bzw. einen nicht zusammenhängenden Graph. Auch hier ist die Begriffsbildung intuitiv verständlich, oder?
5.2.2
250
5. Tourenplanung
r A A
r
r
r
Ar r
Das ist ein zusammenhängender Graph.
Das ist ein nicht zusammenhängender Graph.
Offenbar hätten wir in Definition 5.2.2 statt Weg auch Tour schreiben können, da eine Tour minimaler Länge s von u nach v mit u = v sicherlich ein Weg ist. 5.2.3
Definition 5.2.3 Ist e ∈ E eine Ecke, so sei Γe der Graph Γ(E1 , K1 ) mit den
meisten Ecken und mit e ∈ E1 ⊆ E sowie K1 = K ∩ (E1 × E1 ), der zusammenhängend ist. Den Graph Γe nennen wir die Zusammenhangskomponente von e in Γ. Eine Kante k ∈ K nennen wir Brücke, wenn der Graph Γ = Γ(E, K \ {k}) mehr Zusammenhangskomponenten hat als Γ. Auch diese beiden Begriffe erschließen sich mehr oder minder intuitiv. Die Ecken von Γe sind e und genau diejenigen Ecken von Γ, die verschieden von e sind, aber von e aus mit einem Weg in Γ erreichbar sind. Es ist offenbar jeder Graph eine disjunkte Vereinigung von Zusammenhangskomponenten. Eine Brücke hingegen verbindet Teile eines Graphen. In der konkreten Anwendung kann dies z. B. eine Brücke zwischen dem Festland und einer Insel oder zwischen zwei Strängen eines Computernetzes sein. Die folgende Abbildung veranschaulicht es: Die „mittlere“ Kante ist hier eine Brücke. Lässt man sie weg, dann gibt es offensichtlich zwei Zusammenhangskomponenten, ist die Kante dabei, dann ist der Graph zusammenhängend.
In der Regel wird man in einer Stadt auf mehrere Arten von einem Punkt A zu einem Punkt B kommen. Deshalb ist es interessant, nach Kriterien zu suchen, die einen Weg gegenüber einem anderen auszeichnen. Wenn es aber zwischen den Punkten A und B genau einen Weg gibt, dann kommt man zu einer relativ übersichtlichen Darstellung.
5.2
Zusammenhängende Graphen
251
Ganz sicher kann es dann keine Kreise geben, so wie sie in der folgenden Abbildung zu finden sind.
A
B
Ein zusammenhängender Graph, der keine Kreise besitzt, wird Baum genannt.
Definition 5.2.4
5.2.4
Das Studium von Bäumen war in den Anfängen der Graphentheorie ein ganz wesentliches Arbeitsgebiet. Es entwickelte sich teilweise aus Problemen in der Chemie. Arthur Cayley (man vergleiche Seite 182) warf Ende des 19. Jahrhunderts die Fragestellung auf, wie viele Isomere es von gewissen Kohlenwasserstoffverbindungen gibt, was zu einem Isomorphieproblem von Bäumen führt. Bäume können als fundamentale Bausteine für alle Graphen aufgefasst werden. Sie sind darüber hinaus als geeignete Datenstrukturen für viele Probleme der Informatik (Such- und Sortierprobleme) von Bedeutung. Wir wollen zunächst einige einfache Eigenschaften von Bäumen untersuchen. Satz 5.2.5 Sei Γ ein Baum mit mindestens zwei Ecken. Dann gilt: (a) Für jedes Paar x, y von Ecken in Γ mit x = y gibt es genau einen Weg, der x und y verbindet. (b) Wenn man aus Γ eine Kante {u, v} herausnimmt, so bleiben zwei Graphen Γ1 , Γ2 übrig, die Bäume sind. Seien mit Ei die Ecken und mit Ki die Kanten von Γi bezeichnet (i = 1, 2). Es ist E1 ∪ E2 = E, K1 ∪ K2 = K \ {u, v}, d. h. sind e ∈ E1 und f ∈ E2 mit {e, f } = {u, v}, so ist {e, f } ∈ K. Also ist in diesem Fall jede Kante eine Brücke. (c) Es ist |K| = |E| − 1. Beweisidee 5.2.5 Die drei Teile bauen aufeinander auf, sodass wir den Beweis
von (a) in (b) und den Beweis von (b) in (c) benötigen. In Teil (a) weist man nach, dass die Existenz von zwei unterschiedlichen Wegen zu einem Kreis führt (was anschaulich ja auch klar ist). In Teil (b) sind es im Grunde die gleichen Argumente, die zum Ziel führen, und in Teil (c) ist Induktion die Beweismethode der Wahl.
5.2.5
252
5. Tourenplanung
Beweis 5.2.5 (a) Da Γ zusammenhängend ist, gibt es einen Weg
x = u 0 , . . . , ur = y von x nach y. Angenommen, es gibt noch einen zweiten Weg von x nach y. Wir zeigen, dass es dann einen Kreis gibt, was Definition 5.2.4 widerspricht, da es in einem Baum keine Kreise gibt. Wir wählen unter allen solchen Paaren ein Paar (x, y) so, dass r minimal ist. Sei nun x = v0 , . . . , vs = y ein zweiter Weg. Ist r = 1, so ist offenbar x = v0 , . . . , vs = u1 , x ein Kreis im Widerspruch zu Definition 5.2.4. Also ist r > 1. Sei i ∈ {1, . . . , r} minimal mit der Eigenschaft, dass ui = vj für ein j ist. Dann sind x = u0 , . . . , ui und x = v0 , . . . , vj = ui zwei Wege von x nach ui . Sind sie verschieden, so ist wegen der minimalen Wahl von r dann ui = ur . Also ist x = u0 , . . . , ur = y = vs , vs−1 , . . . , v0 = x ein Kreis im Widerspruch zu Definition 5.2.4. Somit müssen beide Wege gleich sein. Da i minimal war, folgt i = 1. Da r > 1 ist, gibt es nun zwei verschiedene Wege von u1 nach y. Dies steht im Widerspruch zur minimalen Wahl von r. Somit haben wir gezeigt, dass es zwischen zwei Ecken genau einen Weg gibt. (b) Sei E1 die Menge der Ecken x von Γ, für die der nach (a) eindeutig bestimmte Weg von x nach v durch u geht, sei E2 = E \E1 . Sei Ki (i = 1, 2) die Menge der Kanten, die nur Ecken in Ei enthalten und Γi = Γ(Ei , Ki ). Wir zeigen, dass beide Γi zusammenhängend sind. Es ist u ∈ E1 . Jedes e ∈ E1 ist mit u verbunden. Dabei geht der eindeutige Weg nicht über v. Dies gilt natürlich auch für alle Ecken auf diesem Weg, die somit also auch alle in E1 liegen. Damit ist Γ1 zusammenhängend. Es ist v ∈ E1 , also ist v ∈ E2 . Jedes f ∈ E2 ist mit v verbunden. Der Weg geht hierbei nicht über u. Dies gilt dann auch für alle Ecken auf diesem Weg, also sind diese alle in E2 . Damit ist auch Γ2 zusammenhängend. Da Γ keinen Kreis hat, haben auch Γ1 und Γ2 keine Kreise. Also sind Γ1 und Γ2 Bäume. Angenommen, es gibt ein e ∈ E1 und ein f ∈ E2 mit {u, v} = {e, f } ∈ K. Sei e = u1 , . . . , us = u ein Weg von e nach u und v = v1 , . . . , vr = f ein Weg von v nach f . Da die ui in E1 liegen und die vj in E2 liegen, sind sie paarweise verschieden. Dann ist e = u1 , . . . , us = u, v, . . . , f, e ein Kreis in Γ. Das ist ein Widerspruch.
5.2
Zusammenhängende Graphen
253
(c) Ist |E| = 2, so ist die Behauptung richtig, sie gilt sogar für |E| = 1, was wichtig ist, da wir die Behauptung durch Induktion beweisen wollen. Konkret sieht das so aus: r oder
Γ=
r
r .
Sei n ≥ 2. Wir nehmen also an, dass die Behauptung für alle Bäume mit n Ecken erfüllt ist. Sei nun Γ ein Baum mit |E| = n + 1 und {u, v} eine Kante. Es seien Γ1 , Γ2 die beiden Bäume gemäß (b). Wir wählen die gleichen Bezeichnungen wie in (b) und sehen, dass damit |E| = |E1 | + |E2 | und |K1 | + |K2 | = |K| − 1 ist. Per Induktion gilt |K| = |K1 | + |K2 | + 1 = |E1 | − 1 + |E2 | − 1 + 1 = |E| − 1.
Wir haben in der Beweisidee 5.2.5 ja schon überlegt, dass die Aussagen von Satz 5.2.5 eigentlich auch anschaulich verankert werden können. Es ist daher nicht erstaunlich, dass jede dieser Aussagen geeignet ist, Bäume zu charakterisieren. Wir wollen das im folgenden Satz formulieren und beweisen. Satz 5.2.6 Sei Γ = Γ(E, K) ein zusammenhängender Graph. Dann ist Γ ein
Baum, falls eine der folgenden Bedingungen erfüllt ist: (a) Für jedes Paar x, y ∈ E mit x = y gibt es genau einen Weg von x nach y. (b) Jede Kante in Γ ist eine Brücke. (c) Es ist |K| = |E| − 1. Beweis 5.2.6 (a) Angenommen, es gibt einen Kreis C in Γ und x, y seien Ecken
aus C. x
y
5.2.6
254
5. Tourenplanung
Dann gibt es zwei Wege von x nach y. Das ist aber nach Voraussetzung nicht möglich. Also enthält Γ keine Kreise. (b) Wir nehmen wieder an, dass es einen Kreis C in Γ gibt und entfernen eine Kante k aus C. k
Dann kann k aber keine Brücke sein, da jede Tour, die über k geht, auch über den restlichen Kreis geführt werden kann. Damit haben wir einen Widerspruch zur Voraussetzung. (c) Wir wollen zeigen, dass unter der Voraussetzung |K| = |E| − 1 jede Kante in Γ eine Brücke ist. Nehmen wir also an, es gibt Kanten in Γ, die keine Brücken sind. Wir entfernen aufeinanderfolgend aus Γ alle diese Kanten, die im jeweiligen Restgraphen nicht Brücken sind. Wir enden mit einem Graphen ¯ = Γ(E, K), ˜ der zusammenhängend ist und die Eigenschaft hat, dass jede Γ Kante eine Brücke ist. Also ist er nach (b) ein Baum. Nach Satz 5.2.5 (c) gilt ˜ Also ist 1 = |E| − |K|. ˜ = 1. 1 = |E| − |K| ≤ |E| − |K| ˜ und wir haben niemals eine Kante weggenommen. Daher Somit ist K = K gibt es in Γ keine Kanten, die keine Brücken sind. Einfacher ausgedrückt: Alle Kanten sind Brücken. Nach (b) ist dann Γ ein Baum. Die Aussagen von Satz 5.2.6 sind alle anschaulich nachvollziehbar. Das gilt auch für das folgende Resultat, das wir in Satz 5.3.5 benutzen werden. 5.2.7
Satz 5.2.7 Sei Γ = Γ(E, K) ein Baum und |E| ≥ 2. Dann hat Γ mindestens
zwei Ecken der Valenz 1. Beweis 5.2.7 Sei |E| = n und seien d1 , . . . , dn die Valenzen der Ecken. Nach
Satz 5.1.6 ist
n i=1
di = 2|K| = 2(|E| − 1) = 2|E| − 2. 5.2.5
5.2
Zusammenhängende Graphen
255
Ist di ≥ 2 für alle i bis auf maximal eines, so gilt 2|E| − 2 =
n
di ≥ 1 + 2(|E| − 1) = 2|E| − 1.
i=1
Das ist ein Widerspruch. Das Verfahren, das wir im Beweis von Satz 5.2.6 (c) angewendet haben, ist nicht nur in diesem speziellen Fall, sondern auch darüber hinaus von Bedeutung. Ist Γ ein zusammenhängender Graph, so haben wir nämlich einen Baum konstruiert, der die gleiche Eckenmenge wie Γ hat. Dies führt zu folgender Definition. Definition 5.2.8 Sei Γ = Γ(E, K) ein Graph und T = Γ(E, K ) ein Baum mit
5.2.8
K ⊆ K. Dann heißt T ein aufspannender Baum. Aufspannende Bäume kann man als wichtige „Grundbausteine“ ansehen. Sie haben eine wesentliche Bedeutung für zusammenhängende Graphen. Lemma 5.2.9 Jeder zusammenhängende Graph Γ besitzt einen aufspannenden
5.2.9
Baum. Beweis 5.2.9 Wir beweisen die Behauptung durch Induktion nach der Anzahl
der Kanten. Ist Γ ein Baum, so sind wir fertig. Damit haben wir auch den Induktionsanfang, da ein zusammenhängender Graph mit nur einer Kante ein Baum ist. Falls Γ kein Baum ist, dann gibt es in Γ einen Kreis. Entfernen wir aus diesem Kreis eine Kante, dann ist der entstehende Graph immer noch zusammenhängend und hat die gleiche Anzahl von Ecken, aber eine Kante weniger. Per Induktion hat er einen aufspannenden Baum. Dieser ist dann aber auch ein aufspannender Baum von Γ und wir sind fertig. In vielen Anwendungen spielen aufspannende Bäume eine Rolle. Hier folgen deshalb einige Beispiele aus unterschiedlichen Bereichen. Beispiele 5.2.10 (a) Die vorhandenen Leitungen der Telekom sollen durch neue
ersetzt werden. Die Graphentheorie zeigt, dass dann nicht alle Kabel erneuert werden müssen. Vielmehr muss jeder Teilnehmer nur durch eine solche Leitung erreicht werden. Man bekommt damit als Grundstruktur einen aufspannenden Baum.
5.2.10
256
5. Tourenplanung
(b) Wenn ein Straßensystem erneuert werden soll, dann müssen nicht alle einzelnen Straßen tatsächlich erneuert werden. Es genügt, dass es zwischen je zwei Orten zumindest eine neue Straße gibt. Auch hier bekommt man also einen aufspannenden Baum. (c) Wenn man, wie es etwa Navigationsgeräte tun, den kürzesten Weg zwischen zwei Orten bestimmen möchte, dann läuft auch dieses Problem auf einen aufspannenden Baum hinaus. Allerdings soll hier unter den vielen möglichen Bäumen ein optimaler bestimmt werden. Damit haben wir wieder, wie beim Müllproblem, die zusätzliche Aufgabe, nicht nur irgendeine Lösung zu finden, sondern unter allen möglichen Lösungen eine optimale. Im Moment haben wir hierzu noch nicht die Hilfsmittel, wir kommen aber auf diese Frage zurück.
5.3
5.3 Eulerwege Für viele Praxisprobleme spielt nun eine weitere mögliche Eigenschaft von Graphen eine wichtige Rolle. Nehmen wir wieder das Problem der Müllabfuhr. Hier ist nämlich nicht nur eine machbare Lösung in Bezug auf die Fahrten gesucht, sondern auch der sparsame Umgang mit Ressourcen wünschenswert. Konkret braucht man eine Rundfahrt, die nicht nur zuverlässig jede Straße abfährt, sondern dies im Idealfall auch jeweils nur genau einmal macht. Jede Straße muss ja abgefahren werden, somit ist dann egal, wie man optimal bewertet, diese Tour ist immer optimal. Darüber hinaus sollten Anfangs- und Endpunkt übereinstimmen („Übernachten der Wagen im Depot“). Touren dieser Art bekommen einen Namen, der an den Mathematiker Leonhard Euler1 erinnert.
5.3.1
Definition 5.3.1 Sei Γ ein Graph. Eine Tour, die jede Kante genau einmal benutzt, heißt Eulerweg. Sind Anfangs- und Endpunkt gleich, so nennt man die Tour einen Eulerkreis bzw. einen geschlossenen Eulerweg.
Achtung! Ein Eulerkreis ist kein Kreis im Sinne von Definition 5.2.1. Genauso kann man auch Touren betrachten, die jede Ecke genau einmal enthalten. 1 Leonhard Euler, *15.4.1707 Basel †18.9.1783 St. Petersburg, war einer der bedeutendsten Mathematiker (nicht nur) seiner Zeit mit einem umfangreichen Lebenswerk. Es kann in einer kurzen Fußnote nicht ausreichend gewürdigt werden, doch sei angemerkt, dass seine Beiträge zur Analysis von besonderer Relevanz sind.
5.3
Eulerwege
257
Definition 5.3.2 Sei Γ ein Graph. Ein Kreis, der jede Ecke genau einmal trifft,
5.3.2
2
wird Hamiltonkreis genannt. Für die definierten Begriffe finden sich Beispiele in der Praxis. Ganz offensichtlich sollten sich Müllfahrzeuge auf einem Eulerkreis bewegen. Hamiltonkreise spielen etwa beim Bestücken von Leiterplatten eine Rolle (und das bedeutet nicht, dass sie leicht zu bestimmen sind). Das folgende Beispiel nimmt die beiden Fälle noch einmal auf. Beispiel 5.3.3 In der folgenden Abbildung sieht man einen Graph, den man
als Stadtplan deuten kann. Insbesondere gibt es fünf interessante Plätze, die Touristen gerne besuchen (p, q, r, t und u), aber auch die Straßen werden als reizvoll angesehen und oft durchlaufen. p q r t u Tourist Anton möchte alle Plätze sehen, jeden dieser Punkte genau einmal besuchen und zum Ausgangspunkt zurückkehren. Touristin Barbara möchte jede Straße genau einmal gehen. Ihr ist es egal, ob sie wieder zum Ausgangspunkt zurückkehrt. Gibt es Routen für Anton und für Barbara? Im Fall von Anton ist ein Zyklus gesucht, der jede Ecke enthält. So kann man zum Beispiel in der Reihenfolge p, q, t, u, r, p laufen und die Bedingungen sind erfüllt. Im Fall von Barbara ist es nicht ganz so einfach. Sei nämlich x die Startecke und y die Endecke. Jedes Mal, wenn Barbara nach x zurückkehrt, muss sie auf verschiedenen Kanten ankommen und weggehen. Das gilt entsprechend natürlich auch für y. Ist also x = y, dann sind d(x) und d(y) ungerade. Für alle anderen Ecken z gilt hingegen, dass genauso viele Wege zu ihnen hinführen wie von ihnen wegführen. Damit ist d(z) gerade, wenn z weder der Anfangspunkt noch der Endpunkt ist.
2 Namensgeber ist hier der irische Mathematiker Sir William Rowan Hamilton, *4.8.1805 Dublin †2.9.1865 Dunsink bei Dublin. Er arbeitete auch als Physiker und Astronom, leistete Beiträge zur Mechanik und entdeckte die Quaternionen.
5.3.3
258
5. Tourenplanung
Nun kann man in dieser konkreten Situation und dem gegebenen Graphen aber einfach zählen. Für die Ecken e und für d(e) sieht man: e: p, q, r, t, u d(e) : 3 3 3 4 3 Damit gibt es hier offenbar zu viele Ecken ungerader Valenz. Also gibt es keine Route für Barbara. Ist es generell einfacher, einen Hamiltonkreis zu finden als eine Eulertour zu identifizieren? Nein, dieser Eindruck täuscht. Das Auffinden eines Hamiltonkreises ist in der Regel ein sehr schwieriges Problem. Es ist insbesondere unklar, ob es hierfür einen effizienten Algorithmus gibt. Wir werden gleich ein Kriterium angeben, wann genau ein Graph einen Eulerkreis besitzt. Ein ähnliches Kriterium für Hamiltonkreise ist unbekannt. Eine Anwendung hiervon ist das so genannte Traveling Salesman Problem (TSP). Ein Handlungsreisender möchte n Orte besuchen und dann wieder zum Ausgangspunkt zurückkehren. Für die Reise zwischen den Orten i und j entstehen Kosten cij . Gesucht ist eine Reiseroute, die möglichst kostengünstig ist. Dies ist das Gleiche, wie in dem entsprechenden vollständigen Graph einen optimalen Hamiltonkreis zu finden. Nun gibt es aber (n − 1)! Hamiltonkreise. Sie alle aufzuschreiben und dann die billigste Tour auszusuchen ist hoffnungslos, wie man sich leicht für kleine Werte von n (etwa für n = 12) klarmachen kann. Es ist unbekannt, ob es für dieses Problem einen Algorithmus gibt, der deutlich besser als das einfache Durchprobieren ist. 5.3.1 Das Königsberger Brückenproblem Die Bezeichnung Eulerweg geht, wie bereits erwähnt, auf Leonhard Euler zurück. Er löste 1736 das folgende Königsberger Brückenproblem und legte damit den Grundstein zur Graphentheorie. Es ist sicherlich eines der bekanntesten graphentheoretischen Probleme, vielleicht ist es sogar das bekannteste Problem dieser Art überhaupt. Durch Königsberg fließt der Pregel, ein Fluss, in dem sich zwei Inseln (sie seien C und D genannt) befinden, fast genau so, wie es in der Abbildung unten zu sehen ist. Die Insel C ist in Wirklichkeit eine Halbinsel, aber das tut hier nichts zur Sache. Es gibt sieben Brücken zwischen dem Festland und den Inseln bzw. zwischen den beiden Inseln. Die Frage ist nun, ob die Königsberger ihren Sonntagsspaziergang so gestalten können, dass sie dabei über jede Brücke genau einmal gehen.
5.3
Eulerwege
259
A
D
C
B Das Königsberger Brückenproblem kann man in die Sprache übertragen, die wir in diesem Kapitel entwickelt haben. Es heißt dann schlicht: Gibt es einen Eulerweg über die Königsberger Brücken? Wir zeichnen zunächst den entsprechenden Graph, um das Problem übersichtlich zu gestalten. A r XXX XXX D r r C r B Das gleiche Kriterium wie vorher zeigt nun, dass es keinen Eulerweg geben kann. Der Grund ist relativ leicht einzusehen: Die Valenzen passen nicht zusammen. Es fällt übrigens auf, dass beim Königsberger Brückenproblem mehrfache Kanten auftreten, zwei Ecken also durch mehr als eine Kante verbunden sind. Mehrfache Kanten sind auch durchaus sinnvoll, gerade wenn man an praktische Probleme denkt. In einer Stadt kann es ja fraglos parallele Straßen zwischen zwei Punkten geben. Definition 5.3.4
Ein Graph Γ, bei dem mehrfache Kanten auftreten, heißt
Multigraph. Wegen der Überlastung der Brücken und bedingt durch die zahlreichen Versuche der Königsberger, einen wahrhaft „Euler’schen“ Spaziergang zu machen, bauten die Stadtväter eine weitere Brücke zwischen den beiden Inseln. Das sah so aus: A
D
B
C
5.3.4
260
5. Tourenplanung
Ganz offensichtlich kann man nun die gewünschte Route finden. Noch später, als die Motorisierung zunahm, kam es dann vermehrt zu Unfällen auf den Brücken, weshalb die Stadtverwaltung, wie in vielen anderen Städten auch, ein Einbahnstraßensystem entwickelte. A
D
C
B Ist nun eine Fahrt möglich, bei der jede Brücke genau einmal benutzt wird und dennoch die Verkehrsregeln eingehalten werden? Probieren Sie es aus und denken Sie dabei an die Theorie, die wir entwickelt haben. Im Beispiel auf Seite 257 (hoffentlich erinnern Sie sich an den Stadtplan mit fünf Plätzen) hatten wir notwendige Bedingungen für die Existenz eines Eulerwegs angegeben. Leonhard Euler selbst konnte bereits zeigen, dass diese Bedingungen auch hinreichend sind. Die folgenden beiden Sätze zeigen das im Detail. 5.3.5
Satz 5.3.5 Ein Multigraph Γ besitzt genau dann einen geschlossenen Eulerweg, falls Γ zusammenhängend ist und alle Ecken gerade Valenz haben. Beweisidee 5.3.5 Der Beweis beschränkt sich auf eine Richtung („⇐=“). Er nutzt ein induktives Argument. Falls es nämlich einen Multigraphen gibt, der zusammenhängend ist und bei dem alle Ecken gerade Valenz haben, dann gibt es auch eine kleinste Eckenzahl, für die das zutrifft. Also zerlegen wir unseren Graphen so in kleinere Teilgraphen, dass diese Teile jeweils zusammenhängend sind und nur Ecken gerader Valenz haben. Durch diese Teilgraphen gibt es jeweils Eulerwege, die man geschickt zu einem großen Weg durch den ganzen Graphen zusammensetzt. Beweis 5.3.5 Es genügt (man vergleiche das Beispiel auf Seite 257), nur die ei-
ne Richtung zu beweisen. Sei also Γ zusammenhängend und d(v) ≡ 0 (mod 2) für alle v ∈ E.
5.3
Eulerwege
261
Mit dieser Voraussetzung sind alle Valenzen ≥ 2 und es gibt nach Satz 5.2.7 einen Kreis C in Γ (wobei wir nutzen, dass Satz 5.2.7 offenbar auch für zusammenhängende Multigraphen gilt, falls wir die Definition eines Kreises auch auf die Folge zweier verschiedener Kanten zwischen zwei Ecken ausdehnen). Sei Γ = Γ \ C und seien Γ1 , . . . , Γt die Zusammenhangskomponenten in Γ . Anschaulich kann man sich das ungefähr so vorstellen: Γ '$ r 2 .. Γ1 r C . r &% Γt
Die Γi ’s sind zusammenhängend und alle Valenzen sind gerade, da entweder 0 oder 2 Kanten durch die Wegnahme von C abgezogen werden. Per Induktion enthalten dann alle Γi geschlossene Eulerwege. Wir erhalten einen geschlossenen Eulerweg in Γ nun wie folgt: Wir starten irgendwo auf C und wandern auf C bis zur ersten Ecke in einem Γi . Wir gehen nun den Eulerweg in Γi und wandern auf C weiter bis zum nächsten Γj . Hier gehen wir wieder den Eulerweg usw.; die Schritte können wir entsprechend wiederholen, bis wir zum Ausgangspunkt zurückkommen. Ein geschlossener Eulerweg hat denselben Anfangs- und Endpunkt, doch nicht immer braucht man diese Zusatzbedingung. Interessant ist es ja manchmal auch, wenn man an unterschiedlichen Punkten beginnt und endet, solange man alle Wege dazwischen kennenlernt (denken Sie etwa an den Gang durch ein Museum). Offensichtlich müssen Ausgangs- und Endpunkt einer solchen Tour Ecken ungerader Valenz sein. Der folgende Satz zeigt, dass es nicht mehr Ecken dieser Art sein dürfen. Sein Beweis stützt sich auf Satz 5.3.5. Satz 5.3.6 Sei Γ ein zusammenhängender Multigraph. Dann hat Γ genau dann einen nicht geschlossenen Eulerweg, wenn Γ genau zwei Ecken ungeraden Grades hat.
5.3.6
262
5. Tourenplanung
Beweis 5.3.6 Wieder können wir uns auf das Beispiel auf Seite 257 berufen
und feststellen, dass die eine Beweisrichtung gilt. Seien also u, v die beiden Ecken ungeraden Grades in Γ. Sei Γ der Multigraph, den wir erhalten, indem wir noch eine zusätzliche Kante zwischen u und v einfügen. Nun haben alle Ecken gerade Valenz. Nach Satz 5.3.5 hat Γ einen geschlossenen Eulerweg. Nach Entfernen der zusätzlichen Kante bekommen wir also einen Eulerweg in Γ. Nun ist es schön zu wissen, unter welchen Bedingungen man Eulerwege finden kann, doch in der praktischen Umsetzung sollte man auch noch wissen, wie man sie konkret bestimmt. Wir werden daher im Folgenden einen Algorithmus angeben, der als Grundlage für die Konstruktion genutzt werden kann. Wir gehen dabei von einem zusammenhängenden Graphen Γ = Γ(E, K) aus, bei dem alle Valenzen gerade sind. Wir starten mit einer Ecke u0 ∈ Γ. Haben wir bereits die Ecken u0 , . . . , ui mit den Kanten kj = {uj−1 , uj } (j = 1, . . . , i) gegeben, so finden wir ui+1 durch folgendes Verfahren: Sei Γi = Γ(E, K \ {k1 , . . . , ki }). Ist K \ {k1 , . . . , ki } = ∅, so sind wir fertig, wir haben ja alle Kanten durchlaufen. Anderenfalls wählen wir unter den Nachbarn von ui in Γi ein ui+1 so, dass ki+1 = {ui , ui+1 } keine Brücke ist. Falls dies nicht möglich ist, wählen wir einen beliebigen Nachbarn ui+1 . Wir müssen zeigen, dass der Algorithmus in der Tat einen geschlossenen Eulerweg liefert. Auf jeden Fall konstruiert man mit seiner Hilfe eine Tour ˜ dessen Ecken genau die u0 , u1 , . . . , up . Wir betrachten nun den Graphen Γ, Ecken u0 , . . . , up der Tour sind. Die Kanten sind genau die ki . Dann hat dieser Graph offenbar einen Eulerweg von u0 nach up . Das Argument auf Seite 257 zeigt, dass entweder dΓ˜ (up ) ungerade oder u0 = up ist. Da aber up in Γp keine Nachbarn mehr hat, (anderenfalls hätten wir fortfahren können), liegen alle ˜ Also ist dΓ (up ) = d ˜ (up ) gerade. Das liefert Kanten durch up in Γ. Γ u0 = u p . Seien nun S = {e|e ∈ E, dΓp (e) > 0} und T = {e|e ∈ E, dΓp (e) = 0}. Ist S = ∅, so haben wir einen Eulerweg, da es ja keine Kanten mehr gibt.
5.3
Eulerwege
263
Weiter ist u0 = up ∈ T , da wir sonst ja weitermachen könnten. Somit können wir S = ∅ und T = ∅ annehmen. Sei der größte Index mit u ∈ S und u+1 ∈ T . Einen solchen Index gibt es. Wäre es nicht so, dann würde die ganze Tour in T liegen, was dΓp (ui ) = 0 für i = 1, . . . , p liefert, aber der Tatsache widerspricht, dass Γ zusammenhängend ist. Da unsere Tour nach u+1 die Menge T nicht mehr verlässt und dΓp (x) = 0 für alle x ∈ T gilt, ist k+1 eine Brücke in Γ . Nun ist dΓp (u ) > 0. Also gibt es eine Kante k in Γp mit u ∈ k, die von k+1 verschieden ist. Wenn der Algorithmus an der Stelle u ist, wählt er offensichtlich die Brücke k+1 . Dies bedeutet, dass zu diesem Zeitpunkt alle möglichen Kanten durch u Brücken sind. Da k eine mögliche Wahl ist, ist auch k eine Brücke. Dann ist aber k auch eine Brücke in Γp , da ja Γp eher weniger Kanten enthält als Γ . Da Γp aus Γ durch Wegnahme einer geschlossenen Tour entsteht, sind die Valenzen aller Ecken in Γp immer noch gerade. Ein Graph, in dem alle Valenzen gerade sind, kann aber keine Brücken enthalten, da er nach Wegnahme der Brücke eine Zusammenhangskomponente besitzt, die genau eine Ecke ungeraden Grades hat, was Folgerung 5.1.7 widerspricht. Wollen wir diesen Algorithmus zur Konstruktion eines Eulerkreises anwenden, so gibt es ein weiteres Problem. Wie entscheiden wir, ob eine Kante eine Brücke ist? Wir müssen dazu offensichtlich in jedem Schritt feststellen, ob der Graph auch ohne die betreffende Kante noch zusammenhängend ist. Schön wäre es also, einen Algorithmus zu haben, mit dem man diese Eigenschaft feststellen kann. Nun ist nach Lemma 5.2.9 ein Graph genau dann zusammenhängend, wenn er einen aufspannenden Baum enthält. Also suchen wir einen Algorithmus, der einen aufspannenden Baum konstruiert. Wir probieren es und laufen einfach an einer Ecke los. Der Graph hat eine endliche Menge von Ecken, sodass wir nach endlich vielen Schritten eine der folgenden Alternativen haben: Entweder es geht nicht weiter, weil wir in einer Sackgasse gelandet sind, also an einer Ecke der Valenz 1 angekommen sind, oder aber wir würden durch das Weitergehen einen Kreis erzeugen. Natürlich bedeuten beide Fälle nicht, dass wir alle Ecken besucht und alle Kanten entlang gelaufen sind. Also gehen wir zurück und zwar so lange, bis eine andere Wahl als die vorher getroffene möglich ist. Konkret werden die folgenden Schritte durchgeführt:
264
5. Tourenplanung
(1) Wir starten mit einer Ecke, diese wird als aktive Ecke markiert. (2) Wir betrachten die von der aktiven Ecke ausgehenden Kanten. Liegt diese Ecke auf einer oder mehreren Kanten, die noch nicht markiert sind, so wählen wir eine Kante aus und prüfen nach: (a)
(b)
Falls die Endecke dieser Kante noch nicht markiert ist, so markieren wir die Kante und die Endecke. Die Endecke wird aktiv. Wir wiederholen (2) mit der neuen aktiven Ecke. Ist die Endecke bereits markiert, so wurde sie offenbar schon in einem früheren Stadium besucht. Jetzt streichen wir die Kante aus dem Graphen. Wir wiederholen (2).
Gibt es keine unmarkierten Kanten mehr, so gehen wir zu (3). (3) Sind alle Ecken markiert, so sind wir fertig, ansonsten gehen wir zu (4). (4) Wir gehen entlang der zuletzt markierten Kante. Die Anfangsecke wird aktiv und wir gehen zu (2). Bricht der Algorithmus ab und sind nicht alle Ecken markiert, so ist der Graph nicht zusammenhängend. Ist der Graph aber zusammenhängend, so konstruiert der Algorithmus einen aufspannenden Baum. Das ist leicht zu begründen. Der Algorithmus beinhaltet in Schritt (4), dass man sich stets an markierten Kanten entlang bewegt und in jeder Iteration neue Äste an den bereits konstruierten Teilbaum anhängt. Also ist das Resultat zusammenhängend. Da wir in Schritt (2) Kreise vermeiden, ist der konstruierte Graph ein Baum. Wenn der Algorithmus abbricht, wurden alle Kanten, die zu Ecken des Resultatgraphen gehören, durchlaufen. Gibt es also noch neue Ecken, so sind diese nicht auf den Kanten mit den konstruierten Ecken und der Graph kann nicht zusammenhängend sein. Wir haben also einen Algorithmus gefunden, der in einem zusammenhängenden Graphen einen Eulerweg findet. Damit ist unser Müllwagen-Problem gelöst, oder? Leider treten noch Probleme auf, wie das nächste Beispiel zeigt.
5.3
Eulerwege
265
Beispiel 5.3.7 In der folgenden Abbildung sollen die Kanten des Graphen die
Straßen eines Dorfes sein, die ein Müllwagen bedienen soll. Der Müllwagen muss also jede Straße mindestens einmal durchfahren. Um die Anzahl der Leerfahrten gering zu halten, soll er jede Straße möglichst nicht öfter als einmal durchfahren. Die beste Lösung wäre eine Eulertour, die aber in der Regel nicht existiert (das ist der Unterschied zwischen Theorie und Praxis).
Es gibt offensichtlich vier Ecken ungerader Valenz in diesem Graphen. Mit den Sätzen 5.3.5 und 5.3.6 folgert man, dass der Graph keinen Eulerweg besitzt. Was nun? Unsere ganze schöne Theorie nützt uns erst einmal wenig. Die Praxis ist anders. Wir müssen also weiterdenken. Vielleicht können wir aus dem Graphen einen neuen Graphen machen, der dann einen Eulerweg enthält. Wir wissen nach Folgerung 5.1.7, dass die Anzahl der Ecken ungerader Valenz immer gerade ist. Also können wir sie (nicht nur hier, sondern ganz allgemein) in Paaren zusammenfassen. Man nennt das Matching. Wir bestimmen unter allen diesen Zusammenfassungen diejenige mit der kleinsten Distanz, d. h., wir fassen die Ecken ungerader Valenz so zu Paaren zusammen, dass die Summe der Entfernungen zwischen den Ecken minimal wird minimales Matching). Nun verdoppeln wir für jedes dieser Paare die Kanten des kürzesten Weges, der die beiden Ecken verbindet. In unserem Beispiel entsteht so aus dem gegebenen Graphen der folgende Graph:
In diesem Graphen finden wir mit unserem Algorithmus einen Eulerweg. Ist Ihnen aufgefallen, dass wir nun zum ersten Mal von kürzesten Wegen gesprochen haben? Darum wird es jetzt gehen. Wir betrachten also Graphen, in denen nicht alle Kanten gleichberechtigt sind, sondern ihnen gewisse Distanzen zugewiesen werden. Damit haben wir ein neues Problem. Um überhaupt ein minimales Matching zu finden, müssen wir den minimalen Abstand zwischen zwei Ecken des Graphen und einen dazugehörigen Weg bestimmen können.
5.3.7
266
5. Tourenplanung
Mit dieser Aufgabe werden wir uns im nächsten Abschnitt beschäftigen. Es sei noch einmal daran erinnert, dass das Ziel nicht nur ist, irgendwie einen passenden Weg zu finden, sondern einen Algorithmus anzugeben, wie man ganz allgemein einen optimalen Weg finden kann. 5.3.2 Der Algorithmus von Dijkstra Wir nehmen nun zusätzlich an, dass es eine Gewichtsfunktion w : K → R+ gibt, die jeder Kante k einen Wert w(k) zuordnet. Dies kann die Länge der Kante sein, aber auch, wie im Beispiel des Mülltransports, die Zeit, die man benötigt, um diese Kante zu befahren. Obwohl es durchaus Beispiele gibt, in denen auch negative Werte sinnvoll sind, wollen wir uns auf nichtnegative beschränken, was für unsere Anwendung ausreichend ist. Sei also Γ = Γ(E, K) ein Graph mit einer Gewichtsfunktion w und seien u, v Ecken von Γ. Gesucht ist ein Weg u = u0 , u1 , . . . , un = v mit Kanten n−1 ki = (ui , ui+1 ) für i = 0, . . . , n − 1 so, dass i=0 w(ki ) minimal ist. Eine Lösung des Problems bietet der Algorithmus von Dijkstra3 . Wir wollen im Folgenden seine Grundzüge beschreiben. Der Algorithmus macht, was augenscheinlich sinnvoll ist: Von einer Ecke ausgehend verfolgen wir Wege, wählen dabei jeweils möglichst kurze und vermeiden lange Wege. Dazu „initialisieren“ wir den Graphen, indem wir der Startecke die Distanz 0 und allen anderen Ecken die Distanz ∞ zuordnen. Wir speichern die Startecke als „bereits besucht“. Zu allen Nachbarecken berechnen wir die entsprechenden Kantengewichte und ordnen ihnen das jeweilige Kantengewicht als neue Distanz zu. Wir wählen die Ecke mit der geringsten Distanz aus, auch sie wird als „bereits besucht“ markiert. (*) Für alle ihre noch nicht besuchten Nachbarecken bestimmen wir nun die Summe aus der Distanz dieser Ecke und dem jeweiligen Kantengewicht. Diese Summe ist die neue Distanz der jeweiligen Ecke, falls sie kleiner als der dort gespeicherte Wert ist („Korrektur“; wir gehen weiter unten darauf ein). Die Ausgangsecke wird als Vorgänger abgelegt. Aus allen Nachbarecken, die bisher noch nicht besucht wurden, wird dann die mit der aktuell kleinsten Distanz ausgewählt. Sie ist die neue aktive Ecke und wird entsprechend markiert. Diese Schritte werden ab (*) wiederholt, solange es noch unbesuchte Ecken gibt.
3 Edsger Wybe Dijkstra, *11.5.1930 Rotterdam †6.8.2002 Nuenen, war ein niederländischer Informatiker. Er war wesentlich an der Entwicklung der strukturierten Programmierung beteiligt, deren Grundidee die Zerlegung eines Programms in Prozeduren ist.
5.3
Eulerwege
267
Der Algorithmus klingt gut, aber könnte es nicht dennoch passieren, dass eine bereits besuchte Ecke eine Distanz hat, die durch einen Umweg über eine aktive Ecke kleiner wird? Im folgenden Graphen ist die „direkte“ Distanz von u nach x nämlich 5, doch über y ist sie nur 4.
10 vr
ur @ @ 5 2 @ @ r y
@
2
@rx
Nein, das Problem tritt nicht auf, denn genau das verhindert unsere Korrektur. Wir korrigieren damit gegebenenfalls die Distanzen der bereits besuchten Ecken, die Nachbarn der jeweils aktiven Ecke sind. Der zugehörige Weg muss markiert werden, was wir durch das Ausweisen eines neuen Vorgängers gemacht haben. Der Algorithmus bestimmt nicht nur den kürzesten Abstand von u zu jeder anderen Ecke, sondern auch einen kürzesten Weg. Und das geht folgendermaßen: Wir speichern in jedem Schritt die aktive Ecke als Vorgängerecke derjenigen Nachbarecken, deren Distanz verändert wurde. Ist nun v eine Ecke und wir suchen einen kürzesten Weg von u nach v, so wählen wir die Vorgängerecke u1 von v, und dann die Vorgängerecke u2 von u1 usw., wir fahren also in gleicher Weise fort. Dies endet mit us = u. Dann ist u = us , us−1 , . . . , u2 , u1 , v ein kürzester Weg. So sieht die kurze Zusammenfassung des Algorithmus aus: (1) Wir wählen eine Startecke u. Diese erhält dadurch die Distanz 0. Für alle anderen Ecken setzen wir die Distanz auf ∞. (2) Wir gehen zu allen Nachbarecken von u. Diese erhalten als Distanz die Summe aus der Distanz der Ausgangsecke und des Kantengewichts. (3) Wir wählen eine Ecke mit der kleinsten Distanz als neue aktive Ecke. (4) Wir berechnen von der aktiven Ecke aus entsprechend wie in (2) die Distanzen aller Nachbarecken. Dabei korrigieren wir eventuell die Distanz(en), falls sich bei der Berechnung eine kleinere Distanz als die bisherige ergibt. Gleichzeitig setzen wir die neue(n) Vorgängerecke(n) fest. (5) Wir wiederholen die Schritte (3) und (4), solange es noch nicht besuchte Ecken gibt.
268
5. Tourenplanung
Warum laufen wir dabei nicht im Kreis? Es ist nicht ganz selbstverständlich, aber man kann es sich so klarmachen: Zunächst kann man die Distanz von u permanent gleich 0 ansetzen. Alle anderen Distanzen sind zwar zunächst temporär bestimmt, aber die Distanz der jeweils aktiven Ecke ändert sich nicht mehr. Jeder Weg zu einer aktiven Ecke geht von u über bereits berechnete und zusätzliche Ecken. Also ist die Länge mindestens die der Distanz der aktuellen Ecke. Die Distanz der aktuellen Ecke wird also permanent. Was wir bisher gemacht haben, klingt zwar plausibel, aber wir benötigen die Voraussetzung, dass alle Werte nicht negativ sind. Der folgende Graph macht es deutlich. ur @ @ 10 5 2 @ @ @ @rx r vr 8 -2 y In diesem Beispiel ist unsere Überlegung nicht richtig und ganz offensichtlich liegt es am negativen Wert der Kante (x, y). Hier folgt nun der vollständige Dijkstra-Algorithmus. Der Dijkstra-Algorithmus Eingabe: Ein gewichteter Graph Γ mit nicht negativen Gewichten und eine Startecke. Ausgabe: Kürzeste Wege von der Startecke zu allen anderen Ecken des Graphen Γ. (1) Alle Ecken erhalten die temporäre Distanz ∞. (2) Die Startecke erhält die permanente Distanz 0. Sie wird eine aktive Ecke. (3) Wir betrachten die Nachbarecken der aktiven Ecke, die noch keine permanente Distanz haben. Wir berechnen die Distanzen neu. Diese sind die Summe aus der Distanz der aktiven Ecke und dem Gewicht der verbindenden Kante. (4) Korrektur: Ist die so berechnete Distanz für eine Ecke kleiner als die bereits existierende temporäre Distanz, so wird die bisherige Distanz durch die neue Distanz ersetzt. Die aktive Ecke wird als Vorgängerecke gespeichert. (5) Wir wählen eine Ecke mit minimaler temporärer Distanz. Diese wird zur aktiven Ecke, die Distanz wird permanent. (6) Wir wiederholen die Schritte (3) bis (5) solange, bis es keine Ecken mit nicht permanenter Distanz gibt, die Nachbarn mit temporärer Distanz haben.
5.3
Eulerwege
269
Lemma 5.3.8 Der Dijkstra-Algorithmus arbeitet korrekt.
5.3.8
Beweis 5.3.8 Wir nehmen an, dass der Algorithmus einen Weg von u nach v
berechnet hat, es aber einen kürzeren Weg W gibt. Wir nehmen außerdem an, dass v eine Ecke mit kürzestem Abstand zu u ist, für die dieser Fehler passiert. Sei w der Vorgänger von v in W . Dann hat w einen kürzeren Abstand zu u. Also berechnet der Algorithmus einen kürzesten Weg von u nach w korrekt. Zu irgendeinem Zeitpunkt ist w im Algorithmus eine aktive Ecke. Also wird da die Distanz von v neu berechnet, da v Nachbar von w ist. Es gibt an dieser Stelle die folgenden vier Möglichkeiten. (a) Die Distanz von v ist ∞. (b) Die temporäre Distanz von v ist größer als die von w aus berechnete Distanz. (c) Die temporäre Distanz von v ist gleich groß wie die von w aus berechnete Distanz. (d) Die temporäre Distanz von v ist kleiner als die von w aus berechneten Distanz. In den Fällen (a) und (b) ersetzt der Algorithmus die Distanz durch die neu berechnete Distanz. In den Fällen (c) und (d) wird nichts geändert. In allen Fällen hat v danach eine temporäre Distanz, die kleiner oder gleich der von w aus berechneten ist. Dies bedeutet, dass die Distanz zu u höchstens so groß ist wie die auf dem Weg W . Dieser Weg sollte aber kürzer sein als der vom Algorithmus berechnete. Das ist ein Widerspruch. Beispiel 5.3.9
5.3.9
a 1
8
b
10 2 4
u
7
k
6
f
7 4
4 5
c
h
4 3 3
d
5
4
2
2 1
e
6
g
270
5. Tourenplanung
Wir starten mit u. Aktive Ecke wird dann b mit permanenter Distanz 2. Die temporären Distanzen von a, c, d und e sind 10, 7, 3 bzw. 5. Im nächsten Schritt werden die Nachbarn a, c, f von b betrachtet. Dabei wird die Distanz von a nicht verändert, diejenige von c wird durch 6 ersetzt. Der Nachbar f erhält die temporäre Distanz 9. Danach wird die Ecke d aktiv. Die zu betrachtenden Nachbarn sind nun c, e und g. Die Distanz zu c verändert sich nicht, g erhält die Distanz 5 und die von e wird zu 4 verändert. Danach wird e aktiv, die Distanz von f wird zu 8 verändert, g verändert sich nicht. Es erhält der Nachbar h die Distanz 8. Dann wird g aktiv und h bekommt die Distanz 7. Nun wird c aktiv. Es verändert sich an den Distanzen nichts. Dann wird h aktiv. Es bekommt k die Distanz 11. Ansonsten ändert sich nichts. Danach wird f aktiv. Die Distanz zu a änder sich zu 9 und f wird Vorgängerecke. Es ändert sich nichts an den anderen Distanzen. Es bleibt dann noch k. Man bekommt somit den folgenden Baum: a
k 1
f
b
4
2 4
u
c 3
h
4
d
2 2
1
e
g
Der Dijkstra-Algorithmus wird übrigens beim Verschicken von Daten im Internet verwendet. Damit dürfte seine Effizienz bei praktischen Problemen (zumindest aus empirischer Sicht) belegt sein. Es ist zu beachten, dass sich Ausdehnung und Auslastung des Internets permanent verändern, sodass in jedem Knoten (an jeder Ecke) der optimale Weg immer wieder neu berechnet werden muss. Fraglos arbeitet der Algorithmus also sehr schnell.
5.3
Eulerwege
271
Der Dijkstra-Algorithmus berechnet für gegebenes u den jeweils kürzesten Weg zu jeder anderen Ecke des Graphen. Häufig ist man aber nur am kürzesten Weg zwischen zwei Ecken u und v interessiert. Es ist aber kein Algorithmus hierfür bekannt, der asymptotisch schneller wäre. 5.3.3 Verallgemeinerungen Es gibt zwei wesentliche Verallgemeinerungen des Algorithmus von Dijkstra, die wir in Form von Fragen an dieser Stelle formulieren und kurz diskutieren wollen. Beide haben bedeutsame Anwendungen in der Praxis. (1) Manchmal ist es nicht wichtig, die kürzesten Wege zu kennen, sondern wir wollen einfach einen minimalen aufspannenden Baum bekommen. Das könnte etwa der Fall sein, wenn die Kosten für das Anlegen eines Netzwerkes minimiert werden sollen. Gibt es einen Algorithmus für einen solchen minimalen aufspannenden Baum? (2) Der Djikstra-Algorithmus berechnet den kürzesten Weg von einer festen Ecke u zu jeder anderen Ecke, aber nicht den kürzesten Weg zwischen je zwei Ecken. So ist im Beispiel auf Seite 269 im Dijkstrabaum (das ist der Baum, der kanonisch durch den Dijkstra-Algorithmus entsteht) auf Seite 270 der Weg von c nach f von der Länge 14, im Ursprungsgraphen gibt es aber auch einen Weg der Länge 4. Gibt es folglich auch einen Algorithmus, der zwischen je zwei Ecken des Graphen den kürzesten Weg berechnet? Betrachten wir das erste Problem. Im Beispiel auf Seite 270 ist der Wert w(T ) = Σk∈T w(k) = 23 für den Dijkstrabaum T . Betrachten wir aber den Baum T1 in der folgenden Zeichnung, dann gilt w(T1 ) = 22. a
k 1
f
b
4
2
u
c
h
4
3 3
d
2 2
1
e
g
272
5. Tourenplanung
Also ist der Dijkstra-Algorithmus zur Lösung des Problems nicht geeignet, denn er liefert nicht unbedingt einen minimalen aufspannenden Baum. Wir wollen daher einen Algorithmus betrachten, der dies macht, werden aber zunächst die Idee des minimalen aufspannenden Baums begrifflich präzisieren. 5.3.10
Definition 5.3.10 Gegeben sei ein zusammenhängender Graph Γ = Γ(E, K) mit einer Gewichtsfunktion w : K → R+ . Sei Γ1 = Γ(E1 , K1 ) ein Teilgraph von Γ. Dann setzen wir w(Γ1 ) = Σk∈K1 w(k). Ein aufspannender Baum Bopt heißt billigster oder minimaler aufspannender Baum genau dann, wenn w(Bopt ) ≤ w(B) für alle aufspannenden Bäume B gilt.
Man kann nun einen minimalen aufspannenden Baum mit einem so genannten Greedy-Algorithmus finden. Dabei nimmt man an jeder Ecke einfach (und „gierig“, wie es der Name übersetzt besagt) die billigste Fortsetzung unter der Voraussetzung, dass der Graph ein Baum bleibt. Überraschend ist, dass dies in der Tat einen optimalen Baum liefert. 5.3.11
Sei Γ = Γ(E, K) ein zusammenhängender Graph mit der Gewichtsfunktion w : K → R+ . Ist T ein aufspannender Baum, der durch den Greedy-Algorithmus der jeweils billigsten Fortsetzung konstruiert wird, so ist w(T ) ≤ w(U ) für jeden aufspannenden Baum U . Satz 5.3.11
Beweis 5.3.11 Sei U ein aufspannender Baum und seien k1 , . . . , kn−1 die Kan-
ten in T , und zwar genau in der Reihenfolge, wie sie der Greedy-Algorithmus findet. Ist U = T , so sind wir fertig. Sei also U = T . Sei kk die erste Kante von T , die nicht in U ist. Sei S die Menge der Ecken von k1 , . . . , kk−1 und kk = {x, y} mit x ∈ S und y ∈ S. Ist k = 1, d. h. k1 ∈ U , so setzen wir einfach S = {x}. Da U ein aufspannender Baum ist, gibt es einen Weg w in U von x nach y. Da kk keine Kante in U ist, geht der Weg nicht über kk . Also sieht er in etwa so aus: kk qx qy CCq q HHq q XX q kx Folgen wir diesem Weg, so kommen wir irgendwo zu einer Kante kx ∈ U , mit einer Ecke in S und einer Ecke außerhalb von S. Nun ist an der Stelle, an der kk durch den Greedy-Algorithmus gewählt wurde, auch kx ein Kandidat. Da kx nicht gewählt wurde, muss w(kx ) ≥ w(kk ) sein.
5.4
Der Floyd-Warshall-Algorithmus
273
Wir ersetzen nun in U die Kante kx durch kk . Damit erhalten wir einen neuen Graphen U1 . Da jede Tour, die über kx geht, auch über kk geführt werden kann, ist U1 zusammenhängend. Angenommen, es gibt einen Kreis in U1 , der kk benutzt. Indem wir aus diesem die Kante kk entfernen, erhalten wir einen Weg von x nach y in U1 , der auch in U liegt. Dieser enthält nicht die Kante kx , also ist er verschieden von dem Weg w von x nach y in U . Daher gibt es in U zwei verschiedene Wege von x nach y. Da U ein Baum ist, widerspricht dies Satz 5.2.5. Somit hat U1 keine Kreise und ist somit ein Baum. Es ist w(U1 ) = w(U ) − w(kx ) + w(kk ) ≤ w(U ). Weiter kommt die erste Kante in T , die nicht in U1 liegt, nun später vor. Indem wir diese Prozedur fortsetzen, enden wir bei T .
Beispiel 5.3.12 Wenden Sie den eben beschriebenen Algorithmus auf den folgenden Graphen an und überzeugen Sie sich, dass er einen minimalen aufspannenden Baum konstruiert, der mit mehrfachen Kanten eingezeichnet ist. 1 2 s s s Q Q Q 9 5 6 2 3 Q 7 Q9 Q 6 Q 2 Qs 1 s s s 6 Q Qs Q Q Q Q Q Q Q Q Q Q Q Q 2 4 3 1 Q 4 1Q Q Q 7 Q Q Q Q Q Q Q Qs Q Q Q s Qs 9
5.3.12
w(T ) = 16
1
Man kann sich nun auch fragen, ob ein minimaler aufspannender Baum nicht auch ein Baum ist, in dem der Weg zwischen zwei Ecken auch der kürzeste Weg ist. Dass dem nicht so ist, kann man sich am einfachsten an einem Kreis klar machen, in dem alle Gewichte gleich sind. Ein minimal aufspannender Baum ist der Kreis ohne eine Kante {x, y}. Der kürzeste Weg von x nach y geht aber nicht über den Restkreis, sondern direkt über die Kante {x, y}.
5.4 Der Floyd-Warshall-Algorithmus Wir wollen nun noch einen Algorithmus behandeln, der für je zwei Ecken den kürzesten Weg liefert, den so genannten Floyd-Warshall-Algorithmus4 . Wir beweisen dabei zunächst ein Lemma über Teilwege von kürzesten Wegen und stellen fest, dass alle Teilwege ebenfalls (und dabei natürlich auf ihre jeweilige Länge bezogen) kürzeste Wege sind. 4
Robert W. Floyd, *8. 6.1936 New York City †25.9.2001, und Stephen Warshall, *1935 New York City †11.12.2006 Gloucester, MA, waren amerikanische Informatiker, die sich intensiv mit Algorithmen beschäftigt haben.
5.4
274
5.4.1
5. Tourenplanung
Lemma 5.4.1 Sei Γ = Γ(K, E) ein Graph und p = v1 , . . . , vk ein kürzester
Weg von v1 nach vk . Für 1 ≤ i ≤ j ≤ k sei pij der Weg vi , . . . , vj . Dann ist pij ein kürzester Weg von vi nach vj . Beweis 5.4.1 Sei p zerlegt in p1i , pij , pjk . Das Gewicht von p ist dann
w(p) = w(p1i ) + w(pij ) + w(pjk ). p) ≤ w(pij ). Also ist Sei p˜ ein kürzester Weg von vi nach vj . Dann ist w(˜ p) = w(p1i )+w(˜ p)+w(pjk ). Dies pˆ = p1i p˜pjk eine Tour von v1 nach vk mit w(ˆ ist nicht unbedingt ein Weg, da ja p˜ die Wege p1i oder pjk schneiden könnte. p) ≤ w(ˆ p). Aber die Tour enthält auch einen Weg p¯ von v1 nach vk mit w(¯ Damit ist w(˜ p) = w(pij ) und pij ist ein kürzester Weg. Wenn man also einen kürzesten Weg betrachten möchte, dann ist es sinnvoll, sich auch mit Teilwegen zu beschäftigen. Somit lohnt sich die folgende Begriffsbildung in Bezug auf die Ecken. 5.4.2
Definition 5.4.2 Sei Γ = Γ(K, E) ein Graph und v1 , . . . , vk ein Weg von v1 nach vk . Dann nennen wir {v2 , . . . , vk−1 } die Menge der Zwischenecken.
Wir wollen nun annehmen, dass in einem Graphen Γ = Γ(K, E) die Ecken (k) als v1 , . . . , vn angeordnet sind. Für festes k und vi , vj ∈ E sei Γij die Menge aller Wege von vi nach vj , die nur Zwischenecken in {v1 , . . . , vk } haben. (k) ˜ Sei p ∈ Γij von minimaler Länge, also im Graphen Γk = ({v1 , . . . , vk }, K) ˜ mit K = K ∩ ({v1 , . . . , vk } × {v1 , . . . , vk }). Ist vk keine Zwischenecke von p, (k−1) und so sind alle Zwischenecken von p in {v1 , . . . , vk−1 }, also ist p ∈ Γij (k−1) (k) ⊆ Γij ist. dort auch von minimaler Länge, da Γij
Sei vk eine Zwischenecke. Dann zerlegen wir p in zwei Teilwege p1 von vi nach vk und p2 von vk nach vj . Da auf einem Weg keine Ecke doppelt vorkommt, (k−1) (k−1) und p2 ∈ Γkj . Nach Lemma 5.4.1 sind p1 und p2 kürzeste ist p1 ∈ Γik (k−1) (k−1) Wege in Γik bzw. Γkj . Damit haben wir die folgende Aussage (mit den gewählten Bezeichnungen) bereits bewiesen: 5.4.3
(k)
(k−1)
Lemma 5.4.3 Sei p ein Weg kürzester Länge in Γij . Ist p ∈ Γij
, so kann man p in zwei Wege kürzester Länge mit Zwischenecken in {v1 , . . . , vk−1 } zerlegen.
5.4
Der Floyd-Warshall-Algorithmus
275 (k)
(k)
Es könnte nun sein, dass es keinen Weg in Γij gibt, also Γij = ∅. Um dies zu ˜ und vermeiden, erweitern wir den Graphen Γ zum vollständigen Graphen Γ setzen wij = ∞, falls (vi , vj ) keine Kante in Γ ist, sonst ist wij das Gewicht ˜ von vi nach vj wird somit niemals der Kante (vi , vj ). Ein kürzester Weg in Γ über Kanten mit Gewicht ∞ gehen. Damit ändert sich nichts an den Distanzen und den kürzesten Wegen im Graphen Γ. Also können wir annehmen, ˜ ist. Insbesondere ist dann aber Γ(k) = ∅ für alle i, j, k. dass Γ = Γ ij (k)
Wir bezeichnen mit dij das Gewicht eines kürzesten Weges von vi nach vj mit allen Zwischenecken in {v1 , . . . , vk }. Was wir suchen, ist also ein Weg in (n) (n) Γij mit Gewicht dij . Sei zunächst k = 0. Dann hat ein Weg von vi nach vj keine Zwischenecken. (0) (k) Also ist dij = wij . Wir definieren dij rekursiv, indem wir Lemma 5.4.1 benutzen, also durch wij falls k = 0 (k) dij = (k−1) (k−1) (k−1) , dik + dkj } falls k ≥ 1 min{dij (k) und setzen D(k) = dij ). Die Matrix D(n) enthält die Längen der kürzesten Wege zwischen allen Paaren vi , vj , das ist genau das, was wir suchen. Nun sind wir aber nicht nur an den Entfernungen interessiert, sondern auch an den kürzesten Wegen. Wir konstruieren sie genauso wie beim Dijkstra Algorithmus. Es ist wichtig, dass man für einen kürzesten Weg von vi nach vj nur den Vorgänger von vj auf einem solchen Weg abspeichern muss. Dann (k) kann man den Weg wieder rekonstruieren. Sei dazu πij der Vorgänger von (k) (n) vj auf einem kürzesten Weg p ∈ Γij . Dann ist πij der Vorgänger von vj auf einem kürzesten Weg in Γ. (k) Die rekursive Formel für πij lautet wie folgt: leer für i = j oder wij = ∞ (0) πij = für i = j und wij < ∞ vi (k)
(k)
Sei nun k ≥ 1. Sei p ∈ Γij . Kommt vk nicht als Zwischenecke vor, so ist πij = (k−1) . Ist vk eine Zwischenecke, so ist der Vorgänger auf dem kürzesten Weg πij (k) (k−1) von vi nach vj der gleiche wie auf dem Weg von vk nach vj , also πij = πkj .
276
5. Tourenplanung
Damit gilt: (k)
πij =
⎧ (k−1) (k−1) (k−1) (k−1) ⎪ falls dij ≤ dik + dkj ⎨ πij ⎪ ⎩ π (k−1) falls d(k−1) > d(k−1) + d(k−1) . ij kj ik kj
Wenn wir noch einmal an unser Müllproblem denken, was wir ja simulieren wollen, so wird es nun höchste Zeit, auch daran zu denken, dass wir Einbahnstraßen haben können. Diese werden durch die Graphen bisher nicht modelliert. Wir erweitern daher die Definition zu der eines gerichteten Graphen. 5.4.4
Definition 5.4.4
Ein Graph Γ mit der Eckenmenge E heißt gerichtet, falls
K ⊆ E × E ist. Definition 5.4.4 bringt eine Reihenfolge in die Ecken. Es folgt mit dieser Definition also nicht mehr zwingend aus (e, f ) ∈ K, dass auch (f, e) ∈ K für e, f ∈ E ist. Bei einem gerichteten Graph sind damit die Kanten als geordnete Paare (e, f ) anzusehen (ganz genau wie auch sonst etwa beim kartesischen Produkt R × R). In diesem Fall wird (e, f ) folgendermaßen gezeichnet: e
r -
r f
Es ist offensichtlich, dass beide Algorithmen, nämlich sowohl der DijkstraAlgorithmus als auch der Floyd-Warshall-Algorithmus genauso für gerichtete Graphen richtig sind. Der Floyd-Warshall liefert auch bei negativen Gewichten das korrekte Resultat, es dürfen nur keine Kreise negativer Länge enthalten sein. 5.4.5
Beispiel 5.4.5
2 s @ B@ B @ B @ 4 3 7 I BBN 1 @ @ @ B 8 @s3 s 1P PP B @ 2 R PPP @ i PP B -4 -5 @ @s - PPBBs 4 6 5
5.5
Das Müllproblem: Eine Zwischenbilanz
277
Wir erhalten dann die folgenden Matrizen: ⎛
D(0)
0 ⎜∞ ⎜ =⎜ ⎜∞ ⎝ 2 ∞ ⎛
D(1)
0 ⎜∞ ⎜ =⎜ ⎜∞ ⎝ 2 ∞ ⎛
D(2)
0 ⎜∞ ⎜ =⎜ ⎜∞ ⎝ 2 ∞ ⎛
D(3)
⎞ 3 8 ∞ −4 0 ∞ 1 7⎟ ⎟ 4 0 ∞ ∞⎟ ⎟ ∞ −5 0 ∞ ⎠ ∞ ∞ 6 0 ⎞ 3 8 ∞ −4 0 ∞ 1 7⎟ ⎟ 4 0 ∞ ∞⎟ ⎟ 5 −5 0 −2 ⎠ ∞ ∞ 6 0 ⎞ 3 8 4 −4 0 ∞ 1 7⎟ ⎟ 4 0 5 11 ⎟ ⎟ 5 −5 0 −2 ⎠ ∞ ∞6 0
0 3 8 ⎜∞ 0 ∞ ⎜ =⎜ ⎜∞ 4 0 ⎝ 2 −1 −5 ∞ ∞ ∞
⎞ 4 −4 1 7⎟ ⎟ 5 11 ⎟ ⎟ 0 −2 ⎠ 6 0
⎛
π (0)
⎛
π (1)
π (2)
D(4)
⎛
π (3)
D(5)
− ⎜− ⎜ =⎜ ⎜− ⎝ 4 − ⎛
π (4)
⎛
⎞ 0 1 −3 2 −4 ⎜ 3 0 −4 1 −1 ⎟ ⎜ ⎟ ⎟ =⎜ ⎜7 4 0 5 3⎟ ⎝ 2 −1 −5 0 −2 ⎠ 8 5 16 0
− ⎜− ⎜ =⎜ ⎜− ⎝ 4 −
− ⎜ 4 ⎜ =⎜ ⎜ 4 ⎝ 4 4 ⎛
π (5)
− ⎜ 4 ⎜ =⎜ ⎜ 4 ⎝ 4 4
⎞ 1 2⎟ ⎟ −⎟ ⎟ −⎠
1 − 3 − −
1 − − 4 −
− 2 − − 5
−
1 − 3 1 −
1 − − 4 −
− 2 − − 5
⎞ 1 2⎟ ⎟ −⎟ ⎟ 1⎠ −
1 − 3 1 −
1 − − 4 −
2 2 2 − 5
⎞ 1 2⎟ ⎟ 2⎟ ⎟ 1⎠ −
1 − 3 3 −
1 − − 4 −
2 2 2 − 5
−
1 − 3 3 3
4 4 − 4 4
2 2 2 − 5
⎞ 1 1⎟ ⎟ 1⎟ ⎟ 1⎠ −
3 − 3 3 3
4 4 − 4 4
5 2 2 − 5
− ⎜− ⎜ =⎜ ⎜− ⎝ 4 − ⎛
⎛
⎞ 0 3 −1 4 −4 ⎜ 3 0 −4 1 −1 ⎟ ⎜ ⎟ ⎟ =⎜ ⎜7 4 0 5 3⎟ ⎝ 2 −1 −5 0 −2 ⎠ 8 5 16 0
− ⎜− ⎜ =⎜ ⎜− ⎝ 4 −
⎞ 1 2⎟ ⎟ 2⎟ ⎟ 1⎠
⎞ 1 1⎟ ⎟ 1⎟ ⎟ 1⎠ −
Wir sehen beispielsweise, dass in diesem Graphen der kürzeste Weg von v1 nach v4 über v5 geht.
278
5.5
5. Tourenplanung
5.5 Das Müllproblem: Eine Zwischenbilanz Sie erinnern sich, dass wir mit einem Müllproblem begonnen haben? In der Zwischenzeit haben wir zahlreiche Theorien entwickelt, das eigentliche Problem haben wir noch immer nicht gelöst. Wir wollen also darauf zurückkommen. Der letzte Stand ist, dass wir die Ecken ungeraden Grades in einem Graphen ˆ Das betrachten. Wir bilden mit diesen Ecken einen vollständigen Graphen Γ. Gewicht der Kante (i, j) ist die Länge eines kürzesten Weges von i nach j.
5.5.1
Definition 5.5.1 Sei Γ = Γ(E, K) ein Graph.
(a) Eine Teilmenge M von K mit der Eigenschaft, dass je zwei Kanten aus M disjunkt sind, nennen wir Matching von Γ. Ist jede Ecke e ∈ E auf einer Kante aus M , so nennen wir M ein vollständiges Matching. (b) Ist E = E1 ∪ E2 und ist jede Kante in K von der Form {e, f } mit e ∈ E1 und f ∈ E2 , so nennen wir Γ bipartit. ˆ eine gerade Anzahl von Ecken besitzt, existiert ein solches vollständiDa Γ ges Matching, jede Ecke liegt also auf einer Kante des Matchings. Unter all diesen vollständigen Matchings suchen wir eines mit dem kleinsten Wert, ein so genanntes minimales Matching. Wie es genau geht, wollen wir hier nicht näher ausführen. Es seien dazu [7, Seite 494-498] und [1, 11.3] empfohlen. Wir stellen aber noch einmal den Algorithmus zum Finden einer optimalen Tour in Stichworten dar. (1) (2) (3) (4)
Wir bestimmen in Γ alle Ecken ungeraden Grades. ˆ Wir bilden damit den vollständigen Graphen Γ. ˆ ein minimales Matching M . Wir bestimmen in Γ ˆ entspricht ein kürzester Weg von i nach j im Jeder Kante k = (i, j) in Γ Graph Γ. Für alle Kanten aus M verdoppeln wir alle Kanten auf diesem Weg in Γ, was Γdop liefert. (5) Wir finden einen Eulerweg in Γdop . Noch nicht berücksichtigt haben wir, wie bereits gesagt, dass in einer realen Situation auch Einbahnstraßen vorkommen können. Dieses Problem wollen wir kurz betrachten. Wir beginnen dabei mit einem Extremfall. Konkret nehmen wir an, dass alle Straßen Einbahnstraßen sind. Wir wollen außerdem annehmen, dass unser
5.6
Netzwerke
279
Graph in einem strengeren Sinn als bisher zusammenhängend ist, es also zwischen je zwei Ecken einen gerichteten Weg gibt. Für eine Ecke v ∈ E gibt es nun nicht nur die Valenz d(v), sondern auch dein (v) und daus (v). Es ist dein (v) = |{(e, v)| e ∈ E, (e, v) ∈ K}| und daus (v) = |{(v, e)|e ∈ E, (v, e) ∈ K}|.
Der Beweis von Satz 5.3.5 zeigt, dass genau dann ein (gerichteter) Eulerkreis existiert, wenn dein (v) = daus (v) für jede Ecke v des Graphen gilt. Allerdings wird diese Bedingung im Allgemeinen nicht erfüllt sein. Wir betrachten daher die Mengen E1 = {e|e ∈ E, daus (e) < dein (e)} und E2 = {e|e ∈ E, dein (e) < daus (e)} ˆ Die Eckenmenge ist und bilden einen vollständigen bipartiten Graphen Γ. E1 ∪ E2 und die Kanten sind die Paare (e, f ) mit e ∈ E1 , f ∈ E2 . Mit dem Algorithmus von Dijkstra können wir nun den kürzesten Weg von e nach f ˆ mit e ∈ E1 und f ∈ E2 bestimmen. Wir gewichten die Kante (e, f ) in Γ mit der Länge eines kürzesten Weges. Gesucht ist dann wieder ein minimales ˆ Matching in Γ. In den nächsten zwei Abschnitten wollen wir uns mit dem Problem, wie man ein solches Matching finden kann, beschäftigen.
5.6 Netzwerke
5.6
Gute Theorien setzen in der Regel schlagkräftige Begriffe voraus. So beginnt also auch dieser Abschnitt mit einer Definition. Definition 5.6.1 Sei Γ ein gerichteter Graph und K die Menge seiner Kanten.
Sei w : K → N eine Gewichtsfunktion (Kapazitätsfunktion). Dann heißt Γ zusammen mit der Gewichtsfunktion w ein Netzwerk. Anmerkung: Man könnte hier auch den Fall behandeln, dass die Werte der Funktion w in R+ liegen (und nicht nur natürliche Zahlen sind). Die Ergebnisse sind gleich, aber die Beweise sind schwieriger und bringen keine neuen Einsichten.
5.6.1
280
5. Tourenplanung
Betrachten wir das folgende Netzwerk. Die Werte der Gewichtsfunktion stehen dabei an den Kanten (und sind offensichtlich natürliche Zahlen). a sPP @ q 3 R 6PP @ 1 @ d P4PP b 4 2 @ s s - P st s sP PP qP P 7 1 5 PP 3 P P s c 5
In diesem Beispiel hat das Netzwerk eine ganz besondere Eigenschaft. Es gibt nämlich einen Startpunkt s, von dem nur Kanten weggehen, und einen Endpunkt t, auf den Kanten ausschließlich zulaufen. Wir nennen s eine Quelle und t eine Senke. Die Existenz einer Quelle und einer Senke ganz von Anfang an ist dabei eigentlich nicht wichtig. Man kann diesen Zustand immer erreichen, indem man zwei Ecken e1 , e2 auszeichnet und dann eine Ecke s∗ hinzufügt, die nur die Kante (s∗ , e1 ) hat und deren Kapazität mindestens die Summe der von e1 ausgehenden Kapazitäten hat. Weiter fügen wir eine Ecke t∗ hinzu, die nur eine Kante (e2 , t∗ ) besitzt. Wieder ist die Kapazität die der Kanten durch e2 . Im vorherigen Beispiel könnten wir auch einen Fluss von a nach c studieren. Wir würden dann den Graph folgendermaßen abändern. ss∗ ? 20 a s PP 5 @ q 3 R 6PP @ 1 @ d P4PP 4 b 2 @ st s s - P s sP PP qP P 7 1 5 PP 3 P P s c 5 ? s t∗
5.6
Netzwerke
281
Im Folgenden wollen wir stets annehmen, dass ein Netzwerk eine Quelle und eine Senke hat. Die Begriffe sind anschaulich, denn man kann sich einfach vorstellen, dass eine Flüssigkeit an diesem Netzwerk entlang von s nach t fließt. Es gibt damit eine Abbildung f :K →N∪0 und wir interpretieren f (x, y) als die Menge von Flüssigkeit, die durch die Kante (x, y) fließt. Es soll nun ein Erhaltungssatz erfüllt sein: Für alle Ecken außer für die Ecken s und t gilt, dass die Menge der Flüssigkeit, die in eine Ecke e hineinfließt, genau so groß ist, wie die Menge, die aus e herausfließt. Es versickert also nirgendwo etwas noch wird etwas hineingepumpt. Wenn wir also die Wörter „in“ und „aus“ passend interpretieren, dann ist die Gleichung f (x, e) = aus f (e) := f (e, y) in f (e) := (x,e)∈K
(e,y)∈K
offensichtlich gültig. Definition 5.6.2 Sei Γ = Γ(E, K) ein Netzwerk. Ein Fluss von einer Quelle s zu einer Senke t ist eine Abbildung
f : K → N ∪ {0} mit (a) in f (e) = aus f (e) für alle e ∈ E \ {s, t} und aus f (s) = in f (t), (b) f (x, y) ≤ w(x, y) für alle (x, y) ∈ K. Durch val (f ) := in f (t) wird der Wert des Flusses f definiert. Ein Fluss f0 mit val (f0 ) = max val (f ) (über alle Flüsse f im Netzwerk betrachtet) heißt maximaler Fluss. Das allgemeine Problem ist nun, den maximalen Fluss für ein gegebenes Netzwerk zu berechnen. Dieser ist natürlich durch die Kapazitäten nach oben begrenzt.
5.6.2
282
5.6.3
5. Tourenplanung
Beispiel 5.6.3 Wir betrachten noch einmal das Netzwerk auf Seite 280. Nun
sei f ein Fluss mit f : (s, a), (s, b), (s, c), (a, d), (b, d), (c, d), (a, t), (c, t), (d, t) . ↓ 3
↓ 2
↓ 3
↓ 1
↓ 2
↓ 1
↓ 2
↓ 2
↓ 4
Für diesen Fluss haben wir val(f ) = 8. Sehen wir uns den Weg s, a, t an, dann stellen wir leicht fest, dass weder (s, a) noch (a, t) einen Fluss haben, der die Kapazitäten auslastet. Also können wir an beiden Stellen den Fluss erhöhen, bis eine der Kapazitäten erreicht ist: Wir definieren einen neuen Fluss f1 durch f1 (s, a) = 4, f1 (a, t) = 3 und f1 (k) = f (k) sonst. Es ist val (f1 ) = 9. Es gibt aber noch eine andere Möglichkeit, den Fluss zu vergrößern. Dazu nehmen wir den ungerichteten Weg s, a, d, c, t. Da (c, d) entgegengesetzt fließt, können wir f1 (c, d) um 1 vermindern und alle anderen Kanten in diesem Weg um 1 vergrößern. Dies liefert einen neuen Fluss f2 mit f2 (s, a) = 5, f2 (a, d) = 2, f2 (c, d) = 0, f2 (c, t) = 3 und f2 (k) = f1 (k) sonst. Nun ist val(f2 ) = 10. Ist f2 ein maximaler Fluss? Um hier eine Antwort zu finden, betrachten wir die beiden Ecken s und b. Sei S = {s, b}. Dann ist 10 die Summe der Kapazitäten der Kanten, die aus S herausführen. Also kann jeder Fluss höchstens diese Menge aus S nach T = {a, c, d, t} führen. Damit ist der Wert durch 10 nach oben beschränkt. Da val(f2 ) = 10 ist, ist f2 ein maximaler Fluss. Diese Überlegung wollen wir nun auf beliebige Netzwerke verallgemeinern. Wir teilen dazu die Eckenmengen E in zwei Teilmengen S und T , wobei s ∈ S und t ∈ T ist, mit E = S ∪ T und S ∩ T = ∅. Wegen des Erhaltungssatzes fließt von S nach T genau so viel wie von s nach t. Es ist val (f ) =
f (x, y) −
x∈S,y∈T
u∈T,v∈S
(x,y)∈K
(u,v)∈K
f (u, v).
5.6
Netzwerke
283
Also ist val (f ) ≤
f (x, y) ≤
x∈S,y∈T
x∈S,y∈T
(x,y)∈K
(x,y)∈K
w(x, y).
Sei Γ = Γ(E, K) ein Netzwerk. Eine Partition (S, T ) mit S ∪ T = E, S ∩ T = ∅ und s ∈ S, t ∈ T , nennen wir einen Schnitt. Die Kapazität des Schnittes ist w(x, y). cap (S, T ) =
Definition 5.6.4
5.6.4
x∈S,y∈T (x,y)∈K
Mit diesen Begriffen haben wir gerade den folgenden Satz bewiesen. Satz 5.6.5 Sei Γ ein Netzwerk und f ein Fluss. Ist (S, T ) ein Schnitt, so ist
5.6.5
val (f ) ≤ cap (S, T ). Wir wollen nun zeigen, dass es immer einen Fluss f und einen Schnitt (S, T ) gibt so, dass val (f ) = cap (S, T ) ist. Dazu schauen wir uns noch einmal an, wie wir im Beispiel auf Seite 282 den Wert von f erhöht haben. Wir haben Wege von s nach t betrachtet, in denen entweder auf allen Kanten die Kapazität nicht voll ausgeschöpft ist oder aber in denen Rückwärtskanten einen Fluss tragen. Diese Wege sollen in Definition 5.6.6 einen Namen bekommen. Definition 5.6.6 Sei Γ = Γ(E, K) ein Netzwerk mit Fluss f . Ein ungerichteter Weg (also ein Weg im entsprechenden ungerichteten Graphen)
s = x1 , . . . , xk heißt f -zunehmend, falls f (xi , xi+1 ) < w(ci , xi+1 ) f (xi+1 , xi ) > 0
für (xi , xi+1 ) ∈ K und für (xi+1 , xi ) ∈ K
mit 1 ≤ i ≤ k − 1 ist. Dies bedeutet, dass so genannte Vorwärtskanten (von x1 in Richtung xk ) nicht die maximale Kapazität und so genannte Rückwärtskanten (in umgekehrter Richtung) einen positiven Gegenfluss tragen.
5.6.6
284
5. Tourenplanung
Haben wir einen solchen f -zunehmenden Weg, der mit t endet, so können wir wie im Beispiel auf Seite 282 den Fluss auf den Vorwärtskanten erhöhen und auf den Rückwärtskanten vermindern. Da alle Gewichte ganze Zahlen sind, können wir die Vorwärtskanten um 1 erhöhen und die Rückwärtskanten um 1 vermindern. Sei f ∗ der neue Fluss. Dann ist f ∗ (k) ≤ w(k) für jede Kante k, da w(k) eine ganze Zahl ist. Sind (xi−1 , xi ) und (xi , xi+1 ) Kanten, so werden beide Werte um 1 vergrößert und die Balance bleibt erhalten. Das gilt auch, wenn bei den Kanten (xi−1 , xi ) und (xi+1 , xi ) der Wert der ersten um 1 vergrößert und der Wert der zweiten um 1 vermindert wird. Die Summe ist also 0, d. h. der Fluss in xi wird nicht verändert. Somit ist f ∗ ein Fluss. Es gilt val(f ∗ ) = val(f ) + 1.
5.6.7
Satz 5.6.7 (Max Fluss-Min Schnitt-Satz) Seien Γ = Γ(E, K) ein Netzwerk und
f ein maximaler Fluss. Dann ist val (f ) = cap (S, T ) für einen geeigneten Schnitt (S, T ). Der Wert eines maximalen Flusses ist die minimale Kapazität eines Schnittes. Beweis 5.6.7 Seien f ein maximaler Fluss und S die Menge aller Ecken x in
Γ, für die es einen f -zunehmenden Weg von s nach x gibt, vereinigt mit der Ecke s. Sei T = E \ S. Dann ist t ∈ T , da wir sonst val(f ) vergrößern könnten. Also ist (S, T ) ein Schnitt. Wir wollen cap (S, T ) berechnen. Sei x ∈ S, y ∈ T und (x, y) ∈ K. Nach Definition von S gibt es keinen f -zunehmenden Weg von s nach y, aber es gibt einen solchen von s nach x. Wäre nun f (x, y) < w(x, y), so könnten wir diesen Weg von s nach x nach y verlängern. Also ist f (x, y) = w(x, y) für alle (x, y) ∈ K, x ∈ S, y ∈ T. Sei umgekehrt (y, x) ∈ K. Ist f (y, x) > 0, so könnten wir wie eben den f -zunehmenden Weg von s nach x nach y verlängern. Also ist f (y, x) = 0 für alle (y, x) ∈ K, x ∈ S, y ∈ T. Nun gilt val (f ) =
f (x, y) −
f (u, v) =
x∈S
u∈T
x∈S
y∈T
v∈S
y∈T
w(x, y) = cap (S, T ).
5.6
Netzwerke
285
Der Beweis von Satz 5.6.7 liefert sogar einen Algorithmus, wie man einen maximalen Fluss bestimmen kann. So sieht er aus: (1) Wir starten mit einem Fluss (beispielsweise überall 0). (2) Wir konstruieren einen Baum Γ1 von unvollständigen f -zunehmenden Wegen ausgehend von s. (3) Falls der Baum t erreicht, so ändern wir f gemäß dem Verfahren auf Seite 284 ab und gehen mit dem neuen Fluss wieder nach (2). (4) Falls der Baum t nicht erreicht, ist f maximal. Allerdings bleibt die Frage, ob dieser Algorithmus tatsächlich immer terminiert, es also immer einen maximalen Fluss gibt. Der folgende Satz zeigt, dass es so ist. Satz 5.6.8 Sei Γ = Γ(E, K) ein Netzwerk mit Quelle s und Senke t. Dann
5.6.8
gibt es einen maximalen Fluss f von s nach t. Beweis 5.6.8 Wir wenden den Algorithmus auf Seite 285 an und starten mit
einem ganzzahligen Fluss. Nur in Schritt (3) wird der Wert von f verändert. Hier wird (man vergleiche Definition 5.6.6 entsprechend) nun f (k) für k ∈ K allenfalls um eine natürliche Zahl α geändert, bleibt also eine natürliche Zahl. Da der Wert von f durch die Kapazität eines Schnittes nach oben begrenzt ist, muss es somit einen maximalen Fluss geben. Wir wollen den Algorithmus an einem Beispiel illustrieren. Beispiel 5.6.9
5.6.9
b rX X J QXXXX CQ 4 z X4X CJ XXX ^ Q 5 Q C X r Xr sQ1 Q sQ 1 J t C O c Q J Jr X s Q 6Q 5 z Q XX5X Q C X QQ 3 Q QCr Xr r- X a 3 e 2 d
Wir starten mit f1 (s, b) = 4, f1 (b, t) = 4 und f1 (k) = 0 für alle anderen Kanten.
286
5. Tourenplanung
Wir konstruieren den Baum Γ1 : (s, a) : w(s, a) = 6, also ist (s, a) ∈ Γ1 . (s, b) Es ist f1 (s, b) = w(s, b), also ist (s, b) ∈ Γ1 . (a, b) : w(a, b) = 1, also ist (a, b) ∈ Γ1 . (a, d) : w(a, d) = 3, also ist (a, d) ∈ Γ1 . (a, c) geht nicht, da f1 (a, c) = 0 ist, also ist (a, c) ∈ Γ1 . (b, c) : w(b, c) = 5, also ist (b, c) ∈ Γ1 . (b, e) : w(b, e) = 1, also ist (b, e) ∈ Γ1 . Nun geht (d, e) nicht, da wir sonst keinen Baum erhalten. (b, t) Es ist f1 (b, t) = w(b, t) also ist (b, t) ∈ Γ1 . (e, t) : w(e, t) = 5, also ist (e, t) ∈ Γ1 . br JQ CQ CJ ^ Q C J Q r s Q sQ C Jr QQ Q c sQ COC Q Q QQr Q QCr r a e d
r
t
Nun haben wir einen f -zunehmenden Weg s, a, b, e, t. Indem wir den Fluss auf diesem Weg um 1 vergrößern, bekommen wir f2 (s, b) = 4, f2 (b, t) = 4, f2 (s, a) = 1, f2 (a, b) = 1, f2 (b, e) = 1, f2 (e, t) = 1, f2 (k) = 0 sonst . Mit diesem Fluss f2 starten wir jetzt die Prozedur entsprechend und erhalten den neuen Baum: br @ R @ @
@r c @ R @ @ r - @r e d
r sQ Q sQ Q Q Qr a
r
t
Wegen w(d, e) = 2, können wir f2 um 2 vergrößern. Das liefert f3 mit f3 : (s, a), (s, b), (a, b), (a, d), (b, c), (b, e), (b, t), (c, a), (c, e), (d, e), (e, t) . ↓ 3
↓ 4
↓ 1
↓ 2
↓ 0
↓ 1
↓ 4
↓ 0
↓ 0
↓ 2
↓ 3
5.6
Netzwerke
287
Wir bilden den Baum für f3 : r s HH j H HH
HHr a
r d
Dieser endet nicht mit t. Also ist f3 maximal und val (f3 ) = 7. Es ist S = {s, a, d}, T = {b, c, e, t} ein minimaler Schnitt. Eine interessante Anwendung ist das Zuordnungsproblem, mit dem wir uns nun beschäftigen wollen. Das Zuordnungsproblem. Wir haben eine Menge E1 von n Personen und eine Menge E2 von Tätigkeiten. Jede Person ist für einige Tätigkeiten geeignet, für andere nicht. Gesucht ist eine Zuordnung der Personen zu den Tätigkeiten so, dass jeder eine Tätigkeit ausübt, für die er oder sie geeignet ist. Dieses Problem haben wir übrigens in Definition 5.5.1 bereits in die Sprache der Graphen übersetzt und dort Matching genannt. Wir nennen ein Matching maximal, wenn es möglichst viele Kanten enthält. Wir nennen es vollständig, wenn jede Ecke auf einer Kante liegt. Offenbar ist ein vollständiges Matching maximal. Die Umkehrung gilt allerdings nicht. Zur Illustration betrachten wir deshalb eine entsprechende Repräsentation. u5 u4 u3 u2 u1
rX r XXX v5 X X r r v 4 HH rX H r v3 X HH X X r Xr v 2 H X r r v1
Mit den Bezeichnungen aus Definition 5.5.1 ist {u1 , v1 }, {u2 , v5 }, {u5 , v4 }, {u3 , v2 } ein maximales Matching. Es gibt allerdings kein vollständiges Matching, denn ein solches Matching müsste die Kanten {u2 , v3 }, {u1 , v1 }, {u5 , v4 } und {u2 , v5 } umfassen, da jede dieser Kanten eine Ecke der Valenz 1 enthält. Dann hätte das Matching aber zwei sich schneidende Kanten, was nicht möglich ist.
288
5. Tourenplanung
Zur Lösung des Zuordnungsproblems führen wir zunächst einen Graphen ein, indem wir die Person x mit der Tätigkeit y durch eine Kante verbinden, falls x für y geeignet ist. Gesucht ist dann ein vollständiges Matching. Offenbar ist es für die Existenz eines vollständigen Matchings notwendig, dass Personen und Tätigkeiten zahlenmäßig zueinander passen. Ganz genau muss für jede Menge A von Personen die Menge der Tätigkeiten, für die wenigstens eine Person aus A geeignet ist, mindestens so viele Elemente wie A haben. Dies können wir wieder für den Graphen Γ (siehe oben) formulieren. Sei A ⊆ E1 . Wir setzen N (A) = {v|v ∈ E2 mit {u, v} ∈ K für mindestens ein u ∈ A} und haben damit den folgenden Satz bewiesen: 5.6.10
Satz 5.6.10 Besitzt Γ ein vollständiges Matching, so ist |A| ≤ |N (A)| für jede
Teilmenge A von E1 . Wie finden wir nun ein vollständiges Matching? Dazu erweitern wir Γ zunächst zu einem Netzwerk Γ∗ , indem wir eine Quelle s∗ und eine Senke t∗ und Kanten (s∗ , x), x ∈ E1 und (y, t∗ ), y ∈ E2 hinzufügen. Weiter werden alle Kanten von Γ von E1 nach E2 gerichtet. Alle Kanten erhalten die Kapazität 1. Sei nun f ein Fluss in Γ∗ . Dann ist f (k) ∈ {0, 1}. Ist f (s∗ , x) = 1 mit x ∈ E1 , so gibt es genau eine Kante (x, y) mit y ∈ E2 und mit f (x, y) = 0. Also ist die Menge M der Kanten (x, y), x ∈ E1 , y ∈ E2 , mit f (x, y) = 0 ein Matching von Γ. Ein vollständiges Matching entspricht also einem maximalen Fluss f mit val (f ) = n = |E1 |. Nach Satz 5.6.7 muss dann für jeden Schnitt (X, Y ) von Γ∗ stets cap (X, Y ) ≥ n sein. Sei (X, Y ) ein Schnitt. Wir setzen A = X ∩ E1 und B = X ∩ E2 . Dann ist cap (X, Y ) ≥ n − |A| + |B| + |N (A) ∩ (E2 \ B)| ≥ n − |A| + |N (A)|.
5.7
Der ungarische Algorithmus
289
Ist also die notwendige Bedingung |A| ≤ |N (A)| für jede Teilmenge A von E1 erfüllt, so ist cap (X, Y ) ≥ n für jeden Schnitt (X, Y ). Es gilt somit der folgende Satz: Satz 5.6.11 Der Graph Γ besitzt genau dann ein vollständiges Matching, falls
5.6.11
für alle A ⊆ E1 stets |A| ≤ |N (A)| gilt. Daüber hinaus haben wir sogar einen Algorithmus, der ein solches Matching konstruiert, da wir nur einen maximalen Fluss angeben müssen. Wir sehen, dass wir das Jobzuordnungsproblem gelöst haben (und genau darauf kam es hier ja an).
5.7 Der ungarische Algorithmus Lassen Sie uns noch einmal zu unserem Ausgangsproblem der Müllwagenroute, in der alle Straßen Einbahnstraßen sind, zurückkommen. Wir wählen alle Bezeichnungen wie auf Seite 279. Für jedes x ∈ E1 sei dann a(x) = dein (x) − daus (x) und für x ∈ E2 sei b(x) = daus (x) − dein (x). Jede Ecke x ∈ E1 wird zu x1 , . . . , xa(x) vervielfältigt. Genauso wird y ∈ E2 zu y1 , . . . , yb(y) vervielfältigt. Dazwischen ist jeweils eine Kante mit Wert w({x, y}), wobei dies die Länge eines kürzesten Weges von x nach y sein soll. Wir haben also einen vollständigen bipartiten Graphen mit einer Gewichtsfunktion und geben nun einen Algorithmus an, der hierauf ein minimales vollständiges Matching findet. Dazu ändern wir etwas die Bezeichnungen. Es sei Γ der vollständige bipartite Graph mit 2n Ecken. Die Eckenmengen seien E = {1, . . . , n} und F = {1 , . . . , n }. Ferner seien Gewichte wij ≥ 0 gegeben, wobei wij das Gewicht der Kante (i, j ) sei. Gesucht ist ein minimales vollständiges Matching. Wie immer ist es klar, dass dies existiert, da es sich um ein endliches Problem handelt. Wir suchen also einen Algorithmus, der nicht auf das Aufstellen aller vollständigen Matchings und dann Nachprüfen hinausläuft.
5.7
290
5.7.1
5. Tourenplanung
Definition 5.7.1 Seien u = (u1 , . . . , un ), v = (v1 , . . . , vn ) ∈ Rn . Dann nennen
wir (u, v) zulässig, falls (∗)
ui + vj ≤ wij
für alle i, j = 1, . . . , n
erfüllt ist. Die Menge der zulässigen Paare bezeichnen wir mit Z und das Gewicht eines minimalen Matchings, welches es offenbar in einem vollständigen bipartiten Graphen gibt, mit W . Damit gilt das folgende Lemma: 5.7.2
Lemma 5.7.2 Sei (u, v) ∈ Z und M ein vollständiges Matching. Dann ist
(∗∗)
w(M ) ≥ W ≥
n
i=1 (ui
+ vi ).
Beweis 5.7.2 Klar ist, dass w(M ) ≥ W ist. Außerdem ist n
(ui + vi ) =
i=1
n
ui +
i=1
n
vj .
j=1
Ist (i, j ) eine Kante des optimalen Matchings Mopt , so ist wij ≥ ui +vj . Indem wir über alle Kanten summieren, erhalten wir nun mit (∗) die Ungleichung n i=1
5.7.3
(ui + vi ) ≤
wij = W.
(i,j )∈Mopt
Definition 5.7.3 Für (u, v) ∈ Z sei Gu,v der Untergraph auf den Ecken von Γ, dessen Kanten genau die (i, j ) mit ui + vj = wij sind. Wir nennen Gu,v den Gleichheitsgraphen zu (u, v).
Der Gleichheitsgraph Gu,v entsteht aus Γ, indem wir genau die Kanten (i, j ) weglassen, bei denen ui + vj < wij ist.
5.7
Der ungarische Algorithmus
291
Lemma 5.7.4 Sei (u, v) ∈ Z und Gu,v der Gleichheitsgraph. Dann ist n
(ui + vi ) = W
i=1
genau dann, falls Gu,v ein vollständiges Matching besitzt. In diesem Fall ist jedes vollständige Matching von Gu,v ein minimales Matching von Γ. Beweis 5.7.4 Hat Gu,v ein vollständiges Matching M , so gilt für jede Kante n (i, j ) in M , dass ui + vj = wij ist. Damit haben wir w(M ) = i=1 (ui + vi ). Nach Lemma 5.7.2 ist dann w(M ) = W , d. h. M ist optimales Matching in Γ und (∗∗) gilt.
n Es gelte nun umgekehrt i=1 (ui + vi ) = W . Wir nehmen an, dass Gu,v kein vollständiges Matching besitzt. Für J ⊆ E sei N (J) = NGu,v (J) die Menge der j ∈ F , sodass (i, j ) eine Kante in Gu,v für ein i ∈ J ist. Nach Satz 5.6.11 gibt es also ein J ⊆ E mit |N (J)| < |J|. Wir setzen nun δ = max{ui + vj − wij |i ∈ J, j ∈ N (J)}. Da es mindestens eine Kante (i, j ) mit i ∈ J und j ∈ N (J) in Γ gibt, ist die Menge nicht leer, also gibt es ein Maximum. Nach Konstruktion des Gleichheitsgraphen ist dann δ < 0. Wir ändern (u, v) wie folgt ab: ui − δ für i ∈ J ui = für i ∈ J ui und vj =
vj + δ für j ∈ N (J) für j ∈ N (J). vj
Wir zeigen, dass auch (u , v ) ∈ Z ist: Ist i ∈ J und j ∈ N (J), so ist ui + vj = ui − δ + vj + δ = ui + vj ≤ wij . N (J), so ist ui + vj = ui + vj ≤ wij . Ist i ∈ J und j ∈ Ist i ∈ J und j ∈ N (J), so ist ui + vj = ui + vj + δ. Da δ ≤ 0 ist, folgt ui + vj + δ ≤ ui + vj ≤ wij .
5.7.4
292
5. Tourenplanung
Es bleibt i ∈ J und j ∈ N (J). Dann ist δ ≥ ui + vj − wij . Also ist wij ≥ ui + vj − δ = (ui − δ) + vj = ui + vj und damit (u , v ) ∈ Z. Dies liefert dann den Widerspruch W ≥
n
5.7.2
j=1
(uj + vj ) =
n
(uj + vj ) − δ|J| + δ|N (J)|
j=1
= W − δ(|J| − |N (J)|) ≥ W, da δ ≤ 0 und |J| − |N (J)| > 0 ist. Folglich ist δ = 0 und somit ui + vj = wij für ein i ∈ J, j ∈ N (J), was aber der Definition von Gu,v widerspricht, da (i, j ) keine Kante ist. Diese Überlegungen führen nun zum so genannten Ungarischen Algorithmus5 . Wir beginnen mit einem (u, v) ∈ Z, z. B. v1 = . . . = vn = 0 und ui = min{wij , j = 1, . . . , n}, i = 1, . . . , n. Hat bereits der zugehörige Gleichheitsgraph ein vollständiges Matching, so sind wir fertig. Anderenfalls gibt es nach Satz 5.6.11 eine Teilmenge J von E so, dass |N (J)| < |J| ist. Wie im Beweis von Lemma 5.7.4 wird ein neues ui + vi und der Gleichheits(u , c ) ∈ Z bestimmt. Damit verkleinert sich graph Gu ,v hat mindestens eine Kante (i, j ), i ∈ J, j ∈ N (J) mehr als Gu,v . Dieses Verfahren wird fortgesetzt. Wenn der Algorithmus abbricht, erhält man einen Gleichheitsgraphen, der ein vollständiges Matching hat. Dies ist nach Lemma 5.7.4 das gesuchte minimale Matching. Für das Auffinden der Menge J verwenden wir unseren Netzwerkalgorithmus. Wir konstruieren in dem ungewichteten Graphen wie beim Zuordnungsproblem einen maximalen Fluss. Die Menge J ist dann ein minimaler Schnitt. Nun müssen wir nur noch in unseren Straßengraphen die durch das Matching bestimmten Wege einzeichnen. Dieser neue Graph hat dann einen Eulerkreis. Damit haben wir nun alles zusammen, um das Mülltransportproblem zu lösen. Doch wie gut sind unsere Algorithmen? Man kann zeigen, dass für das ungerichtete und das gerichtete Problem beide von polynomialer Laufzeit 5
Der Algorithmus wurde von Harold W. Kuhn, *29.7.1925 Santa Monica, CA, entwickelt und in Naval Research Logistic Quarterly, 2, 1955, 83-97, publiziert. Er geht auf eine Idee der ungarischen Mathematiker Denés König, *21.9.1884 Budapest †19.10.1944 Budapest, und Jenö Egerváry, 16.4.1891 Debrecen †30.11.1958 Budapest, zurück und daher kommt auch der Name.
5.8
Das Müllproblem: Die Bilanz
293
sind, was gut ist. Der reale Fall ist allerdings der, dass wir sowohl Einbahnstraßen als auch andere Straßen haben. Für solche Graphen ist kein guter Algorithmus bekannt. Dieses Problem liegt in der so genannten Klasse NP, auf die wir später noch eingehen werden. Hier gibt es also ein Problem und wir werden kaum eine optimale Tour bestimmen können. Deshalb beschränken wir uns darauf, eine Tour mit einer gewissen Fehlertoleranz zu bestimmen. Die Vorgehensweise ist in etwa so: Sind zufällig alle Eckengrade gerade und dein (e) = daus (e) für alle gerichteten Kanten in e, so haben wir einen Eulergraphen und können sofort eine optimale Tour finden. Ansonsten gehen wir wie folgt vor: Wir erweitern unseren Graphen so, dass alle Valenzen gerade sind. Dies kann mit einem Matching geschehen. Sind nun dein (e) = daus (e) für alle e ∈ E, so können wir eine Tour finden. Ist dies nicht der Fall, so verwandeln wir den Graphen in einen gerichteten Graphen, in dem jede Kante von Γ eine Richtung bekommt. Die bisher gerichteten Kanten bleiben so, wie sie waren. Die bisher ungerichteten Kanten werden durch zwei Kanten, die in beide Richtungen gerichtet sind, ersetzt. Für diesen Graphen fährt man wie oben fort und erhält so eine Tour. Im Allgemeinen bekommt man so keine optimalen Lösungen. Die Länge der Tour kann im Extremfall das Doppelte der kürzesten Tour sein.
5.8 Das Müllproblem: Die Bilanz Wir haben eine Reihe von Algorithmen angegeben, die zumindest für das Mülltransportproblem, in dem entweder keine oder alle Straßen Einbahnstraßen sind, nützlich sind. Aber sind diese Algorithmen wirklich besser als die Probiermethode? Sind sie vor allem schneller? Wir haben in Abschnitt 5.1 mehrfach von schnellen oder nicht ganz so schnellen Algorithmen gesprochen. Diese sehr laxe Ausdrucksweise wollen wir nun etwas präzisieren. Dabei geht es nicht um wirklich exakte Definitionen, die Gegenstand der so genannten Komplexitätstheorie sind. Vielmehr wollen wir versuchen, eine Idee davon zu bekommen, was man unter einem schnellen Algorithmus versteht. Die Geschwindigkeit ist im Hinblick auf einen Algorithmus zunächst intuitiv fassbar. Wir bestimmen nämlich einfach die Zeit, die für die Ausführung in einem Problemkontext benötigt wird. Offensichtlich sollte dieser Wert aber unabhängig vom eingesetzten Computer sein, denn dass es schnellere und langsamere Maschinen gibt, liegt in der Natur der Sache. Es bietet sich also an, elementare Rechenschritte zu betrachten, wie etwa die Addition zweier Zahlen oder den Speicherzugriff. Die Laufzeit ist bei einem Algorithmus dann
5.8
294
5. Tourenplanung
nicht eine Zeitangabe in Sekunden oder Minuten, sondern die Anzahl der notwendigen elementaren Rechenschritte. Diese Anzahl ist aber kein absoluter Wert, sondern hängt von der Größe der Eingangsdaten ab. Multiplizieren wir beispielsweise zwei n-stellige Zahlen (und zunächst genau so, wie wir es in der Grundschule gelernt haben), dann benötigen wir für zwei einstellige Zahlen eine Multiplikation, für zwei zweistellige Zahlen vier Multiplikationen (und ein paar Additionen) und für zwei dreistellige Zahlen neun Multiplikationen (und wiederum ein paar Additionen). Offensichtlich sind für zwei 100-stellige Zahlen genau 1002 Multiplikationen (und noch ein paar Additionen) notwendig. Von der Größenordnung her fallen die Additionen allerdings weniger ins Gewicht, wesentlich bestimmt wird der Zeitaufwand durch die Multiplikationen. Also braucht man ganz allgemein für die Multiplikation zweier n-stelliger Zahlen rund n2 elementare Rechenschritte. Nun können natürlich auch noch die Eingaben verschieden sein. Üblicherweise geht man dabei von der Binärkodierung aus, also Zahlen als (0,1)-Folgen. Die Laufzeit bei einem Algorithmus A mit Eingabedaten der Codierungslänge n ist dann die maximale „Laufzeit“ im obigen Sinne, die der Algorithmus A benötigt, wenn er mit Eingabedaten der Länge n aufgerufen wird. Man kann dies natürlich nicht genau berechnen. Wir hatten ja auch bei der Multiplikation zweier Zahlen die zwischenzeitlichen Additionen einfach unter den Tisch fallen lassen. Wir sagen, dass ein Algorithmus polynomial ist, falls es ein Polynom p(n) gibt so, dass die Laufzeit bei Eingabelänge n durch p(n) nach oben abgeschätzt werden kann. Wir nennen alle polynomialen Algorithmen schnell oder auch gut. Wobei natürlich klar ist, dass ein Algorithmus mit einer Laufzeit von n500 nicht sonderlich schnell sein wird. Alle unsere Algorithmen sind polynomial in der Anzahl n der Ecken. Wir wollen dies kurz (ohne Beweis) auflisten. Für Details vergleiche man [7].
Dijkstra Floyd-Warshall Ungarischer Algorithmus Konstruktion eines Eulerkreises Konstruktion eines maximalen Flusses Minimaler aufspannender Baum Konstruktion eines minimalen Matchings
n2 n3 n3 n2 n3 n3 n3
Somit ist unser Algorithmus in der Tat recht schnell und viel schneller als das Durchgehen aller Möglichkeiten.
5.9
Ein ungelöstes Problem: P = N P ?
295
5.9 Ein ungelöstes Problem: P = N P ? Wir wollen uns in diesem Paragraphen auf Entscheidungsprobleme beschränken. Dies sind solche Probleme, die mit JA oder NEIN beantwortet werden. Beispiele sind: Ist eine Zahl a ∈ N eine Summe von zwei Quadraten? Gibt es in einem bestimmten Graphen Γ einen Hamiltonkreis? Optimierungsprobleme kann man in Entscheidungsprobleme verwandeln. Anstatt die kürzeste Tour in einem Graphen zu finden, kann man fragen, ob es eine Tour der Länge ≤ l gibt, wobei l eine gegebene natürliche Zahl ist. Somit ist auch unser Müllproblem ein Entscheidungsproblem. Die Klasse P besteht aus allen Entscheidungsproblemen, für die es einen Algorithmus gibt, der in polynomialer Zeit eine Antwort liefert, die entweder JA oder NEIN heißt. Zu P gehören zum Beispiel folgende Fragen: Gibt es im Graphen Γ von u nach v einen Weg der Länge ≤ c? Ist ein Graph Γ zusammenhängend? Es gibt aber auch viele Probleme, von denen man nicht weiß, ob sie in der Klasse P liegen. Hier sind drei Beispiele für solche Probleme. Kann man die Ecken eines Graphen Γ mit höchstens k Farben so färben, dass benachbarte Ecken verschiedene Farben haben? Gibt es in einem Graphen Γ einen Hamiltonkreis? Gegeben sei eine Menge M ganzer Zahlen. Gibt es eine Teilmenge von M , deren Summe Null ist? Diese Probleme haben die gemeinsame Eigenschaft, dass man konkrete Beispiele sehr leicht auf Korrektheit prüfen kann. Gibt uns jemand eine Eckenfärbung von Γ, so können wir schnell feststellen, ob benachbarte Ecken verschieden gefärbt sind. Gibt uns jemand einen Kreis in Γ, so können wir schnell feststellen, ob er alle Ecken enthält. Gibt uns jemand eine Teilmenge N von M , so können wir schnell prüfen, ob die Summe der Zahlen aus N gleich Null ist. Neben der Klasse P gibt es aber noch eine zweite sehr wichtige Klasse, die mit N P bezeichnet wird.
5.9
296
5. Tourenplanung
Ein Entscheidungsproblem gehört zur Klasse N P , falls gilt: (a) Gibt es eine positive Entscheidung (Antwort JA), so gibt es auch eine entsprechende Möglichkeit einer Verifikation, also die Angabe eines „Belegs“ für die JA-Antwort. Im Falle des Problems, ob ein Graph tatsächlich hamiltonsch ist, wäre dies die Angabe eines Kreises, von dem behauptet wird, dass er ein Hamiltonkreis ist. (b) Es gibt einen Algorithmus, der als Eingabe die Eingabedaten des Problems und die „Verifikation“ akzeptiert und in polynomialer Laufzeit die Korrektheit der JA-Antwort überprüft. Alle Probleme in P sind damit auch in N P enthalten. Für diese Probleme gibt es sogar einen polynomialen Algorithmus, der die JA- bzw. NEINAntwort liefert. Wir benötigen insbesondere die Verifikation der vorgelegten Lösung nicht, da wir einfach unseren Algorithmus anwenden und das Entscheidungsproblem lösen. Also ist P ⊆ N P . Die große offene Frage ist, ob P = N P ist. Dieses (bisher ungelöste) Problem ist eines der sieben Millenium Prize Problems, die das Clay Mathematics Institute definiert hat und für deren Lösung ein Preisgeld von 1 Million US-Dollar ausgesetzt ist (www.claymath.org/millenium). Mit P und N P ist der Problemkreis allerdings noch nicht vollständig beschrieben. Es gibt eine Unterklasse der N P -Probleme, die so genannten N P vollständigen Probleme. Ein Problem X nennen wir N P -vollständig, falls aus der Existenz eines polynomialen Algorithmus für X folgt, dass P = N P gilt. Überraschend ist, dass sehr viele Probleme N P -vollständig sind. Dies trifft zum Beispiel auf das Problem des Hamiltonkreises, TSP (travelling salesman problem), das Eckenfärbeproblem, das Müllproblem mit gemischten Straßen (also sowohl mit Einbahnstraßen als auch mit Straßen, die keine Einbahnstraßen sind) und auf das Nullsummenproblem zu. Die weit verbreitete Vermutung in der Fachwelt ist, dass P = N P gilt. Zum Beweis müsste man ein entsprechendes Problem finden, das nachweisbar nicht in polynomialer Zeit lösbar ist. Dazu scheinen aber (zumindest bisher) die Methoden zu fehlen. Es könnte allerdings auch sein, dass die Frage „P = N P ?“ unabhängig von den Axiomen der Mengenlehre ist, also ähnlich wie die Kontinuumshypothese weder zu beweisen noch zu widerlegen ist. Aber diese Äußerung ist wirklich reine Spekulation. Eine Liste von N P -vollständigen Problemen findet man übrigens in www.nada.kth.se/∼viggo/problemlist/compendium.html.
5.10 Übungsaufgaben
297
Die Mathematik kennt viele schöne Probleme, darunter auch sehr viele ungelöste. Sie kennt aber mindestens ebenso viele nicht ganz neue und gelöste Probleme. Es ist lohnenswert, sich mit beidem zu beschäftigen. Viel Spaß dabei!
5.10 Übungsaufgaben 1)
Bestimmen Sie den kleinsten Graphen Γ = Γ(E, K), in dem d(e) = 3 für alle e ∈ E ist und eine der folgenden Aussagen gilt: (a) Die kürzesten Kreise haben die Länge 4. (b) Die kürzesten Kreise haben die Länge 5.
2)
Finden Sie möglichst viele nicht isomorphe Graphen Γ = Γ(E, K) mit |E| = 7 und d(e) = 4 für alle e ∈ E.
3)
Sei Γ = Γ(E, K) mit E = {{a, b} | a, b ∈ N, 1 ≤ a < b ≤ 5} und {{a1 , b1 }, {a2 , b2 }} ∈ K genau dann, wenn {a1 , b1 } ∩ {a2 , b2 } = ∅ ist. (a) Berechnen Sie die Automorphismengruppe von Γ. Kennen Sie diese Gruppe ? (b) Hat Γ einen Hamiltonkreis ?
4)
(Man vergleiche [2, Seite 164].) Gegeben sei ein Würfel aus 27 kleinen Käsestücken. Eine Maus sucht einen Weg von einem Eckstück über alle anderen Stücke so, dass dieser im Mittelstück endet. Gibt es einen solchen Weg? Beantworten Sie die gleiche Frage für einen 5 × 5 × 5 - Würfel und einen n × n × n–Würfel mit ungeradem n ∈ N.
5)
Sei Γ ein Graph und k eine Kante. Zeigen Sie: Es ist k genau dann eine Brücke, wenn k in keinem Kreis enthalten ist.
6)
Seien 0 < d1 ≤ d2 ≤ . . . ≤ dn ∈ N mit d1 + d2 + . . . + dn = 2n − 2. Zeigen Sie: Es gibt einen Baum mit n Ecken e1 , . . . , en so, dass d(ei ) = di , i = 1, . . . n, gilt.
7)
(Kruskal-Algorithmus) Die Kanten k1 , . . . , kn eines Graphen seien bezüglich einer Gewichtsfunktion w so geordnet, dass stets w(ki ) ≤ w(ki+1 ) gilt. Zeigen Sie, dass das folgende Verfahren zu einem minimalen aufspannenden Baum führt: Man beginne mit k1 und füge in jedem Schritt die neue Kante ki mit dem kleinsten Index so hinzu, dass der Graph mit der erhaltenen Kantenmenge keine Kreise enthält.
5.10
298
5. Tourenplanung
8)
Ein zusammenhängender Graph Γ habe lauter verschiedene Gewichte auf den Kanten. Zeigen Sie, dass Γ einen eindeutig bestimmten minimalen aufspannenden Baum besitzt.
9)
Finden Sie eine optimale geschlossene Tour für den Müllwagen im fola 10 genden Stadtplan. b s s @ 3 @ 8 4 @ @ 14 @ sc @ 3 12 @ 5 @ @ @ @ f @ 15 2 11 @s @s g s d s @ e @ 4 @ 8 9 19 @ @ 6 @ s @s 3 j h
10) (Man vergleiche [2, Seite 166].) Bestimmen Sie einen maximalen Fluß im folgenden Netzwerk :
6
e s @ R @
2
@ i b @s s ?8 @ @ B 2 9 R @ B@ 6 @ 9 B @ s ? ? R @ @ B 5 3 4 B f C@ @ R 1 C @ B @ BM 3 C @ @ c 6 8 j B- C s @s t @s s s B @ @
C
R B 6C @ @
@ C 7 2 7@ B
R @ @Bs CW 8 1 g C
6 @ 4
C ? 14 @ C
8 @ 11 ?
12 @s C
C d@
R @ C C
2@ C
@s s 9 h k
5.10 Übungsaufgaben
299
11) Sei Γ ein gerichteter Graph. Die Ecken seien die Zahlen 1, 2, . . . 7. Die Kanten seien durch die folgende Matrix gegeben:
1 2 34 1 3 4 2 17 36 4 41 52 2 6 6 4 11 3 74 3
5 67 10 8 3 6 1 7 5 48 2 9
Hierbei bedeutet der Eintrag (i, j) = 4, dass es eine Kante von i nach j mit dem Gewicht 4 gibt. Ist für ein Paar (i, j) kein Eintrag vorhanden, so bedeutet dies, dass es keine Kante gibt. (a) Bestimmen Sie mit einer Variante des Dijkstra Algorithmus für gerichtete Graphen den Baum der kürzesten Wege von 1 nach allen i für i = 2, . . . , 7. (b) Bestimmen Sie mit dem Floyd-Warshall-Algorithmus die kürzeste Wege-Matrix. 12) Sei Γ der Graph aus Aufgabe 11. Lösen Sie das Müllwagen-Problem, wobei das Depot an der Ecke 1 sei. 13) Gegeben sei das Entscheidungsproblem, ob zwei Graphen Γ und Δ isomorph sind. Zeigen Sie, dass es in N P liegt.
Kapitel 6 Lösungen der Übungsaufgaben
6
6
6 Lösungen der Übungsaufgaben Lösungen zu den Aufgaben von Kapitel 1 1) (a) Induktion nach n. n = 1 : 12 = 1(1+1)(2·1+1) . Sei die Behauptung für ein n 6 bereits bewiesen. Dann gilt + (n + 1)2 = (n+1)((n+1)+1)(2(n+1)+1) . 1 + · · · + n2 + (n + 1)2 = n(n+1)(2n+1) 6 6 (b) Induktion nach n. Die Behauptung ist richtig für n = 0. Sei die Behauptung 5 4 3 bereits für ein n bewiesen. Es ist (n+1) + (n+1) + (n+1) − (n+1) = 5 2 3 30 n5 +5n4 +10n3 +10n2 +5n+1 n4 +4n3 +6n2 +4n+1 n3 +3n2 +3n+1 n+1 + + − = 5 2 3 30 5 4 3 n ( n5 + n2 + n3 − 30 )+((n4 +2n3 +2n2 +n)+(2n3 +3n2 +2n)+(n2 +n)+1). Der erste Ausdruck ist eine ganze Zahl nach Annahme. Der zweite ist offensichtlich eine ganze Zahl. (c) Induktion nach n. Für n = 1 ist die Behauptung offensichtlich. Sei die Behauptung für ein n bewiesen. Dann gilt 13 + . . . + n3 + (n + 1)3 = (1 + . . . + n)2 + (n + 1)3 = 2 2 n(n+1) (n+1)(n+2) 3 + (n + 1) = = (1 + . . . + n + (n + 1))2 . 2 2 2)
3) 4)
5)
Wir stellen fest, dass die Pilzsammler im Durchschnitt etwas unter 15 Pilzen gesammelt haben. Hätten vier Sammler weniger als 15 Pilze gesammelt, so wäre die Anzahl dieser Sammler höchstens 14, 13, 12, 11. Die Summe ist 50, also haben die anderen drei mindestens 50 Pilze gesammelt. Im anderen Fall gibt es mindestens vier Sammler, die mehr als 14 Pilze gefunden haben. Dann gibt es aber auch drei, die mindestens 16, 17, 18 Pilze, also 51, gefunden haben. Man benutze (a + b)n = (a + b)(a + b)n−1 . Induktion nach n. n = 10 : Es ist 1024 = 210 > 1000 = 103 . Sei die Behauptung für ein n bewiesen. Dann ist 2n+1 = 2·2n > 2n3 . Da n ≥ 10 ist, gilt 3n+1 < n2 . Also ist 3n2 + 3n + 1 < 4n2 < n3 . Damit ist 2n3 > (n + 1)3 . Die Behauptung gilt sicherlich für n = 1. Sei die Behauptung für ein n richtig. 2 2 2 2 2 + fn+1 = (fn+1 + fn )2 + fn+1 = fn+1 + 2fn+1 fn + fn2 + fn+1 = Dann gilt fn+2 2 2 2 2 (fn+1 + fn ) + (2fn+1 fn + fn+1 ) = f2n+1 + (2fn+1 fn + fn+1 ). Wir müssen also 2 = f2n+2 zeigen. Dies können wir auch wieder durch Induktion 2fn+1 fn + fn+1 versuchen. Das führt dann zu : 2 2 2 2 = 2(fn+1 + fn )fn+1 + fn+2 = 2fn+1 + 2fn+1 fn + fn+2 = 2fn+2 fn+1 + fn+2 2 2 2 2 2 (2fn+1 fn + fn+1 ) + (fn+1 + fn+2 ) = f2n+2 + (fn+1 + fn+2 ). Somit sind wir wieder beim Ausgangsproblem. Wir haben also zwei verzahnte Behauptungen 2 P1 (n) : fn+1 + fn2 = f2n+1 2 P2 (n) : 2fn+1 fn + fn+1 = f2n+2 .
Diese beweisen wir nun gleichzeitig per Induktion. Es sind P1 (1) und P2 (1) richtig. Wie wir gerade gesehen haben, folgt aus P1 (n) und P2 (n) dann auch P1 (n + 1). Weiter liefern P1 (n + 1) und P2 (n) nun P2 (n + 1). Also folgt aus P1 (n) und P2 (n) sowohl P1 (n + 1) als auch P2 (n + 1). K. Reiss, G. Stroth, Endliche Strukturen, Mathematik für das Lehramt, c Springer-Verlag Berlin Heidelberg 2011 DOI 10.1007/978-3-642-17182-6_6,
304
6. Lösungen der Übungsaufgaben √
√
Die Nullstellen des Polynoms x2 − x − 1 sind x1 = 1+2 5 und x2 = 1−2 5 . Die √ n 2 Behauptung ist also 5fn = xn 1 −x2 . Es gilt xi = xi +1, i = 1, 2. Wir beweisen die Behauptung durch Induktion nach n. Für n = 1 ist die Behauptung offenbar √ √ richtig. Sei n = 2. Dann ist x21 − x22 = x1 + 1 − (x2 + 1) = x1 − x2 = 5 = 5f2 . Also ist die Behauptung für n = 1 und 2 richtig. Sei nun die Behauptung für − xn+2 = xn (x + 1) − xn n und n + 1 richtig. Dann gilt xn+2 2 (x2 + 1) = 2 √ 1 √ 1 1 n+1 n+1 n n (x1 − x2 ) + (x1 + x2 ) = 5(fn+1 + fn ) = 5fn+2 . 7) Induktion nach n. Die Behauptung ist richtig für n = 1. Sei die Behauptung für ein n richtig. Also (n − 1)an + bn ≥ nan−1 b. Dann ist auch (n − 1)an+1 + bn a ≥ nan b, da a > 0 ist. Dann ist nan+1 + bn a ≥ nan b + an+1 . Nun ist auch nan+1 ≥ nan b + an+1 − bn a. Schließlich gilt nan+1 + bn+1 ≥ nan b + an+1 − bn a + bn+1 . Es bleibt zu zeigen, dass nan b + an+1 − bn a + bn+1 ≥ (n + 1)an b ist. Es ist aber (an − bn )(a − b) ≥ 0. Ausmultiplizieren liefert −an b + an+1 − bn a + bn+1 ≥ 0. Dies ist die Behauptung. 8) (a) Wir teilen das Quadrat in vier gleichgroße Quadrate. Nach dem Schubfachprinzip gibt es zwei Punkte, die im gleichen Teilquadrat liegen. Da die Seitenlänge des Teilquadrates 1/2 ist,√ ist die Länge der Diagonale (der größte Punkte nicht auf dem Abstand in diesem Quadrat) genau 22 . Da die beiden √ Rand des Quadrates liegen, ist ihr Abstand kleiner als 22 . (b) Die Farbaufteilung jeder 3-Spalte ist eine der folgenden acht Möglichkeiten: WWW, SWW, WSW, WWS, SSW, SWS, WSS, SSS. Ist eine der Spalten vom ersten Typ, so sind wir fertig, falls eine der restlichen sechs Spalten vom Typ 1,2,3 oder 4 ist. Also können wir annehmen, dass alle anderen vom Typ 5,6,7 oder 8 sind. Nach dem Schubfachprinzip müssen zwei Spalten vom gleichen Typ sein und wir sind fertig. Genauso können wir argumentieren, wenn eine der Spalten vom Typ 8 ist. Also können wir annehmen, dass keine Spalte vom Typ 1 oder 8 ist. Nun haben wir aber 6 Typen für sieben Spalten. Wieder liefert das Schubfachprinzip, dass zwei Spalten gleich sind. 9) Sei Pn die Wahrscheinlichkeit, dass nicht zweimal hintereinander Kopf bei n Würfen erscheint. Offenbar ist P1 = 1 und P2 = 34 . Ist nun der erste Wurf Zahl, so ist die Wahrscheinlichkeit, dass in den folgenden n−1 Würfen nicht zweimal hintereinander Kopf erscheint gerade Pn−1 . Ist der erste Wurf Kopf, so muss der zweite Zahl sein, um zweimal nacheinander Kopf zu verhindern, und die Wahrscheinlichkeit, dass in den folgenden n−2 Würfen nicht zweimal aufeinanderfolgend Kopf erscheint ist Pn−2 . Also ist Pn = 12 Pn−1 + 14 Pn−2 , n > 2. Multiplizieren wir beide Seiten mit 2n , so erhalten wir 2n Pn = 2n−1 Pn−1 + 2n−2 Pn−2 . Ersetzen wir 2n Pn durch Sn , so haben wir Sn = Sn−1 + Sn−2 . Dies ist die Fibonacci Rekursion mit Sn = fn+2 . Die von uns gesuchte Wahrscheinlichkeit ist 1 − Pn = 1 − fn+2 /2n . x2 x2 , x4 = 3xx11−2x , 10) Berechnung der ersten Folgenglieder liefert : x3 = 2xx11−x 2 2 x1 x2 x5 = 4x1 −3x2 . Eine einfache Induktion zeigt die allgemeine Formel xn = x1 x2 x1 x2 = (x1 −x2 )n+(2x . Ist x1 = x2 , so wird der Wert des Nen(n−1)x1 −(n−2)x2 2 −x1 ) ners absolut beliebig groß. Also kann dann xn ab genügend großem n keine ganze Zahl mehr sein. Die einzige Möglichkeit ist x1 = x2 = . . . = xn ∈ Z. 6)
6. Lösungen der Übungsaufgaben
305
11) Sei S = A ∪ B die disjunkte Vereinigung einer Menge A mit n Elementen und einer Menge B mit m Elementen. Wir zählen auf zwei Arten die k-Mengen . Auf der anderen Seite besteht jede in S. Zunächst einmal sind dies n+m k k-Menge in S aus einer i-Menge in A und einer (k − i)-Menge in B. Für jede m viele (k − i)-Mengen in B, also genau der ni i-Mengen in A gibt es k−i n m viele k-Mengen, die aus einer i-Menge in A und einer (k − i)-Menge i k−i aus B bestehen. Summation über alle i liefert die Behauptung. 12) Wir betrachten alle Möglichkeiten, die n roten Punkte mit den n blauen Punkten durch Strecken zu verbinden. Jeder solchen Konfiguration ordnen wir die Summe der Längen der Verbindungsstrecken zu. Da es nur endlich viele gibt, finden wir eine Konfiguration mit minimaler Länge. Wir behaupten, dass diese kreuzungsfrei ist. Seien R1 , R2 zwei rote Punkte und B1 , B2 zwei blaue Punkte, so dass sich die Verbindungsstrecken R1 B1 und R2 B2 kreuzen. Dann könnten wir diese durch die Strecken R1 B2 und R2 B1 ersetzen, die sich nicht mehr kreuzen, aber eine kürzere Länge haben. 13) Sei N eine n + 1-Menge. Wir halten ein a ∈ N fest. Ist in einer k-Zerlegung von N die Menge {a} eine der Teilmengen, so bilden die restlichen eine (k − 1)Zerlegung der n-Menge N \ {a}. Dies liefert den ersten Summanden in der Rekursion. Anderenfalls entfernen wir a. Es ist dann N \ {a} immer noch in k Teilmengen zerlegt. Jede solche k-Zerlegung von N \ {a}, können wir zu einer k-Zerlegung von N erweiteren, indem wir in eine beliebige der k-Teilmengen a einfügen. Somit gibt es ksn,k solche Zerlegungen, was der zweite Summand ist. Es ist s8,6 = 266. 14) Die Anzahl der Folgen ist die Anzahl der möglichen Anordnung von n − 1 Strichen und x Sternen in einer Zeile. Dabei entsprechen die Striche den Kommata in dem n-Tupel und die Anzahl der aufeinander folgenden Sterne entspricht dem entsprechenden Eintrag in der Folge. Also (5, 3, 0, 1) = ∗ ∗ ∗ ∗ ∗| ∗ ∗ ∗ ||∗. Die Anzahl dieser Stern/Strich - Folgen ist genau die Anzahl der Möglichkeiten die . n − 1 Striche auf die möglichen n − 1 + x Positionen zu verteilen, also x+n−1 n−1 15) Die Summe läuft über Paare (i, j) mit j ≤ i. Wir können die Summations i n i . Nun kann man reihenfolge vertauschen und erhalten dann n i=0 j=0 i j n n i i dies umschreiben in i=0 i . Nach Satz 1.3.15 ist die zweite Summe j=0 n ji 2 gerade 2i . Also haben wir n . Nach Satz 1.3.12 ist dies (1 + 2)n . Also j=0 i n ist unsere Summe gerade 3 . 16) Anwendung des Inklusions - Exklusions - Prinzip liefert 8 bzw. 6. 17) Wir wenden das Inklusions - Exklusions - Prinzip an: Sei Di die Menge der Zahlen, die durch i geteilt werden. Dann gilt : |D2 ∪ D3 ∪ D5 ∪ D7 | = |D2 | + |D3 | + |D5 | + |D7 | − (|D6 | + |D10 | + |D14 | + D15 | + |D21 | + |D35 |) + (|D30 | + |D42 | + |D70 | + |D105 |) − |D210 | = 500000 + 333333 + 200000 + 142857 − (166666 + 100000 + 71428 + 66666 + 47619 + 28571) + (33333 + 23809 + 14285 + 9523) − 4761 = 771429. Die gesuchte Zahl ist also 1000000 − 771429 = 228571. 18) Wir können die Wahrscheinlichkeit berechnen, indem wir annehmen, dass die Anordnung in einem Paket fest ist. Wir zählen dann die Arrangements des zwei-
306
6. Lösungen der Übungsaufgaben
ten Paketes, die mindestens eine Übereinstimmung haben. Die Wahrscheinlichkeit ist nun diese Zahl dividert durch alle möglichen Anordnungen, die natürlich 32! ist. Sei Ai die Menge der Anordnungen, bei der die i-ten Karten in beiden Paketen übereinstimmen. Wir zählen 32 i . Nach dem Inklusions - Exklui=1 A 32 sions - Prinzip ist diese Zahl k=1 (−1)k+1 ( 1≤i1 ...≤ik ≤32 |Ai1 ∩ . . . ∩ Aik |). Es ist |Ai1 ∩ . . . ∩ Aik | die Anzahl der Anordnungen, in denen die Karten an den Stellen i1 , . . . , ik festgelegt sind. Die anderen können beliebig angeordnet werden. Also ist diese Anzahl (32 − k)!. Das liefert für unsere Summe 32 32 32! k+1 32 (32 − k)! = (−1) (−1)k+1 . k! k k=1
k=1
32 k+1 1 . Für Die gesuchte Wahrscheinlichkeit p32 ist somit gerade k=1 (−1) k! einen Stapel mit 6 Karten ist in dieser Summe die 32 durch 6 zu ersetzen. (−1)k+1 . Bei einer Genauigkeit von 9 Stellen Es gilt übrigens 1 − e−1 = ∞ k=1 k! erhalten wir p32 = 0.632120559 und p6 = 0.631944444. Die Wahrscheinlichkeiten sind also fast gleich. 19) (siehe [2, Seite 52]) Sei p(n) die Anzahl aller Partitionen von n und S die Menge derer, in denen alle Summanden ungerade sind. Sei Ei die Menge derjenigen, die i enthalten. Man wendet das Inklusions - Exklusions - Prinzip an. Die Anzahl der Partitionen, die die 2 enthalten, ist offenbar gleich p(n − 2). Also gilt pu (n) = p(n) − p(n − 2) − p(n − 4) − p(n − 6) . . . + p(n − 2 − 4) + p(n − 2 − 6) . . . − p(n − 2 − 4 − 6) . . .. Sei nun Fi die Menge der Partitionen, bei denen i mehrfach auftritt. Das gleiche Prinzip wie vorher liefert jetzt: pv (n) = p(n) − p(n−1−1)−p(n−2−2)−p(n−3−3) . . .+p(n−1−1−2−2)+p(n−1−1−3−3) . . .. Offenbar sind beide Ausdrücke gleich. 20) Sei Tn die n-te Zahl. Wir haben T0 = 1, T1 = 0 und Tn = nTn−1 + (−1)n . Dies ist genau die Rekursion für die Derangement Zahlen.
Lösungen zu den Aufgaben von Kapitel 2 1) Setze g = f − 6. Dann ist g = (x − a)(x − b)(x − c)(x − d)h. Ist f (k) = 9, so ist g(k) = 3 und hat die paarweise verschiedenen Teiler (k − a), (k − b), (k − c) und (k − d), ein Widerspruch. 2) Sei f (k) = 0 und r der Rest bei Division von k durch a mit Rest. Man überzeuge sich, dass f (k)−f (r) durch a teilbar ist. Dann ist aber auch f (r) durch a teilbar, ein Widerspruch. 3) Man sieht leicht, dass x4 + x + 1 keine Nullstelle in GF (2) hat. Das einzige irreduzible Polynom vom Grad zwei ist x2 +x+1. Aber x4 +x+1 = x4 +x2 +1 = (x2 + x + 1)2 . Also ist x4 + x + 1 irreduzibel. 4) ja. 5) Es ist n ≡ 1(mod 4), da sonst Rn nicht multiplikativ abgeschlossen ist. 6) x ∗ y = (x ∗ y) ∗ (x ∗ y) = [y ∗ (x ∗ y)] ∗ x = [(x ∗ y) ∗ x] ∗ y = [(y ∗ x) ∗ x] ∗ y = [(x ∗ x) ∗ y] ∗ y = [(y ∗ y) ∗ (x ∗ x)] = y ∗ x.
6. Lösungen der Übungsaufgaben
7)
8) 9)
10)
11)
12)
13)
14)
307
Sei B 2 = 0. Dann ist f (m, n) = 2 für alle m, n. Ist B = 0, so ist f (m, n) = n+1. Da B = 0 ist, folgt m(n + 1) = n! + 1, bzw. n! ≡ −1(mod n + 1). Nach dem Satz von Wilson ist dies äquivalent dazu, dass n + 1 eine Primzahl ist. Für . Dann ist B = 0 eine ungerade Primzahl p setzt man n = p − 1, m = (p−1)!+1 p und f (m, n) = n + 1 = p. Es ist f (1, 1) = 2. Die Eindeutigkeit folgt aus der Tatsache, dass f (m, n) = 2 oder n + 1 ist. Mit dem euklidischen Algorithmus findet man : f = −x3 − x, g = x5 + x3 + 1. Ist a ∈ Z eine Nullstelle von x5 + x2 − 1, so gilt a|1, aber weder 1 noch −1 sind Nullstellen. Sei also x5 + x2 − 1 = (x2 + ax + b)(x3 + cx2 + dx + e). Dann erhält man die folgenden Gleichungen : a + c = 0, b + ac + d = 0, c + ad + e = 1, bd + ae = 0, be = −1. Man kann nun leicht nachrechnen, dass diese nicht erfüllbar sind. Andere Lösung: Wie oben hat x5 + x2 − 1 keine Nullstelle in Z. Betrachte die Zerlegung als Produkt in einen Faktor vom Grad 2 und einen vom Grad 3 wie oben, nun aber modulo 2. Dies ist dann auch wieder eine nicht triviale Zerlegung. Da 15 + 12 +1 = 1 = 05 + 02 + 1 ist, hat das Polynom auch modulo 2 keine Nullstelle. Also ist der quadratische Faktor irreduzibel. Die quadratischen Polynome modulo 2 sind : x2 = xx, x2 + 1 = (x + 1)2 , x2 + x = x(x + 1) und x2 + x + 1. Also gibt es nur ein solches irreduzibles Polynom. Es ist aber x5 + x2 + 1 = (x3 + x2 )(x2 + x + 1) + 1, was zeigt, dass x2 + x + 1 kein Teiler von x5 − x2 + 1 modulo 2 ist. (a) x2 + 1 = (x + 2)(x − 2). (b) x3 + 5x2 + 5 = (x − 1)(x − 2)(x + 8). (c) x4 + 3x3 + x + 1 = (x2 + 2)(x2 + 3x + 3). (a) Die Anzahl der ungeraden Koeefizienten in (1 + x)n ist 2k , wobei k die Anzahl der Einsen in der Dualdarstellung von n ist. (b) Sei n = 2k1 + . . . + 2kr die Zerlegung gemäß der Dualdarstellung. Dann k1 kr k1 kr ist (1 + x)n = (1 + x)2 · · · (1 + x)2 ≡ (1 + x2 ) · · · (1 + x2 )(mod 2). Wird nun 1 + xm mit einem Polynom vom Grad kleiner als m multipliziert, so verdoppelt sich gerade die Anzahl der Summanden. Also hat modulo 2 das Polynom (1 + x)n genau 2r Summanden. Sei y = mx + b mit den vier Durchschnittspunkten (xi , yi ), i = 1, 2, 3, 4. Dann sind x1 , x2 , x3 , x4 Nullstellen der Gleichung mx + b = 2x4 + 7x3 + 3x − 5 bzw. x + −5−b . Die Summe der Nullstellen ist aber der negative x4 + 72 x3 + 3−m 2 2 3 Koeffizient vor x . Also ist (x1 + x2 + x3 + x4 )/4 = (− 72 )/4 = − 78 unabhängig von m und b. Man erhält: p(1) = p(02 + 1) = p(0)2 + 1 = 1, p(2) = p(11 + 1) = p(1)2 + 1 = 1 + 1 = 2, p(5) = p(22 + 1) = p(2)2 + 1 = 4 + 1 = 5, p(26) = p(52 + 1) = p(5)2 + 1 = 52 + 1 = 26. Wir definieren somit die Folge xn durch x0 = 0 und für n > 0 xn = x2n−1 + 1. Dann zeigt eine Induktion p(xn ) = xn . Also hat p(x) − x unendlich viele Nullstellen. Dies bedeutet aber p(x) = x für alle x. (x2 )−1 = x und (x + 1)(x2 + x + 1) = 0 in Z2 [x]/(x3 + 1)Z2 [x].
308
6. Lösungen der Übungsaufgaben
Lösungen zu den Aufgaben von Kapitel 3 1) Wir bestimmen zunächst das Einselement y : x∗y = xy +x+y. Damit erhalten wir (x + 1)y = 0 für alle x, also y = 0. Nun ist aber −1 ∗ y = −1 = 0 für alle y. Das liefert, dass −1 kein Inverses hat, also ist R mit ∗ keine Gruppe. 2) Da a3 = 1 ist, ist o(a) = 1 oder 3. Ist o(a) = 1, so ist a = 1 und dann b = b2 . Das liefert b = 1 und o(b) = 1. Sei nun o(a) = 3. Es ist b = a3 ba−3 = b8 . Damit ist o(b) ein Teiler von 7. Das liefert o(b) = 1 oder o(b) = 7. 3) Sei G nicht zyklisch. Dann haben alle Elemente die Ordnung 1, 2 oder 3. Sei o(g) = 3 für alle 1 = g ∈ G. Da für solche g stets g −1 = g ist, muss die Anzahl gerade sein, aber |G| − 1 = 5. Also gibt es mindestens ein Element g mit o(g) = 2. Sei h ∈ G \ {1, g}. Dann sind 1, g, gh, h paarweise verschieden. Ist o(gh) = 2 = o(h), so ist 1 = (gh)2 = ghgh, also gh = hg. Damit gibt es ein k ∈ G \ {1, g, h, gh}. Jetzt sind aber auch die Elemente 1, g, h, gh, k, gk, hk, ghk paarweise verschieden, was |G| = 6 widerspricht. Also gibt es ein h ∈ G \ {1, g} mit o(h) = 3. Damit ist G = {1, g, h, h−1 , gh, gh−1 }. Weiter rechnet man ghg = h−1 nach, da gh = hg ist. Anderenfalls wäre o(gh) = 6. Man bekommt die folgende Multiplikationstabelle
1 g h h−1 gh gh−1
4)
5) 6)
1 g h 1 g h g 1 gh h gh−1 h−1 h−1 gh 1 gh h−1 gh−1 gh−1 h g
h−1 h−1 gh−1 1 h g gh
gh gh h g gh−1 1 h−1
gh−1 gh−1 h−1 gh g h 1
Da diese Tabelle eindeutig ist, gibt es genau eine nicht zyklische Gruppe der Ordnung 6. Mit der Symmetriegruppe des regulären Dreiecks haben wir eine solche Gruppe bereits kennengelernt. Es ist klar, dass die Behauptung richtig ist, wenn A ⊆ B oder B ⊆ A ist. Sei x ∈ A \ B und y ∈ B \ A. Ist A ∪ B eine Gruppe, so ist xy ∈ A ∪ B. Also können wir xy ∈ A annehmen. Dann ist aber auch y = x−1 (xy) ∈ A, ein Widerspruch. Sei g = g −1 für alle g ∈ G, g = 1. Dann ist aber |G| − 1 gerade und |G| ungerade. Also gibt es stets ein g mit 1 = g = g −1 , d.h. g 2 = 1. Wir haben Drehungen an Achsen durch Ecken und Mitte der Gegenseite um die Winkel 120 und 240 Grad. Dies liefert 8 Symmetrien. Spiegelungen an den Kanten liefern 6 Symmetrien. Drehungen um Achsen durch die Mittelpunkte gegenüberliegender Seiten um 180 Grad, liefern 3 Symmetrien, schließlich eine dieser drei Drehungen gefolgt von einer der obigen 6 Spiegelungen. Man bekommt noch einmal mindestens 6 Symmetrien. Zusammen haben wir mindestens 24 Symmetrien. Da jede Symmetrie die 4 Ecken permutiert, muss eine Symmetrie, die alle Ecken festlässt, die Identität sein. Es folgt, dass die Symmetriegruppe eine Untergruppe der Σ4 ist. Da |Σ4 | = 24 ist, folgt die Gleichheit.
6. Lösungen der Übungsaufgaben
123456789 736425819
309
und
123456789 835742196
7)
(a)
8)
(b) (1, 3)(4, 7, 6)(5, 8, 9). (c) (1, 3)(1, 5)(7, 9)(3, 6)(3, 8)(2, 3). (d) −1. Sei σ1 = (a1 , . . . , aα )(b1 , . . . , bβ ) . . .. Dann ist
.
τ −1 σ1 τ = (τ −1 (a1 ), . . . , τ −1 (aα ))(τ −1 (b1 ), . . . , τ −1 (bβ )) . . . . Also haben σ1 und σ2 die gleiche Zyklenstruktur. Haben umgekehrt σ1 und (1) (1) (1) (1) σ2 die gleiche Zyklenstruktur, also σ2 = (a1 , . . . , aα )(b1 , . . . , bβ ) . . .. So (1) (1) definieren wir τ durch τ (ai ) = ai , i = 1, . . . , α, τ (bi ) = bi , i = 1, . . . , β usw. 9) (a) 4,2,15. Die Ordnung eines Elements aus Σn ist das kleinste gemeinsame Vielfache der Zyklenlängen. Seien Mi die zu den einzelnen Zyklen gehörenden Bahnen. Dann ist o(g|Mi ) = |Mi | und die einzelnen Zyklen sind miteinander vertauschbar. Es genügt also zu zeigen: Sind g1 , g2 ∈ G mit g1 g2 = g2 g1 , so ist o(g1 g2 ) = kgV(o(g1 ), o(g2 )). Dies ist offensichtlich da die gi Permutationen auf disjunkten Mengen Mi , i = 1, 2, sind. (b) Es ist klar, dass wir nur Zyklenlängen betrachten müssen, die paarweise teilerfremd sind. Dies reduziert die Möglichkeiten beträchtlich. Wir enden mit der Zyklenstruktur [1, 1, 1, 4, 5, 7, 9, 11, 13]. Die Ordnung ist 180180. 10) (a) Nachrechnen der Axiome. (b) Da es vier Möglichkeiten für a und fünf für b gibt, ist |G| = 20. (c) Identifiziere K mit {1, 2, 3, 4, 5}. Jedes ta,b ist eine Permutation dieser Menge. Diese Zuordnung ist der gesuchte injektive Homomorphismus. 11) Es sind (1, 2)(3, 4), (1, 3)(2, 4) und (1, 4)(2, 3) die sämtlichen Elemente von A4 , die in der Zyklenzerlegung genau zwei disjunkte 2-Zyklen haben. Also bilden sie zusammen mit dem neutralen Element einen Normalteiler N von A4 . Ist U eine Untergruppe mit U ≤ N , so ist nach dem Satz von Lagrange N U = A4 . Also ist |U | = 3, und U wird von einem 3-Zykel erzeugt, U = A4 oder |U | = 6. Es bleibt zu zeigen, dass Letzteres nicht möglich ist. Sei |U | = 6. Dann ist U ∩ N = n von der Ordnung 2 und normal in U . Somit ist g −1 ng = n für alle g ∈ U . Wir können o.B.d.A. n = (1, 2)(3, 4) annehmen. Dann rechnet man leicht nach, dass alle Elemente in A4 , die mit n vertauschen, in N liegen, dh. U ≤ N , ein Widerspruch. 12) (a) Ist 1 2 ...... n π(1) π(2) . . . . . . π(n) eine Permutation mit k Abstiegen, so ist 1 2 ...... n π(n) π(n − 1) . . . . . . n eine Permutation mit n − k − 1 Abstiegen.
310
6. Lösungen der Übungsaufgaben
Also ist
- . . n n = . k n−k−1
(b) Sei
1 2 ...... n − 1 x1 x2 . . . . . . xn−1
eine Permutation aus Σn−1 . Dann liefert dies n Permutationen aus Σn , indem wir 1 2 ... j j + 1 ... n x1 x2 . . . n xj . . . xn−1 für j = 1, . . . , n bilden. Die Anzahl der Abstiege in der neuen Permutation ist die gleiche wie in der alten Permutation, wenn wir j = 1 oder xj−1 < xj haben, sie ist um einen Abstieg größer, wenn wir j = n oder xj−1 > xj haben. Wir erhalten also eine Permutation mit k Abstiegen in Σn auf . n−1 (k + 1) k Arten aus Permutationen aus Σn−1 mit k Abstiegen und auf . n−1 ((n − 2) − (k − 1) + 1) k−1 Arten aus Permutationen mit k − 1 Abstiegen. Dies ist die Behauptung. 13) Wir beweisen zunächst den Hinweis. Dieser ist äquivalent zu der Gleichung (n + 1)x = (k + 1)(x + k − n) + (n − k)(x + k + 1). Dies ist ein quadratisches Polynom in k. Also genügt es, die Gleichung an drei Stellen zu verifizieren. Man setze k = 0, k = −1 und k = n ein. Dies beweist den Hinweis. Nun ist xn+1 = xxn =
n−1 k=0
(+)
x
- . n x+k = k n
- ./ 0 n x+k x+k+1 (k + 1) + (n − k) k n+1 n+1 k=0
n−1
nach dem Hinweis.
6. Lösungen der Übungsaufgaben
311
Andererseits können wir Aufgabe 12(b) anwenden. Danach ist . n n+1 x+k = k n+1 k=0 (∗) - . . n x+k n x+k (k + 1) + ((n + 1) − k) . k n+1 k−1 n+1 k=0 n
- . n Wegen = 0 ist der erste Teil der Summe n
(1)
- . n−1 - . n n x+k x+k (k + 1) (k + 1) = . k n+1 k n+1 k=0 k=0 n
Für den zweiten Teil der Summe gilt . . n n n n x+k x+k ((n + 1) − k) ((n + 1) − k) = . k−1 n+1 k−1 n+1 k=0 k=1 Indem wir k − 1 durch k ersetzen, erhalten wir dann . n−1 - . n n n x+k x+k+1 ((n + 1) − k) (n − k) = . (2) k−1 n+1 k n+1 k=1 k=0 Diese beiden Umformungen (1) und (2) in (∗) eingesetzt, liefern den Ausdruck (+) für xn+1 . 14) Wir müssen die Drehgruppe des Tetraeders auf den 6 Kanten operieren lassen. Man bekommt 8 Drehungen um die Symmetrieachsen Ecke und Mitte der Gegenkante um die Winkel 120 und 240 Grad. Diese sind alle vom Typ (123)(456). Ansonsten haben wir noch die drei Drehungen um Achsen durch die Mittelpunkte gegenüberliegender Seiten um 180 Grad. Diese sind jeweils vom Typ 1 (x61 + 8x23 + 3x21 x22 ). (1)(2)(3, 4)(5, 6). Damit haben wir für den Zyklenindex 12 i i i Hierin muss xi = r + g + b eingesetzt werden. Der Koeffizient vor r2 g 2 b2 ist dann 9. 1 (x51 + 10x31 x2 + 15x1 x22 + 20x21 x3 + 20x2 x3 + 30x1 x4 + 24x5 ). Dies kann man 15) 120 durch elementares Abzählen verifizieren. 16) (a) Tetraeder : Die Symmetrien stehen bereits in in Aufgabe 14. Nur müssen wir jetzt die Operation auf den Seiten betrachten. Das ist die gleiche wie auf den Ecken. Also 1 4 (x1 + 8x1 x3 + 3x22 ). 12
312
6. Lösungen der Übungsaufgaben
(b) Würfel : Hier sind die Symmetrien bereits auf Seite 174 bestimmt worden. Wir müssen nun nur die Operation auf den Seiten betrachten. 1 6 (x1 + 6x21 x4 + 3x21 x22 + 6x32 + 8x23 ). 24 (c) Oktaeder : Die Seiten eines Oktaeders entsprechen den Ecken eines Würfels. Also ist der Zyklenindex der gleiche, wie der des Würfels auf den Ecken. Dieser steht auf Seite 175 1 8 (x1 + 8x21 x23 + 9x42 + 6x24 ). 24 (d) Dodekaeder : Es gibt 24 Drehungen um Vielfache von 2π/5 um Achsen durch Mittelpunkte gegenüberliegender Seiten. Es gibt 15 Drehungen um π um Achsen durch Mittelpunkte gegenüberliegender Kanten. Es gibt 20 Drehungen um Achsen durch gegenüberliegende Ecken um Vielfache von 2π/3. Dies ergibt 1 12 (x1 + 24x21 x25 + 15x62 + 20x43 ). 60 (e) Die Seiten des Ikosaeders bilden die Ecken eines Dodekaeders. Also können wir auch obige Gruppe auf den Ecken operieren lassen. Das liefert 1 20 4 (x1 + 20x21 x63 + 15x10 2 + 24x5 ). 60
17)
18)
19)
20)
Für die Anzahl der Färbungen mit zwei Farben erhalten wir in obiger Reihenfolge: 5, 10, 23, 96, 17964. Wir müssen die Fixpunkte der einzelnen Symmetrien zählen. Die Identität 2 hat n2 viele Fixpunkte. Die Drehungen um 90 Grad haben keine Fixpunkte. Fixpunkte. Die Spiegelungen an Die Drehung um 180 Grad hat n2 + n−1 2 + n Fixpunkte. Die Spiegelung Achsen durch die Seitenmitten haben n(n−1) 2 2 + n2 Fixpunkte. Damit haben wir: an Achsen durch Gegenecken hat n(n−1) n2 n n−1 n 2 n(n−1) n(n−1) 1 1 ( 2 + 2 + 2 +2( 2 + 2 )+2( 2 + n2 )) = 16 (n4 +8n2 −8n−1). 8 (a) Man wende das Untergruppenkriterium an. (b) Die Länge jeder Bahn ist eine p-Potenz, da Gx für jedes x ∈ G eine Untergruppe ist. Da aber |G \ {1}| nicht durch p teilbar ist, muss es eine Bahn der Länge 1 geben, d. h. ein 1 = x ∈ G mit g −1 xg = x für alle g ∈ G, d. h. x ∈ Z(G). Die Untergruppen sind: S4 , A4 , S3 , A3 , die Symmetriegruppe des Quadrates, die von (1, 2, 3, 4) erzeugte Gruppe der Ordnung 4, die von (1, 2) erzeugte Gruppe der Ordnung 2, die Einsgruppe. (a) Man wende das Untergruppenkriterium an. (b) Nach (a) ist jede Untergruppe von G normal. Sei zunächst |G| = pa für eine Primzahl p. Sei U eine Untergruppe der Ordnung pa−1 . Dann ist U zyklisch und enthält somit Untergruppen für jeden Teiler von pa−1 . Wähle g ∈ G \ U . Da alle Untergruppen von G der Ordnung höchstens pa−1 in U liegen, ist o(g) = pa . Somit ist g ein Erzeuger von G. Sei nun |G| = pa q, wobei q nicht durch p teilbar ist. Dann gibt es per Induktion h, u ∈ G, mit | h| = q und
6. Lösungen der Übungsaufgaben
313
| u| = pa . Da h und u normal in G sind, ist h−1 u−1 hu ∈ u ∩ h = 1 und damit uh = hu. Dann hat aber g = hu die Ordnung |G| und somit ist g ein Erzeuger von G. 21) Die Stoffteile können mit den Ecken eines Rechtecks identifiziert werden. Wir wollen sie im Uhrzeigersinn mit 1, 2, 3, 4 bezeichnen. Die möglichen Symmetrien sind: Identität, auf dem Kopf stehend (1,3)(2,4), verkehrt herum (1,2)(3,4), beides (1,4)(2,3). Der Zykelnindex ist 14 (x41 +3x22 ). Sei r die Anzahl der Farben. Dann muss 14 (r4 + 3r2 ) ≥ 160 sein. Also werden 5 Farben benötigt. 22) Auf Seite 182 hatten wir den Zyklenindex für die Drehungen der Perlenkette berechnet. Diesen wollen wir mit ZCn bezeichnen. Die Behaupung ist, dass die volle Symmetriegruppe den Zyklenindex 12 (ZCn + Rn ) hat. Zur vollen Symmetriegruppe kommen noch die n Spiegelungen hinzu. Wir fassen die Perlenkette wieder als reguläres n - Eck auf. Dann haben wir Spiegelungen an Achsen durch Gegenecken und an Achsen durch die Mitten von Gegenkanten im Fall n gerade. Im Fall n ungerade haben wir nur Spiegelungen an Achsen durch eine Ecke und die Mitte der Gegenkante. Im letzten Fall haben wir (n − 1)/2 Zyklen der Länge zwei und einen der Länge 1. Im ersten Fall haben wir (n − 2)/2 Zyklen der Länge 2 und zwei der Länge 1, falls die Achse durch zwei Ecken geht, und sonst n/2 Zyklen der Länge 2. Also ist der Beitrag, den die Spiegelungen liefern, genau nRn . Die Symmetriegruppe hat die Ordnung 2n, was den Faktor 1 erklärt, da es nur n Drehungen gab. 2
Lösungen zu den Aufgaben von Kapitel 4 1) (a) 2 (b) 3. 2) C = {000000, 111000, 100110, 010101, 001011}. Mit Länge 5 gibt es allerdings keinen 1-fehlerkorrigierenden Code C mit |C| = 5. 3) Per Induktion haben wir |C(r + 1, m + 1)| = |C(r + 1, m)||C(r, m)| = 2b+c mit m m+1 und c = ri=0 m , also nach Satz 1.3.14 b + c = r+1 . b = r+1 i=0 i=0 i i i Per Induktion folgt aus Beispiel 4.2.19 sofort d(C(r + 1, m + 1)) = 2m+r . 4) Mit Satz 4.2.20 sehen wir d(C) ≥ 3. Mit |C| = 9, n = 4, q = 3 gilt die Hammingschranke mit Gleichheit. 5) 100110. 6) Sei f g = ph ∈ V . Nach Satz 2.3.8 ist p | f oder p | g, also ist f ∈ V oder g ∈ V . 7) Wir wissen V = pK[x] mit p ∈ K[x]. Es ist p irreduzibel zu zeigen. Sei p = f1 g1 . Sei ohne Einschränkung f1 ∈ V . Dann ist insbesondere f1 keine Einheit. Also müssen wir zeigen, dass g1 eine Einheit ist. Es ist p | f1 . Also ist f1 = ph1 und p = f1 g1 = (ph1 )g1 = p(h1 g1 ). Dann ist aber 1 = g1 h1 , somit ist g1 eine Einheit. 8) Es ist g = kgV(p, f ). Da offenbar p | g und f | g gilt, ist kgV(p, f ) | g. Weiter ist kgV(p, f ) ∈ pK[x] ∩ f K[x].
314
9)
10)
11) 12)
13)
6. Lösungen der Übungsaufgaben
Es ist Ci = {a | a ∈ K[x], gi teilt a}, i = 1, 2. Ist C1 ⊆ C2 , so ist g1 ∈ C2 , also g2 | g1 . Ist umgekehrt g2 | g1 , so ist für a ∈ C1 stets g2 | g1 | a, also a ∈ C2 , d.h. C1 ⊆ C2 . (a) Nach Satz 2.3.12 ist ggT(g1 , g2 ) = a1 g1 + a2 g2 mit geeigneten ai ∈ K[x]. Also ist g1 K[x] + g2 K[x] = ggT(g1 , g2 )K[x]. (b) Dies folgt aus Aufgabe 8. Der erste kann einen Fehler erkennen, der zweite kann aber vier aufeinanderfolgende Fehler erkennen. Seien q = 8 (p = 2, n = 7) und d = 3, b = 1 in Satz 4.3.13. Das Polynom x3 + x + 1 ist irreduzibel über GF (2). Es teilt x7 − 1. In K gibt es wegen |K| − 1 = 7 ein Element der Ordung 7. Also gibt es in K ein α mit α7 = 1 und α3 = α + 1. Wir erhalten nun den gesuchten Code durch das Erzeugerpolynom g(x) = (x − α)(x − α2 ) = α3 + (α2 + α)x + x2 = α3 + α4 x + x2 . Nach Satz 4.2.20 müssen wir Vektoren u1 , . . . , un ∈ K n−k finden so, dass für je 2t dieser Vektoren die Gleichungen aus Satz 4.2.20 nur trivial erfüllbar sind. Für u1 nehmen wir irgendeinen Vektor ungleich dem Nullvektor. Angenommen wir haben schon h Vektoren u1 , . . . , uh gefunden. Sei U ⊆ {u1 , . . . , uh } eine Menge mit i Elementen. Die Anzahl der Vektoren der Form u∈U λu u, wobei alle λu = 0 sind, ist höchstens (q − 1)i . Also ist die Anzahl der Vektoren h ungleich dem Nullvektor, die sich in der Gestalt i=1 λi ui schreiben lassen, wobei höchstens 2t − 1 der λi ungleich Null sind, höchstens h h h (q − 1) + (q − 1)2 + · · · + (q − 1)2t−1 . 1 2 2t − 1
Solange diese Zahl kleiner als q n−k − 1 ist, können wir also einen weiteren Vektor uh+1 hinzufügen, ohne die Eigenschaft aus Satz 4.2.20(b) zu zerstören. 14) (a) Anwendung von Satz 4.2.17 liefert den Widerspruch 79 ≤ 32. (b) Seien ei , i = 1, . . . , 7, die 7 -tupel, die an der Stelle i eine 1 und sonst überall Nullen stehen haben. Seien e8 = (1, 1, 1, 1, 0, 0, 0), e9 = (0, 0, 1, 1, 1, 1, 0), e10 = (1, 0, 0, 0, 1, 1, 1) und e11 = (1, 1, 1, 0, 0, 0, 1). Dann erfüllen diese Vektoren Satz 4.2.20. Also gibt es einen (11,4,5) - Code. 15) Sei c ∈ C mit w(c) = a, a ungerade. Bilde die n Codewörter, die aus c durch zyklische Verschiebung hervorgehen. Dann tritt bei genau a dieser Wörter an der Stelle i eine Eins auf, i = 1, . . . , n. Summieren wir diese Wörter auf, so erhalten wir somit ein Wort, das an jeder Stelle eine Eins hat. 16) Wir identifizieren {0, 1, 2} mit den drei Elementen eines Körpers K mit |K| = 3. Der Ausgang einer Wette ist dann ein Element c von K 13 . Ein Tip mit 12 Richtigen hat dann Abstand 1 von c, liegt somit in S(c, 1). Sei C der Hamr −1 , also r = 3. mingcode aus Beispiel 4.2.21. Es ist dann n = 13 und 13 = 33−1 10 Nach Beispiel 4.2.21 benötigen wir also 3 Tippreihen. Da der Hammingcode 1-perfekt ist, geht es auch nicht besser.
6. Lösungen der Übungsaufgaben
315
Lösungen zu den Aufgaben von Kapitel 5 1) (a) Sei x1 eine Ecke und x2 , x3 , x4 die Nachbarn von x1 . Da Γ keine Dreiecke enthält, hat x2 noch zwei neue Nachbarn x5 und x6 . Also ist |E| ≥ 6. Gleichheit gilt nur dann, wenn auch x3 und x4 mit x5 , x6 benachbart sind. Dann ist Γ der vollständige bipartite Graph mit 6 Ecken. (b) Sei (x1 , . . . , x5 , x1 ) ein 5-Kreis in Γ. Sei yi der Nachbar von xi , i = 1, . . . , 5, der nicht im Kreis liegt. Dann ist yi = yj für i = j, da es keine 4-Kreise gibt. Also ist |E| ≥ 10. Sei |E| = 10. Dann muss y1 mit zwei der anderen yi benachbart sein. Da dadurch aber kein 4-Kreis entstehen darf, folgt, dass die Nachbarn y3 und y4 sind. Genauso ist y2 mit y4 und y5 benachbart und y3 mit y5 . Der resultierende Graph ist der Graph aus Aufgabe 3. 2) Wir betrachten den Graphen Γ1 , der die gleiche Eckenmenge wie Γ hat, aber zwei Ecken sind genau dann durch eine Kante verbunden, wenn sie dies in Γ nicht sind. Da jede Ecke in Γ mit genau 4 Ecken benachbart ist, ist in Γ1 jede Ecke mit genau zwei benachbart. Ein zusammenhängender Graph mit dieser Eigenschaft ist aber ein Kreis. Also gibt es für Γ1 nur die beiden Möglichkeiten: Γ1 ist ein 7-Kreis, Γ1 ist Vereinigung eines 3-Kreises mit einem 4-Kreis. Indem man nun genau die in Γ1 nicht verbundenen Ecken verbindet erhält man die zwei möglichen Graphen Γ. 3) (a) Aus der Definition des Graphen folgt sofort, dass die Gruppe S5 eine Automorphismengruppe von Γ ist. Sei umgekehrt G = Aut(Γ). Sei x eine Ecke von Γ. Nach Satz 3.5.7 ist |Gx | ≥ |G|/10. Wir betrachten die drei Nachbarn von x. Sei H die Untergruppe von Gx , die diese drei Nachbarn y1 , y2 , y3 fest lässt. Da auf diesen höchstens eine S3 induziert werden kann, ist |H| ≥ |Gx |/6. Es hat y1 genau zwei Nachbarn z1 , z2 verschieden von x. Sei H1 die Untergruppe von H, die diese beiden Nachbarn fest lässt. Dann ist |H1 | ≥ |H|/2. Es lässt H1 die bisher angegebenen 6 Ecken fest. Da der Graph keine Vierecke enthält, liegt jeder Weg der Länge drei in einem eindeutig bestimmten 5 -Eck. Es sind y2 , x, y1 , z1 und y2 , x, y1 , z2 zwei 3-Wege. Diese liegen auf zwei verschiedenen 5-Kreisen. Also lässt H1 die jeweils zwei anderen Ecken auf diesen Kreisen auch fest. Damit lässt aber H1 alle 10 Ecken fest, d.h. H1 = 1. Somit haben wir nun |G| ≤ 10 · 6 · 2 = 120. Da G eine zu S5 isomorphe Untergruppe enthält, folgt, dass G zu S5 isomorph ist. (b) Das kann man leicht nachprüfen. 4) Wir bezeichnen die kleinen Käsestückchen abwechselnd mit a und b, wobei wir mit einem a - Stück unten links beginnen (also alle Nachbarn von a Stückchen sind b - Stückchen und umgekehrt). Da die Maus immer von a nach b und von b nach a wandert, endet ein Weg mit a, wenn er mit a beginnt (die Anzahl der Käsestücke ist ungerade). Das mittlere Stück ist aber ein b - Stück. Also existiert ein solcher Weg nicht. Dies lässt sich auf n = 4k + 3 verallgemeinern. Für einen 5 × 5 × 5-Würfel gibt es einen solchen Weg. Dies gilt sogar für n = 4k +1. Eine Möglichkeit besteht darin, an einer Ecke zu beginnen und sich auf der ersten Scheibe spiralförmig bis in die Mitte zu fressen, dann auf dem Mittelstück zur nächsten Scheibe vorzudringen und sich dort wieder
316
6. Lösungen der Übungsaufgaben
spiralförmig bis zu einer Ecke zu fressen. Dies wird k - mal fortgesetzt. Nach 2k Scheiben sitzt die Maus an einer Ecke. Danach schreitet die Maus im Prinzip genauso fort. Nur lässt sie stets das mittlere Stück stehen und geht schon ein Stück früher auf die nächste Scheibe. Somit endet sie nun auf der vorletzten Scheibe wieder in der Ecke. Nun frisst sie sich spiralförmig bis in die Mitte und dann durch die übriggebliebenen Mittelstücke der einzelnen Scheiben bis zum Mittelstück des Würfels. 5) Ist k = {a, b} keine Brücke. so gibt es einen Weg von a nach b, der k nicht benutzt. Zusammen mit k erhalten wir dann einen Kreis. Ist k in einem Kreis, so kann man jede Tour, die k benutzt, zu einer Tour machen, die k nicht benutzt, indem man k durch den Kreis ohne k ersetzt. Also ist dann k keine Brücke. 6) Wir beweisen die Behauptung durch Induktion nach n. Der Fall n ≤ 2 ist klar. Sei also n ≥ 3. Dann ist d1 = 1, da sonst d1 + d2 + . . . + dn ≥ 2n > 2n − 2 wäre. Weiter ist dn > 1, da sonst d1 = d2 = . . . = dn = 1 und somit d1 + . . . + dn = n < 2n−2 wäre. Es ist d2 +d3 +. . .+dn−1 +(dn −1) = 2n−4 = 2(n−1)−2. Also gibt es per Induktion einen Baum Γ1 mit den Valenzen d2 , d3 , . . . , dn−1 , dn − 1. Wir fügen zu Γ1 eine neue Ecke e mit Valenz 1 hinzu, die wir mit der Ecke vom Grad dn − 1 verbinden. Dies ergibt einen Baum Γ mit den Valenzen d1 , . . . , dn . 7) Gibt es einen minimalen aufspannenden Baum, der kn nicht benutzt, so ist ˜ = Γ(E, K \ {k}) zusammenhängend und per Induktion nach insbesondere Γ n liefert der Algorithmus dann einen minimalen aufspannenden Baum. Also können wir annehmen, dass jeder minimale aufspannende Baum kn enthält. ˜ nicht zusammenhängend. Seien Γ1 und Γ2 die beiden ZuInsbesondere ist Γ sammenhangskomponenten. Dann besteht jeder minimale aufspannende Baum aus kn und minimalen aufspannenden Bäumen in den Γi . Per Induktion liefert der Algorithmus diese minimalen aufspannenden Bäume und fügt im letzten Schritt kn hinzu, was dann den minimalen Baum liefert. 8) Angenommen T und T1 seien verschiedene optimale Bäume und k = {u, v} sei eine Kante in T , die nicht in T1 ist. Auf dem eindeutig bestimmten Weg in T1 , welcher u und v verbindet, liegt eine Kante k1 , welche die beiden Komponenten in T \ {k} verbindet. Nun hat entweder (T \ {k}) ∪ {k1 } oder (T1 \ {k1 }) ∪ {k} geringeres Gewicht als T . 9) Die Ecken ungerader Valenz sind c, d, g, j. Ein minimales Matching ist {c, d} und {g, j}. Es werden die Kanten {a, c}, {a, d}, {f, g}, {f, h} und {h, j} verdoppelt. Wir können nun einen Eulerkreis bestimmen. 10) Wir wenden den Algorithmus aus Satz 5.6.7 an. 11) Wir setzen S = {s, d, c, g, b, } und T = {h, k, i, j, e, t}. Dann ist (S, T ) ein Schnitt mit Kapazität 24. Man kann leicht mit dem Algorithmus aus Beispiel 5.6.9 einen Fluss f mit w(f ) = 24 angeben. 12) Die Ecken mit dein = daus sind 1, 6, 7, 3. Wir bilden den bipartiten Graph mit den Eckenmengen {1, 1, 6} und {7, 7, 3}. Die Kanten tragen als Gewicht die jeweiligen Entfernungen. Ein minimales Matching enthält die Kante {1, 7} zweimal und die Kante {6, 3}. Der Wert diese Matchings ist 21. Es werden
6. Lösungen der Übungsaufgaben
317
im Graphen die Kanten (1, 4), (1, 4), (4, 7), (4, 7) und (6, 3) hinzugefügt. Ein Eulerkreis ist dann: 1 − 4 − 7 − 1 − 4 − 7 − 2 − 3 − 1 − 5 − 1 − 4 − 1 − 2 − 6 − 3 − 6 − 3 − 4 − 7 − 5 − 2 − 5 − 7 − 6 − 2 − 4 − 5 − 3 − 5 − 6 − 1. 13) Wir beschreiben die Graphen durch ihre Adjazenzmatrix. Diese erhält man, indem man den Ecken die Zahlen 1 bis n zuordnet. Der Eintrag an der Stelle ij in der Martix ist 1 falls {i, j} eine Kante ist. Sonst ist der Eintrag 0. Jemand gibt einen Isomorphismus ϕ : Γ → Δ an. Dann muss für jede 1 oder 0 in der Adjazenzmatrix von Γ geprüft werden, ob der entsprechende Eintrag in der Adjazenzmatrix von Δ ebenfalls 1 oder 0 ist. Dies geht mit einem Aufwand in der Größenordnung von n2 .
Literaturverzeichnis [1] Chr. H. Papadimitriou, K. Steiglitz, Combinatorial Optimization. Prentice-Hall 1982. [2] M. Aigner: Diskrete Mathematik. Vieweg, Braunschweig 2004 (5. Aufl.). [3] G. Fischer: Lehrbuch der Algebra. Vieweg, Braunschweig 2008. [4] O. Forster: Analysis 1: Differential- und Integralrechnung einer Veränderlichen. Vieweg, Braunschweig 2008 (9. Aufl.). [5] M. Grötschel, L. Lovász, A. Schrijver: Geometric Algorithms and Combinatorial Optimization. Springer, Heidelberg 1993 (2. Aufl.). [6] K.A.S. Immink: Coding techniques for digital recorders. Prentice Hall, Englewood Cliffs, NJ, 1991. [7] D. Jungnickel: Graphen, Netzwerke und Algorithmen. BI Wissenschaftsverlag, Mannheim 1994. [8] H. Kurzweil, B. Stellmacher: Theorie der endlichen Gruppen. Springer, Heidelberg 1998. [9] J.H. van Lindt: Introduction to coding theory. Springer, Heidelberg 1982. [10] P.M. Neumann, G.A. Stoy, E.C. Thompson: Groups and Geometry. Oxford Science Publications, Oxford 1994. [11] K. Reiss, G. Schmieder: Basiswissen Zahlentheorie. Eine Einführung in Zahlen und Zahlbereiche. Springer, Heidelberg 2007 (2. Aufl.). [12] R.H. Schulz: Codierungstheorie-Eine Einführung. Vieweg Verlag, Wiesbaden 2003 (2. Aufl.). [13] G. Stroth: Lineare Algebra. Heldermann Verlag, Lemgo 2008 (2. Aufl.). [14] G. Stroth: Algebra, Einführung in die Galoistheorie. DeGruyter, Berlin 1998. [15] W. Willems: Codierungstheorie. DeGruyter, Berlin 1999.
K. Reiss, G. Stroth, Endliche Strukturen, Mathematik für das Lehramt, c Springer-Verlag Berlin Heidelberg 2011 DOI 10.1007/978-3-642-17182-6,
Index f -zunehmend, 283 k–Permutation, 28 k–Variation, 28 k–Zykel, 145 k(a), 102 n-Eck reguläres, 122, 129, 135, 139, 152, 161 t-perfekt, 214, 235 überabzählbar, 18 Egerváry, J., 292 Abbildung, 15 bijektive, 16 injektive, 16, 21 surjektive, 16, 21 Umkehr-, 26 Abel, N.H., 56 abelsche Gruppe, 56 abzählbar, 18 algebraisch, 109, 111 algebraische Zahl, 108 Algorithmus Dijkstra-, 266–268, 271, 294 euklidischer, 81 Eulerkreis, 294 Floyd-Warshall-, 273, 294 Greedy-, 272 maximaler Fluss, 285, 294 minimaler Baum, 294 minimales Matching, 294 optimal, 242 polynomial, 246, 294 ungarischer, 292, 294 vollständiges Matching, 288 Zusammenhang, 263 Alkohol, 183 Alternierende Gruppe, 154 auflösbare Gruppe, 194 aufspannender Baum, 255 Automorphismus, 96, 130, 184 Bahn, 158, 161
Baum, 251, 253 aufspannender, 255, 263, 264 minimaler, 272 BCH-Code, 233 bijektiv, 16 Bild, 15, 98 Binomialkoeffizient, 31 Binomischer Lehrsatz, 30 bipartiter Graph, 278, 289 Bombelli, R., 192 Bose, R.Ch., 233 Brücke, 250 Burnside, W., 165 Cardano, G., 191 Cardano-Form, 191 Cayley, A., 182, 251 Charakteristik, 66 Chinesischer Postbote, 241 Code, 206 BCH-, 233 CIRC-, 235 Dimension, 212 dualer, 218 fehlererkennender, 208 fehlerkorrigierender, 208, 233 Golay-, 234 Hamming-, 222, 238 linearer, 211 Paritäts-, 228 perfekter, 214, 235 Reed-Muller-, 217 Reed-Solomon-, 233, 235, 237 Wiederholungs-, 205, 217, 221, 228 zyklischer, 223, 227, 229, 233, 237 Codewort, 206, 222 Codierung, 206 Decodierung, 222 Derangement, 45, 46 Diedergruppe, 122 Dijkstra, E.W., 266
322
Index
Dijkstra-Algorithmus, 268, 294 Dimension, 212 Distanz, 210 Division mit Rest, 79, 86 Drehung, 119 Dreieck Pascalsches, 32 Dreiecksungleichung, 207 dualer Code, 218 Durchschnittswert einer Färbung, 176 Ecke, 243 einfache Gruppe, 193 Einheit, 77, 78 Element erzeugendes, 127, 128 inverses, 57, 120, 121, 123 irreduzibles, 76–78, 84 neutrales, 57, 120, 121 Potenz, 123 Erzeuger, 127, 128 Euklid, 107 euklidischer Algorithmus, 81 Ring, 106 Euler Kreis, 256, 263, 292 Tour, 258 Weg, 256, 258, 261 Euler, L., 256, 260 Eulerweg geschlossener, 256 Färbung, 168, 169 Durchschnittswert, 176 Faktorgruppe, 142 Fehlerbündel, 235 fehlererkennender Code, 208 fehlerkorrigierender Code, 208 Feit, W., 165 Fibonacci-Folge, 49 Fixpunkt, 164 fixpunktfreie Permutation, 46 Floyd, R.W., 273
Floyd-Warshall-Algorithmus, 273, 294 Fluss, 281 maximaler, 281, 285 Wert eines, 281 Galois, E., 187, 193 Galoisgruppe, 187 Gauß, C.F., 193 Gerüstgraph, 244 gerichteter Graph, 276 geschlossener Eulerweg, 256 Gewicht, 212 Gewichtsfunktion, 266, 279 Gleichheitsgraph, 290, 292 Golay, J.E., 234 Golay-Code, 234 größter gemeinsamer Teiler, 81, 82 Grad eines Polynoms, 73 Graph, 243 bipartit, 278, 289 gerichtet, 276 Gleichheits-, 290, 292 isomorph, 245, 247 Multi-, 244, 259 Petersen-, 297, 315 schlingenfrei, 243 ungerichteter, 243 vollständig, 244 zusammenhängend, 249, 253, 295 Greedy-Algorithmus, 272 Gruppe, 56, 120, 121 abelsche, 56, 121 Alternierende, 154 auflösbare, 194 Dieder-, 122 einfache, 193 endliche, 122 Faktor-, 142 Galois-, 187 kommutative, 121 Symmetrie-, 122, 140 Symmetrische, 143, 195 unendliche, 122 zyklische, 128, 133, 135
Index
Hamilton, W. R., 193, 257 Hamiltonkreis, 257, 258, 295 Hamming Abstand, 207 Code, 222, 238 Hamming, R.W., 206 Hocquenghem, A., 233 Hollerith, H., 155 Homomorphismus, 96, 130 Ideal, 225 identische Abbildung, 26 Identität, 26 Induktion vollständige, 5 Induktions Anfang, 7 Axiom, 7 Beweis, 7 Prinzip, 3, 4, 6, 7 Schritt, 7 Voraussetzung, 7 injektiv, 16, 21 Inklusion-Exklusion, 36, 39, 41 inverses Element, 57, 121, 123 irreduzibel, 77, 78, 84, 90, 100 isomorph, 245, 247 isomorphe Einbettung, 97 Graphen, 245 Isomorphismus, 96, 130 König, D., 292 Königsberger Brückenproblem, 258 Körper, 60 endliche, 60, 62, 92 Prim-, 69 Teil-, 68 Zerfällungs-, 93, 95, 230 Körpererweiterung, 187 Kante, 243 Kapazität eines Schnittes, 283 Kapazitätsfunktion, 279
323
Kern, 98 eines Homomorphismus, 139 Koeffizient, 73 Kombination, 29 Kommutatitvgesetz, 122 kongruente Polynome, 90 Kongruenzklasse, 90 konjugiert komplex, 187 Kreis, 249 Kugelpackungsschranke, 213 Kuhn, H., 292 Länge, 249 Lagrange J.L., 138 Leibniz, G.W., 193 linearer Code, 211 Linksnebenklasse, 141 Mächtigkeit, 18 Matching, 265 maximales, 287 minimales, 278, 291 vollständig, 278, 287–289, 291, 292 Muller, D.E., 217 Multigraph, 244, 259 Nebenklasse, 141 Netzwerk, 279 neutrales Element, 57, 121 Normalteiler, 141 normiert, 226 NP, 293, 295 NP-vollständig, 296 Nullstelle, 88, 95, 100, 186 Operation, 155 optimal, 242 Ordnung einer Gruppe, 122 eines Elements, 123 P=NP, 295, 296 Pólya, G., 178, 182 Paritäts Code, 228 Matrix, 220, 222, 223, 228, 229
324
Index
Pascalsches Dreieck, 32 Permutation, 24, 143 Petersengraph, 297, 315 Polynom, 73, 75 Grad, 73 irreduzibel, 90, 100 normiert, 226 Polynome kongruente, 90 polynomial, 294 polynomialer Algorithmus, 246 Polynomring, 73 Postbote Chinesischer, 241 Potenz eines Elementes, 123 Primfaktorzerlegung, 107 Primkörper, 69 Quelle, 280 Radikale, 189 Ramsey, F.P., 22 Ramsey-Spiel, 22 Ray-Chaudhuri, D.K., 233 Rechtsnebenklasse, 141 Reed, I.S., 217 Reed-Muller-Code, 217 Reed-Solomon-Code, 233, 235, 237 reguläres n-Eck, 122, 129, 135, 139, 152, 161 Dreieck, 147 Viereck, 132 Rekursion, 9 Ring, 58 euklidischer, 106 Ringhomomorphismus, 96 Satz Max Fluss-Min Schnitt, 284 von Burnside, 165 von Jordan-Hölder, 194 von Lagrange, 138, 162 von Pólya, 179 von Sylow, 164 von Wilson, 64
schlingenfrei, 243 Schnitt, 283 Kapazität, 283 Schubfachprinzip, 3, 13, 19 Senke, 280 Signum, 149 Funktion, 15 Solomon, G., 233 Spiegelung, 119 Stabilisator, 159 surjektiv, 16, 21 Sylow-Satz, 164 Symmetrie, 117, 120, 157, 187 von Polynomen, 184 Symmetriegruppe, 122, 140 des Quadrats, 150, 159, 165, 173 des regulären n-Eck, 152, 161 des Würfels, 174 Symmetrische Gruppe, 143, 195 Teiler, 77 größter gemeinsamer, 81, 82 Teilkörper, 68 Thompson, J., 165 Tour, 249 Transposition, 145, 146 transzendent, 111 transzendente Zahl, 108 Travelling Salesman, 258 Turm von Hanoi, 10 Typ einer Permutation, 171 Umkehrabbildung, 26 Ungarischer Algorithmus, 292, 294 ungerichteter Graph, 243 Untergruppe, 129 Untergruppenkriterium, 129 Urbild, 15 Valenz, 246, 247 vollständiges Matching, 278 Vorzeichenfunktion, 15 Wahrscheinlichkeit, 42 Warshall, S., 273
Index
Weg, 249 Wiederholungscode, 205, 217, 221, 228 Wohlordnungsaxiom, 5 Zahl algebraische, 108 imaginäre, 193 transzendente, 108 Zerfällungskörper, 93, 95, 230 Zufallsexperiment, 42
325
Zuordnungsproblem, 287 zusammenhängender Graph, 249 Zusammenhangskomponente, 250 Zwischenecke, 274 Zyklen Index, 172 Zerlegung, 146, 148, 158, 171 zyklische Gruppe, 128, 133, 135 zyklischer Code, 223, 227, 229, 233, 237