261 116 3MB
German Pages [424] Year 2006
Diskrete Mathematik
Karl-Heinz Zimmermann
Diskrete Mathematik
Books on Demand
Prof. Dr. Karl-Heinz Zimmermann TU Hamburg-Harburg 21071 Hamburg Germany
Bibliografische Information der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet abrufbar u ¨ber hhttp://dnb.ddb.dei.
Alle Rechte vorbehalten c °2006 Karl-Heinz Zimmermann, Autor
Herstellung und Verlag: Books on Demand GmbH, Norderstedt Umschlaggestaltung: Wolfgang Brandt, TU Hamburg-Harburg Gedruckt auf s¨ aure-, holz- und chlorfreiem Papier Printed in Germany
ISBN 3-8334-5529-2
F¨ ur meinen Lehrer Prof. Dr. Thomas Beth 16.11.1949 – 17.08.2005
VI
Vorwort
Das Buch entstand aus einer viersemestrigen, jeweils zweist¨ undigen Vorlesung u ¨ber Diskrete Mathematik, die ich an der Technischen Universit¨at HamburgHarburg f¨ ur Studenden des Informatik-Ingenieurwesens in den letzten Jahren gehalten habe. Dieses Buch behandelt neben den Grundlagen der Diskreten Mathematik auch eine Reihe weiterf¨ uhrender Themen, deren Kenntnis heute von jedem Informatiker und Mathematiker erwartet wird. Es eignet sich f¨ ur das Selbststudium und als Textbuch zum Gebrauch neben der Vorlesung. Die Diskrete Mathematik ist die Mathematik der endlichen Mengen, besser gesagt, der endlichen Konfigurationen unter Nebenbedingungen. Dabei geht es u.a. um die Abz¨ ahlung, Konstruktion und Existenz von Konfigurationen und das Rechnen mit Konfigurationen. Wichtige Teilgebiete der Diskreten Mathematik sind Kombinatorik, Graphentheorie, Verbandstheorie, Codierungstheorie, Kryptographie und kombinatorische Optimierung. Zudem stellt die Diskrete Mathematik Algorithmen und Datenstrukturen bereit und ist damit verkn¨ upft mit der Theoretischen Informatik. Im ersten Teil des Buches steht der Aufbau der modernen Mathematik im Vordergrund. Zun¨ achst werden Grundbegriffe der mathematischen Logik und Mengenlehre darstellt, soweit sie als sprachliches Ger¨ ust der modernen Mathematik dienen. Anschließend werden Relationen, insbesondere Abbildun¨ gen, Aquivalenzen und Ordnungen, untersucht. Der erste Teil schließt mit dem Aufbau der nat¨ urlichen Zahlen sowie der Abz¨ahlbarkeit von Mengen. Der zweite Teil f¨ uhrt in die elementare Kombinatorik ein. Zuerst werden Z¨ ahlprinzipien vorgestellt, die grundlegend f¨ ur den Aufbau der Kombinatorik sind. Danach wird die Abz¨ahlungstheorie der klassischen Abbildungstypen mit Nebenbedingungen entwickelt. Im dritten Teil werden die klassischen euklidischen Ringe, der Ring der ganzen Zahlen und die Polynomringe, sowie die Restklassenringe modulo n untersucht. Die multiplikative Struktur dieser Ringe wird eingehender beleuchtet.
VIII
Vorwort
Im vierten Teil werden zuerst die grundlegenden Eigenschaften linearer Codes skizziert. Anschließend wird die Theorie der endlichen K¨orper entwickelt und wichtige Klassen linearer Codes vorgestellt. Im f¨ unften Teil wird die Verbandstheorie anhand der Ordnungstheorie aufgebaut. Als wichtiges Beispiel werden Begriffsverb¨ande umf¨anglicher behandelt. Danach werden boolesche Verb¨ande dargestellt und eine wichtige Klasse boolescher Verb¨ ande, Schaltalgebren, untersucht, mit deren Hilfe kombinatorische Schaltkreise beschrieben werden. Der sechste Teil beginnt mit einer Einf¨ uhrung in die Graphentheorie. Dann werden grundlegende Algorithmen f¨ ur Netzwerke pr¨asentiert und Methoden vorgestellt, um komplexe Optimierungsprobleme n¨aherungsweise zu l¨osen. Schließlich werden die Grundlagen der linearen Optimierung behandelt. Insbesondere wird gezeigt, dass die adressierten Netzwerk-Probleme durch lineare Programme gel¨ ost werden k¨onnen. Im letzten Teil wird die kombinatorische Abz¨ahlungstheorie nach P´olya entwickelt und das Schubfachprinzip zur Ramsey-Theorie erweitert. Letztere geh¨ ort zu den wichtigsten Werkzeugen der existenziellen Kombinatorik. Jedes Kapitel schließt mit einem anwendungszogenen Beispiel und einer Reihe von Selbsttestaufgaben. L¨osungshinweise zu diesen Aufgaben findet der interessierte Leser auf meiner Homepage. Das vorliegende Buch kann als Textbuch f¨ ur Vorlesungen u ¨ber Diskrete Mathematik dienen. Die folgende Tabelle liefert eine m¨ogliche Zuordnung zwischen Vorlesungen und Kapiteln des Buches: Kapitel Vorlesung (zweist¨ undig) Diskrete Mathematik I 1 bis 11 Diskrete Mathematik II 12 bis 15 (teilweise 15.4), 19 bis 21 Diskrete Mathematik III 22 bis 24, 26 Diskrete Mathematik IV 15.4, 16 bis 18, 25 Danken m¨ ochte ich Dr. Prashant Batra, Stefan Goltz, Dr. Andreas Popp, Markus Volkmer und Dr. Otto Wohlmuth, die teils fr¨ uhere Versionen des Manuskripts durchgesehen haben. Mein Dank gilt auch den H¨orern meiner Vorlesungen, die durch ihr großes Interesse und ihre hilfreichen Kommentare an der Entstehung dieses Buches mitgewirkt haben. Danken m¨ochte ich auch Wolfgang Brandt f¨ ur die Gestaltung der Umschlagseite. Schließlich m¨ochte ich dem Verlag Books on Demand meinen Dank f¨ ur die gute Zusammenarbeit aussprechen.
Hamburg, im Juli 2006
Karl-Heinz Zimmermann
IX
Mathematische Notation
n N N0 Z Zn Z∗n Q R R+ 0 C ∅ P (A) |A| ⌊x⌋ ⌈x⌉
{1, . . . , n} Menge der nat¨ urlichen Zahlen Menge der nat¨ urlichen Zahlen inklusive 0 Menge der ganzen Zahlen Menge der Restklassen modulo n Menge der Einheiten in Zn Menge der rationen Zahlen Menge der reellen Zahlen Menge der nichtnegativen reellen Zahlen Menge der komplexen Zahlen leere Menge Potenzmenge von A M¨ achtigkeit von A gr¨ oßte ganze Zahl kleiner gleich x kleinste ganze Zahl gr¨oßer gleich x
Inhaltsverzeichnis
Teil I Grundlagen 1
Grundlagen der Aussagenlogik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Aussagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Aussageformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Erf¨ ullbarkeit und G¨ ultigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ 1.4 Aquivalenz ............................................. 1.5 Schaltungsentwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 3 4 5 6 8
2
Grundlagen der Pr¨ adikatenlogik . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Objekte, Pr¨ adikate und Quantoren . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Existentielle und universelle Quantifizierung . . . . . . . . . . . . . . . . 2.3 Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Beweistechnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11 11 12 14 15 18
3
Mengenlehre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Mengen und Elemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Verkn¨ upfung von Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Mengensysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Axiomatische Mengenlehre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23 23 26 29 31
4
Relationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Das kartesische Produkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Der Relationsbegriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Darstellung von Relationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Komposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Relationale Datenbanken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37 37 39 40 41 43
XII
Inhaltsverzeichnis
5
Homogene Relationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Darstellung von homogenen Relationen . . . . . . . . . . . . . . . . . . . . . ¨ 5.2 Aquivalenzen ........................................... 5.3 Ordnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 H¨ ullen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47 47 48 51 53
6
Abbildungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Der Abbildungsbegriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Spezielle Abbildungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Familien, Folgen und Multimengen . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Permutationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 Analyse von Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55 55 57 59 62 66
7
Die 7.1 7.2 7.3 7.4
nat¨ urlichen Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vollst¨ andige Induktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arithmetik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Induktion und fundierte Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . Schleifenprogrammierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71 71 72 76 77
8
Unendliche Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 Endliche und unendliche Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Abz¨ ahlbare und u ¨berabz¨ahlbare Mengen . . . . . . . . . . . . . . . . . . . 8.3 Berechenbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81 81 82 86
Teil II Elementare Kombinatorik 9
Z¨ ahlprinzipien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1 Elementare Z¨ ahlprinzipien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Prinzip der doppelten Abz¨ahlung . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 Schubfachprinzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4 Prinzip der Inklusion-Exklusion . . . . . . . . . . . . . . . . . . . . . . . . . . .
89 89 90 91 92
10 Kombinationen und Permutationen . . . . . . . . . . . . . . . . . . . . . . . . 97 10.1 Kombinationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 10.2 Repetitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 10.3 Permutationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 10.4 Permutationen und Zykeltypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 10.5 Variationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 11 Partitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 11.1 Mengenpartitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 11.2 Stirling-Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 11.3 Zahlpartitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Inhaltsverzeichnis
XIII
Teil III Arithmetik 12 Die 12.1 12.2 12.3 12.4 12.5
ganzen Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Arithmetik der ganzen Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Ringe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Beispiele f¨ ur Ringe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Homomorphismen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Schleifenparallelisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
13 Teilbarkeitslehre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 13.1 Division mit Rest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 13.2 Der euklidische Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 13.3 Primfaktorisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 13.4 G¨ odelisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 14 Restklassenringe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 14.1 Restklassenringe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 14.2 Rechnen in Restklassenringen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 14.3 Lineare Kongruenzensysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 14.4 Kanonische Zerlegung von Restklassenringen . . . . . . . . . . . . . . . . 143 14.5 Modulares Rechnen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 15 Einheiten in Restklassenringen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 15.1 Einheiten und Nullteiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 15.2 Die Anzahl der Einheiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 15.3 Integrit¨ atsringe und K¨orper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 15.4 Gruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 15.5 RSA-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 16 Polynome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 16.1 Polynomringe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 16.2 Teilbarkeitslehre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 16.3 Nullstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 16.4 Irreduzible Polynome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 16.5 Polynom-Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 16.6 Divisionsschieberegister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Teil IV Codes 17 Lineare Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 17.1 Linearcodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 17.2 Fehlerkorrigierende Linearcodes . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 17.3 Linearcodes von gleicher Qualit¨at . . . . . . . . . . . . . . . . . . . . . . . . . . 191 17.4 Berechnung des Minimalabstandes . . . . . . . . . . . . . . . . . . . . . . . . . 199
XIV
Inhaltsverzeichnis
17.5 Schranken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 17.6 Modifikation und Kombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 18 Endliche K¨ orper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 18.1 K¨ orperweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 18.2 Konstruktion und Eindeutigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 18.3 Existenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 18.4 Polynom-Faktorisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 18.5 BCH-Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 18.6 Reed-Solomon-Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Teil V Ordnungen und Verb¨ ande 19 Verb¨ ande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 19.1 Der Verbandsbegriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 19.2 Ordnungsstrukturen als Verb¨ande . . . . . . . . . . . . . . . . . . . . . . . . . 241 19.3 Verb¨ ande als Ordnungsstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . 242 19.4 Unterverb¨ ande und Homomorphismen . . . . . . . . . . . . . . . . . . . . . . 244 19.5 Begriffsverb¨ ande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 20 Boolesche Verb¨ ande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 20.1 Distributive und komplement¨are Verb¨ande . . . . . . . . . . . . . . . . . . 253 20.2 Boolesche Algebren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 20.3 Normalformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 20.4 Schaltalgebren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 20.5 Kombinatorische Schaltkreise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Teil VI Graphen und Optimierung 21 Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 21.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 21.2 Wege, Kreise und Zusammenhang . . . . . . . . . . . . . . . . . . . . . . . . . 276 21.3 Planare Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 21.4 Datenstrukturen und Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . 283 22 Netzwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 22.1 K¨ urzeste Wege . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 22.2 Minimale Spannb¨ aume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 22.3 Maximale Fl¨ usse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 22.4 Die S¨ atze von Hall, K¨onig-Egerv´ary und Menger . . . . . . . . . . . . 299
Inhaltsverzeichnis
XV
23 Kombinatorische Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 23.1 Komplexit¨ atsklassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 23.2 Backtracking-Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 23.3 Heuristische Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 23.4 Greedy-Algorithmen und Matroide . . . . . . . . . . . . . . . . . . . . . . . . 319 23.5 Knotenf¨ arbungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 24 Lineare Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 24.1 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 24.2 Lineare Programme und Dualit¨at . . . . . . . . . . . . . . . . . . . . . . . . . . 328 24.3 Der zul¨ assige Bereich und die Rolle der Ecken . . . . . . . . . . . . . . . 333 24.4 Ganzzahlige Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 24.5 Das Simplex-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Teil VII Kombinatorik 25 Abz¨ ahlende Kombinatorik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 25.1 Gruppenoperationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 25.2 Das Lemma von Burnside . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 25.3 F¨ arbungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 25.4 Zykelindikatorpolynome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 25.5 Der Satz von P´olya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 25.6 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 26 Existenzielle Kombinatorik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 26.1 Schubfachprinzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 26.2 Klassische Ramsey-Theorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 26.3 Untere Schranken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 26.4 Verallgemeinerte Ramsey-Theorie . . . . . . . . . . . . . . . . . . . . . . . . . . 372 26.5 Graphische Ramsey-Theorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 26.6 Anwendung in der Kommunikationstechnik . . . . . . . . . . . . . . . . . 375 Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Sachverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Teil I
Grundlagen
1 Grundlagen der Aussagenlogik
Mathematische Logik und Mengenlehre sind grundlegend f¨ ur den Aufbau, die Entwicklung und die einheitliche Darstellung der mathematischen Disziplinen. Die mathematische Logik formalisiert die Sprache, in der mathematische Aussagen formuliert werden, und stellt Regeln auf, um aus gegebenen Aussagen neue herzuleiten.
1.1 Aussagen In der Mathematik werden Aussagen in einer formalisierten Sprache wiedergegeben, die nur noch die logisch relevanten Elemente der Umgangssprache enth¨ alt. Aussagenbegriff Eine Aussage ist eine sprachliche Formulierung, die einen Wahrheitswert besitzt. Eine Aussage ist entweder wahr (w) oder falsch (f ). Die Aussagen “3 + 2 = 5”und “7 ist eine Primzahl” sind wahr, w¨ahrend die Aussagen “New York ist die Hauptstadt der USA” und “Paris liegt in England” falsch sind. Keine Aussagen sind “Wohin gehst Du?” oder “Sei x eine Primzahl”. Verkn¨ upfung von Aussagen Seien P und Q Aussagen. Zusammengesetzte Aussagen sind • • • • •
Negation: ¬P oder P , sprich “nicht P ”. Konjunktion: P ∧ Q, sprich “P und Q”. Disjunktion: P ∨ Q, sprich “P oder Q”. Implikation: P ⇒ Q, sprich “wenn P , dann Q”; die Aussage P heißt Pr¨amisse und die Aussage Q Konklusion. ¨ Aquivalenz: P ⇔ Q, sprich “P genau dann, wenn Q”.
4
1 Grundlagen der Aussagenlogik
Die vermittelnden W¨ orter in zusammengesetzten Aussagen, “nicht”, “und”, “oder”, “wenn...dann”, und “genau dann, wenn...”, heißen Junktoren. Der Wahrheitswert einer zusammengesetzten Aussage wird durch eine Wahrheitstafel definiert P Q ¬P P ∧ Q P ∨ Q P ⇒ Q P ⇔ Q f f w f f w w f w f w w f w f f f w f f ww w w w w Beispiel 1.1. Die Aussage “Wenn New York ist die Hauptstadt der USA, dann gibt es keine Marsm¨annchen” besteht aus zwei Teilaussagen P : “New York ist die Hauptstadt der USA” Q: “Es gibt Marsm¨annchen” Die zusammengesetzte Aussage lautet P ⇒ (¬Q); sie ist wahr, weil die Pr¨ amisse falsch ist.
1.2 Aussageformen Aussageformen sind die zentralen Sprachelemente der Aussagenlogik. Aussageformen Aussagenvariablen sind Variablen, in die Aussagen eingesetzt werden k¨onnen. Aussageformen sind durch Junktoren verkn¨ upfte Aussagen oder Aussagenvariablen und sind wie folgt definiert: • •
Aussagen und Aussagenvariablen sind Aussageformen. Sind P und Q Aussageformen, dann sind Aussageformen (¬P ), (P ∧ Q), (P ∨ Q), (P ⇒ Q), (P ⇔ Q).
(1.1)
Beispiel 1.2. Seien P und Q Aussagenvariablen. Aussageformen sind ((P ∧ (P ⇒ Q)) ⇒ Q) und (w ∨ ((P ⇒ Q) ⇒ Q)), wobei w f¨ ur eine beliebige wahre Aussage steht. Vereinfachung von Aussageformen Aussageformen werden vereinfacht, indem die ¨außeren Klammern weggelassen werden. Weitere Klammern werden durch eine Konvention eingespart, nach der bei Fehlen von Klammern gewisse Junktoren stets vor anderen auszuf¨ uhren sind. Die Negation hat Vorrang vor Konjunktion und Disjunktion, die beide gleichberechtigt sind und ihrerseits Vorrang haben vor der Implika¨ tion, w¨ ahrend die Implikation hat Vorrang vor der Aquivalenz.
1.3 Erf¨ ullbarkeit und G¨ ultigkeit
5
Beispiel 1.3. Die Aussageform P ∧(Q∨R) ⇒ ¬Q∧P bedeutet ((P ∧(Q∨R)) ⇒ (¬(Q) ∧ P )). Die Vorrangregeln greifen nicht bei Aussageformen mit lauter gleichen Junktoren. Die Aussageformen P ∧ Q ∧ R, P ∨ Q ∨ R, und P ⇔ Q ⇔ R werden links geklammert, d.h., interpretiert als (P ∧ Q) ∧ R, (P ∨ Q) ∨ R und (P ⇔ Q) ⇔ R. Die Aussageform P ⇒ Q ⇒ R wird rechts geklammert, d.h., interpretiert als P ⇒ (Q ⇒ R).
1.3 Erfu ¨llbarkeit und Gu ¨ltigkeit Zust¨ ande Sei P eine Aussageform, die Aussagenvariablen enth¨alt. Wird jeder solchen Aussagenvariable ein Wahrheitswert zugeordnet, so wird der Aussageform P ein Wahrheitswert anhand einer Wahrheitstafel zugewiesen. Eine Liste von Gleichungen Q = v, in der jede Aussagenvariable Q in der Aussageform P mit einem Wahrheitswert v belegt wird, heißt ein Zustand von P . Beispiel 1.4. Die Aussageform P ⇒ Q ∧ P ist im Zustand P = w und Q = f falsch und im Zustand P = f und Q = f wahr. Erf¨ ullbarkeit Eine Aussageform P heißt erf¨ ullbar in einem Zustand, wenn P wahr ist in diesem Zustand. Eine Aussageform P heißt erf¨ ullbar, wenn es einen Zustand von P gibt, in dem P erf¨ ullbar ist. Beispiel 1.5. Die Aussageform P ⇒ Q ∧ P ist erf¨ ullbar, weil sie im Zustand P = f und Q = f wahr ist. G¨ ultigkeit Eine Aussageform P heißt g¨ ultig oder eine Tautologie, wenn P in jedem Zustand erf¨ ullbar ist. Beispiel 1.6. Die Aussageform P ∧ (P ⇒ Q) ⇒ Q ist g¨ ultig, wie die folgende Wahrheitstafel zeigt P f f w w
Q P ⇒ Q P ∧ (P ⇒ Q) P ∧ (P f w f w w f f f f w w w
⇒ Q) ⇒ Q w w w w
6
1 Grundlagen der Aussagenlogik
Formalisierung von Umgangssprache Eine umgangssprachliche zusammengesetzte Aussage wird anhand folgender Faustregel formalisiert: W¨ ahle die jeweils k¨ urzesten Aussagen, die keine Junktoren enthalten. F¨ ur jede solche Aussage beantworte die Frage, ob sie wahr oder falsch ist. Verkn¨ upfe diese Aussagen mithilfe entsprechender Junktoren und ermittle den Wahrheitswert der zusammengesetzten Aussage anhand einer Wahrheitstafel. Beispiel 1.7. Die zusammengeetzte Aussage ”Um trocken zu bleiben, ist es hinreichend einen Regenmantel zu tragen.” besagt ”Wenn Du einen Regenmantel tr¨agst, dann bleibst Du trocken”. Sie besteht aus den Aussagen P : “Regenmantel tragen” Q: “trocken bleiben” und hat die Form P ⇒ Q. Die umgekehrte Aussage Q ⇒ P bedeutet ”Um trocken zu bleiben, ist es notwendig einen Regenmantel zu tragen.”. Sie ist falsch, denn man k¨ onnte auch einen Regenschirm benutzen.
¨ 1.4 Aquivalenz ¨ Aquivalenz von Aussageformen Zwei Aussageformen P und Q heißen ¨aquivalent, wenn die Aussageform P ⇔ ¨ Q g¨ ultig ist. Aquivalente Aussageformen P und Q haben in jedem Zustand den gleichen Wahrheitswert. F¨ ur jede g¨ ultige Aussageform P gilt also P ⇔ w,
(1.2)
wobei w eine beliebige wahre Aussage bezeichnet. Beispiel 1.8. Die Aussageformen P ⇒ Q und ¬P ∨ Q sind ¨aquivalent, wie die folgende Wahrheitstafel zeigt P f f w w
QP f w f w
⇒ Q ¬P ∨ Q (P ⇒ Q) ⇔ (¬P ∨ Q) w w w w w w f f w w w w
¨ 1.4 Aquivalenz
7
Satz 1.9. F¨ ur alle Aussageformen P , Q und R gelten folgende Rechengesetze •
Kommutativgesetz: P ∨Q ⇔ Q∨P
P ∧Q ⇔ Q∧P •
Assoziativgesetz: P ∨ (Q ∨ R) ⇔ (P ∨ Q) ∨ R
P ∧ (Q ∧ R) ⇔ (P ∧ Q) ∧ R •
Idempotenzgesetz: P ∨P ⇔ P
P ∧P ⇔ P
•
Distributivgesetz: P ∨ (Q ∧ R) ⇔ (P ∨ Q) ∧ (P ∨ R) P ∧ (Q ∨ R) ⇔ (P ∧ Q) ∨ (P ∧ R)
•
Gesetze von De Morgan (1806-1878): ¬(P ∧ Q) ⇔ ¬P ∨ ¬Q ¬(P ∨ Q) ⇔ ¬P ∧ ¬Q
•
Absorptionsgesetz: P ∨ (P ∧ Q) ⇔ P P ∧ (P ∨ Q) ⇔ P
•
Gesetz von der doppelten Verneinung: ¬(¬P ) ⇔ P.
•
Gesetze mit wahren und falschen Aussagen: ¬P ∧ P ⇔ f ¬P ∨ P ⇔ w
P ∨f ⇔ P P ∨ w ⇔ w.
Beweis. Wir zeigen exemplarisch das erste Gesetz von De Morgan anhand einer Wahrheitstafel: P f f w w
Q ¬(P ∧ Q) ¬P f w w w w f w f
∨ ¬Q ¬(P ∧ Q) ⇔ ¬P ∨ ¬Q w w w w w w f w ⊓ ⊔
8
1 Grundlagen der Aussagenlogik
Umformen von Aussageformen Die Rechengesetze k¨ onnen dazu benutzt werden, um komplizierte Aussageformen schrittweise zu vereinfachen. Beispiel 1.10. F¨ ur die Aussageform ¬(P ∧ Q) ∨ P gilt ¬(P ∧ Q) ∨ P ⇔ (¬P ∨ ¬Q) ∨ P De Morgan ⇔ ¬P ∨ (¬Q ∨ P ) Assoziativit¨at
⇔ ¬P ∨ (P ∨ ¬Q) Kommutativit¨at
⇔ (¬P ∨ P ) ∨ ¬Q Assoziativit¨at ⇔ w ∨ ¬Q Gesetz mit w, Kommutativit¨at ⇔w
Gesetz mit w.
Syntax und Semantik der Aussagenlogik Die Verkn¨ upfung von logischen Ausdr¨ ucken wirkt auf zwei logischen Ebenen, Syntax und Semantik. Die Syntax bezieht sich auf die Form von Aussagen und die Semantik auf den Inhalt oder den Wahrheitswert von Aussagen. Syntax und Semantik lassen sich anhand der Frage unterscheiden, ob eine Aussageform eine Tautologie ist. Auf semantischer Ebene wird diese Frage durch Aufstellen einer Wahrheitstafel, also das Zuordnen von Bedeutung beantwortet. Auf syntaktischer Ebene kann diese Frage anhand eines vollst¨andigen Axiomensystems der Aussagenlogik beantwortet werden. Wenn die Aussageform aus dem Axiomensystem herleitbar ist, dann wird gefolgert, dass es sich um eine Tautolgie handelt.
1.5 Schaltungsentwurf Die Aussagenlogik ist grundlegend f¨ ur den Entwurf von elektronischen Schaltungen. Gatter Logische Schaltungen werden mithilfe der logischer Grundfunktionen und, oder und nicht realisiert. Diese Grundfunktionen werden Gatter genannt. Sie k¨ onnen miteinander zu komplizierten integrierten Schaltungen kombiniert werden, die arithmetische, speicher- oder steuerungsbezogene Aufgaben l¨osen. UND- und ODER-Gatter haben jeweils zwei Eingabeleitungen und eine Ausgabeleitung, w¨ ahrend das NICHT-Gatter (oder Inverter) eine Eingabeund eine Ausgabeleitung besitzt. Auf den Leitungen kann Strom fließen. Das Fließen von Strom auf einer Leitung wird durch den Wahrheitswert wahr dargestellt, das Nichtfließen von Strom durch den Wahrheitswert falsch. Mit dieser Interpretation entspricht das UND-Gatter der Konjunktion, das ODERGatter der Disjunktion und das NICHT-Gatter der Negation (Abb. 1.1).
1.5 Schaltungsentwurf
P Q
P ∧Q
P Q
P ∨Q
P
9
r ¬P
Abb. 1.1. Schaltsymbole f¨ ur UND-Gatter, ODER-Gatter und NICHT-Gatter.
Verkn¨ upfung von Gattern An einem Beispiel wird gezeigt, wie Gatter zu komplizierten logischen Schaltkreisen zusammengef¨ ugt werden k¨onnen. Beispiel 1.11. Eine Lampe soll von zwei Schaltern unabh¨angig voneinander ein- und ausgeschaltet werden k¨onnen. Der die Lampe steuernde logische Schaltkreis hat zwei Eingabeleitungen und eine Ausgabeleitung. Die Eingabeleitungen entsprechen den Schaltern und die Ausgabeleitung der Lampe. Jeder Schalter hat zwei Stellungen. Es stehe wahr (oder 1) f¨ ur Schalter “ein” und falsch (oder 0) f¨ ur Schalter “aus”. Die Ausgabeleitung gibt an, ob die Lampe brennt: wahr, falls die Lampe brennt, und falsch, wenn sie nicht brennt. Anfangs seien beide Schalter “aus” und die Lampe brenne in dieser Stellung nicht. Wenn einer der beiden Schalter bet¨atigt wird, soll das Licht angehen. Aus dieser Stellung heraus soll das Licht durch irgendeinen der beiden Schalter wieder ausgeschaltet werden k¨onnen. Somit wird die gesuchte Schaltung durch folgende Wahrheitstafel beschrieben: P f w f w
Q s(P, Q) f f f w w w w f
Um die logische Schaltung der Lampensteuerung mit Hilfe von Gattern zu realisieren, muss die Aussageform s(P, Q) verm¨oge Gatter aus den Eingabesignalen kombiniert werden. Dabei ist nur auf die Zust¨ande zu achten, in denen die Schaltung s(P, Q) den Wert wahr annimmt, also P = w und Q = f sowie P = f und Q = w. Die Aussageform s(P, Q) ist ¨aquivalent zur Aussageform (P ∧ ¬Q) ∨ (¬P ∧ Q).
(1.3)
Die zugeh¨ orige logische Schaltung ist in Abb. 1.2 skizziert. Die beiden Inverter sind durch Punkte an den Eing¨angen der beiden UND-Gatter angedeutet.
10
1 Grundlagen der Aussagenlogik
P Q
r
r
r r
s(P, Q)
Abb. 1.2. Logischer Schaltkreis f¨ ur eine Lampensteuerung.
Selbsttestaufgaben 1.1. Sei P die Aussage “Susi ist reich” und Q die Aussage “Susi ist gesund”. Formuliere damit die Aussagen ¬P ∧ Q, ¬P ∧ ¬Q und ¬P ∨ (P ∧ ¬Q). 1.2. Stelle die Wahrheitstafel f¨ ur die Aussageform P ∨ ¬Q auf. 1.3. Zeige, dass die Aussageform P ∨ ¬(P ∧ Q) eine Tautologie ist. 1.4. Vereinfache mittels De Morgan die Aussage “Es ist nicht wahr, dass ihre Mutter Britin oder ihr Vater Deutscher ist”. 1.5. Negiere die Aussage “Wenn es kalt ist, tr¨ agt er einen Mantel, aber kein TShirt”. 1.6. Vereinfache die Aussageform (P → Q) ∧ (P ∧ ¬Q). Handelt es sich um eine Tautologie? 1.7. Vereinfache die Aussageform (P ⇒ Q) ⇒ ((P ⇒ ¬Q) ⇒ ¬P ). 1.8. Zeige, dass die Aussageformen ¬(P ∨ Q) ∨ (¬P ∧ Q) und ¬P ¨ aquivalent sind, erstens durch Aufstellen einer Wahrheitstafel und zweitens durch Umformen. 1.9. Entwirf eine logische Schaltung f¨ ur die Aussageform (P ∧ Q) ∨ (¬P ∧ ¬Q).
2 Grundlagen der Pr¨ adikatenlogik
In diesem Kapitel wird die Aussagenlogik zur Pr¨adikatenlogik erster Stufe erweitert. Die Pr¨ adikatenlogik formalisiert die Sprache, in der mathematische Aussagen gemacht werden. Sie stellt Beweisverfahren bereit und wird unter anderem dazu benutzt, um korrekte Computerprogramme zu entwickeln.
2.1 Objekte, Pr¨ adikate und Quantoren Objekte und Pr¨ adikate In der Aussagenlogik wird die innere Struktur von Aussagen unterdr¨ uckt, weil es nur auf den Wahrheitsgehalt der Aussagen ankommt. In der Pr¨adikatenlogik wird in einer Aussage zwischen Objekt und Pr¨adikat unterschieden. Beispielsweise haben die Aussagen ”Betty ist eine Frau” und ”Claire ist eine Frau” ein gemeinsames Pr¨ adikat, n¨amlich ”Frau sein”. Sie beziehen sich aber auf unterschiedliche Objekte, ”Betty” und ”Claire”. Die Aussage ”Claire ist eine Frau” wird formal symbolisiert durch den Ausdruck F (c). Kleinbuchstaben stehen f¨ ur Objekte und Großbuchstaben f¨ ur Pr¨adikate. Quantoren Aussagen k¨ onnen sich auf mehrere Objekte beziehen. Die Aussage ”Jeder Mensch hat eine Seele” wird symbolisiert durch ∀x[M (x) ⇒ S(x)],
(2.1)
d. h., ”F¨ ur alle x gilt: Wenn x ein Mensch ist, dann hat x eine Seele”. Das Zeichen ∀ heißt Allquantor und steht f¨ ur die Redewendung ”f¨ ur alle”.
12
2 Grundlagen der Pr¨ adikatenlogik
Die Aussage ”Es gibt Genies” wird ausgedr¨ uckt durch ∃x[M (x) ∧ G(x)],
(2.2)
d. h., ”Es gibt ein x, so dass x ein Mensch und x ein Genie ist”. Das Zeichen ∃ heißt Existenzquantor und steht f¨ ur die Redewendung ”es gibt ein”. Hier sind weitere Beispiele f¨ ur einstellige Pr¨adikate ”Alle Primzahlen gr¨oßer als 2 sind ungerade.” ”Es gibt eine gerade Primzahl.”
∀x[P (x) ∧ (x > 2) ⇒ U (x)] ∃x[P (x) ∧ G(x)]
Hier sind Beispiele mit zweistelligen Pr¨adikaten ”Alle lieben Betty.” ”Jemand liebt Claire.” ”Jeder, der Betty mag, mag auch Claire.” ”Betty mag alle Teddies.”
∀x[M (x) ⇒ L(x, b)] ∃x[M (x) ∧ L(x, c)] ∀x[M (x) ⇒ (L(x, b) ⇒ L(x, c))] ∀x[T (x) ⇒ L(x, b)]
2.2 Existentielle und universelle Quantifizierung Mehrfache Quantifizierung Viele Aussagen erfordern mehr als einen Quantor. Die Aussage ”Jeder mag irgendjemanden” wird symbolisiert durch ∀x[∃y[L(x, y)]],
(2.3)
d. h., ”F¨ ur jedes x existiert ein y, so dass y von x gemocht wird”. Da sich das Objekt x auf Menschen bezieht, wird die Aussage auch geschrieben in der Form ∀x[M (x) ⇒ ∃y[M (y) ∧ L(x, y)]],
(2.4)
d. h., ”F¨ ur alle x gilt: Wenn x ein Mensch ist, dann existiert ein y, so dass y ein Mensch ist und von x gemocht wird”. Mehrere hintereinander auftretende Quantoren werden von innen nach außen angewendet, wodurch Klammern eingespart werden. Etwa wird das Pr¨adikat ∀x [∀y [P (x, y)]] k¨ urzer geschrieben als ∀x ∀y [P (x, y)]. Hintereinander stehende, gleichartige Quantoren sind stets vertauschbar ∀x ∀y [P (x, y)] ⇐⇒ ∀y ∀x [P (x, y)]
∃x ∃y [P (x, y)] ⇐⇒ ∃y ∃x [P (x, y)]
(2.5) (2.6)
Es macht keinen Unterschied, ob wir ”F¨ ur alle x und f¨ ur alle y gilt” oder ”F¨ ur alle y und f¨ ur alle x gilt” zum Ausdruck bringen.
2.2 Existentielle und universelle Quantifizierung
13
Verschiedenartige Quantoren sind nicht vertauschbar. Wenn in der Aussage (2.3) die Quantoren vertauscht werden, dann ergibt sich die Aussage ∃x[∀y[L(x, y)]],
(2.7)
d. h., ”Es existiert ein x, so dass jedes y von x gemocht wird”. Diese Aussage bedeutet ”Jemand mag jeden”. Konjunktion und Disjunktion Die Aussage ”Die Zahlen 2, 3, 5 und 7 sind Primzahlen” l¨asst sich auf zwei Arten ausdr¨ ucken. Erstens durch die Konjunktion P (2) ∧ P (3) ∧ P (5) ∧ P (7) und zweitens durch die allquantifizierte Aussage ∀x[M (x) ⇒ P (x)], wobei M (x) die Aussage ”x ist eine der Zahlen 2, 3, 5 und 7” bezeichnet und P (x) f¨ ur die Aussage ”x ist prim” steht. Also ist eine allquantifizierte Aussage mit endlichem G¨ ultigkeitsbereich ¨aquivalent zu einer Konjunktion. Die Aussage ”Eine der Zahlen 2, 4, 6 und 9 ist ein Primzahl” l¨asst sich auf zwei Weisen symbolisieren. Einerseits durch die Disjunktion P (2) ∨ P (4) ∨ P (6) ∨ P (9) und andererseits anhand der existenziell quantifizierten Aussage ∃x[M (x) ∧ P (x)], wobei M (x) die Aussage ”x ist eine der Zahlen 2, 4, 6 und 9” bezeichnet. Somit ist eine existenziell quantifizierte Aussage mit endlichem G¨ ultigkeitsbereich ¨ aquivalent zu einer Disjunktion. Werden universelle Quantifizierung als Konjuktion und existenzielle Quan¨ tifizierung als Disjunktion aufgefasst, ergeben sich die Aquivalenzen ∀x [P (x) ∧ Q(x)] ⇐⇒ ∀x [P (x)] ∧ ∀x [Q(x)]
∃x [P (x) ∨ Q(x)] ⇐⇒ ∃x [P (x)] ∨ ∃x [Q(x)].
(2.8) (2.9)
Beziehung zwischen All- und Existenzquantor Die Aussage ”Nicht jeder ist verliebt” wird ausgedr¨ uckt durch ¬∀x[M (x) ⇒ V (x)],
(2.10)
d. h., ”Es trifft nicht zu, dass f¨ ur alle Menschen die Tatsache zutrifft, dass sie Menschen sind, auch impliziert, dass sie verliebt sind”. Die Implikation P ⇒ Q ist ¨ aquivalent zu ¬(P ∧ ¬Q). Also kann die Aussage ”Nicht jeder ist verliebt” symbolisiert werden anhand ¬∀x[¬(M (x) ∧ ¬V (x))].
(2.11)
14
2 Grundlagen der Pr¨ adikatenlogik
Der Ausdruck ¬∀x¬ bedeutet ”Es trifft nicht zu, dass f¨ ur alle x nicht gilt” und ist ¨ aquivalent zur Redewendung ”Es existiert ein x, so dass gilt”. Somit ist die Aussage (2.10) ¨ aquivalent zu ∃x[M (x) ∧ ¬V (x)],
(2.12)
d. h., ”es gibt Menschen, die nicht verliebt sind”. Die Aussage ”Es gibt keine Menschen, die nicht sterblich sind” wird ausgedr¨ uckt anhand ¬∃x[M (x) ∧ ¬S(x)].
(2.13)
Der Ausdruck ¬∃x¬ besagt ”Es trifft nicht zu, dass es ein x gibt, so dass nicht gilt” und ist ¨ aquivalent zur Redewendung ”F¨ ur alle x gilt”. Also ist die Aussage (2.13) ¨ aquivalent zu ∀x[¬(M (x) ∧ ¬S(x))],
(2.14)
die wiederum gleichwertig ist zu ∀x[M (x) ⇒ S(x))],
(2.15)
d. h., ”Alle Menschen sind sterblich”.
2.3 Variablen Freie und Gebundene Variablen Die Aussage “F¨ ur alle x und f¨ ur alle y existiert ein z, so dass x + y = z” wird symbolisiert durch das Pr¨ adikat ∀x ∀y ∃z [x + y = z].
(2.16)
Die Variablen x, y und z sind jeweils mit einem Quantor verkn¨ upft und werden deshalb gebunden genannt. Die Aussage “Es existiert ein z, so dass x + y = z” wird ausgedr¨ uckt anhand ∃z [x + y = z].
(2.17)
Die Variable z ist an einen Quantor gebunden, die Variablen x und y jedoch nicht. Die in einem Pr¨ adikat nicht an einen Quantor gebundenen Variablen heißen frei. Pr¨ adikate, die freie Variablen enthalten, sind keine Aussagen. Ein Pr¨adikat mit freien Variablen wird zu einer Aussage, indem die freien Variable an einen Quantor gebunden oder durch (entsprechende) Konstanten ersetzt werden. Beispielsweise wird das Pr¨ adikat (2.17) zu einer Aussage, wenn die Variable x an einen Allquantor gebunden und die Variable y durch eine Konstante ersetzt wird ∀x∃z [x + 1 = z].
(2.18)
2.4 Programmierung
15
Umbenennen von freien Variablen Gebundene Variablen k¨ onnen problemlos in andere, noch nicht weiter vorkom¨ mende Variablen umbenannt werden. Beispielsweise gilt folgende Aquivalenz ∀x[x2 ≥ 0]
⇐⇒
∀y[y 2 ≥ 0].
(2.19)
Beim Umbenennen von freien Variablen ist jedoch Vorsicht geboten. Als Beispiel wird das folgende Pr¨adikat mit den freien Variablen x und y betrachtet x ≤ 1 ∧ 2 ≤ y.
(2.20)
Wenn beide Variablen durch Konstanten ersetzt werden, etwa x = 1 und y = 2, so ergibt sich die wahre Aussage 1 ≤ 1 ∧ 2 ≤ 2.
(2.21)
Wird die Variable y in x umbenannt, entsteht das Pr¨adikat x ≤ 1 ∧ 2 ≤ x.
(2.22)
Dieses Pr¨ adikat liefert immer eine falsche Aussage, ganz gleich, welche Zahl in die Variable x eingesetzt wird.
2.4 Programmierung Die Pr¨ adikatenlogik wird unter anderem dazu benutzt, um korrekte Computerprogramme zu entwickeln. Einfache Ausdr¨ ucke Die Syntax von einfachen Ausdr¨ ucken ist wie folgt definiert: • • • •
Jede Konstante oder Variable ist ein Ausdruck. Ist E ein Ausdruck, so ist auch (E) ein Ausdruck. Ist ◦ ein einstelliger Operator und E ein Ausdruck, dann ist auch (◦E) ein Ausdruck. Ist ∗ ein zweistelliger Operator und sind E und F Ausdr¨ ucke, so ist auch (E ∗ F ) ein Ausdruck.
Die zugelassenen Operatoren sind in Tab. 2.1 angegeben. In einem einfachen Ausdruck k¨ onnen die ¨ außeren Klammern weggelassen werden. Weitere Klammern k¨ onnen eingespart werden, indem Operatoren mit h¨oherem Vorrang stets zuerst ausgewertet werden. Ein Operator ∗1 hat Vorrang vor einem Operator ∗2 , wenn ∗1 oberhalb von ∗2 in der Tabelle 2.1 steht. Insbesondere geht Punkt-
16
2 Grundlagen der Pr¨ adikatenlogik [x := e] (h¨ ochste Priorit¨ at) + − ¬ (un¨ are Operatoren) ∗∗ (Exponentiation) · / ÷ mod ggT kgV +−∪∩× =≤∈⊂⊆ ∧∨ ⇒ ≡ (niedrigste Priorit¨ at) Tabelle 2.1. Operatoren f¨ ur einfache Ausdr¨ ucke.
vor Strichrechnung, etwa kann ((3 · x) + 2) k¨ urzer geschrieben werden in der Form 3 · x + 2. Einem einfachen Ausdruck E wird ein Wert zugewiesen, wenn jede in E vorkommende Variable einen Wert besitzt. Eine Liste von Gleichungen x = v, in der jede Variable x in E mit einem Wert v verkn¨ upft wird, heißt ein Zustand von E. Beispielsweise hat der Ausdruck x · y + 3 im Zustand x = 2 und y = 5 den Wert 2 · 5 + 3 = 13. Textuelle Substitution Seien E und R Ausdr¨ ucke und sei x eine Variable. Bezeichne E[x := R] denjenigen Ausdruck, der aus E entsteht, in dem jedes Vorkommen von x in E durch den Ausdruck (R) ersetzt wird. Beispiele 2.1. Die folgende Tabelle fasst einige textuelle Substitutionen zusammen Ausdruck Ergebnis Vereinfachung x[x := x + 1] (x + 1) x+1 (x + 2 · y)[y := x + 1] (x + 2 · (x + 1)) x + 2 · (x + 1) (x · (x · z)) x · (x · z) (x · y)[y := x · z] Zuweisungsbefehl und Hoare-Tripel Der Zuweisungsbefehl x := E
(2.23)
wertet den Ausdruck E aus und speichert seinen Wert in der Variable x. Durch die Zuweisung ¨ andert sich der Zustand der Variable x. Beispielsweise f¨ uhrt die Zuweisung x := y + 2 den Zustand x = 3 und y = 5 u ¨ ber in den Zustand x = 7 und y = 5.
2.4 Programmierung
17
Die Semantik eines Befehls S wird durch ein Hoare-Tripel nach Sir Antony Hoare (1934+) beschrieben {P } S
{Q}.
(2.24)
wobei P und Q Pr¨ adikate sind, die den Zustand vor der Ausf¨ uhrung bzw. nach der Beendigung des Befehls S charakterisieren. Dabei wird P Vorbedingung und Q Nachbedingung von S genannt. Ein Hoare-Tripel heißt g¨ ultig, wenn sein Befehl in einem Zustand ausgef¨ uhrt, in dem die Vorbedingung wahr ist, und in einem Zustand terminiert, in dem die Nachbedingung wahr ist. Beispiele 2.2. Das folgende Hoare-Tripel ist g¨ ultig {x ≥ 0} x := x + 1 {x > 0}. Denn der im Zustand x ≥ 0 ausgef¨ uhrte Befehl x := x + 1 endet im Zustand x > 0. Hier sind weitere g¨ ultige Hoare-Tripel {x > 9} x := x + 1 {x > 0} {x + 1 > 0} x := x + 1 {x > 0}. Das folgende Hoare-Tripel ist hingegen nicht g¨ ultig {x = 3} x := x + 1
{x = 5}
Semantik des Zuweisungsbefehls Die Semantik des Zuweisungsbefehls (2.23) wird definiert durch das HoareTripel {Q[x := E]} x := E
{Q}.
(2.25)
Hierbei wird die Vorbedingung durch textuelle Substitution aus der Nachbedingung erhalten. Satz 2.3. Das Hoare-Tripel (2.25) ist g¨ ultig und f¨ ur jedes g¨ ultige Hoare-Tripel {P } x := E {Q} gilt P ⇒ Q[x := E].
(2.26)
Die zweite Aussage besagt, dass die Vorbedingung Q[x := E] die schw¨achste Vorbedingung f¨ ur den mit der Nachbedingung Q versehenen Befehl x := E ist. Beispiele 2.4. Hier sind drei Hoare-Tripel mit schw¨achsten Vordingungen {x + 1 > 3} x := x + 1 {x > 3} {2 · x = 5} x := 2 · x {x = 5} {−x · y + 1 < y} x := −x · y + 1 {x < y}
18
2 Grundlagen der Pr¨ adikatenlogik
Sequenzen von Zuweisungsbefehlen Die Semantik einer Sequenz von Zuweisungsbefehlen wird analog definiert. Als Beispiel wird eine Sequenz von zwei Zuweisungen mit einer gegebenen Nachbedingung betrachtet {P } x := x + 1; y := x · y
{x > 3 ∧ y > 0}.
(2.27)
Die schw¨ achste Vorbedingung wird schrittweise hergeleitet. Zuerst wird die schw¨ achste Vorbedingung f¨ ur die zweite Zuweisung aufgestellt {x > 3 ∧ x · y > 0} y := x · y
{x > 3 ∧ y > 0}.
(2.28)
Diese Vorbedingung dient als Nachbedingung f¨ ur die erste Zuweisung. Die zugeh¨ orige schw¨ achste Vorbedingung ist die schw¨achste Vorbedingung der zusammengesetzten Anweisung {x + 1 > 3 ∧ (x + 1) · y > 0} x := x + 1 {x > 3 ∧ x · y > 0}. (2.29)
2.5 Beweistechnik Um Aussagen zu beweisen, gibt es eine Reihe von Methoden, die zum R¨ ustzeug des Mathematikers geh¨ oren. Zuerst wird der Mechanismus des Definierens er¨ ortert. Definitionen ¨ Eine Definition wird in Form einer logischen Aquivalenz angegeben. Die linke ¨ Seite dieser Aquivalenz, Definiendum genannt, soll ein Pr¨adikat sein, das die zu definierende Konstante enth¨alt. Die rechte Seite, das Definiens, ist ein Pr¨ adikat, das nur vorher erkl¨arte Konstanten enthalten darf. Soll beispielsweise das Zeichen “≤” mit Hilfe des (als bekannt vorausgesetzten) Zeichens “>” definiert werden, so lautet das Definiendum x≤y und das Definiens es ist nicht der Fall, dass x > y, zusammen also ”Wir wollen sagen, dass x ≤ y genau dann, wenn es nicht der Fall ist, dass x > y” oder ”x ≤ y ist definitionsgem¨aß ¨aquivalent zu ¬(x > y)”, k¨ urzer x ≤ y :⇐⇒ ¬(x > y).
2.5 Beweistechnik
19
Beweis einer allquantifizierten Aussage Eine allquantifizierte Aussage ∀x[A(x) ⇒ P (x)]
(2.30)
wird in zwei Schritten bewiesen: Zuerst wird der Allquantor aufgel¨ost, indem ein beliebiges Objekt x gew¨ahlt wird. Es wird angenommen, dass f¨ ur das Objekt x die Aussage A(x) wahr ist. Der Beweis beginnt dann wie folgt: “Sei x beliebig gew¨ ahlt, so dass A(x) gilt”. Es ist dann zu zeigen, dass P (x) wahr ist. ¨ Direkter Beweis einer Aquivalenz ¨ Eine Aquivalenz P ⇔ Q kann auf zwei Arten bewiesen werden. Erstens, indem ¨ die Aussage P durch Aquivalenzumformung in die Aussage Q transformiert ¨ wird (siehe 1.10). Zweitens, indem die Aquivalenz durch die logisch ¨aquivalente Aussage (P ⇒ Q) ∧ (Q ⇒ P ) ersetzt wird, denn es gilt (P ⇔ Q) ⇐⇒ ((P ⇒ Q) ∧ (Q ⇒ P )).
(2.31)
Beide Implikationen P ⇒ Q und Q ⇒ P sind als wahr nachzuweisen. Eine Implikation P ⇒ Q wird bewiesen, indem die Pr¨amisse P als wahr angenommen wird und gezeigt wird, dass die Konklusion Q wahr ist. Indirekter Beweis oder Beweis durch Widerspruch Eine Aussage P kann dadurch bewiesen werden, indem sie negiert wird und von der negierten Aussage ¬P auf eine falsche Aussage geschlossen wird. Diese Vorgehensweise beruht auf dem Gesetz der Kontraposition (¬P ⇒ f ) ⇐⇒ P.
(2.32)
Beweis einer Existenzaussage Existenziell quantifizierte Aussagen wie ∃x [P (x)]
(2.33)
lassen sich oft dadurch beweisen, indem ein Objekt a konstruiert wird, so dass die Aussage P (a) wahr ist. Ein solcher Beweis heißt konstruktiv. Manchmal kann die Existenz eines solchen Objektes nur mit Hilfe von Absch¨atzungen nachgewiesen werden, ohne es explizit angeben zu k¨onnen. Derartige Existenzbeweise sind meist schwierig.
20
2 Grundlagen der Pr¨ adikatenlogik
Ableitungsregel Modus Ponens Logische Ableitungsregeln werden dazu benutzt, das intuitive menschliche Denken auf formale Art darzustellen. Eine wichtige Ableitungsregel ist der Modus Ponens. Sie besagt, dass aus wahren Aussagen P und P ⇒ Q die wahre Aussage Q gefolgert werden kann. Formal wird der Modus Ponens dargestellt durch P P ⇒Q Q
(2.34)
Hier ein Beispiel ”Claire wird Urlaub machen” ”Wenn Claire Urlaub macht, dann wird Claire gl¨ ucklich sein” ”Claire wird gl¨ ucklich sein” Der Modus Ponens wird h¨ aufig kombiniert mit dem Konjunktionsschluss P ∧Q⇒P
(2.35)
P ⇒ P ∨ Q.
(2.36)
und dem Disjunktionsschluss
Beide Aussageformen sind Tautologien. Beispielsweise ergeben sich mit dem Konjunktionsschluss ”Claire ist reich und sch¨on” ”Wenn Claire reich und sch¨on ist, dann ist Claire sch¨on” ”Claire ist sch¨on” und dem Disjunktionsschluss ”Claire ist reich” ”Wenn Claire reich ist, dann ist Claire reich oder gesund” ”Claire ist reich oder gesund”
2.5 Beweistechnik
21
Selbsttestaufgaben 2.1. Gib Pr¨ adikate f¨ ur folgende Aussagen an • • • •
“Menschen sind sterblich”. “Manche Schlangen sind giftig”. “Susi kennt jeden”. “Jeder wird von irgendjemandem geliebt”.
2.2. Sei P (x) das Pr¨ adikat ”x ist sch¨ on” und Q(x) das Pr¨ adikat ”x ist reich”, wobei x f¨ ur eine Person stehe. Formalisiere die Aussagen ”Niemand ist reich und sch¨ on” und ”Jemand, der reich ist, ist auch sch¨ on”. ¨ 2.3. Uberlege zu jeder der folgenden Aussagen ein Beispiel, das zeigt, dass die umgekehrte Implikation falsch ist ∀x [P (x)] ∨ ∀x [Q(x)] ⇒ ∀x [P (x) ∨ Q(x)] ∃x [P (x) ∧ Q(x)] ⇒ ∃x [P (x)] ∧ ∃x [Q(x)]. 2.4. Gib die freien und gebundenen Variablen in den folgenden Pr¨ adikaten an • • • •
”x ist durch y teilbar”. ”F¨ ur alle x gilt x − y = x + (−y)”. ”F¨ ur beliebiges x gibt es ein y, so dass y > 2x ”. ”Zu jeder Umgebung u von a gibt es eine nat¨ urliche Zahl n, so dass xk in u liegt f¨ ur alle k gr¨ oßer als n.”.
2.5. Sei A(x) das Pr¨ adikat ”x ist eine der Zahlen 1, 2, 3, 4 oder 5”. Bestimme den Wahrheitswert der folgenden Aussagen • • • •
∃x[A(x) ∧ x + 3 = 10]. ∃x[A(x) ∧ x + 3 < 5]. ∀x[A(x) ⇒ x + 3 < 10]. ∀x[A(x) ⇒ x + 3 ≤ 7].
2.6. Ermittle die schw¨ achste Vorbedingung f¨ ur folgende Zuweisungen und Nachbedingungen Zuweisung x := x + 7 x := x − 1 x := x − 1 y := x + y y := x + y
Nachbedingung x + y > 20 x2 + 2 · x = 3 (x + 1) · (x − 1) = 0 y=x y =x+y
2.7. Berechne die schw¨ achste Vorbedingung P f¨ ur folgendes Programmst¨ uck {P }
x := x + y; y := x − y; x := x − y
{x = X ∧ y = Y }
22
2 Grundlagen der Pr¨ adikatenlogik
3 Mengenlehre
Die Mengenlehre formalisiert den Mengenbegriff und behandelt die Verkn¨ upfung von Mengen. Die Mengenlehre bildet zusammen mit der Pr¨adikatenlogik das sprachliche Ger¨ ust der modernen Mathematik. In diesem Kapitel wird die Mengenlehre aus intuitiver und axiomatischer Sicht eingef¨ uhrt.
3.1 Mengen und Elemente Der intuitive Mengenbegriff Die Mengenlehre wurde begr¨ undet von Georg Cantor (1845-1918). Von ihm stammt die folgende “Definition” einer Menge: Eine Menge ist eine Zusammenfassung von bestimmten, wohlunterschiedenen Objekten unserer Anschauung oder unseres Denkens zu einem Ganzen. Dies ist keine Definition im mathematischen Sinne, weil sich der Begriff Menge auf mathematisch nicht weiter definierten Begriffen abst¨ utzt. Darstellung von Mengen Es gibt zwei Darstellungsformen von Mengen. In der aufz¨ahlenden Form werden alle Objekte einer Menge aufgelistet. Eine Menge A, die aus den Objekten a1 , . . . , an besteht, wird geschrieben als A = {a1 , . . . , an }.
(3.1)
Ein Objekt x einer Menge A wird auch Element von A genannt, abgek¨ urzt x ∈ A.
24
3 Mengenlehre
In der beschreibenden Form wird eine Menge durch ein einstelliges Pr¨adikat P (x) beschrieben A = {x | P (x)},
(3.2)
d. h., die Menge A besteht aus allen Objekten x, f¨ ur die die Aussage P (x) wahr ist. Beispielsweise sei P (x) das Pr¨adikat ”x ist Tochter von Britta”. Dann besteht die Menge A = {x | P (x)} aus allen T¨ochtern von Britta. Eine Menge mit endlich vielen Elementen heißt endlich, andernfalls unendlich. Gleichheit von Mengen Zwei Mengen A und B heißen gleich, kurz A = B, wenn sie elementweise u ¨ bereinstimmen A=B
:⇐⇒
∀x [x ∈ A ⇔ x ∈ B].
(3.3)
Beispielsweise gilt {1, 2, 1, 1, 3} = {3, 1, 2},
weil jedes Element in der linken Menge in der rechten Menge enthalten ist und umgekehrt. Die Elemente einer Menge d¨ urfen also wiederholt und in beliebiger Reihenfolgen aufgelistet werden. Satz 3.1. F¨ ur alle Mengen A, B und C gilt • • •
Reflexivit¨at: A = A. Symmetrie: A = B ⇒ B = A. Transivit¨at: A = B ∧ B = C ⇒ A = C.
Teilmengen Sei A eine Menge und P (x) ein einstelliges Pr¨adikat. Sei B diejenige Menge, die aus allen Elementen a ∈ A besteht, f¨ ur die die Aussage P (a) wahr ist, also B = {a | a ∈ A ∧ P (a)}.
(3.4)
Die Menge B heißt eine Teilmenge von A, kurz B ⊆ A, und die Menge A eine Obermenge von B. Eine n-elementige Teilmenge einer Menge wird auch als n-Teilmenge bezeichnet. Die Relation ⊆ wird Inklusion genannt. Seien a1 , . . . , an Elemente einer Menge A. Diese Elemente bilden eine Teilmenge von A, denn es gilt {a1 , . . . , an } = {a | a ∈ A ∧ (a = a1 ∨ . . . ∨ a = an )}.
(3.5)
Beispielsweise ist die Menge aller ganzen Zahlen, die durch 3 teilbar sind, gegeben durch {x | x ∈ Z ∧ ∃y [y ∈ Z ∧ x = 3 · y]}.
(3.6)
3.1 Mengen und Elemente
25
Satz 3.2. F¨ ur alle Mengen A und B gilt A = B genau dann, wenn A ⊆ B und B ⊆ A. Beweis. Sei A = B. Dann gilt A = {a | a ∈ A ∧ a ∈ B} und B = {b | b ∈ B ∧ b ∈ A}. Also ist definitionsgem¨aß B ⊆ A (mit dem Pr¨adikat x ∈ B) und A ⊆ B (mit dem Pr¨ adikat x ∈ A). Umgekehrt seien A ⊆ B und B ⊆ A. Dann gibt es Pr¨adikate P (x) und Q(y) mit A = {b | b ∈ B ∧ P (b)} und B = {a | a ∈ A ∧ Q(a)}. D.h., es ¨ gilt x ∈ A ⇔ x ∈ B ∧ P (x). Mit der Aufl¨osung der Aquivalenz (2.31) und dem Konjunktionsschluss (2.35) folgt x ∈ A ⇒ x ∈ B. Analog ergibt sich x ∈ B ⇒ x ∈ A. Nach (2.31) erhellt sich x ∈ A ⇔ x ∈ B und somit A = B. ⊓ ⊔ Satz 3.3. F¨ ur alle Mengen A, B und C gilt • • •
Reflexivit¨at: A ⊆ A Transitivit¨at: A ⊆ B ∧ B ⊆ C ⇒ A ⊆ C Antisymmetrie: A ⊆ B ∧ B ⊆ A ⇒ A = B.
Die leere Menge Sei A eine Menge. Die leere Teilmenge von A besteht aus allen Elementen a ∈ A mit der Eigenschaft a 6∈ A, also ∅A = {a | a ∈ A ∧ a 6∈ A}.
(3.7)
Lemma 3.4. F¨ ur beliebige Mengen A und B gilt ∅A = ∅B . Beweis. Es gilt a ∈ ∅A ⇔ a ∈ A ∧ a 6∈ A ⇔ a ∈ B ∧ a 6∈ B ⇔ a ∈ ∅B , ¨ wobei in der zweiten Aquivalenz eine falsche Aussage durch eine andere falsche Aussage ersetzt wurde. Aus der Definition der Mengengleichheit folgt die Behauptung. ⊓ ⊔ Die Menge ∅A ist also unabh¨angig von der Obermenge A. Sie wird leere Menge genannt und mit ∅ bezeichnet. Die leere Menge ist Teilmenge einer jeden Menge.
26
3 Mengenlehre
3.2 Verknu ¨pfung von Mengen Die algebraischen Verkn¨ upfungen mit Mengen wurden von George Boole (1815-1864) eingef¨ uhrt. Sie basieren auf den logischen Junktoren. Durchschnitt und Vereinigung Seien A und B Mengen. Der Durchschnitt von A und B ist diejenige Teilmenge von A, deren Elemente auch in B liegen A ∩ B = {a | a ∈ A ∧ a ∈ B}.
(3.8)
Das Komplement von B in A ist diejenige Teilmenge von A, deren Elemente nicht zu B geh¨ oren A \ B = {a | a ∈ A ∧ a 6∈ B}.
(3.9)
Der Durchschnitt von endlich vielen Mengen A1 , . . . , An ist analog definiert A1 ∩ . . . ∩ An = {a | a ∈ A1 ∧ . . . ∧ a ∈ An }
= {a | a ∈ A1 ∧ (a ∈ A1 ∧ . . . ∧ a ∈ An }.
(3.10)
Also ist der Durchschnitt A1 ∩ . . . ∩ An eine Teilmenge von A1 und aufgrund der Kommutativit¨ at und Assoziativit¨at der Konjunktion eine Teilmenge jeder der beteiligten Mengen. Die Vereinigung von A und B ist eine Menge, die genau die Elemente enth¨ alt, die in A oder B liegen A ∪ B = {a | a ∈ A ∨ a ∈ B}.
(3.11)
Beispiel 3.5. F¨ ur die Mengen A = {1, 2, 3} und B = {2, 4, 5} gilt A ∩ B = {2}, A \ B = {1, 3} und A ∪ B = {1, 2, 3, 4, 5} (Abb. 3.1). '$ '$ 3
5
2
&% &% 1
A
4
B
Abb. 3.1. Venn-Diagramm der Mengen A und B.
3.2 Verkn¨ upfung von Mengen
27
Satz 3.6. F¨ ur alle Mengen A und B gilt A ∩ B ⊆ A ⊆ A ∪ B.
(3.12)
Beweis. Aus A ∩ B = {a | a ∈ A ∧ a ∈ B} und dem Pr¨adikat x ∈ B folgt A ∩ B ⊆ A. Weiter gilt A = {a | a ∈ A} = {a | (a ∈ A ∨ a ∈ B) ∧ a ∈ A}
Absorption
= {a | a ∈ A ∪ B ∧ a ∈ A} ⊆ A ∪ B Pr¨adikat a ∈ A.
⊓ ⊔ Satz 3.7. F¨ ur alle Mengen A, B und C gelten folgende Rechengesetze: •
Kommutativgesetz: A∪B = B∪A A∩B = B∩A
•
Assoziativgesetz: A ∪ (B ∪ C) = (A ∪ B) ∪ C
A ∩ (B ∩ C) = (A ∩ B) ∩ C •
Idempotenzgesetz: A∪A = A A∩A = A
•
Distributivgesetz: A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C)
A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C)
•
Gesetze von De Morgan: A \ (B ∩ C) = (A \ B) ∪ (A \ C) A \ (B ∪ C) = (A \ B) ∩ (A \ C)
•
Absorptionsgesetz: A ∪ (A ∩ B) = A A ∩ (A ∪ B) = A
28
•
3 Mengenlehre
Eigenschaften der leeren Menge: A∪∅ = A A ∩ ∅ = ∅.
Diese Aussagen werden anhand der korrespondierenden aussagenlogischen Rechengesetze bewiesen. Als Beispiel zeigen wir das erste Gesetz von De Morgan: x ∈ A \ (B ∩ C) ⇔ x ∈ A ∧ ¬(x ∈ B ∩ C)
⇔ x ∈ A ∧ ¬(x ∈ B ∧ x ∈ C) ⇔ x ∈ A ∧ (¬x ∈ B ∨ ¬x ∈ C) De Morgan ⇔ x ∈ A ∧ (x 6∈ B ∨ x 6∈ C)
⇔ (x ∈ A ∧ x 6∈ B) ∨ (x ∈ A ∧ x 6∈ C) ⇔ (x ∈ A \ B) ∨ (x ∈ A \ C)
Distributivit¨at
⇔ x ∈ (A \ B) ∪ (A \ C).
Die Durchschnitts- und Vereinigungsbildung sind monoton bez¨ uglich Inklusion. Satz 3.8. Seien A, B und C Mengen. Aus A ⊆ B folgt A ∪ C ⊆ B ∪ C und A ∩ C ⊆ B ∩ C. Zwei nichtleere Mengen heißen disjunkt, wenn ihr Durchschnitt leer ist. Satz 3.9. Seien A und B disjunkte Mengen. Ist A′ eine nichtleere Teilmenge von A, dann sind A′ und B disjunkt. Beweis. F¨ ur die Menge A′ ∩ B = {x | x ∈ A′ ∧ x ∈ B} folgt wegen A′ ⊆ A mit dem Konjunktionsschluss A′ ∩ B = {x | x ∈ A′ ∧ x ∈ A ∧ x ∈ B} = {x | x ∈ A′ ∧ x ∈ A ∩ B}, woraus wegen A ∩ B = ∅ sofort A′ ∩ B = ∅ folgt. ⊓ ⊔ Oft werden Mengen relativ bez¨ uglich einer festen Obermenge G untersucht. Die Menge G wird dann Grundmenge genannt und tritt in der Notation nicht mehr auf (Abb. 3.2). Sei A eine Teilmenge von G. Die Komplement¨armenge von A in G ist A¯ = {g | g ∈ G ∧ g 6∈ A}. Die Menge A¯ ist definitionsgem¨aß eine Teilmenge von G.
(3.13)
'$
3.3 Mengensysteme
29
A
G
&%
Abb. 3.2. Venn-Diagramm.
3.3 Mengensysteme Ein Mengensystem (oder eine Menge h¨oherer Ordnung) ist eine Menge, deren Elemente ebenfalls Mengen sind. Zu den prominentesten Mengensystemen geh¨ oren die Potenzmengen. Potenzmengen Die Potenzmenge einer Menge A ist ein Mengensystem P (A), das aus allen Teilmengen von A besteht, also P (A) = {B | B ⊆ A}.
(3.14)
F¨ ur jede Menge A gilt A ∈ P (A). Also tritt jede Menge auch als Element auf. Beispielsweise ist die Potenzmenge von A = {1, 2, 3} gegeben durch P (A) = {∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}. Satz 3.10. Die Potenzmenge einer n-elementigen Menge besitzt 2n Elemente. Beweis. Die Aussage wird durch vollst¨andige Induktion nach n bewiesen. Sei n = 0, also die Menge leer. Es gilt P (∅) = {∅}. Sei n ≥ 0 und A = {a1 , . . . , an+1 }. F¨ ur die n-elementige Teilmenge B = {a1 , . . . , an } von A gilt P (A) = {T | T ⊆ B} ∪ {T ∪ {an+1 } | T ⊆ B}. Beide Menge auf der rechten Seite besitzen je n Elemente. Nach Induktionsannahme hat die Potenzmenge jeder dieser Mengen 2n Elemente. Da beide Menge auf der rechten Seite disjunkt sind, besteht P (A) aus 2 · 2n = 2n+1 Elementen. ⊓ ⊔
30
3 Mengenlehre
Sei M ein Mengensystem. Der Durchschnitt von M 6= ∅ ist die Menge \ M = {a | ∀A[A ∈ M ⇒ a ∈ A]}. (3.15)
Sie enth¨ alt alle Objekte, die Elemente in allen Elementen von M sind. F¨ ur jedes Element A0 des Mengensystems M gilt \ M = {a | a ∈ A0 ∧ ∀A[A ∈ M ⇒ a ∈ A]}. (3.16)
T Das Mengensystem M ist also eine Teilmenge von A0 und somit eine Teilmenge jedes Elements von M . Die Vereinigung von M ist die Menge [ M = {a | ∃A[A ∈ M ∧ a ∈ A]}. (3.17)
Sie besteht aus allen Objekten, die als Elemente in allen Elementen von M enthalten sind. Etwa gilt f¨ ur das Mengensystem M = {{1, 2}, {2, 3}, {1, 2, 4}} [ \ M = {1, 2, 3, 4} und M = {2}. Satz 3.11. F¨ ur alle Mengen A und B gilt • • • • •
A ⊆ B ⇒ P (A) ⊆ P (B). P (A) ∩ P (B) = P (A ∩ B). P S(A) ∪ P (B) ⊆ P (A ∪ B). T P (A) = A. P (A) = ∅.
Beweis. Seien A und B Mengen mit A ⊆ B. Es gilt P (A) = {C | C ⊆ B ∧C ⊆ A} = {C | C ∈ P (B) ∧ C ∈ P (A)} Also ist P (A) eine Teilmenge von P (B) (mit dem Pr¨ adikat x ∈ P (A)). Seien A und B Mengen. Sei T ∈ P (A) ∩ P (B), also T ⊆ A und T ⊆ B. Dies ist gleichbedeutend mit T ⊆ A ∩ B, d. h., T ∈ P (A ∩ B). Seien A und B Mengen. Aus A ⊆ A ∪ B und B ⊆ A ∪ B folgt P (A) ⊆ P (A∪B) und B ⊆ A∪B. Wegen Satz S 3.8 ergibt sich P (A)∪P (B) ⊆ P (A∪B). Sei A eine Menge. Es gilt x ∈ P (A) genau dann, wenn es ein T ∈ P (A) gibt mit x ∈ T , was gleichbedeutend ist mit x ∈ A. T Jedes Element von P (A) liegt in jeder T Teilmenge von A, also auch in der leeren Menge. Folglich ist die Menge P (A) leer. ⊓ ⊔
3.4 Axiomatische Mengenlehre
31
Partitionen Eine Partition einer Menge A ist ein Mengensystem P mit folgenden Eigenschaften: S • P = A. • ∅ 6∈ P . • Je zwei verschiedene Elemente von P sind disjunkt. Die Elemente einer Partition werden auch Bl¨ocke genannt. Alle Partitionen von A = {1, 2, 3} sind {{1}, {2}, {3}}, {{1, 2}, {3}}, {{1, 3}, {2}}, {{2, 3}, {1}} und {{1, 2, 3}}. Antinomien Es gibt Pr¨ adikate, die sich nicht zur Definition einer Menge eignen. Bertrand Russell (1872-1970) bemerkte als Erster, dass dies zu Widerspr¨ uchen f¨ uhren kann. Beispielsweise gibt es zu jedem Mengensystem A eine Menge B, die nicht Element von A ist. Eine solche Menge ist etwa B = {a | a ∈ A ∧ a 6∈ a}.
(3.18)
Die Aussage a 6∈ a macht Sinn, weil a eine Menge ist und Mengen auch Elemente sind. Wir zeigen, dass B 6∈ A. Angenommen, es w¨are B ∈ A. Ist B 6∈ B, dann folgt nach Definition von B widerspr¨ uchlicherweise B ∈ B. Ist B ∈ B, dann ergibt sich nach Definition von B widerspr¨ uchlicherweise B 6∈ B. Also macht es keinen Sinn, von der “Menge aller Mengen” zu reden. Diese und weitere Antinomien haben zur Entwicklung der Klassentheorie gef¨ uhrt, in der widerspruchsfrei von der Klasse aller Mengen gesprochen werden kann. Im axiomatischen Aufbau der Mengenlehre werden Antinomien vermieden, indem neue Mengen nur aus schon definierten Mengen abgeleitet werden.
3.4 Axiomatische Mengenlehre Die Mengenlehre kann anhand eines Axiomensystems aufgebaut werden. Axiome sind Lehrs¨ atze, die als wahr erkannt werden, ohne sie auf irgendeine Weise zu begr¨ unden. Aus Axiomen werden weitere wahre Aussagen anhand von mathematischen Schlussregeln (z.B. Modus Ponens) hergeleitet. Diese Aussagen heißen S¨atze. Das Axiomensystem der Mengenlehre fußt auf den nicht weiter definierten Begriffen Menge und Element.
32
3 Mengenlehre
Axiome der Elementebeziehung und Existenz M1 F¨ ur jedes Element x und jede Menge A besteht genau eine der beiden Beziehungen: x ∈ A oder x 6∈ A. M2 Es existiert mindestens eine Menge. M3 Zu jedem Element x gibt es mindestens eine Menge A mit x ∈ A. Das Axiom M3 entspricht unserer intuitiven Vorstellung, Elemente nur als zu einer Menge geh¨ orig anzusehen. Axiom der Gleichheit M4 Zwei Mengen A und B sind gleich, wenn sie elementweise u ¨ bereinstimmen A=B
:⇐⇒
∀x [x ∈ A ⇔ x ∈ B].
(3.19)
Teilmengenaxiom M5 Sei A eine Menge und P (x) ein einstelliges Pr¨adikat in der freien Variablen x, das f¨ ur jedes Element von A eine Aussage liefert. Dann gibt es eine Menge B, die genau diejenigen Elemente a von A enth¨alt, f¨ ur die die Aussage P (a) wahr ist. F¨ ur die Menge B wird geschrieben B = {x | x ∈ A ∧ P (x)}.
(3.20)
Das Axiom M2 fordert die Existenz einer Menge A. Diese Menge besitzt als Teilmenge die leere Menge. Dabei ist der Fall A = ∅ nicht ausgeschlossen, weshalb bislang nur die Existenz der leeren Menge gesichert ist. Die Existenz weiterer Mengen wird sp¨ ater mit dem Potenzmengenaxiom erschlossen. Der Durchschnitt von Mengen A und B ist diejenige Teilmenge von A, deren Elemente auch in B liegen A ∩ B = {a | a ∈ A ∧ a ∈ B}.
(3.21)
Das Komplement von B in A ist diejenige Teilmenge von A, deren Elemente nicht zu B geh¨ oren A \ B = {a | a ∈ A ∧ a 6∈ B}.
(3.22)
Beide Mengen existieren aufgrund des Teilmengenaxioms. Aus dem gleichen Grunde existiert der Durchschnitt endlich vieler Mengen A1 , . . . , An A1 ∩ . . . ∩ An = {a | a ∈ A1 ∧ . . . ∧ a ∈ An } = {a | a ∈ A1 ∧ (a ∈ A1 ∧ . . . ∧ a ∈ An }.
(3.23)
3.4 Axiomatische Mengenlehre
33
Vereinigungsmengenaxiom M6 Sind A und B Mengen, dann gibt es eine Menge A ∪ B, die Vereinigung von A und B, die aus allen Elementen besteht, die in A oder B liegen A ∪ B = {a | a ∈ A ∨ a ∈ B}.
(3.24)
Die Vereinigung von endlich vielen Mengen A1 , . . . , An existiert ebenfalls A1 ∪ . . . ∪ An = {a | a ∈ A1 ∨ . . . ∨ a ∈ An }.
(3.25)
Dies folgt aus dem Vereinigungsmengenaxiom und vollst¨andiger Induktion nach n. Potenzmengenaxiom M7 Zu jeder Menge A existiert eine Menge P (A), die Potenzmenge von A, die sich aus allen Teilmengen von A zusammensetzt P (A) = {B | B ⊆ A}.
(3.26)
F¨ ur jede Menge A gilt A ∈ P (A). Also ist jede Menge auch ein Element einer Menge. Folglich kann auf das Axiom M3 beim Aufbau der Mengenlehre verzichtet werden. Bisher war lediglich garantiert, dass die leere Menge existiert. Mithilfe des Potenzmengenaxioms ergeben sich weitere Mengen P (∅) = {∅},
P (P (∅)) = P ({∅}) = {∅, {∅}}, P (P (P (∅))) = P ({∅, {∅}}) = {∅, {∅}, {{∅}}, {∅, {∅}}}. Mit dem Potenzmengenaxiom und Satz 3.10 folgt, dass es zu jeder nat¨ urlichen Zahl n eine Menge mit 2n Elementen gibt. Mit dem Teilmengenaxiom und (3.5) l¨ asst sich erschließen, dass zu jeder nat¨ urlichen Zahl m eine Menge mit m Elementen existiert. Sind A1 , . . . , An Mengen, dann existiert eine Menge, die genau A1 , . . . , An als Elemente enth¨ alt. Denn mit der Menge A = A1 ∪ . . . ∪ An existiert nach dem Potenzmengen- und Teilmengenaxiom auch die Menge {A1 , . . . , An } = {B | B ∈ P (A) ∧ (B = A1 ∨ . . . ∨ B = An )}.
(3.27)
Der Durchschnitt endlich vieler Mengen existiert nach dem Teilmengenaxiom. Allgemeiner existiert der Durchschnitt beliebig vieler Mengen. Der Durchschnitt eines Mengensystems M 6= ∅ ist die Menge \ M = {a | ∀A[A ∈ M ⇒ a ∈ A]}. (3.28)
Diese Menge existiert aufgrund des Teilmengenaxioms, denn f¨ ur jedes Element A0 von M gilt \ M = {a | a ∈ A0 ∧ ∀A[A ∈ M ⇒ a ∈ A]}. (3.29)
34
3 Mengenlehre
Vereinigungsmengenaxiom Nach Axiom M6 existiert die Vereinigung endlich vieler Mengen. Daraus kann nicht gefolgert werden, dass die Vereinigung beliebig vieler Mengen existiert. S M8 Ist M ein Mengensystem, dann gibt es eine Menge M , die Vereinigung von M , die genau die Elemente enth¨alt, die zu allen Elementen von M geh¨ oren [ M = {a | ∃A[A ∈ M ∧ a ∈ A]}. (3.30)
Selbsttestaufgaben 3.1. Beschreibe formal die folgenden Mengen: • • •
Die Menge aller ganzzahligen Zweierpotenzen. Die Menge aller ganzen Zahlen, die zwischen 10 und 30 liegen, und nicht durch 3 oder 5 teilbar sind. Die Menge aller ungeraden ganzen Zahlen.
3.2. Welche der folgenden Mengen sind untereinander gleich? {w, x, y},
{w, x, w},
{x, x, w},
{x, w, x, x, w, y}.
3.3. Welche Teilmengenbeziehungen sind zwischen zwei Mengen A und B m¨ oglich? Veranschauliche alle M¨ oglichkeiten anhand eines Venn-Diagramms. 3.4. Beweise den Satz 3.1. 3.5. Seien A, B und C nichtleere Mengen mit A ⊆ B, B ⊆ C und C ⊆ A. Was kann daraus f¨ ur die drei Mengen gefolgert werden? 3.6. Beweise den Satz 3.3. 3.7. Zeige, dass die Mengen A \ B und B disjunkt sind und die Identit¨ at A ∪ B = (A \ B) ∪ B gilt. 3.8. Ist die folgende Aussage wahr? Wenn sowohl A und B als auch B und C disjunkt sind, dann sind auch A und C disjunkt. 3.9. Beweise den Satz 3.8. 3.10. Zeige, dass f¨ ur alle Teilmengen A und B einer Grundmenge G gilt ¯∪B ¯ A∩B =A
und
¯ ∩ B. ¯ A∪B =A
3.11. Zeige, dass f¨ ur jede Teilmenge A einer Grundmenge G gilt • • •
A = A. A ∩ A¯ = ∅. A ∪ A¯ = G.
3.4 Axiomatische Mengenlehre
35
3.12. Sei M = {{1, 2, 3}, {4, 5}, {6, 7, 8}}. Welche der folgenden Aussagen sind wahr? • • • • • •
1∈M {1, 2, 3} ⊆ M {6, 7, 8} ∈ M {{4, 5}} ⊆ M ∅ 6∈ M ∅ ⊆ M.
3.13. Bestimme die Potenzmenge von A = {{1, 2, 3}, {1, 2}, {4, 5}}. 3.14. F¨ ur jede Zahl S n ∈ N sei An = {m · n | m ∈ N}. Berechne T {An | n ∈ N} und {An | p ist prim}.
S
3.15. Sei M = {{1, 2}, {2, 3}, {1, 2, 3, 4}, {2, 4, 5}, {2, 3}}. Bestimme
{An | n ∈ N},
S
M und
T
M.
36
3 Mengenlehre
4 Relationen
Relationen beschreiben Beziehungen zwischen Elementen von Mengen. In diesem Kapitel wird die Darstellung und Verkn¨ upfung von Relationen behandelt und der Bezug zu relationalen Datenbanken erl¨autert.
4.1 Das kartesische Produkt Geordnete Paare Das geordnete Paar oder kurz Paar zweier Objekte x und y ist eine Menge (x, y), die aus den Elementen {x} und {x, y} besteht (x, y) = {{x}, {x, y}}.
(4.1)
In einem Paar kommt es im Gegensatz zu einer Menge auf die Reihenfolge der Elemente an. Satz 4.1. F¨ ur beliebige Paare (x, y) und (u, v) gilt (x, y) = (u, v) genau dann, wenn x = u und y = v. Beweis. Seien x = u und y = v. Dann gilt {x} = {u} und {x, y} = {u, v}, woraus sofort (x, y) = (u, v) folgt. Sei (x, y) = (u, v). Es werden zwei F¨alle unterschieden. Sei x = y Dann ist (x, y) einelementig. Also ist auch (u, v) einelementig, d. h. {u} = {u, v}, woraus sich u = v ergibt. Aus {{x}} = {{u}} folgt {x} = {u}, also x = u. Somit ist y = x = u = v. Sei x 6= y. Dann ist {x, y} zweielementig, d. h., {x, y} = {u, v} und {x} = {u}. Daraus folgt x = u, also {x, y} = {x, v}. Folglich ist y = v. ⊓ ⊔
38
4 Relationen
Paarmengen Seien A und B Mengen. Das Produkt oder die Paarmenge von A und B ist A × B = {(x, y) | x ∈ A ∧ y ∈ B}.
(4.2)
Beispiel 4.2. F¨ ur die Mengen A = {0, 1} und B = {a, b, c} gilt A × B = {(0, a), (0, b), (0, c), (1, a), (1, b), (1, c)}. Die Paarmengenbildung ist monoton bzgl. mengentheoretischer Inklusion. Satz 4.3. Seien A, B, C und D Mengen. Aus A ⊆ B und C ⊆ D folgt A × C ⊆ B × D. n-Tupel Ein geordnete n-Tupel oder kurz n-Tupel von Objekten x1 , . . . , xn ist ein Paar, das aus dem (n − 1)-Tupel (x1 , . . . , xn−1 ) und dem Element xn besteht (x1 , . . . , xn−1 , xn ) = ((x1 , . . . , xn−1 ), xn ),
n ≥ 3.
(4.3)
Das Element xi wird i-te Komponente des n-Tupels genannt. Satz 4.4. Seien (x1 , . . . , xn ) und (y1 , . . . , yn ) n-Tupel. Es gilt (x1 , . . . , xn ) = (y1 , . . . , yn ) genau dann, wenn xi = yi f¨ ur alle 1 ≤ i ≤ n. Beweis. Die Aussage wird per vollst¨andiger Induktion nach n gezeigt. F¨ ur n = 2 ist die Aussage bereits nachgewiesen. F¨ ur (n + 1)-Tupel (x1 , . . . , xn , xn+1 ) und (y1 , . . . , yn , yn+1 ) gilt (x1 , . . . , xn , xn+1 ) = (y1 , . . . , yn , yn+1 ) ⇔ ((x1 , . . . , xn ), xn+1 ) = ((y1 , . . . , yn ), yn+1 ) ⇔ (x1 , . . . , xn ) = (y1 , . . . , yn ) ∧ xn+1 = yn+1 nach Satz 4.1
⇔ x1 = y1 ∧ . . . ∧ xn = yn ∧ xn+1 = yn+1
nach Induktionsannahme. ⊓ ⊔
Kartesische Produkte Seien A1 , . . . , An Mengen. Das kartesische Produkt von A1 , . . . , An ist A1 × . . . × An = {(x1 , . . . , xn ) | ∀i ∈ n [xi ∈ Ai ]}.
(4.4)
Bei lauter gleicher Mengen A = A1 = . . . = An wird auch vom n-fachen kartesischen Produkt von A gesprochen An = A × . . . × A . | {z } n−mal
(4.5)
4.2 Der Relationsbegriff
39
4.2 Der Relationsbegriff Mit dem Begriff der Relation ist umgangssprachlich das “in Beziehung stehen” zwischen Objekten gemeint. Homogene und inhomogene Relationen Sei A eine Menge. Eine Teilmenge R von A×A heißt eine (homogene) Relation auf A. F¨ ur (a, b) ∈ R wird k¨ urzer aRb geschrieben. Beispiele f¨ ur homogene Relationen sind das Senkrechtstehen auf der Menge aller Geraden einer Ebene, das Sichschneiden auf der Menge aller geometrischen Figuren, die Kongruenz auf der Menge aller Vielecke und die Verwandtschaft von Menschen. Allgemeiner sind Beziehungen, die zwischen Elementen unterschiedlicher Mengen bestehen. Seien A und B Mengen. Eine Teilmenge R von A × B heißt eine (heterogene) Relation von A nach B. Beispiele f¨ ur heterogene Relationen sind das Enthaltensein eines Punktes auf einer Geraden und die Zugeh¨origkeit eines Mitarbeiter zu einer Firma. Spezielle Relationen Die Paarmenge R = A × B wird Allrelation von A nach B genannt und die leere Menge R = ∅ Nullrelation. Die Allrelation besteht zwischen irgendzwei Elementen und die Nullrelation zwischen keinen Elementen. Wenn jedes Element einer Menge A nur zu sich selbst in Beziehung steht, dann liegt die Gleichheitsrelation auf A vor IA = {(a, a) | a ∈ A}.
(4.6)
Inverse Relation Sei R eine Relation von A nach B. Die inverse Relation von R ist eine Relation R−1 von B nach A, die aus allen Elementen (b, a) besteht, f¨ ur die (a, b) ∈ R gilt R−1 = {(b, a) | aRb}.
(4.7)
Beispielsweise geh¨ ort zur Relation “ist fr¨ uher als” auf der Menge aller physikalischen Ereignisse die inverse Relation “ist sp¨ater als”.
40
4 Relationen
Definitions- und Wertebereich Der Definitionsbereich einer Relation R von A nach B besteht aus allen Elementen in A, die mit mindestens einem Element aus B in Beziehung stehen dom(R) = {a | a ∈ A ∧ ∃b[b ∈ B ∧ aRb]}.
(4.8)
Der Wertebereich einer Relation R von A nach B setzt sich aus allen Elementen in B zusammen, die mit mindestens einem Element aus A verkn¨ upft sind ran(R) = {b | b ∈ B ∧ ∃a[a ∈ A ∧ aRb]}.
(4.9)
Urbild- und Bildmenge Sei R eine Relation von A nach B und sei T eine Teilmenge von A. Die Bildmenge von T unter R ist die Menge R(T ) aller Elemente von B, die mit wenigstens einem Element in T verwoben sind R(T ) = {b | b ∈ B ∧ ∃a[a ∈ T ∧ aRb]}.
(4.10)
Ist T eine Teilmenge von B, dann gilt definitionsgem¨aß R−1 (T ) = {a | a ∈ A ∧ ∃b[b ∈ T ∧ bR−1 a]} {a | a ∈ A ∧ ∃b[b ∈ T ∧ aRb]}.
(4.11)
Die Menge R−1 (T ) heißt Urbildmenge von T unter R. Beispiel 4.5. F¨ ur die Relation R = {(1, a), (1, b), (1, c), (2, a)} von A = {1, 2, 3} nach B = {a, b, c, d} gilt R−1 = {(a, 1), (b, 1), (c, 1), (a, 2)}, dom(R) = {1, 2}, ran(R) = {a, b, c}, R({2}) = {a} und R−1 ({a}) = {1, 2}.
4.3 Darstellung von Relationen Relationen werden bildhaft durch Pfeildiagramme und formal mithilfe von Matrizen dargestellt. Pfeildiagramme Sei R eine Relation von A nach B. In einem Pfeildiagramm von R werden die Elemente von A und B durch Punkte der Zeichenebene und die Relationsbeziehungen durch stetige, gerichtete Streckenz¨ uge dargestellt. Etwa wird die Relation R = {(1, b), (1, c), (3, b), (4, a), (4, c)} von A = {1, 2, 3, 4} nach B = {a, b, c, d} durch das Pfeildiagramm in Abb. 4.1 veranschaulicht.
4.4 Komposition
41
4 PP d @ PP P @ PP q c 3 PP@ 3 PP PP @ q b P @ 2 1 @ R a @ 1 R Abb. 4.1. Pfeildiagramm einer Relation R.
Adjazenzmatrizen Sei R eine Relation von A = {a1 , . . . , am } nach B = {b1 , . . . , bn }. Die Adjazenzmatrix von R ist eine m × n-Matrix MR = (mij ) mit 1 falls ai Rbj , mij = (4.12) 0 sonst. Beispielsweise geh¨ ort zur obigen Relation R die Adjazenzmatrix 0110 0 0 0 0 MR = 0 1 0 0, 1010
(4.13)
wobei die Zeilen bzw. Spalten der Reihe nach mit den Elementen 1, 2, 3, 4 bzw. a, b, c, d markiert sind. Die Adjazenzmatrix der inversen Relation von R ist die Transponierte der Adjazenzmatrix MR = (mij ) von R, also MR−1 = (MR )T = (mji ).
(4.14)
4.4 Komposition Die Komposition ist die gebr¨auchlichste Operation, um Relationen zu verkn¨ upfen. Sei R eine Relation von A nach B und S eine Relation von B nach C. Die Komposition (oder das relative Produkt ) von R und S ist definiert durch R ◦ S = {(a, c) | (a, c) ∈ A × C ∧ ∃b[b ∈ B ∧ aRb ∧ bSc]}.
(4.15)
Die Komposition R ◦ S besteht zwischen Elementen a ∈ A und c ∈ C genau dann, wenn es ein Element b ∈ B gibt, so dass zugleich die Beziehungen aRb und bSc bestehen.
42
4 Relationen
Beispiel 4.6. Die Komposition der Relationen R = {(1, c), (2, a), (2, b), (3, c)} und S = {(a, α), (a, β), (b, γ), (c, β)} ergibt die Relation R ◦ S = {(1, β), (2, α), (2, β), (2, γ), (3, β)}. Die Komposition kann anhand eines Pfeildiagramms berechnet werden, in dem jeweils hintereinander gesetzte Pfeile durchgeschaltet werden (Abb. 4.2).
- c P 3 1 γ PP 3 P PPP P q P 2 PP b 1 β PP PP PP q P 1
R
a
S
α
Abb. 4.2. Pfeildiagramm der Relationen R und S.
Satz 4.7. F¨ ur beliebige Relationen R ⊆ A × B, S ⊆ B × C und T ⊆ C × D gilt • • • •
(R−1 )−1 = R. (R ◦ S) ◦ T = R ◦ (S ◦ T ). (R ◦ S)−1 = S −1 ◦ R−1 . IA ◦ R = R = R ◦ IB .
Beweis. Seien a ∈ A und b ∈ B. Die Aussage a(R−1 )−1 b ist gleichwertig zu bR−1 a, die wiederum ¨ aquivalent ist zu aRb. Seien a ∈ A und d ∈ D. Aus a((R ◦ S) ◦ T )d folgt die Existenz von c ∈ C, so dass a(R ◦ S)c und cT d. Daraus ergibt sich aRb, bSc und cT d f¨ ur ein b ∈ B. Dies impliziert aRb und b(S ◦ T )d, was a(R ◦ (S ◦ T ))d zur Folge hat. Diese Beweiskette ist umkehrbar. Seien a ∈ A und c ∈ C. Aus a(R ◦ S)c folgt aRb und bSc f¨ ur ein b ∈ B. Per definitionem ergibt sich bR−1 a und cS −1 b, was c(S −1 ◦ R−1 )a impliziert. Diese Beweiskette ist umkehrbar. Seien a ∈ A und b ∈ B. Die Aussage a(IA ◦ R)b ist gleichbedeutend mit aIA a und aRb. Weil aIA a wahr ist, ist letztere Aussage ¨aquivalent zu aRb. Die zweite Identit¨ at ergibt sich analog. ⊓ ⊔
4.5 Relationale Datenbanken
43
Die Komposition von Relationen ist monoton bzgl. mengentheoretischer Inklusion. Satz 4.8. Seien P und Q Relationen von A nach B sowie R und S Relationen von B nach C. Aus P ⊆ Q und R ⊆ S folgt P ◦ R ⊆ Q ◦ S.
4.5 Relationale Datenbanken Bei relationalen Datenbanken treten typischerweise mehrstellige Beziehungen auf. Wir betrachten eine relatione Datenbank mit der Relation (Tabelle) ’Mitarbeiter’ Nachname Huber Schmidt M¨ uller Meier
Vorname Geburtsdatum Projekt Anna 31.12.67 EDV Gerd 22.11.77 Marketing Fritz 11.01.82 Business Berta 07.07.72 EDV
und der Relation ’Projekte’ Projekt Ort Kosten Business Hamburg 200.000,00 EDV K¨oln 1.000.000,00 Marketing N¨ urnberg 100.000,00 Aus einer relationalen Datenbank k¨onnen Daten mithilfe einer geeigneten Abfragesprache, wie etwa der Sprache SQL (Structured Query Language), herausgesucht werden. Selektion Mit der Selektion werden Datens¨atze in einer Tabelle ausgew¨ahlt, die einer bestimmten Bedingung gen¨ ugen. Beispielsweise liefert die SQL-Anweisung SELECT * FROM Mitarbeiter WHERE Projekt = ’EDV’ alle Zeilen von ’Mitarbeiter’, die der Bedingung, Projekt = ’EDV’, gen¨ ugen Nachname Vorname Geburtsdatum Projekt Huber Anna 31.12.67 EDV Meier Berta 07.07.72 EDV
44
4 Relationen
Projektion Mit der Projektion werden Spalten einer Tabelle ausgew¨ahlt. Beispielsweise liefert die SQL-Anweisung SELECT Nachname, Vorname FROM Mitarbeiter die Tabelle Nachname Vorname Huber Anna Schmidt Gerd M¨ uller Fritz Meier Berta Verbund Mit dem (nat¨ urlichen) Verbund werden Datens¨atze aus mehreren Tabellen verkn¨ upft, sofern ein gemeinsames Feld vorliegt, das jeweils gleiche Werte enth¨ alt. Beispielsweise vergleicht die SQL-Anweisung SELECT * FROM Mitarbeiter JOIN Projekte ON Mitarbeiter.Projekt = Projekte.Projekt auf u ¨ bereinstimmende Projektbezeichungen und liefert die Tabelle Nachname Vorname Geburtsdatum Projekt Ort Kosten Huber Anna 31.12.67 EDV K¨oln 1.000.000,00 Schmidt Gerd 22.11.77 Marketing N¨ urnberg 100.000,00 M¨ uller Fritz 11.01.82 Business Hamburg 200.000,00 Meier Berta 07.07.72 EDV K¨oln 1.000.000,00 Gleichlautende Spalten werden nur einmal angegeben.
Selbsttestaufgaben 4.1. Zeige, dass die Festlegung des geordneten Paares (x, y) vom axiomatischen Aufbau der Mengenlehre getragen wird. 4.2. Berechne das kartesische Produkt A × B × C der Mengen A = {1, 2}, B = {a, b, c} und C = {1, 3}. 4.3. Beweise den Satz 4.3. 4.4. Seien A, B und C Mengen. Beweise (A × B) ∩ (A × C) = A × (B ∩ C) und (A × B) ∪ (A × C) = A × (B ∪ C). 4.5. Wie viele Relationen von A = {a, b, c} nach B = {1, 2} gibt es? 4.6. Bestimme die zu R = {(a, 1), (a, 2), (b, 2)} inverse Relation.
4.5 Relationale Datenbanken
45
4.7. Sei R = {(1, y), (1, z), (3, z), (4, x), (4, z)} eine Relation von {1, 2, 3, 4} nach {x, y, z}. Ermittle dom(R) und ran(R). 4.8. Bestimme alle Paare der Relation R = {(x, y) ∈ N × N | x + 3y = 13}. 4.9. Gegeben sei die Relation Sei R = {(1, a), (1, b), (3, b), (3, d), (4, b)} eine Relation von {1, 2, 3, 4} nach {a, b, c, d}. Berechne R({1, 3}) und R−1 ({b}). 4.10. Betrachte die folgenden sieben Relationen zwischen Menschen, dass ein Mensch Vater, Mutter, Kind, Bruder, Schwester, Ehemann, Ehefrau eines anderen ist. Wir bezeichnen diese Relationen der Reihe nach mit V , M , K, B, S, E und F . Dr¨ ucke die Relationen Elternteil, Tante, Geschwister, Schwiegermutter und Cousin oder Cousine zu sein anhand obiger Relationen mithilfe des relativen Produkts und mengentheoretischer Operationen aus. 4.11. Sei R = {(1, a), (2, d), (3, a), (3, b), (3, d)} eine Relation von A = {1, 2, 3, 4} nach B = {a, b, c, d} und S = {(b, x), (b, z), (c, y), (d, z)} eine Relation von B nach C = {x, y, z}. Stelle beide Relationen durch Pfeildiagramme und Adjazenzmatrizen dar und berechne R ◦ S. 4.12. Beweise den Satz 4.8. ¨ 4.13. (Schr¨ odersche Aquivalenz) Zeige, dass f¨ ur Relationen R, S und T Relationen auf A gilt ¯ R ◦ S ⊆ T ⇐⇒ R−1 ◦ T¯ ⊆ S.
46
4 Relationen
5 Homogene Relationen
In diesem Kapitel wird die Darstellung homogener Relationen durch Digra¨ phen behandelt und die wichtigsten homogenen Relationen, Aquivalenzen und Ordnungen, werden untersucht.
5.1 Darstellung von homogenen Relationen Digraphen Sei V eine endliche Menge und E eine Relation auf V . Das Paar D = (V, E) heißt ein Digraph (oder gerichteter Graph). Die Elemente von V heißen Knoten und die Elemente von E Kanten. Ein Diagramm eines Digraphen D ist eine zeichnerische Darstellung von D, in der die Knoten durch Punkte und die Kanten durch stetige, gerichtete Streckenz¨ uge dargestellt werden. Beispiel 5.1. Der Digraph D = (V, E) mit der Knotenmenge V = {a, b, c, d} und der Kantenmenge E = {(a, b), (b, c), (c, d), (d, b)} wird durch das Diagramm in Abb. 5.1 repr¨ asentiert. r
a
-r -r I @ @ @? r b
c
d
Abb. 5.1. Diagramm eines Digraphen.
Eine Kante e = (u, v) ∈ E heißt inzident mit ihren Knoten u und v, die Knoten u und v werden dann auch adjazent genannt, u heißt dann Startknoten und v Endknoten von e. Eine Kante mit gleichem Start- und Endknoten wird als Schlinge bezeichnet.
48
5 Homogene Relationen
Wege und Kreise Sei D = (V, E) ein Digraph. Ein gerichteter Weg der L¨ange n in D ist ein (n+ 1)-Tupel W = (v0 , . . . , vn ), so dass jedes Paar aufeinanderfolgender Knoten (vi , vi+1 ) eine Kante in D repr¨asentiert. Der Knoten v0 heißt Startknoten und der Knoten vn Endknoten von W . Ein gerichteter Weg W in D heißt einfach, wenn jeder Knoten h¨ ochstens einmal vorkommt. Ein gerichteter Kreis in D ist ein Weg in D, der denselben Start- und Endknoten besitzt. Ein gerichteter Kreis K = (v0 , . . . , vn−1 , vn ) in D heißt einfach, wenn K die L¨ ange n ≥ 2 hat und der Weg (v0 , . . . , vn−1 ) in D einfach ist. Ein einfacher Kreis enth¨alt also jeden Knoten in D (bis auf Start- und Endknoten) h¨ ochstens einmal. Beispiel 5.2. Der Digraph in Abb. 5.1 enth¨alt folgende gerichtete Wege der L¨ ange drei: (a, b, c, d), (b, c, d, b), (c, d, b, c) und (d, b, c, d), wobei der erste Weg einfach ist und die anderen drei Wege einfache Kreise darstellen.
¨ 5.2 Aquivalenzen ¨ Aquivalenzen sind homogene Relationen, die Beziehungen zwischen gleichartigen Objekten beschreiben. ¨ Begriff der Aquivalenz ¨ Sei A eine Menge. Eine Aquivalenz auf A ist eine Relation ≡ auf A mit folgenden Eigenschaften: • • •
Reflexivit¨at: ∀x[x ∈ A ⇒ x ≡ x]. Transitivit¨at: ∀x∀y∀z[x, y, z ∈ A ⇒ (x ≡ y ∧ y ≡ z ⇒ x ≡ z)]. Symmetrie: ∀x∀y[x, y ∈ A ⇒ (x ≡ y ⇒ y ≡ x)].
Beispiele 5.3. Die Relation {(a, b), (a, c)} ist transitiv, w¨ahrend die Relation {(a, b), (b, c)} aufgrund des fehlenden Paares (a, c) nicht transitiv ist. Alle ¨ Aquivalenzen auf der Menge A = {a, b, c} sind R0 = {(a, a), (b, b), (c, c)} R1 = {(a, a), (b, b), (b, c), (c, b), (c, c)}
R2 = {(a, a), (a, b), (b, a), (b, b), (c, c)} R3 = {(a, a), (a, c), (b, b), (c, a), (c, c)}
R4 = {(a, a), (a, b), (a, c), (b, a), (b, b), (b, c), (c, a), (c, b), (c, c)}.
¨ 5.2 Aquivalenzen
49
¨ Aquivalenzen als Partitionen ¨ ¨ Sei ≡ eine Aquivalenz auf A und a ∈ A. Die Aquivalenzklasse von a (bzgl. ≡) ist eine Menge a, die aus allen Elementen von A besteht, die mit a in Beziehung stehen a = {b | b ∈ A ∧ a ≡ b}.
(5.1)
¨ Die Quotientenmenge von ≡ ist die Menge A aller Aquivalenzklassen bzgl. ≡ A = {a | a ∈ A}.
(5.2)
¨ Beispiele 5.4. • Zu den obigen Aquivalenzen auf A = {a, b, c} lauten die ¨ Aquivalenzklassen R0 R1 R2 R3 R4
: : : : :
a = {a}, b = {b}, c = {c} a = {a}, b = {b, c}, c = {b, c} a = {a, b}, b = {a, b}, c = {c} a = {a, c}, b = {b}, c = {a, c} a = {a, b, c}, b = {a, b, c}, c = {a, b, c}
und die Quotientenmengen R0 : A = {{a}, {b}, {c}}
R1 : A = {{a}, {b, c}}
R2 : A = {{a, b}, {c}} R3 : A = {{a, c}, {b}} R4 : A = {{a, b, c}}. •
Sei A = {giorno, domani, sabato, notte, sera, tempo}. Die Relation “hat ¨ dieselbe Anzahl von Buchstaben wie” ist eine Aquivalenz auf A mit der Quotientenmenge A = {{sera}, {tempo, notte}, {giorno, domani, sabato}}.
¨ Satz 5.5. Ist ≡ eine Aquivalenz auf A, dann ist die Quotientenmenge A eine Partition von A. Beweis. F¨ ur jedes a ∈ A gilt a ≡ a, weil ≡ reflexiv ist. Also ist a ∈ a. Somit ¨ sind die Aquivalenzklassen nichtleer. S ¨ a eine TeilFerner ist a = A. Denn einerseits ist jede Aquivalenzklasse ¨ menge von A und andererseits liegt jedes a ∈ A in der Aquivalenzklasse a. Schließlich seien a, b ∈ A mit c ∈ a ∩ b, d. h., a ≡ c und b ≡ c. Da ≡ symmetrisch ist, folgt c ≡ b. Weil ≡ transitiv ist, ergibt sich a ≡ b. Sei d ∈ b, d. h., b ≡ d. Da ≡ transitiv ist, folgt a ≡ d und somit d ∈ a. Mithin ist b ⊆ a. Analog erhellt sich a ⊆ b, was a = b impliziert. Folglich sind zwei ¨ Aquivalenzklassen entweder gleich oder disjunkt. Damit ist gezeigt, dass die ⊓ ⊔ Quotientenmenge A eine Partition von A ist.
50
5 Homogene Relationen
¨ Partitionen als Aquivalenzen ¨ Umgekehrt wird gezeigt, dass jede Partition einer Menge A eine Aquivalenz auf A induziert. Satz 5.6. Sei P eine Partition von A. Die Relation R = {(a, b) | a, b ∈ A ∧ ∃T [T ∈ P ∧ a, b ∈ T ]} ¨ ist eine Aquivalenz auf A, deren Quotientenmenge A mit P u ¨ bereinstimmt. ¨ Beweis. Zuerst wird gezeigt, dass R eine Aquivalenz auf A ist. Die Relation R ist definitionsgem¨ aß symmetrisch. Sei a ∈ A. Da P eine Partition ist, gibt es ein Element T ∈ P mit a ∈ T . Aus der Definition von R folgt aRa. Also ist R reflexiv. Seien a, b, c ∈ A mit aRb und bRc. Dann gibt es per definitionem Elemente T und T ′ von P mit a, b ∈ T und b, c ∈ T ′ . Also ist b ∈ T ∩ T ′ . Weil aber P eine Partition ist, m¨ ussen T und T ′ identisch sein, was definitionsgem¨aß aRc zur Folge hat. Somit ist R transitiv. Sei a ∈ A. Da P eine Partition von A ist, gibt es ein T ∈ P mit a ∈ T . Wir zeigen, dass a = T . F¨ ur jedes b ∈ T gilt per Definition aRb, woraus T ⊆ a folgt. Umgekehrt sei b ∈ a. Wegen a ∈ a ist aRb und demzufolge b ∈ T , mithin a ⊆ T , zusammen also a = T . ⊓ ⊔ ¨ Sei ≡ eine Aquivalenz auf A. Ein Vertetersystem von ≡ ist eine Teilmenge ¨ von A, die aus jeder Aquivalenzklasse bzgl. ≡ genau ein Element enth¨alt.
¨ Beispiel 5.7. F¨ ur die obigen Aquivalenzen auf {a, b, c} lauten die Vertretersysteme R0 R1 R2 R3 R4
: : : : :
{a, b, c} {a, b} und {a, c} {a, c} und {b, c} {a, b} und {b, c} {a} und {b} und {c}.
Konstruktive Wissenschaftstheorie Die konstruktive Wissenschaftstheorie ist ein Gebiet der Philosophie, das sich mit der schrittweise gerechtfertigten Wissenschafts- und Sprachkonstruktion besch¨ aftigt. In der konstruktiven Wissenschaftstheorie wird ein Begriff dadurch definiert, indem in einem Abstraktionsschritt in Beziehung stehende ¨ Elemente einer Menge zu Aquivalenzklassen zusammengefasst und dadurch in einer bestimmten Weise als gleich angesehen werden. Beispielsweise f¨ uhrt die Parallelit¨ at von Geraden zum Begriff “Richtung”, die Kongruenz von Strecken zu “L¨ange”, die Gleichm¨achtigkeit von Mengen zu “Kardinalzahl” die Gleichaltrigkeit von Menschen zu “Alter” und die Synonymie von W¨ortern zu “Bedeutung”.
5.3 Ordnungen
51
5.3 Ordnungen Ordnungsrelationen beschreiben hierarchische Beziehungen zwischen den Objekten einer Menge. Begriff der Ordnung Sei A eine Menge. Eine Halbordnung auf A ist eine Relation auf A mit folgenden Eigenschaften: • • •
Reflexivit¨at: ∀x[x ∈ A ⇒ x x]. Transitivit¨at: ∀x∀y∀z[x, y, z ∈ A ⇒ (x y ∧ y z ⇒ x z)]. Antisymmetrie: ∀x∀y[x, y ∈ A ⇒ (x y ∧ y x ⇒ x = y)].
Ist eine Halbordnung auf A, dann wird das Paar (A, ) eine halbgeordnete Menge genannt. Beispiele 5.8. • Die Inklusion ist nach Satz 3.3 eine Halbordnung auf der Potenzmenge einer Menge. • Seien m, n ∈ N0 . Wir sagen, m ist kleiner gleich n, kurz m ≤ n, wenn es ein l ∈ N0 gibt mit m + l = n. Wir sagen, m teilt n, kurz m | n, wenn es ein l ∈ N0 gibt mit m · l = n. Beide Relationen sind Halbordnungen auf N0 . Satz 5.9. Der Digraph D = (A, ) einer Halbordnung auf A enth¨alt keine einfachen gerichteten Kreise. Beweis. Angenommen, der Digraph D enthielte einen einfachen gerichteten Kreis K = (v0 , v1 , . . . , vn ) der L¨ange n ≥ 2. Dann gibt es in K neben v0 noch ein weiterer Knoten v. Also existiert einen gerichteten Weg von v0 nach v und einen gerichteten Weg von v nach vn = v0 . Da transitiv ist, erhellt sich v0 v und v v0 Weil aber antisymmetrisch ist, folgt widerspr¨ uchlicherweise v = v0 . ⊓ ⊔ Hasse-Diagramm Ein Hasse-Diagramm einer halbgeordneten Menge (A, ) ist ein Diagramm, in dem alle Kanten nach oben gerichtet sind. Aufgrund dieser Vereinbarung k¨ onnen Pfeile weggelassen werden. Ferner wird eine Kante (a, b) weggelassen, wenn es einen Weg der L¨ ange ≥ 2 von a nach b gibt. D.h., eine Kante (a, b) im Hasse-Diagramm erf¨ ullt die Bedingung a b und es gibt kein weiteres Element c ∈ A mit a c b.
(5.3)
In Hasse-Diagrammen werden transitive Beziehungen also durch gerichtete Wege dargestellt (Abb. 5.2).
52
4 r
5 Homogene Relationen 8q
6
2q
q3
4q
q
3 r
q q @ @ @q 5
7
1
2 r 1 r
Abb. 5.2. Hasse-Diagramme der halbgeordneten Mengen (8, |) und (4, ≤).
Lineare Ordnungen Eine lineare Ordnung auf A ist eine Halbordnung auf A, in der f¨ ur je zwei Elemente a, b ∈ A wenigstens eine der Beziehungen a b oder b a gilt. Ist eine lineare Ordnung auf A, dann wird das Paar (A, ) eine linear geordnete Menge oder Kette genannt. Beispiele 5.10. • Die halbgeordnete Menge (N0 , ≤) ist linear geordnet. Der Beweis fußt auf der Arithmetik der nat¨ urlichen Zahlen (Abs. 7.2). • Die halbgeordnete Menge (N0 , |) ist nicht linear geordnet, weil etwa weder 2 | 3 noch 3 | 2 gilt. • Die halbgeordnete Menge (P (A), ⊆) ist nur dann linear geordnet, wenn A h¨ ochstens einelementig ist. • Die lexikografische Ordnung auf der Menge der W¨orter des lateinischen Alphabets ist linear, sie erleichtert das Suchen nach Eintr¨agen in Lexika. Spezielle Elemente in Halbordnungen Sei (A, ) eine halbgeordnete Menge. Ein Element a ∈ A heißt minimal, wenn f¨ ur jedes b ∈ A aus b a sofort a = b folgt. Entsprechend heißt a ∈ A maximal, wenn f¨ ur jedes b ∈ A aus a b direkt a = b folgt. Ein Element a ∈ A heißt kleinstes Element, wenn f¨ ur jedes b ∈ A gilt a b. Analog heißt a ∈ A gr¨oßtes Element, wenn f¨ ur jedes b ∈ A gilt b a. Beispiele 5.11. Die halbgeordnete Menge (N0 , ≤) hat 0 als kleinstes Element, aber kein maximales Element. Die halbgeordnete Menge (N0 , |) hat 1 als kleinstes und 0 als gr¨ oßtes Element. Die halbgeordnete Menge (8, |) hat 1 als kleinstes Element und 5, 6, 7 und 8 als maximale Elemente (Abb. 5.2). Die halbgeordnete Menge (P ({a, b}), ⊆) hat ∅ als kleinstes und {a, b} als gr¨oßtes Element.
5.4 H¨ ullen
53
Lemma 5.12. Jede endliche halbgeordnete Menge besitzt wenigstens ein minimales und ein maximales Element. Beweis. Sei (A, ) eine endliche halbgeordnete Menge und sei a0 ∈ A. Beginnend mit a0 wird eine echt absteigende Kette von Elementen aus A konstruiert: . . . ≺ a2 ≺ a1 ≺ a0 . Diese Kette muss abbrechen, weil A endlich ist. Ist an ≺ . . . ≺ a1 ≺ a0 die konstruierte Kette, dann ist an minimal. Die Existenz eines maximalen Elements wird anhand einer echt aufsteigenden Kette gezeigt. ⊓ ⊔ Lemma 5.13. Sei (A, ) eine halbgeordnete Menge. Jedes kleinste bzw. gr¨oßte Element a ∈ A ist auch minimales bzw. maximales Element. Das kleinste bzw. gr¨oßte Element a ∈ A ist eindeutig bestimmt, falls es existiert. Beweis. Die erste Aussage folgt aus den Definitionen. Seien a, b ∈ A kleinste Elemente. Dann folgt per definitionem a b und b a. Mit der Antisymmetrie ergibt sich a = b. ⊓ ⊔
5.4 Hu ¨llen Sei R eine Relation auf A. Die reflexive (symmetrische, transitive) H¨ ulle von R ist eine Relation R′ auf A mit den folgenden Eigenschaften: • • •
R′ ist reflexiv (symmetrisch, transitiv). R ⊆ R′ . Ist R′′ eine reflexive (symmetrische, transitive) Relation auf A mit R ⊆ R′′ , dann ist R′ ⊆ R′′ .
Wir schreiben ρ(R) f¨ ur die reflexive H¨ ulle, σ(R) f¨ ur die symmetrische H¨ ulle, R+ f¨ ur die transitive H¨ ulle und R∗ f¨ ur die reflexive, transitive H¨ ulle. Beispiel 5.14. Die Relation ”ist Elternteil von” ist nicht transitiv. Ihre transitive H¨ ulle ist die Relation ”ist Ahne von”. Die transitive H¨ ulle einer Relation R wird anhand der Potenzen von R konstruiert (Abs. 7.2). Satz 5.15. Ist R eine Relation auf A, dann gilt • • • •
ρ(R) = R ∪ IA . σ(R) =SR ∪ R−1 . R+ = S n≥1 Rn . R∗ = n≥0 Rn .
S Beweis. Wir zeigen nur die dritte Aussage. Sei R′ = n≥1 Rn . Zuerst wird gezeigt, dass R′ transitiv ist. Seien a, b, c ∈ A mit aR′ b und bR′ c. Dann gibt es nat¨ urliche Zahlen m und n mit aRm b und bRn c. Also folgt aRm+n c und somit aR′ c.
54
5 Homogene Relationen
Es gilt R = R1 und somit R ⊆ R′ . Sei R′′ eine transitive Relation auf A, die R enth¨alt. Wir zeigen, dass ′ R ⊆ R′′ . Seien a, b ∈ A mit aR′ b. Dann existiert eine nat¨ urliche Zahl n mit aRn b. Folglich gibt es Elemente a1 , . . . , an−1 von A mit aRa1 , ai Rai+1 f¨ ur 1 ≤ i ≤ n − 2, und an−1 Rb. Da R in R′′ enthalten ist, erhellt sich aR′′ a1 , ai R′′ ai+1 f¨ ur 1 ≤ i ≤ n − 2, und an−1 R′′ b. Weil aber R′′ transitiv ist, folgt ′′ aR b. ⊓ ⊔
Selbsttestaufgaben 5.1. Wir betrachten Relationen R = {(1, 1), (2, 2), (3, 3)}, S = {(1, 2), (2, 1), (3, 3)} und T = {(1, 2), (2, 3), (1, 3)} auf {1, 2, 3}. Welche dieser Relationen sind reflexiv, transitiv, symmetrisch oder antisymmetrisch? 5.2. Zeige, dass die Relation R = {(a, b) | a, b ∈ N0 ∧ (a + b ist gerade)} eine ¨ Aquivalenz auf N0 ist. Wie lautet die Quotientenmenge? 5.3. Gegeben sei die Wortmenge W = {auto, iso, mori, motto, omni, otto}. Bestim¨ me die Quotientenmenge von W bzgl. der Aquivalenzen “hat dieselbe Anzahl von Buchstaben wie” und “beginnt mit dem gleichen Buchstaben wie”. 5.4. Zeige, dass die Relation R = {(a, b) | a, b ∈ Z ∧ (a2 − b2 ist teilbar durch 3)} ¨ eine Aquivalenz auf Z ist. Bestimme die zugeh¨ orige Quotientenmenge. 5.5. Welche der folgenden Relationen sind Ketten: ({3, 12, 36}, |), ({7, 21, 15}, |), ({9}, |), ({2, 16, 64, 14}, |). 5.6. Seien (A1 , 1 ) und (A2 , 2 ) halbgeordnete Mengen. Wir definieren eine Relation auf A1 × A2 durch (x1 , x2 ) (y1 , y2 )
:⇐⇒
x 1 1 y1 ∧ x 2 y2 ,
Zeige, dass eine Halbordnung ist. Diese Halbordnung wird Produktordnung auf A1 × A2 genannt. 5.7. Zeichne das Hasse-Diagramm der unter Teilbarkeit halbgeordneten Menge {1, 2, 3, 4, 6, 8, 9, 12, 18, 24} und bestimme alle minimalen und maximalen Elemente. Gibt es ein kleinstes oder gr¨ oßtes Element? 5.8. Berechne die transitive H¨ ulle der Relation R = {(1, 2), (2, 4), (3, 2), (3, 4), (4, 1)} auf {1, 2, 3, 4}. 5.9. Vervollst¨ andige den Beweis von Satz 5.15. 5.10. Zeige, dass eine reflexive (symmetrische, transitive) Relation identisch ist mit ihrer reflexiven (symmetrischen, transitiven) H¨ ulle. 5.11. Seien R und S homogene Relationen auf A. Zeige: • • •
(R∗ )−1 = (R−1 )∗ , (R ∪ S)∗ = (R∗ S)∗ R∗ , R∗ S ∗ ⊆ (R ∪ S)∗ .
6 Abbildungen
Abbildungen treten in allen mathematischen Theorien auf. Wir untersuchen die grundlegenden Eigenschaften von Abbildungen, stellen injektive, surjektive und bijektive Abbildungen vor und behandeln spezielle Abbildungen wie Permutationen, Familien, Folgen und Multimengen. Abschließend wird mithilfe von Folgen das Laufzeitverhalten von Algorithmen analysiert.
6.1 Der Abbildungsbegriff Seien A und B Mengen. Eine Relation f von A nach B heißt eine Abbildung (oder Funktion oder Operation), wenn f linkstotal und rechtseindeutig ist. Eine Relation f von A nach B heißt linkstotal, wenn es zu jedem a ∈ A ein b ∈ B mit af b gibt, also dom(f ) = A. Eine Relation f von A nach B heißt rechtseindeutig, wenn f¨ ur alle a ∈ A und b1 , b2 ∈ B aus af b1 und af b2 stets b1 = b2 folgt. Eine Abbildung f von A nach B wird mit f : A → B bezeichnet, A ist die Quellmenge und B die Zielmenge von f . In einer Abbildung f gibt es zu jedem a ∈ A genau (mindestens und h¨ochstens) ein b ∈ B mit af b; mindestens wegen Linkstotalit¨at und h¨ochstens wegen Rechtseindeutigkeit (Abb. 6.1). Deshalb wird die Beziehung af b auch als Abbildungsvorschrift geschrieben b = f (a) oder
f : a 7→ b.
(6.1)
Beispiele 6.1. • Die identische Abbildung idA : A → A, definiert durch idA (a) = a f¨ ur alle a ∈ A, ist der Gleichheitsrelation auf A. • Eine konstante Abbildung f : A → B ordnet jedem Element von A ein festes Element b0 von B zu, d. h. f (a) = b0 f¨ ur alle a ∈ A. • Sei A eine Teilmenge einer Menge B. Die Abbildung ι : A → B, definiert durch ι(a) = a f¨ ur alle a ∈ A, wird Inklusionsabbildung von A nach B genannt.
56
6 Abbildungen
- z - z c c P c 1 z P PP q y y b b PP b PP 1 1 y 1 PP PP q q a a a x x x (a) (b) (c) Abb. 6.1. Relationen: (a) nicht linkstotal, (b) nicht rechtseindeutig, (c) Abbildung.
Eigenschaften von Abbildungen Satz 6.2. Sind f : A → B und g : A → B Abbildungen, dann gilt f = g genau dann, wenn f (a) = g(a) f¨ ur alle a ∈ A. Beweis. Wir schreiben f und g als Relationen f = {(a, f (a)) | a ∈ A}
und
g = {(a, g(a)) | a ∈ A}.
Nach Definition der Mengengleichheit und der Eindeutigkeit von Paaren sind f und g genau dann gleich, wenn f (a) = g(a) f¨ ur alle a ∈ A. ⊓ ⊔ Satz 6.3. Sind f : A → B und g : B → C Abbildungen, dann ist die Komposition f ◦ g eine Abbildung von A nach C. Beweis. Die Komposition f ◦ g ist definitionsgem¨aß eine Relation von A nach C. Wir zeigen, dass f ◦ g linkstotal ist. Sei a ∈ A. Da f linkstotal ist, gibt es ein b ∈ B mit b = f (a). Weil aber auch g linkstotal ist, existiert ein c ∈ C mit c = g(b). Also ist a(f ◦ g)c. Wir beweisen, dass f ◦g rechtseindeutig ist. Seien a ∈ A und c1 , c2 ∈ C mit a(f ◦ g)c1 und a(f ◦ g)c2 . Dann gibt es b1 , b2 ∈ B mit b1 = f (a), c1 = g(b1 ), b2 = f (a) und c2 = g(b2 ). Weil f rechtseindeutig ist, folgt b1 = b2 , also c1 = g(b1 ) = g(b2 ) = c2 . Da auch g rechtseindeutig ist, ergibt sich c1 = c2 . ⊓ ⊔ F¨ ur die Komposition von f : A → B und g : B → C ist c = (f ◦ g)(a) gleichbedeutend mit c = g(f (a)), denn aus c = (f ◦ g)(a) folgt die Existenz von b ∈ B mit b = f (a) und c = g(b), was c = g(f (a)) zur Folge hat. Deshalb wird im Folgenden f¨ ur die Komposition f ◦ g k¨ urzer gf geschrieben. Aus den Rechengesetzen f¨ ur die Komposition von Relationen ergibt sich unmittelbar der folgende Satz 6.4. Sind f : A → B, g : B → C und h : C → D Abbildungen, dann gilt • •
h(gf ) = (hg)f . f idA = f = idB f .
6.2 Spezielle Abbildungen
57
Abbildungsdiagramme Die Komposition von Abbildungen wird bildlich in einem Abbildungsdiagramm dargestellt, das Abbildungen mitsamt ihrer Quell- und Zielmengen beschreibt. Ein Abbildungsdiagramm heißt kommutativ, wenn alle gerichteten Wege mit gleichem Start- und Endknoten dieselbe Abbildung liefern, wobei beim Durchlaufen eines gerichteten Weges die Abbildungen durch Komposition verkn¨ upft werden. Beispielsweise zeigt die Abb. 6.2 ein Abbildungsdiagramm mit den Abbildungen f : A → B, g : B → C und h : A → C, das im Falle h = gf kommutativ ist. h
-C * f ? g A
B
Abb. 6.2. Ein Abbildungsdiagramm.
6.2 Spezielle Abbildungen Eine Abbildung f : A → B heißt injektiv (oder linkseindeutig), wenn es zu jedem b ∈ B h¨ ochstens ein a ∈ A gibt mit f (a) = b, d. h. f¨ ur alle a1 , a2 ∈ A aus f (a1 ) = f (a2 ) stets a1 = a2 folgt. Nach dem Gesetz der Kontraposition ist diese Bedingung gleichwertig dazu, dass f¨ ur alle a1 , a2 ∈ A aus a1 6= a2 stets f (a1 ) 6= f (a2 ) folgt. Eine Abbildung f : A → B heißt surjektiv (oder rechtstotal oder eine Abbildung von A auf B), wenn es zu jedem b ∈ B mindestens ein a ∈ A gibt mit f (a) = b, d. h. f (A) = ran(f ) = B. Eine injektive und surjektive Abbildung f : A → B heißt bijektiv. Eine Abbildung f : A → B ist bijektiv genau dann, wenn es zu jedem b ∈ B genau ein a ∈ A gibt mit f (a) = b (Abb. 6.3). Beispiele 6.5. Die identische Abbildung idA ist bijektiv, die Inklusionsabbildung ι : A → B ist injektiv und die Konstantenabbildung f : A → {b0 } ist surjektiv. Zu jeder Abbildung f : A → B kann eine injektive bzw. surjektive Abbildung durch Einschr¨ anken ihres Definitions- bzw. Wertebereichs erhalten werden. Die Sinus-Funktion ist weder injektiv noch surjektiv (Abb. 6.4). Sie wird injektiv, wenn die Quellmenge auf das reellwertige Intervall [− π2 , + π2 ] eingeschr¨ ankt wird, und sie wird surjektiv, wenn die Zielmenge auf den Wertebereich [−1, +1] beschr¨ ankt wird.
58
6 Abbildungen
d PP 1 z y PP q - z c c P c 1 PP1 z q P y b b b PP 1 y 1 x PP q x - x a a a w (a) (b) (c) Abb. 6.3. Abbildungen: (a) injektiv, (b) surjektiv, (c) bijektiv.
1
0,5
0 -6
-4
-2
0
2
4
6
-0,5
-1
Abb. 6.4. Graph der Abbildung [−2π, 2π] → R : x 7→ sin(x).
Satz 6.6. Seien f : A → B und g : B → C Abbildungen. • • •
Sind f und g injektiv bzw. surjektiv, dann ist gf injektiv bzw. surjektiv. Ist gf injektiv, dann ist f injektiv. Ist gf surjektiv, dann ist g surjektiv.
Beweis. Seien f und g injektiv. Seien a1 , a2 ∈ A mit (gf )(a1 ) = (gf )(a2 ), also g(f (a1 )) = g(f (a2 )). Da g injektiv ist, folgt f (a1 ) = f (a2 ). Weil f injektiv ist, ergibt sich a1 = a2 . Also ist gf injektiv. Seien f und g surjektiv und c ∈ C. Da g surjektiv ist, gibt es ein b ∈ B mit g(b) = c. Weil f surjektiv ist, existiert ein a ∈ A mit f (a) = b. Folglich ist (gf )(a) = c und somit gf surjektiv. Sei gf injektiv und seien a1 , a2 ∈ A mit a1 6= a2 . Dann ist g(f (a1 )) = (gf )(a1 ) 6= (gf )(a2 ) = g(f (a2 )). Weil g rechtseindeutig ist, folgt f (a1 ) 6= f (a2 ). Also ist f injektiv. Sei gf surjektiv und sei c ∈ C. Dann gibt es ein a ∈ A mit c = (gf )(a). Wird b = f (a) ∈ B gesetzt, dann ist c = g(b) und somit g surjektiv. ⊓ ⊔
6.3 Familien, Folgen und Multimengen
59
Satz 6.7. Ist f : A → B bijektiv, dann ist f −1 : B → A bijektiv und es gilt • •
f −1 f = idA und f f −1 = idB . (f −1 )−1 = f .
Beweis. Sei f : A → B bijektiv. Zu f kann die inverse Relation f −1 = {(f (a), a) | a ∈ A} gebildet werden. Die Relation f −1 ist rechtstotal bzw. linkstotal, weil f linkstotal bzw. rechtstotal ist. Die Relation f −1 ist rechtseindeutig bzw. linkseindeutig, da f linkseindeutig bzw. rechtseindeutig ist. Also ist f −1 bijektiv. Nach Definition von f −1 gilt (f −1 f )(a) = f −1 (f (a)) = a f¨ ur jedes a ∈ A und (f f −1 )(b) = f (f −1 (b)) = b f¨ ur jedes b ∈ B. Die letzte Aussage folgt aus dem Satz 4.7. ⊓ ⊔ Bei Abbildungen zwischen endlichen Mengen mit gleicher Elementeanzahl fallen die Begriffe surjektiv, injektiv und bijektiv zusammen. Satz 6.8. Sind A und B endliche Mengen mit gleicher Elementeanzahl, dann sind f¨ ur jede Abbildung f : A → B ¨aquivalent: 1. f ist surjektiv. 2. f ist injektiv. 3. f ist bijektiv. ¨ Beweis. Seien A und B n-elementige Mengen. Die Aquivalenzen werden durch einen Ringschluss bewiesen. 1. ⇒ 2. Sei f surjektiv, also f (A) = B. Dann ist f (A) auch n-elementig. Seien A = {a1 , . . . , an } und f (A) = {f (a1 ), . . . , f (an )}. Die Mengen A und f (A) k¨ onnen nur dann n-elementig sein, wenn f (ai ) 6= f (aj ) f¨ ur ai 6= aj gilt. Also ist f injektiv. 2. ⇒ 3. Sei f injektiv. Dann sind f (A) und A jeweils n-elementig. Da B ebenfalls n-elementig ist, folgt f (A) = B. Also ist f surjektiv, mithin bijektiv. 3. ⇒ 1. ist klar. ⊓ ⊔
6.3 Familien, Folgen und Multimengen Familien und Folgen Familien und Folgen sind Abbildungen, in denen es vor allem auf die Bilder ankommt. Seien A und I Mengen. Eine Familie zur Indexmenge I mit Koeffizienten in A ist eine Abbildung f : I → A. F¨ ur eine solche Abbildung wird geschrieben f = (f (i))i∈I = (fi )i∈I
mit fi = f (i)
(6.2)
60
6 Abbildungen
oder k¨ urzer f = (f (i)) = (fi ).
(6.3)
Die Elemente fi werden Glieder von f genannt. Eine Familie zur Indexmenge I = N oder I = N0 heißt eine unendliche Folge. Ein Familie zur Indexmenge I = n wird eine Folge der L¨ange n genannt, wobei f auch geschrieben wird in der Form f = (f1 , . . . , fn ).
(6.4)
Beispiele 6.9. Wir betrachten zwei typische Familien. •
Ein Wort der L¨ ange n u ¨ber einer endlichen Menge A ist eine Folge w = (w1 , . . . , wn ) der L¨ ange n mit Koeffizienten in A. F¨ ur ein Wort w wird k¨ urzer geschrieben w = w1 . . . wn .
•
(6.5)
Die Menge A heißt Zeichenvorrat und die Elemente von A Buchstaben. Das leere Wort ist die leere Abbildung (Relation), sie wird mit ǫ bezeichnet. Die W¨ orter der L¨ ange ≤ 2 u ¨ ber {a, b} sind ǫ, a, b, aa, ab, ba und bb. Eine m × n-Matrix u ¨ber einer Menge A ist eine Familie (a(i,j) ) zur Indexmenge I = m × n mit Koeffizienten in A. Die Eintr¨age a(i,j) der Matrix werden k¨ urzer in der Gestalt aij geschrieben.
Folgen vs. n-Tupel Es gibt einen feinen Unterschied zwischen n-Tupeln und Folgen der L¨ange n. Dazu wird die Menge aller Folgen der L¨ange n betrachtet, deren i-te Glieder in einer Menge Ai liegen A1 ∗ . . . ∗ An = {f | f : n →
n [
i=1
Ai ∧ ∀i[i ∈ n ⇒ f (i) ∈ Ai ]}.
(6.6)
Satz 6.10. Die Abbildung ϕ : A1 ∗ . . . ∗ An → A1 × . . . × An , definiert durch f 7→ (f (1), . . . , f (n)),
(6.7)
ist bijektiv. Beweis. Sei (a1 , . . . , an ) ∈ A1 × . . . × An . F¨ ur die Familie f : n → definiert durch f (i) = ai , gilt ϕ(f ) = (f (1), . . . , f (n)) = (a1 , . . . , an ).
Sn
i=1
Ai ,
(6.8)
Also ist ϕ surjektiv. Seien f, g ∈ A1 ∗ . . . ∗ An mit ϕ(f ) = ϕ(g). Dann ist (f (1), . . . , f (n)) = (g(1), . . . , g(n)). Wegen Satz 4.4 folgt f (i) = g(i) f¨ ur 1 ≤ i ≤ n. Nach Satz 6.2 ergibt sich f = g. Also ist ϕ injektiv. ⊓ ⊔
6.3 Familien, Folgen und Multimengen
61
Das kartesische Produkt A1 × . . . × An entspricht also der Menge aller Folgen der L¨ ange n, deren i-te Glieder in Ai liegen. Sind die Mengen Ai allesamt identisch, also A = Ai f¨ ur alle 1 ≤ i ≤ n, dann ist das Produkt A1 ∗ . . . ∗ An identisch mit der Menge aller Abbildungen von I nach A AI = {f | f : I → A}.
(6.9)
Beispielsweise ist Am×n definitionsgem¨aß die Menge aller m×n-Matrizen u ¨ ber A. Diese Menge kann nach Satz 6.10 mit dem kartesischen Produkt Am×n identifiziert werden. Beispiel 6.11. Sei A = {a, b}. Die Menge A2 besteht aus den Abbildungen f1 1 2 aa
f2 1 2 ab
f3 1 2 ba
f4 1 2 bb
Die bijektive Abbildung ϕ : A2 → A2 ist definiert durch folgende Zuordnung f1 f2 f3 f4 f ϕ(f ) (a, a) (a, b) (b, a) (b, b) Multimengen Sei A eine Menge. Eine Multimenge u ¨ber A ist eine Abbildung f : A → N0 . Der Funktionswert f (a) von a ∈ A wird als H¨aufigkeit interpretiert, mit der a in der Multimenge auftritt. Eine Multimenge wird wie eine Menge {. . .}M (mit nachgestelltem Index M ) geschrieben. Zwei Multimengen u ¨ ber A sind gleich, wenn sie als Abbildungen gleich sind. Gew¨ohnliche Mengen sind Multimengen mit dem Wertebereich f (A) ⊆ {0, 1}. Beispiele 6.12. Die Abbildung f : 3 → N0 mit f (1) = 2, f (2) = 1 und f (3) = 1 definiert die Multimenge {1, 1, 2, 3}M . Die Multimengen {1, 1, 2, 3}M und {1, 3, 2, 1}M sind gleich, nicht aber die Multimengen {1, 1, 2, 3}M und {1, 2, 2, 3}M . Beispiel 6.13. Mit Multimengen lassen sich etwa alle M¨oglichkeiten beschreiben, k Elemente aus einer n-elementigen Menge auszuw¨ahlen, wobei Elemente mehrfach ausgew¨ ahlt werden d¨ urfen und es auf die Reihenfolge der Elemente nicht ankommt. Im Falle k = 3 und n = 2 ergeben sich folgende M¨oglichkeiten: {1, 1, 1}M , {1, 1, 2}M , {1, 2, 2}M und {2, 2, 2}M .
62
6 Abbildungen
6.4 Permutationen Permutationen sind bijektive Abbildungen auf endlichen Mengen. Sie spielen u. a. in der Kombinatorik und der Gruppentheorie eine wichtige Rolle. Darstellung von Permutationen Sei A eine endliche Menge. Eine bijektive Abbildung f : A → A heißt eine Permutation von A. Eine Permutation von n wird eine Permutation vom Grad n genannt. Eine Permutation π vom Grad n wird als zweireihige Matrix dargestellt 1 2 3 ... n π= . (6.10) π(1) π(2) π(3) . . . π(n) Die inverse Abbildung von π wird dadurch erhalten, indem die erste und zweite Zeile der Matrix vertauscht werden π(1) π(2) π(3) . . . π(n) (6.11) 1 2 3 ... n und anschließend die Spalten gem¨aß der ersten Zeile aufsteigend sortiert werden. Beispielsweise gilt −1 1234567 1234567 = . 2145673 2173456 Permutationen vom Grad n werden auch als Produkte von Zykeln dargestellt. Beispielsweise bildet die Permutation 1234567 π= (6.12) 2457361 das Element 1 auf 2, 2 auf 4, 4 auf 7 und 7 auf 1 ab. Diese Abbildungsfolge wird durch den Zykel (1247) repr¨asentiert. Das Element 3 wird auf 5 und 5 auf 3 abgebildet, dies ergibt den Zykel (35). Das Element 6 wird auf sich selbst abgebildet, dies wird durch den Zykel (6) ausgedr¨ uckt. Damit ergibt sich die Zykeldarstellung von π: π = (1247)(35)(6).
(6.13)
In der Zykeldarstellung kommt es nicht auf die Reihenfolge der Zykeln an und in einem Zykel kann mit jedem beliebigen Element begonnen werden (35)(6)(1247) = (1247)(35)(6) = (4712)(53)(6).
(6.14)
Die L¨ange eines Zykels ist die Anzahl seiner Elemente. Ein Zykel der L¨ange n wird auch n-Zykel genannt. Insbesondere heißen 2-Zykeln Transpositionen und 1-Zykeln Fixpunkte. Die Fixpunkte werden in einer Zykeldarstellung unterdr¨ uckt, wenn der Grad der Permutation bekannt ist. Im obigen Beispiel wird anstelle (35)(6)(1247) auch (35)(1247) geschrieben.
6.4 Permutationen
63
Beispiel 6.14. Die Permutationen vom Grad 3 sind 123 123 id = = (1)(2)(3), δ1 = = (123), 1 2 3 2 3 1 123 123 δ2 = = (132), σ1 = = (1)(23), 3 1 2 1 3 2 123 123 σ2 = = (13)(2), σ3 = = (12)(3). 321 213 Diese Permutationen beschreiben alle Drehungen und Spiegelungen eines gleichseitigen Dreiecks, die das Dreieck wieder zur Deckung bringen. Sind die Ecken des Dreiecks im Uhrzeigersinn mit 1, 2 und 3 nummeriert, so bewirkt δ1 bzw. δ2 ist eine Drehung des Dreiecks um 120o bzw. 240o im Uhrzeigersinn, w¨ ahrend σi eine Spiegelung am Lot durch die Ecke i beschreibt. Permutationen als Produkte von Zykeln Die Zykeldarstellung zeigt, dass sich jede Permutation vom Grad n als Produkt von disjunkten Zykeln schreiben l¨asst. Disjunkt bedeutet, dass jedes Element in h¨ ochstens einem Zykel vorkommt. Diese Darstellung ist eindeutig bis auf die Reihenfolge der Zykeln und zyklisches Vertauschen der Elemente eines Zykels. Satz 6.15. Jede Permutation vom Grad n ist darstellbar als ein Produkt von Transpositionen. Beweis. Es bleibt zu zeigen, dass jeder Zykel (x1 , . . . , xm ) ein Produkt von Transpositionen ist. Wir beweisen (x1 , . . . , xm ) = (x1 xm ) . . . (x1 x3 )(x1 x2 ).
(6.15)
Der Beweis wird durch vollst¨andige Induktion nach m gef¨ uhrt. F¨ ur m = 2 ist die Identit¨ at klar. Sei m ≥ 2. F¨ ur den m-Zykel π = (x1 , . . . , xm ) und die Transposition ρ = (x1 , xm+1 ) gilt x1 x2 . . . xm xm+1 x1 x2 . . . xm−1 xm xm+1 ρπ = xm+1 x2 . . . xm x1 x2 x3 . . . xm x1 xm+1 x1 x2 . . . xm−1 xm xm+1 = x2 x3 . . . xm xm+1 x1 = (x1 , . . . , xm , xm+1 ).
Da π nach Induktionsannahme als Produkt von Transpositionen darstellbar ist, hat auch (x1 , . . . , xm+1 ) eine solche Darstellung. ⊓ ⊔ Die Darstellung einer Permutation als Produkt von Transpositionen ist nicht eindeutig bestimmt, denn etwa gilt (123) = (13)(12) = (12)(23).
64
6 Abbildungen
Satz 6.16. Ist eine Permutation vom Grad n darstellbar als ein Produkt von r und s Transpositionen, dann sind r und s entweder beide gerade oder beide ungerade. Beweis. Sei π eine Permutation von Grad n, die aus k disjunkten Zykeln besteht. Sei (ij) eine Transposition mit 1 ≤ i < j ≤ n. Geh¨oren i und j zum selben Zykel von π, dann ist (ij)π = (ij)(ia . . . bj . . . c) . . . = (ia . . . b)(j . . . c) . . . Liegen i und j in verschiedenen Zykeln von π, so gilt (ij)π = (ij)(ia . . . b)(j . . . c) . . . = (ia . . . bj . . . c) . . . Die Permutation (ij)π hat im ersten Fall k + 1 Zykeln und im zweiten Fall k − 1 Zykeln. Nach Satz 6.15 ist π darstellbar als Produkt von Transpositionen τr . . . τ1 . Die Transposition τ1 besteht aus 1+(n−2) = n−1 Zykeln, einer Transposition und n − 2 Fixpunkten. Durch sukzessives Komponieren von τ1 mit τ2 , . . . , τr ergibt sich π. Wie oben gezeigt, erh¨oht oder erniedrigt sich in jedem Schritt die Anzahl der Zykeln um Eins. Bei insgesamt l Vergr¨oßerungen und m Verkleinerungen besteht π aus k = (n − 1) + l − m Zykeln. Wegen l + m = r − 1 folgt r = l + m + 1 = l + (n − 1 + l − k) + 1 = n + 2l − k. Ist π als Produkt von s Transpositionen darstellbar, dann ergibt sich bei insgesamt l′ Vergr¨ oßerungen s = n + 2l′ − k. Folglich ist r − s = 2(l − l′ ). Also ist die Zahl r − s gerade und die Behauptung beweisen.
⊓ ⊔
Gerade und ungerade Permutationen Eine Permutation π vom Grad n heißt gerade, wenn π darstellbar ist als ein Produkt einer geraden Anzahl von Transpositionen. Das Signum von π ist definiert durch +1 falls π gerade, sgn(π) = (6.16) −1 sonst.
6.4 Permutationen
65
Die identische Abbildung hat das Signum sgn(id) = (−1)0 = 1.
(6.17)
Sei π eine als Produkt von r Transpositionen darstellbare Permutation vom Grad n. F¨ ur das Signum von π gilt dann sgn(π) = (−1)r .
(6.18)
Ist ρ eine als Produkt von s Transpositionen darstellbare Permutation vom Grad n, dann ist πρ ein Produkt von r + s Transpositionen und hat somit das Signum sgn(πρ) = (−1)r+s = (−1)r (−1)s = sgn(π)sgn(ρ).
(6.19)
1 = sgn(id) = sgn(π −1 π) = sgn(π −1 )sgn(π).
(6.20)
Daraus folgt
Also hat die inverse Permutation von π das Signum sgn(π −1 ) = sgn(π).
(6.21)
F¨ ur die zu π konjugierte Permutation ρ−1 πρ gilt also sgn(ρ−1 πρ) = sgn(ρ−1 )sgn(π)sgn(ρ) = sgn(π).
(6.22)
Determinanten Die Determinante einer reellwertigen n × n-Matrix A = (aij ) ist definiert durch X det A = sgn(π)a1,π(1) · · · an,π(n) , (6.23) π
wobei die Summe u ¨ber alle Permutationen π vom Grad n l¨auft. Beispiel 6.17. Die Determinante einer reellwertigen 3 × 3-Matrix A = (aij ) lautet det A = +a11 a22 a33
(π = id)
−a12 a21 a33 −a13 a22 a31
(π = (12)(3)) (π = (13)(2))
−a11 a23 a32 +a12 a23 a31
(π = (1)(23)) (π = (123))
+a13 a21 a32
(π = (132)).
66
6 Abbildungen
Der Lehmer-Code Die Permutationen vom Grad n sind anhand des so genannten Lehmer-Codes leicht computergest¨ utzt konstruierbar. Der Lehmer-Code einer Permutation π vom Grad n ist L(π) = (l1 (π) . . . ln (π)),
(6.24)
li (π) = |{j ∈ n | j > i ∧ π(j) < π(i)}|.
(6.25)
wobei f¨ ur alle i ∈ n gilt Beispiele 6.18. • Der Lehmer-Code der Permutation π = (1345)(2)(67) ist L(π) = (2, 1, 1, 1, 0, 1, 0). • F¨ ur die in 6.14 dargestellten Permutationen vom Grad 3 gilt L(id) = (0, 0, 0), L(σ1 ) = (0, 1, 0), L(σ2 ) = (2, 0, 0), L(σ3 ) = (1, 0, 0), L(δ1 ) = (1, 1, 0) und L(δ2 ) = (2, 1, 0). Satz 6.19. Sei Sn die Menge aller Permutationen vom Grad n und sei Λn = {(x1 , . . . , xn ) | ∀i ∈ n[xi ∈ N0 ∧ 0 ≤ xi ≤ n − i]}. Die Abbildung Sn → Λn : π 7→ L(π) ist bijektiv. Beweis. Der Lehmer-Code von π ∈ Sn liegt in Λn , weil f¨ ur die i-te Komponente von L(π) stets li (π) ≤ n − i gilt. Die Abbildung ist injektiv, weil jedes π aus seinem Lehmer-Code L(π) rekonstruierbar ist: π(1) ist das (l1 (π) + 1)-te Element von n, π(2) ist das (l2 (π) + 1)-te Element von n \ {π(1)}, usw. Da Λn ebenso wie Sn die M¨ achtigkeit n! besitzt (Korollar 10.14), ist diese Abbildung nach Satz 6.8 sogar bijektiv. ⊓ ⊔
6.5 Analyse von Algorithmen Der Aufwand von Computerprogrammen kann mithilfe von Folgen abgesch¨atzt werden. Laufzeit von Algorithmen Die Rechenzeit eines Computerprogramms ist in Millisekunden messbar. Diese Gr¨ oße ist aber abh¨ angig von vielen Parametern wie dem verwendeten Rechner, Compiler, Betriebssystem, Programmiertricks, usw. Außerdem ist die Rechenzeit nur f¨ ur Programme messbar, nicht aber f¨ ur Algorithmen. Deshalb wird die Rechenzeit eines Programms auf folgende Art gemessen: • •
F¨ ur die gegebene Eingabe werden die durchgef¨ uhrten Elementaroperationen gez¨ ahlt. Die Rechenzeit wird durch eine Funktion angegeben, die die Anzahl der durchgef¨ uhrten Elementaroperationen in Abh¨angigkeit von der “Komplexit¨ at” der Eingabe darstellt.
6.5 Analyse von Algorithmen
67
Die Elementaroperationen sind Zuweisungen (x := 3), Vergleiche (x < y), arithmetische Operationen (x + y) und Arrayzugriffe (a[i]). Nichtelementare Operationen sind Schleifen, bedingte Anweisungen und Prozeduraufrufe. Beispiel 6.20. Das Sortierverfahren BubbleSort beruht auf der Idee, zwei benachbarte Elemente einer Liste zu vertauschen, wenn sie nicht richtig gereiht sind (Alg. 6.1). BubbleSort besteht aus einer zweifach geschachtelten Algorithmus 6.1 BubbleSort(L) Eingabe: n-elementige Liste L ganzer Zahlen Ausgabe: Liste L aufsteigend sortiert 1: for i = 2 to n do 2: for j = n downto i do 3: if L[j − 1] > L[j] then 4: h := L[j] 5: L[j] := L[j − 1] 6: L[j − 1] := h 7: end if 8: end for 9: end for
Laufschleife, deren Rumpf f¨ ur folgende Paare (i, j) ausgef¨ uhrt wird (2, n), (2, n − 1), . . . , (2, 2), (3, n), . . . , (3, 3), . . . , (n, n). Dies sind insgesamt n(n − 1)/2 Paare. Der Rumpf besteht aus insgesamt vier Elementaroperationen, einem Vergleich und drei Zuweisungen. Wir nehmen an, dass jede Elementaranweisung die Rechenzeit t erfordert. Dann hat der Algorithmus die Rechenzeit 4tn(n − 1)/2. Landau-Notation In der Praxis ist nur das Wachstum einer Rechenzeitfunktion von Interesse. Seien f = (f (n)) und g = (g(n)) unendliche Folgen mit positiven reellen Werten. Der Ausdruck f = O(g) besagt, dass f durch g nach oben asymptotisch beschr¨ ankt ist, d. h., f = O(g) :⇐⇒ ∃ n0 ∈ N ∃ c ∈ R+ ∀ n[n ≥ n0 ⇒ f (n) ≤ c · g(n)]. (6.26) Das Landau-Symbol O wird nach E. Landau (1877-1938) “groß O” gesprochen. Die Schreibweise f = O(g) hat sich f¨ ur die pr¨azisere Notation f ∈ O(g) eingeb¨ urgert, wobei O(g) f¨ ur die Menge aller Folgen f mit f = O(g) steht.
68
6 Abbildungen
Beispiele 6.21. • f (n) = 3 = O(1), da 3 ≤ 3 · 1. • f (n) = n + 4 = O(n), da n + 4 ≤ 2n f¨ ur alle n ≥ 4. • f (n) = 4n + 6 = O(n), da 4n + 6 ≤ 5n f¨ ur alle n ≥ 6. • f (n) = n(n − 1)/2 = O(n2 ), da n(n − 1)/2 ≤ n2 f¨ ur alle n ≥ 1. • f (n) = 2n2 + 4n + 6 = O(n2 ), da 2n2 + 4n + 6 ≤ 3n2 f¨ ur alle n ≥ 6. Mit der O-Notation werden Abbildungen vergr¨obernd betrachtet, indem Konstanten eliminiert und obere Schranken gebildet werden. Rechenzeitfunktionen werden verm¨ oge der O-Notation in Klassen eingeteilt (Tab. 6.1). Tabelle 6.1. Einteilung von Laufzeitfunktionen. O(1) O(log n) O(n) O(n log n) O(n2 ) O(nk ), k ≥ 2 O(2n )
Sprechweise konstant logarithmisch linear log-linear quadratisch polynomial exponentiell
Typische Algorithmen Elementaroperationen Suchen in einer Menge Bearbeiten jedes Elements einer Menge gute Sortierverfahren, schnelle Fouriertransformation primitive Sortierverfahren Netzwerkalgorithmen Backtracking
Beispiel 6.22. Wir nehmen an, dass alle Elementaroperationen die Rechenzeit O(1) haben. BubbleSort besitzt dann die Rechenzeit O(n2 ), weil der Schleifenrumpf die Rechenzeit O(1) hat und die zweifach geschachtelte Schleife n(n − 1)/2 mal durchlaufen wird. Der Ausdruck f = o(g) besagt, dass f gegen¨ uber g asymptotisch vernachl¨ assigbar ist, d. h., f = o(g) :⇐⇒ ∀ c > 0 ∃ n0 ∀ n[n ≥ n0 ⇒ |f (n)| < c · |g(n)|].
(6.27)
¨ Das Landau-Symbol o wird “klein o” gesprochen. Ahnlich wie O(g) repr¨asentiert o(g) die Menge aller Folgen f mit f = o(g). Beispiel 6.23. Es gilt n1 = o √1n , n2 = o(en ) und log n = o(n).
6.5 Analyse von Algorithmen
69
Selbsttestaufgaben 6.1. Welche der folgenden Relationen auf A = {a, b, c, d} sind Abbildungen? • • • •
{(a, d), (c, d), (d, a), (c, d), (b, a)}. {(d, b), (a, b), (c, a), (d, d)}. {(d, b), (c, b), (b, b), (a, b)}. {(d, a), (c, d), (a, b), (b, a), (a, a)}.
6.2. Berechne die Kompositionen f g und gf der reellwertigen Abbildungen f (x) = 3x − 1 und g(x) = x2 + 2. 6.3. Das Diagramm in Abb. 6.5 sei kommutativ. Stelle die Abbildung h1 ◦ h2 auf so viele Arten wie m¨ oglich dar. h1
* g1 f1 ? k B A
h2
-E * g2 f2 ?
C
D
Abb. 6.5. Abbildungsdiagramm.
6.4. Welche der folgenden reellwertigen Abbildungen sind injektiv, surjektiv oder bijektiv? • • •
f (x) = 2x . g(x) = x3 . h(x) = x3 − x.
6.5. Beweise den Satz 6.4. 6.6. Sei f : A → B eine surjektive Abbildung. Zeige, dass das Mengensystem A = {f −1 ({b}) | b ∈ B} der Urbildmengen f −1 ({b}) = {a | a ∈ A ∧ f (a) = b} eine Partition von A ist. 6.7. (Abbildungssatz) Sei f : A → B eine surjektive Abbildung mit A = {f −1 ({b}) | b ∈ B}. Zeige, dass die Abbildung g : A → B : a 7→ f (a) eine Bijektion ist. 6.8. Invertiere die Permutation
123456789 246813579
.
6.9. Seien π = (1357)(246)(89) und ρ = (1248)(35)(6)(79) Permutationen von Grad 9. Berechne ρπρ−1 .
70
6 Abbildungen
6.10. Zeige, dass f¨ ur jedes Polynom p(n) = am nm + am−1 nm−1 + . . . + a1 n + a0 mit reellwertigen Koeffizienten gilt p(n) = O(nm ). 6.11. (Bin¨ are Suche) Sei L = (l1 , . . . , lm ), m = 2n − 1, mit Eintr¨ agen l1 < . . . < lm . Um zu bestimmen, ob ein Element a in der Liste vorkommt, wird wie folgt vorgegangen: a wird zuerst mit l2n−1 verglichen. Falls a = l2n−1 , so wird die Suche mit true beendet. Im Falle a < l2n−1 bzw. a > l2n−1 wird a mit l2n−2 bzw. l2n−1 +2n−2 verglichen, usw. Bestimme die Laufzeit dieses Algorithmus.
7 Die natu ¨ rlichen Zahlen
In diesem Kapitel wird das Beweisprinzip der vollst¨andigen Induktion eingef¨ uhrt. Damit lassen sich Aussagen beweisen, die f¨ ur alle nat¨ urlichen Zahlen gelten. Dieses Beweisprinzip wird auf fundierte Mengen verallgemeinert, wodurch sich Eigenschaften von Datenstrukturen und Programmen verifizieren lassen.
7.1 Vollst¨ andige Induktion Die Aussage ”Die Summe der ersten n ungeraden nat¨ urlichen Zahlen ist gleich n2 ” ist formal gegeben durch ein Pr¨adikat P (n) in der freien Variable n n−1 X
(2i + 1) = n2 .
(7.1)
i=0
Wir zeigen, dass P (n) f¨ ur alle nat¨ urlichen Zahlen n gilt ∀n[n ∈ N0 ⇒ P (n)].
(7.2)
Als Fahrplan f¨ ur den Beweis wird zuerst gezeigt, dass P (0) wahr ist. Dann wird f¨ ur alle nat¨ urlichen Zahlen n ≥ 0 bewiesen, dass P (n+1) wahr ist, sofern P (0), . . . , P (n) wahr sind ∀n[n ∈ N0 ⇒ (P (0) ∧ . . . ∧ P (n) ⇒ P (n + 1))].
(7.3)
Wenn die Aussagen P (0) und (7.3) wahr sind, wird gefolgert, dass P (n) wahr ist f¨ ur jede nat¨ urliche Zahl n. Denn P (n) kann f¨ ur jede beliebige nat¨ urliche Zahl n bewiesen werden, indem der Reihe nach P (0), . . . , P (n − 1) gezeigt werden: •
Sind P (0) und P (0) ⇒ P (1) wahr, dann ist verm¨oge Modus Ponens auch P (1) wahr.
72
•
7 Die nat¨ urlichen Zahlen
Sind P (0), P (1) und P (0) ∧ P (1) ⇒ P (2) wahr, dann ist vermittels Modus Ponens auch P (2) wahr usw.
Diese Beweistechnik heißt vollst¨andige Induktion ¨ uber den nat¨ urlichen Zahlen P (0) ∧ ∀n ∈ N0 [P (0) ∧ . . . ∧ P (n) ⇒ P (n + 1)] ⇒ ∀n ∈ N0 [P (n)]. (7.4) Die Aussage P (0) heißt Induktionsanfang und die Aussage ∀n ∈ N0 [P (0) ∧ . . . ∧ P (n) ⇒ P (n + 1)]
(7.5)
Induktionsschluss. Die Pr¨ amisse P (0)∧. . .∧P (n) des Induktionsschlusses wird Induktionsannahme genannt. Beispiel 7.1. Wir beweisen (7.1) f¨ ur alle nat¨ urlichen Zahlen. •
Induktionsanfang: −1 X
(2i + 1) = 0 = 02 ,
i=0
•
denn eine leere Summe ist stets 0. Induktionsschluss: Sei n eine nat¨ urliche Zahl. Es wird P (n+1) gezeigt und hierbei angenommen, dass P (0), . . . , P (n) wahr sind ! n−1 n X X (2i + 1) + 2n + 1 = n2 + 2n + 1 = (n + 1)2 . (2i + 1) = i=0
i=0
Dabei fließt in die zweite Gleichung die Induktionsannahme ein.
7.2 Arithmetik Peanosches Axiomensystem Die Menge der nat¨ urlichen Zahlen N0 wurde von Guiseppe Peano (1858-1932) axiomatisch begr¨ undet. Die Menge N0 ist wie folgt definiert: P1 Die Zahl 0 (Null) ist eine nat¨ urliche Zahl: 0 ∈ N0 . P2 Es gibt eine Abbildung S : N0 → N0 , die jeder nat¨ urlichen Zahl n einen Nachfolger S(n) ∈ N0 zuordnet. P3 Die Null ist nicht Nachfolger einer nat¨ urlichen Zahl. P4 Verschiedene nat¨ urliche Zahlen haben verschiedene Nachfolger, d.h., S ist injektiv. P5 Wenn eine Teilmenge N von N0 die Null und die Nachfolger all ihrer Elemente enth¨ alt, dann ist N = N0 , d. h., N ⊆ N0 ∧ 0 ∈ N ∧ ∀n[n ∈ N ⇒ S(n) ∈ N ] ⇒ N = N0 .
(7.6)
Diese f¨ unf Bedingungen sind notwendig, um die Menge der nat¨ urlichen Zahlen bis auf Umbenennung der Elemente (Bijektion) eindeutig festzulegen. Die letzte Bedingung wird Induktionsaxiom genannt.
7.2 Arithmetik
73
Darstellung der nat¨ urlichen Zahlen Satz 7.2. Es gilt N0 = {0, S(0), S(S(0)), S(S(S(0))), . . .}. Beweis. Wir setzen N = {0, S(0), S(S(0)), S(S(S(0))), . . .}. Die Null liegt in N und mit jedem n ∈ N0 geh¨ort per definitionem auch S(n) zu N . Also folgt mit dem Induktionsaxiom N = N0 . ⊓ ⊔ Die Nachfolger von Null werden wie u ¨ blich benannt 1 := S(0),
2 := S(S(0)),
3 := S(S(S(0))), . . .
(7.7)
Addition und Multiplikation Auf der Menge der nat¨ urlichen Zahlen werden Addition und Multiplikation definiert: •
F¨ ur jede nat¨ urliche Zahl m sei m + 0 := m
•
und m · 0 := 0.
(7.8)
F¨ ur alle nat¨ urlichen Zahlen m und n sei m + S(n) := S(m + n)
und m · S(n) := (m · n) + m.
(7.9)
Das Produkt m · n wird k¨ urzer mn geschrieben. Die Definition der Addition und Multiplikation besteht jeweils aus zwei Teilen. Im ersten Teil wird die Operation direkt f¨ ur ein Argument festgelegt, w¨ ahrend im zweiten Teil die Operation f¨ ur alle u ¨ brigen Argumente rekursiv definiert wird. Solche Definitionen ¨ahneln der vollst¨andigen Induktion und werden deshalb induktiv genannt. F¨ ur den Nachfolger einer nat¨ urlichen Zahl n gilt S(n) = n + 1, denn f¨ ur jedes n gilt n + 1 = n + S(0) = S(n + 0) = S(n).
(7.10)
Beispiel 7.3. Es gilt 2 + 1 = 2 + S(0) = S(2 + 0) = S(2) = 3. Damit folgt 2 + 2 = 2 + S(1) = S(2 + 1) = S(3) = 4. Satz 7.4. Die Summe und das Produkt zweier nat¨ urlicher Zahlen sind nat¨ urliche Zahlen. Beweis. Die Aussage ∀m∀n[m ∈ N0 ∧ n ∈ N0 ⇒ m + n ∈ N0 ]
(7.11)
74
7 Die nat¨ urlichen Zahlen
ist gleichwertig zur Aussage ∀n[n ∈ N0 ⇒ P (n)], wobei P (n) das folgende Pr¨ adikat bezeichnet ∀m[m ∈ N0 ⇒ m + n ∈ N0 ].
(7.12)
Letztere Aussage wird durch vollst¨andige Induktion gezeigt: Induktionsanfang P (0): F¨ ur beliebiges m ∈ N0 gilt m + 0 = m ∈ N0 . Induktionsschluss P (n + 1): F¨ ur beliebiges m ∈ N0 gilt m + (n + 1) = m + S(n) = S(m + n) ∈ N0 , wobei im letzten Schritt die Aussage P (n) benutzt wurde. ⊓ ⊔ Satz 7.5. F¨ ur alle nat¨ urlichen Zahlen l, m und n gelten folgende Rechenregeln: •
Kommutativgesetz: m+n = n+m m·n = n·m
•
Assoziativgesetz: l + (m + n) = (l + m) + n l · (m · n) = (l · m) · n
•
Distributivgesetz: l · (m + n) = l · m + l · n
(l + m) · n = l · n + m · n
•
K¨ urzungsregeln: l+m=l+n ⇒ m=n
l · m = l · n ⇒ m = n,
falls l 6= 0.
Induktiv definierte Folgen Die Fibonacci-Folge, benannt nach ihrem Entdecker, Leonardo von Pisa (1170+), ist die bekannteste, induktiv definierte Folge (Fn ). Sie wird festgelegt durch • •
F0 = 0 und F1 = 1, Fn = Fn−1 + Fn−2 f¨ ur alle nat¨ urlichen Zahlen n ≥ 2.
Die ersten Glieder der Folge sind 0, 1, 1, 2, 3, 5, 8, 13, 21. Beispiel 7.6. Die Fibonacci-Zahlen sind eng verkn¨ upft mit dem goldenen Schnitt √ φ = (1 + 5)/2 = 1.6180339887 . . . (7.13)
7.2 Arithmetik
75
F¨ ur den goldenen Schnitt gilt bekanntermaßen φ2 = φ + 1.
(7.14)
F¨ ur alle nat¨ urlichen Zahlen n ≥ 1 gilt Fn ≤ φn−1 .
(7.15)
Beweis. Das Pr¨ adikat (7.15) sei mit P (n) bezeichnet. Induktionsanfang P (1) und P (2): Es gilt F1 = 1 = φ0 und F2 = 1 ≤ φ1 . Induktionsschluss P (n + 1): F¨ ur n ≥ 2 gilt Fn+1 = Fn +Fn−1 ≤ φn−1 +φn−2 = φn−2 (φ+1) = φn , wobei in der ersten Ungleichung die Induktionsannahme und in der letzten Gleichung die Beziehung (7.14) benutzt wurden. ⊓ ⊔ Die Potenzen einer Relation Sei R eine Relation auf einer Menge A. Die Potenzen von R werden induktiv definiert: • •
R0 = IA , Rn+1 = Rn ◦ R f¨ ur alle nat¨ urlichen Zahlen n ≥ 0.
Die Relation Rn wird n-te Potenz von R genannt. Nach Satz 4.7 gilt R1 = IA ◦ R = R.
(7.16)
Satz 7.7. Sei R eine Relation auf A und n eine nat¨ urliche Zahl. Die n-te Potenz von R beschreibt die Menge aller gerichteten Wege der L¨ange n in D = (A, R). Beweis. Die Aussage wird durch vollst¨andige Induktion u ¨ ber die Wegl¨ange gezeigt. Die Wege der L¨ ange 1 entsprechen den Kanten in D, also R1 = R. Sei (a, b) ∈ Rn+1 . Dann gibt es nach Definition ein c ∈ A mit aRn c und cRb. Nach Induktionsannahme gibt es einen gerichteten Weg der L¨ange n von a nach c und einen gerichteten Weg der L¨ange 1 von c nach b. Mithin gibt es einen gericheteten Weg in D der L¨ange n + 1 von a nach b. Dieser Schluss ist umkehrbar, woraus die Behauptung folgt. ⊓ ⊔ Beispiel 7.8. Die Relation R = {(a, b), (b, c), (c, d), (d, b)} auf A = {a, b, c, d} wird durch den Digraphen in Abb. 7.1 illustriert. F¨ ur die Potenzen von R gilt R1 = {(a, b), (b, c), (c, d), (d, b)}
R2 = {(a, c), (b, d), (c, b), (d, c)} R3 = {(a, d), (b, b), (c, c), (d, d)}
R4 = {(a, b), (b, c), (c, d), (d, b)}.
Die gerichteten Wege der L¨ange 3i + j werden wegen R4 = R durch gerichtete Wege der L¨ ange j beschrieben, wobei i ≥ 0 und 1 ≤ j ≤ 3.
76
7 Die nat¨ urlichen Zahlen a
r
b
c
-r -r 6 r d
Abb. 7.1. Ein Digraph.
7.3 Induktion und fundierte Mengen Das Beweisprinzip der vollst¨andigen Induktion erweist sich als Spezialfall der Induktion auf fundierten Mengen. Fundierte Mengen Sei A eine nichtleere Menge und eine Relation auf A. Ein Paar (A, ) heißt fundiert, wenn jede nichtleere Teilmenge von A ein minimales Element bzgl. enth¨ alt. Beispiele 7.9. Die halbgeordnete Menge (N0 , ≤) ist fundiert, weil N0 wohlgeordnet ist (Selbsttestaufgabe 7.5.). Sei A die Menge aller Aussageformen. F¨ ur beliebige Aussageformen P und Q soll P Q bedeuten, dass P ein Teilausdruck von Q ist. Beispielsweise enth¨ alt die Aussageform (P ⇒ Q) die Teilausdr¨ ucke P ⇒ Q, P und Q. Da jede Aussageform mindestens eine Aussage oder Aussagenvariable enth¨alt, ist die Menge aller Aussageformen fundiert. Induktion u ¨ber fundierten Mengen Das Beweisprinzip der Induktion ¨ uber einer fundierten Menge (A, ≺) lautet ∀a[a ∈ A ⇒ [∀b[b ∈ A ⇒ (b ≺ a ⇒ P (b))] ⇒ P (a)]].
(7.17)
Im Beweis der Aussage P (a) wird angenommen, dass die Aussage P (b) f¨ ur alle b ≺ a gilt. Dies ist die Induktionsannahme ∀b[b ∈ A ⇒ (b ≺ a ⇒ P (b))].
(7.18)
F¨ ur die fundierte Menge (N0 , ≤) wird die Aussage (7.17) zur Aussage (7.3). Denn f¨ ur a = 0 wird (7.17) zu P (0) und die Induktionsannahme (7.3) deckt sich mit (7.18). Mithin verallgemeinert das Beweisprinzip der fundierten Induktion das der vollst¨ andigen Induktion.
7.4 Schleifenprogrammierung
77
Induktiv definierte Ausdr¨ ucke Sei A die Menge aller wie folgt induktiv definierten Ausdr¨ ucke: • • •
Jede Ziffer 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ist ein Ausdruck. Sind E und F Ausdr¨ ucke, dann ist E + F ein Ausdruck. Ist E ein Ausdruck, dann ist (E) ein Ausdruck.
F¨ ur beliebige Ausdr¨ ucke E und F besage E F , dass E ein Teilausdruck von F ist. Beispielsweise hat der Ausdruck (1 + 2) die Teilausdr¨ ucke (1 + 2), 1 + 2, 1 und 2. Nach 7.9 ist das Paar (A, ) fundiert. Satz 7.10. Jeder Ausdruck in A enth¨alt die gleiche Anzahl ¨offnender und schließender Klammern. Beweis. F¨ ur jeden Ausdruck E bezeichne l(E) bzw. r(E) die Anzahl der ¨offnenden bzw. schließenden Klammern in E. Wir beweisen, dass l(E) = r(E) f¨ ur jeden Ausdruck E in A gilt. F¨ ur jede Ziffer d gilt l(d) = 0 = r(d). Seien E und F Ausdr¨ ucke. F¨ ur den Ausdruck E + F gilt l(E + F ) = l(E) + l(F ) = r(E) + r(F ) = r(E + F ), wobei in der mittleren Gleichung die Induktionsannahme verwendet wurde. F¨ ur den Ausdruck (E) ergibt sich l((E)) = l(E) + 1 = r(E) + 1 = r((E)), wobei in der mittleren Gleichung die Induktionsannahme benutzt wurde.
⊓ ⊔
7.4 Schleifenprogrammierung Die meisten Programmierfehler treten in while-Schleifen auf. Solche Schleifen lassen sich mithilfe der induktiven Methode korrekt programmieren. Eine while-Schleife hat die Form while B S od
do (7.19)
Dabei ist B ein boolescher Ausdruck, d. h. ein Pr¨adikat in den Programmvariablen, und S eine Folge von Anweisungen. In einer while-Schleife wird zuerst der Ausdruck B ausgewertet. Ist der Ausdruck falsch, dann terminiert die Schleife. Andernfalls wird der Rumpf S ausgef¨ uhrt und der Prozess wiederholt. Jedes Durchlaufen des Rumpfs wird Iteration genannt. Die Semantik einer while-Schleife wird durch ein Hoare-Tripel spezifiziert. Um die G¨ ultigkeit eines solchen Hoare-Tripels zu beweisen, wird eine Schleifeninvariante benutzt. Dies ist ein Pr¨ adikat P , das vor und nach jeder Iteration eine wahre Aussage liefert. Dieses so erweitere Hoare-Tripel ist g¨ ultig, wenn folgende Aussagen gelten:
78
•
7 Die nat¨ urlichen Zahlen
Das Pr¨ adikat P ist vor Eintritt in die Schleife wahr, d. h., es gilt das Hoare-Tripel {Q} Initialisierungen {P }.
•
Das Pr¨ adikat P ist eine Schleifeninvariante, d. h., es gilt das Hoare-Tripel {P ∧ B} S
• •
(7.20)
{P }.
(7.21)
Die Schleife terminiert. Sobald die Schleife beendet ist, gilt die Nachbedingung R, also P ∧ ¬B ⇒ R.
(7.22)
Algorithmus 7.1 Division mit Rest Eingabe: nat¨ urliche Zahlen a und b > 0 Ausgabe: nat¨ urliche Zahlen q und r mit a = qb + r und 0 ≤ r < b 1: q := 0 {Vorbedingung Q: {a ≥ 0 ∧ b > 0}} 2: r := a 3: while r ≥ b do 4: q := q + 1 {Invariante P : {a = qb + r ∧ r ≥ 0}} 5: r := r − b 6: end while 7: return (q, r) {Nachbedingung R: {a = qb + r ∧ 0 ≤ r < b}}
Satz 7.11. Das Hoare-Tripel in Algorithmus 7.1 ist g¨ ultig. Beweis. • F¨ ur das Hoare-Tripel {Q} q, r := 0, a {P } ergibt sich als schw¨achste Vorbedingung P [q, r := 0, a] = (a = 0 · b + a ∧ a ≥ 0). F¨ ur die Vorbedingung Q ergibt sich Q ⇒ P [q, r := 0, a]. •
Also ist das Hoare-Tripel {Q} q, r := 0, a {P } g¨ ultig. Die schw¨ achste Vorbedingung des Hoare-Tripels {P ∧ B} S {P } lautet P [q, r := q + 1, r − b] = (a = (q + 1)b + (r − b) ∧ r − b ≥ 0) = (a = qb + r ∧ r ≥ b).
F¨ ur die Vorbedingung P ∧ B gilt aber P ∧ B ⇒ P [q, r := q + 1, r − b]. Somit ist das Hoare-Tripel {P ∧ B} S {P } g¨ ultig.
7.4 Schleifenprogrammierung
• •
79
In jeder Iteration wird r um b > 0 dekrementiert, so dass nach endlich vielen Iterationen r < b erreicht wird. Folglich terminiert die Schleife. Es gilt P ∧ ¬B = (a = qb + r ∧ r ≥ 0 ∧ b < r). Diese Aussage ist ¨ aquivalent zur Nachbedingung R.
⊓ ⊔
Selbsttestaufgaben 7.1. Wie l¨ asst sich vollst¨ andige Induktion f¨ ur eine Teilmenge {n0 , n0 + 1, . . .} von N0 durchf¨uhren? 7.2. Beweise durch vollst¨ andige Induktion, dass f¨ ur alle nat¨ urlichen Zahlen n ≥ 1 gilt 12 + 22 + . . . + n2 =
n(n + 1)(n + 2) . 6
7.3. Sei A eine Menge. Eine Relation auf A heißt wohlgeordnet, wenn jede nichtleere Teilmenge von A ein kleinstes Element besitzt. Zeige, dass jede wohlgeordnete Relation total geordnet ist. 7.4. Beweise, dass die Relation ≤ auf N0 wohlgeordnet ist. 7.5. Zeige, dass die Relation ≤ auf N0 fundiert ist. 7.6. Die Folge (n!) wird induktiv definiert durch 0! = 1 und (n + 1)! Qn= (n + 1)n! f¨ur alle n ≥ 0. Zeige, dass f¨ ur alle nat¨ urlichen Zahlen n ≥ 0 gilt n! = i=1 i. 7.7. Beweise, dass f¨ ur alle nat¨ urlichen Zahlen n ≥ 3 gilt n! > 2n−1 .
7.8. Sei D = (V, E) ein Digraph und seien u, v ∈ V . Zeige, dass es zu jedem gerichteten Weg in D von u nach v einen einfachen gerichteten Weg von u nach v gibt. 7.9. Sei M eine Multimenge u ¨ber der Menge der positiven reellen Zahlen. Auf M wird folgende Operation erkl¨ art: Entferne zuf¨ allig zwei Zahlen x und y und f¨ uge deren Mittelwert (x + y)/2 zweifach wieder ein. Dieses Spiel terminiert, wenn alle Zahlen der Multimenge gleich sind. Terminiert dieses Spiel immer?
80
7 Die nat¨ urlichen Zahlen
8 Unendliche Mengen
Es gibt unendliche Mengen, deren Elemente in Form eines Tabelle aufgelistet werden k¨ onnen, und es gibt unendliche Mengen, f¨ ur die dies nicht gilt. Zu ersteren Mengen geh¨ oren die nat¨ urlichen, ganzen und rationalen Zahlen, zu letzteren die reellen Zahlen. Grundlegend f¨ ur die Unterscheidung zwischen diesen Mengenarten waren die Arbeiten von Cantor. Dass die Menge der reellen Zahlen nicht tabellarisch aufgelistet werden kann, wirkt sich auf die Berechenbarkeit von reellen Zahlen aus.
8.1 Endliche und unendliche Mengen Eine Menge A heißt endlich, wenn es eine nat¨ urliche Zahl n gibt, so dass die Abbildung f : n → A bijektiv ist. Die Zahl n wird dann als M¨achtigkeit von A bezeichnet. Gibt es keine derartige Bijektion, dann heißt A unendlich. Satz 8.1. Die Menge der nat¨ urlichen Zahlen N0 ist unendlich. Beweis. Sei n eine nat¨ urliche Zahl, so dass die Abbildung f : n → N0 injektiv ist. Dann hat der Wertebereich von f die M¨achtigkeit n, weshalb f nicht surjektiv sein kann. ⊓ ⊔ Die M¨ achtigkeit von N0 wird mit ℵ0 , sprich ”Aleph Null”, bezeichnet. Satz 8.2. Zu jeder unendlichen Menge A gibt es eine injektive Abbildung f : N0 → A. Beweis. Wir definieren eine Abbildung f : N0 → A induktiv: • •
W¨ ahle ein beliebiges Element a0 ∈ A und setze f (0) = a0 . Seien die Elemente a0 , . . . , an−1 ∈ A schon gew¨ahlt, also f (i) = ai f¨ ur 0 ≤ i ≤ n − 1. W¨ ahle ein noch nicht ausgew¨ahltes Element an ∈ A und setze f (n) = an .
82
8 Unendliche Mengen
Die so definierte Abbildung f ist injektiv, weil jedes Element in A h¨ochstens einmal zugeordnet wird. ⊓ ⊔ Satz 8.3. Eine Menge A ist unendlich genau dann, wenn es eine injektive Abbildung gibt, die N0 auf eine echte Teilmenge von A abbildet. Beweis. Sei A eine unendliche Menge. Nach Satz 8.2 gibt es eine injektive Abbildung f : N0 → A. Ist f nicht surjektiv, dann ist alles bewiesen. Andernfalls definieren wir eine Abbildung g : A → A \ {f (0)} durch g(f (n)) = f (n + 1) f¨ ur alle n ∈ N0 . Wir zeigen, dass g injektiv ist. Seien a, b ∈ A mit g(a) = g(b). Da f surjektiv ist, existieren m, n ∈ N0 mit f (m) = a und f (n) = b. Folglich gilt f (m + 1) = g(f (m)) = g(a) = g(b) = g(f (n)) = f (n + 1). Weil f injektiv ist, folgt m = n und somit a = b. Also ist g injektiv. Die gesuchte Abbildung, gf : N0 → A, ist nach Satz 6.6 injektiv, aber wegen f (0) 6∈ ran(gf ) nicht surjektiv. Die umgekehrte Aussage ist klar. ⊓ ⊔ Zwei Mengen A und B heißen gleichm¨achtig, kurz |A| = |B|, wenn es eine bijektive Abbildung f : A → B gibt. Die Gleichm¨achtigkeit von Mengen ist ¨ eine Aquivalenz auf der Klasse aller Mengen.
8.2 Abz¨ ahlbare und u ahlbare Mengen ¨berabz¨ Eine Menge A heißt abz¨ahlbar, wenn A gleichm¨achtig ist zur Menge der nat¨ urlichen Zahlen. Eine Menge A heißt ¨ uberabz¨ahlbar, wenn A weder endlich noch abz¨ ahbar ist. Abz¨ ahlbare Mengen Satz 8.4. Die Menge N0 ist abz¨ahlbar. Beweis. Die identische Abbildung idN0 ist bijektiv.
⊓ ⊔
Satz 8.5. Die Menge N ist abz¨ahlbar. Beweis. Die Nachfolgerabbildung S : N0 → N : n 7→ n + 1 ist bijektiv. Satz 8.6. Die Menge der ganzen Zahlen ist abz¨ahlbar. Beweis. Eine bijektive Abbildung f : N0 → Z wird definiert durch −n/2 falls n gerade, f (n) = (n + 1)/2 sonst.
⊓ ⊔
8.2 Abz¨ ahlbare und u ahlbare Mengen ¨ berabz¨
83
Einige Werte dieser Abbildung zeigt die folgende Tabelle n 0 1 2 3 4 5 ... f (n) 0 1 −1 2 −2 3 . . . ⊓ ⊔ Satz 8.7. Die Menge der rationalen Zahlen ist abz¨ahlbar. Beweis. Wir verwenden die erste Diagonalmethode von Cantor. Hierzu werden alle Br¨ uche p/q, p ∈ Z und q ∈ N, in einem 2-dimensionalen Schema angeordnet 0/1 1/1 −1/1 2/1 −2/1 3/1 −3/1 . . . 0/2 1/2 −1/2 2/2 −2/2 3/2 −3/2 . . . 0/3 1/3 −1/3 2/3 −2/3 3/3 −3/3 . . . 0/4 1/4 −1/4 2/4 −2/4 3/4 −3/4 . . . 0/5 1/5 −1/5 2/5 −2/5 3/5 −3/5 . . . ... Die Br¨ uche werden mit dem Bruch 0/1 beginnend im Zickzack durchlaufen: (1) ein Schritt nach rechts, (2) diagonal bis zum linken Rand, (3) ein Schritt nach unten und (4) diagonal bis zum oberen Rand. Hierbei werden Br¨ uche u uher schon durchlaufenen Br¨ uchen gleichwertig ¨ berschlagen, wenn sie zu fr¨ sind. Dadurch resultiert eine bijektive Abbildung f : N0 → Q, die in folgender Tabelle angedeutet ist 6 7 8 9 10 . . . n 01 2 3 4 5 f (n) 0 1 1/2 −1 2 −1/2 1/3 1/4 −1/3 −2 3 . . . ⊓ ⊔ Satz 8.8. Die Menge aller W¨orter ¨ uber einem endlichen Alphabet ist abz¨ahlbar. Beweis. Sei A eine endliche Menge. Sei B die Menge aller W¨orter u ¨ber A und Bi die Menge aller W¨ orter u ¨ber A mit der L¨ange i. Die Mengen Bi sind endlich und bilden eine Partition von B. Seien bi1 , bi2 . . . , bimi die Elemente von Bi . Dann ist die Abbildung f : A → N0 , definiert durch bij 7→ m0 + . . .+ mi−1 + j, bijektiv. ⊓ ⊔ Satz 8.9. Die Menge aller endlichen Folgen mit Eintr¨agen aus einer abz¨ahlbaren Menge ist abz¨ahlbar. Beweis. O.B.d.A. betrachten wir die abz¨ahlbare Menge N. Die Folge der Primzahlen (pn ) = (2, 3, 5, 7, 11, . . .) ist nach Satz 13.16 unendlich. Anhand dieser Folge wird eine Abbildung f : seq(N) → N von der Menge aller endlichen Folgen mit Eintr¨ agen aus N nach N durch (i1 , . . . , in ) 7→ pi11 · · · pinn definiert. Beispielsweise gilt f (ǫ) = 1 und f (121) = 21 32 51 = 90. Nach Satz 13.15 ist jede nat¨ urliche Zahl eindeutig als Produkt von Primzahlen darstellbar. Somit ist f bijektiv. ⊓ ⊔
84
8 Unendliche Mengen
¨ Uberabz¨ ahlbare Mengen Satz 8.10. Das abgeschlossene reellwertige Intervall [0, 1] ist u ¨berabz¨ahlbar. Beweis. Wir benutzen die zweite Diagonalmethode von Cantor. Angenommen, es g¨ abe eine bijektive Abbildung f : N → [0, 1], die jeder nat¨ urlichen Zahl n eine reelle Zahl f (n) = r(n) ∈ [0, 1] zuordnete. Jede Zahl r(n) besitzt eine Dezimalbruchentwicklung (n) (n) (n)
r(n) = 0.r1 r2 r3 . . . ,
(n)
ri
∈ {0, . . . , 9}.
Mithilfe dieser Dezimalbr¨ uche wird ein Dezimalbruch x = 0.x1 x2 x3 . . . wie folgt festgelegt (n) 1 falls rn gerade, xn = 0 sonst. Die Dezimalbruch x liegt in [0, 1], kommt aber in der durch f festgelegten (n) Aufz¨ ahlung nicht vor, weil sich x von r(n) an der n-ten Nachkommastelle rn unterscheidet. Also ist f widerspr¨ uchlicherweise nicht bijektiv. ⊓ ⊔ Die zweite Diagonalmethode von Cantor zeigt, dass in jeder Liste von reellen Zahlen wenigstens eine reelle Zahl nicht vorkommt. Angenommen, die Liste beg¨ anne wie folgt r(1) = 0. 3 5 6 2 . . . r(2) = 0. 2 2 0 9 . . . r(3) = 0. 4 6 7 8 . . . r(4) = 0. 7 3 0 6 . . . ... Dann w¨ urde gem¨ aß des obigen Beweises folgende Zahl in der Liste fehlen x = 0. 0 1 0 1 . . . Satz 8.11. Das offene reellwertige Intervall (0, 1) ist ¨ uberabz¨ahlbar. Beweis. Es gen¨ ugt zu zeigen, dass die Intervalle (0, 1) und [0, 1] gleichm¨achtig sind. Hierzu werden zwei unendliche Folgen F = (0, 1, 1/2, 1/3, 1/4, 1/5, . . .) G = (1/2, 1/3, 1/4, 1/5, . . .) benutzt, wobei F gegen¨ uber G zwei zus¨atzliche Anfangsglieder enth¨alt. Es gibt definitionsgem¨ aß eine Menge A, so dass [0, 1] = F ∪ A und (0, 1) = G ∪ A. Die Abbildung f : [0, 1] → (0, 1), definiert durch falls x = 0, 1/2 ur ein n ∈ N, f (x) = 1/(n + 2) falls x = 1/n f¨ x sonst,
bildet alle Elemente von A auf sich ab und das n-te Glied von F auf das n-te Glied von G. Also ist f bijektiv. ⊓ ⊔
8.2 Abz¨ ahlbare und u ahlbare Mengen ¨ berabz¨
85
Satz 8.12. Die Menge der reellen Zahlen ist ¨ uberabz¨ahlbar. Beweis. Die Abbildung f : (0, 1) → R : x 7→ tan(πx − π/2) ist bijektiv.
⊓ ⊔
Satz 8.13. Die Potenzmenge der Menge der nat¨ urlichen Zahlen ist u ¨ berabz¨ahlbar. Beweis. Jedes Element A in P (N0 ) wird durch einen Bin¨arbruch 0.a0 a1 a2 a3 . . . codiert, wobei 1 falls n ∈ A, an = (8.1) 0 sonst. Mit der zweiten Diagonalmethode von Cantor folgt die Behauptung.
⊓ ⊔
Satz 8.14. Die Menge der reellen Zahlen und die Potenzmenge der Menge der nat¨ urlichen Zahlen sind gleichm¨achtig. Beweis. Jede Zahl in [0, 1] ist durch einen Bin¨arbruch darstellbar. Ebenso ist jedes Element A in P (N0 ) verm¨oge eines Bin¨arbruchs gem¨aß (8.1) codierbar. Die Abbildung f : [0, 1] → P (N0 ), die jeder Zahl in [0, 1] diejenige Teilmenge von N0 zuordnet, die dieselbe Bin¨arbruch-Codierung besitzt, ist bijektiv. ⊓ ⊔ ¨ Uberabz¨ ahlbarkeit ad infinitum Seien A und B Mengen. Wir schreiben |A| ≤ |B|, wenn es eine injektive Abbildung f : A → B gibt. Wir schreiben |A| < |B|, wenn es eine injektive Abbildung f : A → B gibt, die nicht surjektiv ist. Satz 8.15. F¨ ur jede Menge A gilt |A| < |P (A)|. Beweis. Die Abbildung f : A → P (A) : x 7→ {x} ist injektiv. Also ist |A| < |P (A)|. Wir zeigen noch, dass keine injektive Abbildung f : A → P (A) auch surjektiv sein kann. Sei f : A → P (A) injektiv. Wir betrachten die Menge B = {b | b ∈ A, a 6∈ f (a)}. Angenommen, es g¨abe ein b ∈ A mit f (b) = B. Die Aussage b ∈ B ist per definitionem gleichbedeutend mit b 6∈ f (b), die wiederum widerspr¨ uchlicherweise zu b 6∈ B ¨aquivalent ist. Also liegt B nicht im Wertebereich von f . Somit ist f nicht surjektiv. ⊓ ⊔ Der letzte Satz zeigt, dass es eine unendliche Folge von unendlichen Mengen mit echt aufsteigender M¨achtigkeit gibt |N0 | < |P (N0 )| < |P (P (N0 ))| < . . .
(8.2)
Die Kontinuumshypothese besagt, dass es keine Menge gibt, deren M¨achtigkeit zwischen |N0 | und |P (N0 )| = |R| liegt.
86
8 Unendliche Mengen
8.3 Berechenbarkeit Die Abz¨ ahlbarkeit von Mengen hat wichtige Konsequenzen f¨ ur die Informatik. Wir betrachten eine typische Programmiersprache L. Das Alphabet A der Zeichen, um ein Programm in der Sprache L zu schreiben, ist endlich. Jedes Programm in der Sprache L ist ein Wort u ¨ ber A. Also ist die Menge aller Programme in der Sprache L nach Satz 8.8 abz¨ahlbar. Wir betrachten Programme in der Sprache L, deren Zweck es ist, eine reelle Zahl zu drucken. Im Allgemeinen kann eine reelle Zahl nicht wirklich durch ein Programm berechnet werden, weil ein Programm nach endlich vielen Schritten terminiert, w¨ ahrend eine reelle Zahl unendlich viele Nachkommastellen besitzt. Eine reelle Zahl r = 0.r1 r2 r3 . . . heißt berechenbar in der Sprache L, wenn es ein Programm in L gibt, das bei Eingabe einer nat¨ urlichen Zahl n ≥ 0 eine Approximation von r in Form der ersten n Nachkommastellen r1 , r2 , . . . , rn liefert. Auf diese Weise kann eine berechenbare reelle Zahl beliebig genau approximiert werden. ¨ Sind alle reellen Zahlen berechenbar? Einerseits gibt es nach obiger Uberlegung abz¨ ahlbar viele Programme in der Sprache L und andererseits u ¨ berabz¨ ahlbar viele reelle Zahlen. Also sind nicht alle reellen Zahlen berechenbar.
Selbsttestaufgaben 8.1. Sei A eine abz¨ ahlbare Menge und n eine nat¨ urliche Zahl. Zeige, dass An abz¨ ahlbar ist. 8.2. Sei A1 , A2 , . . . eine abz¨ ahlbare Anzahl von endlichen Mengen. Zeige, dass abz¨ ahlbar ist.
S
i
Ai
8.3. Beweise, dass eine abz¨ ahlbare Vereinigung von abz¨ ahlbaren Mengen abz¨ ahlbar ist. 8.4. Sei P die Menge aller Polynome p(x) = a0 + a1 x + . . . + an xn mit ganzzahligen Koeffizienten a0 , . . . , an . Zeige, dass P abz¨ ahlbar ist. 8.5. Eine reelle Zahl r heißt algebraisch, wenn r eine L¨ osung einer polynomialen Gleichung p(x) = a0 +a1 x+. . .+an xn = 0 mit ganzzahligen Koeffizienten a0 , . . . , an ist. Zeige, dass die Menge aller algebraischen Zahlen abz¨ ahlbar ist.
Teil II
Elementare Kombinatorik
9 Z¨ ahlprinzipien
Z¨ ahlprinzipien sind grundlegend f¨ ur den Aufbau der Kombinatorik. Dazu geh¨ oren das Gleichheits-, Additions- und Multiplikationsprinzip, das Prinzip der doppelten Abz¨ ahlung und das Prinzip der Inklusion-Exklusion. Mit dem Schubfachprinzip wird auch ein kombinatorisches Existenzprinzip behandelt. Alle Mengen in diesem Kapitel werden als endlich vorausgesetzt.
9.1 Elementare Z¨ ahlprinzipien Satz 9.1. (Gleichheitsprinzip) Zwei Mengen A und B sind gleichm¨achtig, wenn es eine bijektive Abbildung f : A → B gibt. Der Beweis folgt direkt aus der Definition. Satz 9.2. F¨ ur disjunkte Mengen A und B gilt |A ∪ B| = |A| + |B|.
(9.1)
Beweis. Seien A = {a1 , . . . , am } und B = {b1 , . . . , bn } disjunkte Mengen. Dann gilt A ∪ B = {a1 , . . . , am , b1 , . . . , bn } und folglich |A| + |B| = m + n = |A ∪ B|. ⊓ ⊔ Mit vollst¨ andiger Induktion nach n ergibt sich der folgende Satz 9.3. (Additionsprinzip) F¨ ur paarweise disjunkte Mengen A1 , . . . , An gilt n n [ X |Ai | . (9.2) Ai = i=1
i=1
90
9 Z¨ ahlprinzipien
9.2 Prinzip der doppelten Abz¨ ahlung Sei R eine Relation von A = {a1 , . . . , am } nach B = {b1 , . . . , bn }. Die Adjazenzmatrix MR = (mij ) von R ist eine m × n-Matrix mit 1 falls ai Rbj , mij = (9.3) 0 sonst. Die M¨ achtigkeit von R entspricht der Anzahl der Einsen in MR . Die Anzahl der Einsen in MR kann durch zeilen- und spaltenweises Summieren ermittelt werden, m X i=1
ri (R) = |R| =
n X
cj (R),
(9.4)
j=1
wobei ri (R) bzw. cj (R) die Anzahl der Einsen in der i-ten Zeile bzw. j-ten Spalte von MR angibt. Beispiel 9.4. An einer Vorlesung u ¨ ber “Diskrete Mathematik” nehmen 32 m¨ annliche H¨ orer teil. Jeder Student ist mit 5 Studentinnen befreundet und jede Studentin mit 8 Studenten. Wie viele Studentinnen besuchen die Vorlesung? Diese Frage wird mit dem Prinzip der doppelten Abz¨ahlung beantwortet. Sei A die Menge aller Studenten und B die Menge aller Studentinnen in der Vorlesung. Sei R die “Freundschaftsrelation” zwischen m¨annlichen und weiblichen H¨ orern der Vorlesung, d. h., xRy bedeutet, dass “Student x mit Studentin y befreundet ist”. Die Adjazenzmatrix von R besteht aus |A| = 32 Zeilen und n = |B| Spalten. Sie hat 5 Einseintr¨age pro Zeile und 8 Einseintr¨age pro Spalte. Also folgt durch zeilen- und spaltenweises Abz¨ahlen 32 · 5 =
32 X i=1
ri (R) = |R| =
n X j=1
cj (R) = n · 8.
Die Vorlesung wird also von n = 20 Studentinnen besucht. Multiplikationsprinzip Seien A und B Mengen. Die Adjazenzmatrix der Allrelation R = A × B ist mit Einsen voll besetzt, d. h. jede Zeile hat |B| Einsen und jede Spalte |A| Einsen. Mit dem Prinzip der doppelten Abz¨ahlung folgt |A × B| = |A| · |B|.
(9.5)
9.3 Schubfachprinzip
91
Mit vollst¨ andiger Induktion nach n ergibt sich der folgende Satz 9.5. (Multiplikationsprinzip) F¨ ur beliebige Mengen A1 , . . . , An gilt n n Y Y |Ai | . (9.6) A = i i=1
i=1
Beispiel 9.6. Die Autokennzeichen f¨ ur N¨ urnberg-Stadt N-XY-ZZZ bestehen aus einem Buchstabenbigramm XY und einer ein- bis dreistelligen Zahl ZZZ. F¨ ur die Anzahl dieser Autokennzeichen gilt nach dem Additions- und Multiplikationsprinzip 26 · 26 · [9 + 9 · 10 + 9 · 10 · 10] = 675 324.
9.3 Schubfachprinzip Das Schubfachprinzip ist ein kombinatorisches Existenzprinzip, das von P.G. Lejeune-Dirichlet (1805-1859) eingef¨ uhrt wurde. Proposition 9.7. (Schubfachprinzip) Wenn k + 1 Kugeln auf k F¨acher verteilt werden, dann enth¨alt mindestens ein Fach zwei oder mehr Kugeln. Beispiel 9.8. In einem Basketball-Turnier spielen zehn Mannschaften um den Sieg, wobei jede Mannschaft einmal gegen jede andere Mannschaft anzutreten hat. Wir behaupten, dass nach dem ersten Spieltag mindestens zwei Mannschaften die gleiche Anzahl von Spielen absolviert haben. Sei A = {a1 , . . . , an } die Menge aller teilnehmenden Mannschaften. Die Abbildung f : A → {0, . . . , n − 1} ordnet jeder Mannschaft a ∈ A die Anzahl f (a) ihrer Spiele am ersten Tag zu. Es ergeben sich drei F¨alle: • • •
Es gibt eine Mannschaft a, die am ersten Tag kein Spiel absolviert hat, d. h., f (a) = 0. Dann gibt es keine Mannschaft, die am ersten Tag gegen alle anderen Mannschaften gespielt hat, d. h., f (A) ⊆ {0, . . . , n − 2}. Es gibt eine Mannschaft a, die am ersten Tag gegen alle anderen Mannschaften gespielt hat, d. h., f (a) = n − 1. Dann existiert keine Mannschaft, die am ersten Tag kein Spiel absolviert hat, d. h., f (A) ⊆ {1, . . . , n − 1}. Ansonsten hat jede Mannschaft am ersten Tag mindestens ein und h¨ochstens n − 2 Spiele absolviert, d. h., f (A) ⊆ {1, . . . , n − 2}.
Der Wertebereich f (A) von f hat also die M¨achigkeit ≤ n − 1. Die Mannschaften werden als Kugeln und die Anzahl der absolvierten Spiele als F¨acher interpretiert. Mit dem Schubfachprinzip folgt die Behauptung.
92
9 Z¨ ahlprinzipien
9.4 Prinzip der Inklusion-Exklusion F¨ ur beliebige Mengen A und B gilt |A ∪ B| = |A| + |B| − |A ∩ B|.
(9.7)
Denn die im Durchschnitt von A und B liegenden Elemente werden in der Partialsumme |A|+|B| doppelt gez¨ahlt und werden deshalb einmal abgezogen. F¨ ur beliebige Mengen A, B und C gilt |A ∪ B ∪ C| = |A| + |B| + |C| − |A ∩ B| − |A ∩ C| − |B ∩ C| +|A ∩ B ∩ C|.
(9.8)
Denn in |A| + |B| + |C| werden die im Durchschnitt zweier Mengen enthaltenen Elemente doppelt und die im Durchschnitt aller drei Mengen liegenden Elemente dreimal gez¨ ahlt. Wird davon |A ∩ B| + |A ∩ C| + |B ∩ C| subtrahiert, so werden die im Durchschnitt je zweier Mengen enthaltenen Elemente richtig gez¨ ahlt. Die im Durchschnitt aller Mengen liegenden Elemente werden in |A| + |B| + |C| dreimal gez¨ahlt und in |A ∩ B| + |A ∩ C| + |B ∩ C| dreimal abgezogen, weshalb noch |A ∩ B ∩ C| hinzuzuaddieren ist. Von diesem Einund Ausschließen von Mengen r¨ uhrt der Name des Prinzips her. Satz 9.9. (Inklusion-Exklusion) F¨ ur beliebige Mengen A1 , . . . , An gilt \ n [ X (−1)|I|−1 Aj . (9.9) Ai = I⊆n j∈I i=1 I6=∅
Beweis. Die Summanden auf der rechten Seite werden entsprechend ihrer M¨ achtigkeit geordnet n \ X X \ X |I|−1 l−1 (−1) (9.10) (−1) Aj . Aj = j∈I l=1 I⊆n j∈I I⊆n I6=∅
|I|=l
Sei a ∈ A in Ai1 , . . . , Aik enthalten. Dann ist der Beitrag von a zur Summe X \ Aj (9.11) I⊆n j∈I |I|=l
gleich dem Beitrag von a zur Summe
\ Aj . I⊆{i1 ,...,ik } j∈I X
|I|=l
(9.12)
9.4 Prinzip der Inklusion-Exklusion
93
In dieser Summe tr¨ agt a Eins in jedem Summanden bei. D. h., der Beitrag von a ist gleich der Anzahl der l-elementigen Teilmengen I von {i1 , . . . , ik }. Nach (10.1) ist diese Anzahl gleich kl . Also ist der Beitrag von a zur Summe (9.10) gleich n X
l−1
(−1)
X k k l−1 k . = (−1) l l
(9.13)
l=1
l=1
Nach (10.6) ist aber k X l=0
(−1)l
k = 0. l
(9.14)
Also hat die Summe (9.13) den Wert k0 = 1, d. h., a tr¨agt Eins zur rechten Seite der behaupteten Gleichung bei. Ebenso liefert a den Beitrag Eins zur linken Seite der behaupteten Gleichung. ⊓ ⊔ Korollar 9.10. (Siebprinzip) Seien A1 , . . . , An Teilmengen einer Menge A. F¨ ur die Anzahl der Elemente in A, die in keiner der Teilmengen A1 , . . . , An enthalten sind, gilt n X [ \ |A \ ( Ai )| = |A| − (−1)|I|−1 Aj . (9.15) j∈I I⊆n i=1 I6=∅
Beispiel 9.11. Wie viele nat¨ urliche Zahlen zwischen 1 und 1000 gibt es, die nicht durch 2, 3 oder 5 teilbar sind? Sei A = {1, 2, . . . , 1000} und sei An die Menge aller ganzzahligen Vielfachen einer nat¨ urlichen Zahl n in A. Es gilt An = {m · n | 1 ≤ m ≤ ⌊
1000 ⌋}, n
(9.16)
wobei ⌊x⌋ die gr¨ oßte ganze Zahl bezeichnet, die kleiner oder gleich x ∈ R ist. F¨ ur die M¨ achtigkeit von An gilt also |An | = ⌊
1000 ⌋. n
(9.17)
Mit der Siebformel folgt |A \ (A2 ∪ A3 ∪ A5 )| = |A| − [|A2 | + |A3 | + |A5 | − |A2 ∩ A3 | − |A2 ∩ A5 | −|A3 ∩ A5 | + |A2 ∩ A3 ∩ A5 |]
= |A| − |A2 | − |A3 | − |A5 | + |A6 | + |A10 | + |A15 | − |A30 | = 1000 − 500 − 333 − 200 + 166 + 100 + 66 − 33 = 266.
Somit lautet die Antwort: 266.
94
9 Z¨ ahlprinzipien
Einen wichtigen Spezialfall der Siebformel birgt der folgende Satz 9.12. Seien a1 , . . . , an nat¨ urliche Zahlen, so dass f¨ ur jede nichtleere Teilmenge I von n gilt \ a|I| = Aj . (9.18) j∈I
Dann gilt
n n X [ i n ai . (−1) A \ ( Ai ) = |A| + i
Beweis. Es gilt
(9.19)
i=1
i=1
\ n X [ (−1)|I|−1 Aj , A \ ( Ai ) = |A| − I⊆n i=1
nach (9.15)
j∈I
I6=∅
= |A| −
n X X i=1
(−1)i−1 ai ,
n X n (−1)i−1 ai , i i=1 n X n (−1)i ai . = |A| + i i=1
= |A| −
nach (9.18)
I |I|=i
nach (10.1)
⊓ ⊔ Anwendungen der vereinfachten Siebformel (9.19) werden wir im n¨achsten Kapitel kennen lernen.
Selbsttestaufgaben 9.1. Sei M ein aus 4-Teilmengen der Menge 8 bestehendes Mengensystem mit der Eigenschaft, dass jedes ganze Zahl zwischen 1 und 8 in genau drei Elementen der Menge M enthalten ist. Bestimme die M¨ achtigkeit von M . 9.2. Gibt es ein aus 3-elementigen Teilmengen von 8 bestehendes Mengensystem M mit der Eigenschaft, dass jede Zahl zwischen 1 und 8 in genau f¨ unf Elementen der Menge M liegt? 9.3. Zeige, dass es in jeder mindestens zweielementigen Menge von Personen mindestens zwei Personen gibt, die die gleiche Anzahl von Freunden in diesem Personenkreis haben.
9.4 Prinzip der Inklusion-Exklusion
95
9.4. Zeige, dass es in jeder 5-elementigen Teilmenge von 8 mindestens zwei Zahlen gibt, deren Summe 9 ist. 9.5. Bestimme die Anzahl der nat¨ urlichen Zahlen im Bereich 1 bis 1000, die nicht durch 5, 12 oder 20 teilbar sind. 9.6. Die 50 Teilnehmer eines Seminars wurden nach der Beherrschung der Fremdsprachen Englisch, Franz¨ osisch und Russisch befragt. Dabeit ergaben sich folgende Ergebnisse: • • • • • •
27 k¨ onnen Englisch, 15 k¨ onnen Franz¨ osisch, 10 k¨ onnen Russisch, 14 k¨ onnen nur Englisch, 8 k¨ onnen nur Franz¨ osisch, 3 k¨ onnen nur Russisch.
Bestimme daraus die Anzahl der Teilnehmer, die keine der drei Sprachen beherrschen. 9.7. Die Anzahl der r-elementigen Teilmengen einer n-elementigen Menge, die eine feste m-elementige Menge enthalten, ist bekanntlich n−m . Folgere hieraus mit Hilfe r−m des Prinzips der Inklusion-Exklusion
n−m r−m
=
m X i=0
(−1)i
m i
n−i . r
9.8. In 32 Haushalten werden Papier oder Flaschen oder beides (zu Zwecken des Recyclings) gesammelt. 30 Haushalte sammeln Papier und 14 sammeln Flaschen. Wie viele Haushalte sammeln Papier und Flaschen, wie viele sammeln nur Papier und wie viele sammeln nur Flaschen?
96
9 Z¨ ahlprinzipien
10 Kombinationen und Permutationen
In den n¨ achsten beiden Kapiteln wird die Abz¨ahlungstheorie der klassischen Abbildungstypen mit Nebenbedingungen entwickelt. Sie besch¨aftigt sich konkret mit der Frage, auf wie viele Arten es m¨oglich ist, N Kugeln auf R F¨acher so zu verteilen, dass in jedes Fach h¨ochstens eine Kugel, mindestens eine Kugel oder genau eine Kugel kommt oder aber beliebig viele Kugeln kommen. Dabei wird unterschieden, ob die Kugeln oder F¨acher unterscheidbar (gef¨arbt) oder ununterscheidbar (ungef¨ arbt) sind. Diese Fragestellung wird im Folgenden auf ein einheitliches Grundmuster zur¨ uckgef¨ uhrt, das auf W¨ortern basiert.
10.1 Kombinationen k-Kombinationen und Mengen Seien k und n nat¨ urliche Zahlen. Ein Wort x der L¨ange k u ¨ ber n wird eine k-Kombination von n genannt, wenn x streng mononton ist. Ein Wort x = x1 x2 . . . xk heißt streng monoton, wenn x1 < x2 < . . . < xk . Die Anzahl der k-Kombinationen von n wird mit nk bezeichnet, sprich “n ¨ uber k”, und heißt Binomialzahl von n u ¨ ber k. Beispiel 10.1. Die 2-Kombinationen von 4 lauten 12, 13, 14, 23, 24 und 34. Jede k-Kombination x = x1 x2 . . . xk von n beschreibt eine k-Teilmenge f (x) = {x1 , x2 , . . . , xk } von n. Die Zuordnung f : x 7→ f (x) liefert eine Bijektion von der Menge aller k-Kombinationen von n auf die Menge aller k-Teilmengen von n. Die Menge aller k-Teilmengen von n wird mit nk bezeichnet. Mit dem Gleichheitsprinzip folgt n n . (10.1) = k k
98
10 Kombinationen und Permutationen
Satz 10.2. F¨ ur alle nat¨ urlichen Zahlen k und n gilt n • k = 0, falls k > n. n n n • 0 = 1, n = 1 und 1 = n. • F¨ ur 1 ≤ k ≤ n gilt n n−1 n−1 = + . k k−1 k •
•
F¨ ur 0 ≤ k ≤ n gilt n(n − 1) · · · (n − k + 1) n n! = = . k k! k!(n − k)!
(10.2)
(10.3)
F¨ ur 0 ≤ k ≤ n gilt n n = . k n−k
(10.4)
Beweis. Die ersten beiden Aussagen folgen aus den Definitionen. F¨ ur den Beweis der dritten Aussage kann aufgrund der zweiten Aussage n > 1 vorausgesetzt werden. Sei A die Menge aller k-Kombinationen von n, die n enthalten, und B die Menge ¨ brigen k-Kombinationen von n. Mit dem Additions der u prinzip folgt nk = |A| + |B|. Eine k-Kombination x1 x2 . . . xk von n liegt in A genau dann, wenn xk = n und x1 x2 . . . xk−1 eine (k − 1)-Kombination von n − 1 ist. Also folgt |A| = n−1 k−1 . Eine k-Kombination x = x1 x2 . . . xk von n geh¨ ort zu B genau dann, wenn x eine k-Kombination von n − 1 ist. Folglich ist |B| = n−1 . Die vierte Aussage wird durch vollst¨andige Induktion nach n k mithilfe der dritten Aussage bewiesen. Die letzte Aussage folgt direkt aus der vierten. ⊓ ⊔ Satz 10.3. F¨ ur jede nat¨ urliche Zahl n gilt n X n = 2n . k
(10.5)
k=0
Beweis. Es gilt n X n k=0
k
=
n n [ X n n |=| | = |P (n)| = 2n , | k k k=0
k=0
dabei ergibt sich die erste Gleichung aus (10.1), die zweite aus dem Additionsprinzip und die letzte aus dem Satz 3.10. ⊓ ⊔ Satz 10.4. F¨ ur jede nat¨ urliche Zahl n gilt n X k n = 0. (−1) k k=0
(10.6)
10.1 Kombinationen
99
Beweis. Die Summe auf der linken Seite hat wegen (10.2) die Gestalt n−1 n−1 n−1 n−1 1− + + + 0 1 1 2 n−1 n−1 n−1 n−1 n−1 − + + + (−1)n . ± . . . + (−1) n−2 2 n−1 3 Jede Binomialzahl n−1 k , 1 ≤ k ≤ n − 2, kommt je einmal mit positivem und negativem Vorzeichen vor, weshalb nur folgende Teilsumme u ¨ brig bleibt n−1 n−1 + (−1)n = 1 − 1 + (−1)n−1 + (−1)n = 0. 1− + (−1)n−1 n−1 0 ⊓ ⊔ n
Die Binomialzahl k beschreibt die Anzahl der M¨oglichkeiten, k Elemente aus einer n-elementigen Menge auszuw¨ahlen, wobei jedes Element h¨ochstens einmal ausgew¨ ahlt wird und es nicht auf die Reihenfolge der Elemente ankommt. Beispiel 10.5. Beim Zahlenlotto werden 6 aus 49 Zahlen gezogen. Sechs Richtige bilden eine 6-Kombination von 49. Die Anzahl der 6-Kombinationen von 49 ist gleich 49 . Die Wahrscheinlichkeit, sechs Richtige zu erhalten, 6 −8 ist 1/ 49 . 6 ≈ 7.1 · 10 k-Kombinationen und charakteristische W¨ orter Jede k-Kombination x = x1 x2 . . . xk von n beschreibt ein Wort χ(x) = c1 c2 . . . cn der L¨ ange n u ¨ ber dem Alphabet {0, 1}, wobei 1 falls i in x vorkommt, ci = (10.7) 0 sonst. Das Wort χ(x) besteht aus k Einsen und n − k Nullen und wird charakteristisches Wort oder (n, k)-Wort von x genannt. Die Zuordnung χ : x 7→ χ(x) liefert eine Bijektion von der Menge aller k-Kombinationen von n auf die Menge aller (n, k)-W¨ orter. Diese Zuordnung verdeutlicht folgende Tabelle k-Kombinationen von 4 (4, k)-W¨orter ǫ 0000 1, 2, 3, 4 1000, 0100, 0010, 0001 12, 13, 14, 1100, 1010, 1001, 23, 24, 34 0110, 0101, 0011 1110, 1101, 3 123, 124, 134, 234 1011, 0111 4 1234 1111 k 0 1 2
100
10 Kombinationen und Permutationen
10.2 Repetitionen Repetitionen sind Kombinationen mit Wiederholung. Ein Wort x1 x2 . . . xn der L¨ ange n u ¨ ber N0 heißt eine k-Repetition von n, wenn x1 + x2 + . . . + xn = k. Beispiel 10.6. Die 2-Repetitionen von 4 lauten 2000, 1100, 1010, 1001, 0200, 0110, 0101, 0020, 0011 und 0002. Jede k-Repetition x1 x2 . . . xn von n ist eine endliche Folge f : n → N0 mit f (i) = xi f¨ ur 1 ≤ i ≤ n. Folgen mit nat¨ urlichzahligem Wertebereich sind Multimengen. Beispiel 10.7. Die 2-Repetitionen von 4 aus Beispiel 10.6 entsprechen der Reihe nach den Multimengen {1, 1}M , {1, 2}M , {1, 3}M , {1, 4}M , {2, 2}M , {2, 3}M , {2, 4}M , {3, 3}M , {3, 4}M und {4, 4}M . Satz 10.8. Die Anzahl der k-Repetitionen von n ist gleich n+k−1 . k
Beweis. Jeder k-Repetition x1 x2 . . . xn von n wird ein Wort u ¨ ber {0, 1} zugeordnet: x1
x2
xn
z }| { z }| { z }| { 1...101...10...01...1. Dieses Wort hat x1 + x2 + . . . + xn = k Einsen und n − 1 Nullen und ist somit ein (n + k − 1, k)-Wort. Diese Zuordnung liefert eine Bijektion von der Menge aller k-Repetitionen von n auf die Menge aller (n + k − 1, k)-W¨orter. Die Anzahl der (n+ k − 1, k)-W¨orter ist nach dem Gleichheitsprinzip identisch mit der Anzahl der k-Kombination von n + k − 1, letztere ist n+k−1 . Also k folgt mit dem Gleichheitsprinzip die Behauptung. ⊓ ⊔ Die folgende Tabelle zeigt vier Darstellungsformen f¨ ur Repetitionen 3-Repetitionen von 2 Multimengen (4, 3)-W¨orter 3-Kombinationen von 4 30 {1, 1, 1}M 1110 123 {1, 1, 2}M 1101 124 21 12 {1, 2, 2}M 1011 134 {2, 2, 2}M 0111 234 03 Die Binomialzahl n+k−1 beschreibt die Anzahl der M¨oglichkeiten, k k Elemente aus einer n-elementigen Menge auszuw¨ahlen, wobei jedes Element mehrfach ausgew¨ ahlt werden darf und es nicht auf die Reihenfolge der Elemente ankommt. Beispiel 10.9. Die Anzahl der W¨ urfe mit 5 nicht unterscheidbaren urfeln ist W¨ identisch mit der Anzahl der 5-Repetitionen von 6, n¨amlich 10 = 252. 5
10.3 Permutationen
101
10.3 Permutationen Ein Wort x der L¨ ange k u ¨ ber n heißt eine k-Permutation von n, wenn x keinen Buchstaben mehrfach enth¨alt. Die Anzahl der k-Permutationen von n wird mit (n)k bezeichnet, sprich “k unter n”. Beispiel 10.10. Die 2-Permutationen von 4 lauten 12, 21, 13, 31, 14, 41, 23, 32, 24, 42, 34 und 43. Jede k-Permutation x1 x2 . . . xk von n entspricht einer injektiven Abbildung f : k → n mit f (i) = xi f¨ ur 1 ≤ i ≤ k, und umgekehrt. Also ist die Menge aller k-Permutationen von n identisch mit der Menge aller injektiven Abbildungen von k nach n. Satz 10.11. F¨ ur jede nat¨ urliche Zahl n gilt (n)1 = n
und
(n)n = n!.
(10.8)
F¨ ur alle nat¨ urlichen Zahlen n und k mit 1 < k < n gilt (n)k = (n − 1)k + k · (n − 1)k−1 .
(10.9)
Beweis. Die 1-Permutationen von n sind die Ziffern 1, 2, . . . , n. F¨ ur eine nPermutationen von n gibt es n M¨oglichkeiten, den ersten Buchstaben zu w¨ ahlen. F¨ ur den zweiten Buchstaben verbleiben n − 1 M¨oglichkeiten. Auf diese Weise fortfahrend ergeben sich n! M¨oglichkeiten, die n-Permutationen von n zu erzeugen. Sei A die Menge aller k-Permutationen von n, die n enthalten, und B die Menge der u ¨brigen k-Permutationen von n. Mit dem Additionsprinzip folgt (n)k = |A| + |B|. Jede (k − 1)-Permutation y = y1 y2 . . . yk−1 von n − 1 l¨asst sich zu einer k-Permutation y (i) von n fortsetzen, indem n an der Position i eingef¨ ugt wird. Die Zuordnung (i, y) 7→ y (i) definiert eine Bijektion des kartesischen Produkts von k und der Menge aller (k − 1)-Permutationen von n − 1 auf die Menge A. Mit dem Multiplikations- und Gleichheitsprinzip folgt |A| = k · (n − 1)k−1 . Die Elemente von B entsprechen den k-Permutationen von n − 1. Mit dem Gleichheitprinzip folgt |B| = (n − 1)k . ⊓ ⊔ Durch vollst¨ andige Induktion erhalten wir das folgende Korollar 10.12. F¨ ur alle nat¨ urlichen Zahlen n und k mit 1 ≤ k ≤ n gilt (n)k = n · (n − 1) · · · (n − k + 1).
(10.10)
Die Zahl (n)k beschreibt die Anzahl der M¨oglichkeiten, k Elemente aus einer n-elementigen Menge auszuw¨ahlen, wobei jedes Element h¨ochstens einmal ausgew¨ ahlt wird und es auf die Reihenfolge der Elemente ankommt. Beispiel 10.13. Wie viele dreistellige Dezimalzahlen lassen sich mit den Ziffern 2, 3, 4, 5 und 6 bilden, so dass keine Ziffer mehrfach auftritt? Diese Dezimalzahlen entsprechen den 3-Permutationen von 5. Die Antwort lautet (5)3 = 60.
102
10 Kombinationen und Permutationen
Korollar 10.14. Die Anzahl der Permutationen vom Grad n ist gleich n!. Beweis. Die injektiven Abbildungen f : n → n sind nach Satz 6.8 bijektiv. Also entsprechen die n-Permutationen von n genau den Permutationen vom Grad n. Mit dem Satz 10.11 folgt die Behauptung. ⊓ ⊔
10.4 Permutationen und Zykeltypen Jede Permutation vom Grad n ist als Produkt von disjunkten Zykeln darstellbar (Abs. 6.4). In diesem Abschnitt werden Permutationen vom Grad n hinsichtlich ihrer Zykelstruktur klassifiziert. Stirling-Zahlen erster Art Die absolute Stirling-Zahl erster Art (James Stirling, 1692-1770) beschreibt die Anzahl der Permutationen vom Grad n, die aus k disjunkten Zykeln bestehen. Sie wird mit s0 (n, k) bezeichnet. Da eine Permutation vom Grad n h¨ ochstens n disjunkten Zykeln besitzt, ergibt sich s0 (n, k) = 0, falls k > n. Satz 10.15. F¨ ur jede nat¨ urliche Zahl n gilt n s0 (n, 1) = (n − 1)!, s0 (n, n − 1) = 2
und
s0 (n, n) = 1. (10.11)
F¨ ur alle nat¨ urlichen Zahlen n und k mit 1 < k < n gilt s0 (n, k) = s0 (n − 1, k − 1) + (n − 1) · s0 (n − 1, k).
(10.12)
Beweis. In einem Zykel der L¨ange n kann die Eins als Anfangselement festgehalten und die restlichen n − 1 Zahlen beliebig permutiert werden. Die letzten n− 1 Zahlen bilden eine Permutation vom Grad n− 1. Mit dem Korollar 10.14 folgt s0 (n, 1) = (n − 1)!. Eine Permutation vom Grad n mit n − 1 disjunkten Zykeln besteht aus einer Transposition und n − 2 Fixpunkten. Die Transpositionen entsprechen den 2-Kombinationen von n. Also gibt es n2 derartige Transpositionen. Schließlich gibt es eine Permutation mit n Fixpunkten, die identische Abbildung (1)(2) . . . (n). Die Menge aller Permutationen vom Grad n mit k disjunkten Zykeln wird in zwei Teilmengen zerlegt. Sei A die Menge aller Permutationen vom Grad n mit k disjunkten Zykeln, die n als Fixpunkt enthalten, und sei B die Menge der u ¨ brigen Permutationen vom Grad n mit k disjunkten Zykeln. Mit dem Additionsprinzip folgt s0 (n, k) = |A| + |B|. Jeder Permutation in A wird durch Fortlassen des Fixpunkts n zu einer Permutation vom Grad n − 1 mit k − 1 disjunkten Zykeln. Dadurch ergibt sich eine Bijektion von A auf die Menge aller Permutationen vom Grad n − 1 mit k−1 disjunkten Zykeln. Mit dem Gleichheitsprinzip folgt |A| = s0 (n−1, k−1).
10.4 Permutationen und Zykeltypen
103
Jeder Permutation π = . . . (. . . , i, n, j, . . .) . . . ∈ B wird ein Paar zugewiesen, bestehend aus dem Urbild i von n unter π und einer Permutation . . . (. . . , i, j, . . .) . . . vom Grad n − 1, die aus π durch Entfernen von n entsteht. Dadurch erhellt sich eine Bijektion von B auf das kartesischen Produkt von n − 1 und der Menge aller Permutationen vom Grad n − 1 mit k disjunkten Zykeln. Mit dem Multiplikations- und Gleichheitsprinzip folgt |B| = (n − 1) · s0 (n − 1, k). ⊓ ⊔ Die Stirling-Zahlen erster Art sind gegeben durch s(n, k) = (−1)n−k s0 (n, k). F¨ ur die Stirling-Zahlen erster Art gilt n−k X n−1−l 2n − k S(n − k + l, l), s(n, k) = (−1)l n−k+l n−k−l
(10.13)
(10.14)
l=0
wobei die S(n, k) Stirling-Zahlen zweiter Art bezeichnen (Abs. 11.2). Zykeltypen Eine Permutation π vom Grad n hat den Zykeltyp 1k1 2k2 . . . nkn , wenn die Zykeldarstellung von π aus ki Zykeln der L¨ange i besteht. Der Zykeltyp ist als symbolischer Ausdruck zu verstehen. Eine Permutation vom Zykeltyp 1k1 2k2 . . . nkn hat den Grad n = 1 · k1 + 2 · k2 + . . . + n · kn
(10.15)
und die Anzahl ihrer Zykeln ist k = k1 + k2 + . . . + kn .
(10.16) 1 1 0
Beispiel 10.16. Die Permutationen vom Zykeltyp 1 2 3 lauten (1)(23), (2)(13) und (3)(12). Satz 10.17. Die Anzahl der Permutationen vom Zykeltyp 1k1 2k2 . . . nkn ist gleich n! . k1 !k2 ! . . . kn !1k1 2k2 . . . nkn
(10.17)
Beweis. Die Permutationen vom Zykeltyp 1k1 2k2 . . . nkn resultieren durch F¨ ullen des untenstehenden Ger¨ usts mit den n-Permutationen von n k1
k2
k3
z }| { z }| {z }| { (·)(·) . . . (·) (··)(··) . . . (··) (· · ·)(· · ·) . . . (· · ·) . . .
Nach Korollar 10.14 ist die Anzahl der n-Permutationen von n gleich n!. Dieselbe Permutation wird auf zwei Arten erhalten: Erstens, wenn Zykeln gleicher L¨ ange vertauscht werden, wof¨ ur es k1 !k2 ! . . . kn ! M¨oglichkeiten gibt. Zweitens, wenn die Elemente eines Zykels zyklisch verschoben werden, wof¨ ur oglichkeiten existieren. ⊓ ⊔ 1k1 2k2 . . . nkn M¨
104
10 Kombinationen und Permutationen
Satz 10.18. Die Anzahl der fixpunktfreien Permutationen vom Grad n ist gleich n X i n (n − i)!. (10.18) (−1) i i=0 Beweis. Sei A die Menge aller Permutationen vom Grad n. Sei Ai die Menge derjeniger Permutationen vom Grad n, die i ∈ n als Fixpunkt enthalten. Die Menge aller fixpunktfreien Permutationen vom Grad n ist dann A\(
n [
Ai ).
i=1
Sei I eine Teilmenge von n. Die Menge aller Permutationen vom Grad n, die alle Elemente aus I invariant lassen, ist \ Aj . j∈I
Diese Menge entspricht der Menge aller Permutationen von n \ I, die nach Satz 10.14 die M¨ achigkeit (n − |I|)! besitzt. Diese Zahl h¨angt nur von der M¨ achtigkeit von I ab. Deshalb die vereinfachte Siebformel 9.12 anwendbar ist, so dass f¨ ur die Anzahl der fixpunktfreien Permutationen von Grad n gilt n n n X X [ n n (n − i)! . (−1)i (n − i)! = (−1)i |A \ ( Ai )| = n! + i i i=0 i=1 i=1 ⊓ ⊔
10.5 Variationen Variationen sind Permutationen mit Wiederholung. Ein Wort der L¨ange k u ¨ ber n wird eine k-Variation von n genannt. Beispiel 10.19. Die 2-Variationen von 4 lauten 11, 12, 21, 13, 31, 14, 41, 22, 23, 32, 24, 42, 33, 34, 43 und 44. Eine k-Variation x1 x2 . . . xk von n entspricht einer Abbildung f : k → n mit f (i) = xi f¨ ur 1 ≤ i ≤ k, und umgekehrt. Die Menge aller k-Variationen von n ist also identisch mit der Menge aller Abbildungen von k nach n. Satz 10.20. Die Anzahl der Abbildungen von k nach n ist gleich nk . Beweis. Es gilt |nk | = |nk | = |n|k = nk ,
(10.19)
wobei die erste Identit¨ at aus Satz 6.10 und dem Gleichheitsprinzip folgt, w¨ ahrend sich die zweite Gleichung aus Multiplikationsprinzip ergibt. ⊓ ⊔
10.5 Variationen
105
Die Zahl nk beschreibt die Anzahl der M¨oglichkeiten, k Elemente aus einer n-elementigen Menge auszuw¨ahlen, wobei jedes Element mehrfach ausgew¨ahlt werden darf und es auf die Reihenfolge der Elemente ankommt. Eine k-Variation von n heißt vom Typ 1k1 2k2 . . . nkn , wenn sie ki Buchstaben i enth¨ alt. Der Typ einer Variation ist ebenfalls als symbolisches Produkt zu verstehen. F¨ ur jede k-Variation vom Typ 1k1 2k2 . . . nkn gilt k = k1 + . . . + kn .
(10.20)
Die Anzahl der k-Variationen vom Typ 1k1 2k2 . . . nkn wird Multinomialzahl von k u ¨ber k1 , . . . , kn genannt, kurz k . (10.21) k1 , k2 , . . . , kn Satz 10.21. F¨ ur nat¨ urliche Zahlen k, k1 , . . . , kn mit k = k1 + . . . + kn gilt k k! . (10.22) = k1 !k2 ! . . . kn ! k1 , k2 , . . . , kn Beweis. In einem Wort der L¨ange k k¨onnen k1 Buchstaben 1 auf kk1 Arten platziert werden. In den verbliebenen k − k1 freien Stellen lassen sich k2 1 Arten platzieren. Auf diese Weise fortfahrend ergibt Buchstaben 2 auf k−k k2 sich k k k − k1 − . . . − kn−1 k − k1 = . ··· k1 , k2 , . . . , kn kn k2 k1 Daraus folgt mit Hilfe von (10.3) die Behauptung.
⊓ ⊔
Im Falle n = 2 werden aus Multinomialzahlen Binomialzahlen k k k = = . (10.23) k1 , k2 k1 k2 k beschreibt die Anzahl der M¨oglichkeiten, Die Multinomialzahl k1 ,...,k n k Objekte, von denen jeweils k1 , . . . , kn Objekte gleich sind, in beliebiger Reihenfolge anzuordnen. Beispiel 10.22. Das Wort MISSISSIPPI entspricht dem Wort 12332332442, einer 11-Variation vom Typ 11 24 34 42 . Die Anzahl der W¨orter, die sich mit den Buchstaben des Wortes MISSISSIPPI bilden lassen, korrespondiert zur Anzahl der 11-Variationen vom Typ 11 24 34 42 11 = 34 650. 1, 4, 4, 2 k beschreibt die Anzahl der Abbildungen von Die Multinomialzahl k1 ,...,k n k nach n, in denen jeweils ki Elemente aus k auf i abgebildet werden.
106
10 Kombinationen und Permutationen
Beispiel 10.23. Die 4-Variationen vom Typ 12 21 31 lauten 1123, 1132, 1213, 1231, 1312, 1321, 2113, 2131, 2311, 3112, 3121 und 3211. Diese W¨orter entsprechen den Abbildungen f : 4 → 3, in denen jeweils zwei Elemente auf 1 und je ein Element auf 2 und 3 abgebildet werden. Die Anzahl dieser Abbildungen ist gleich 4 = 12. 2, 1, 1
Selbsttestaufgaben 10.1. Ein Bauer kauft drei K¨ uhe, zwei Schweine und vier Hennen von einem H¨ andler, der sechs K¨ uhe, f¨ unf Schweine und acht Hennen anbietet. Wie viele M¨ oglichkeiten der Auswahl hat der Bauer? 10.2. In einem Beh¨ alter befinden sich f¨ unf weiße und sechs rote Kugeln. Wie viele M¨ oglichkeiten gibt es, vier Kugeln zu ziehen, so dass zwei Kugeln weiß und zwei Kugeln rot sind? 10.3. Eine Studentin hat in einer Pr¨ ufung sechs von acht Fragen richtig zu beantworten. Wie viele M¨ oglichkeiten gibt es, sechs dieser Fragen auszuw¨ ahlen? Wie viele M¨ oglichkeiten gibt es, wenn die Studentin die ersten drei Fragen richtig beantworten muss. Wie viele M¨ oglichkeiten gibt es, wenn die Studentin mindestens vier der ersten f¨ unf Fragen korrekt beanworten soll. 10.4. Zeige, dass f¨ ur alle nat¨ urlichen Zahlen n ≥ 0 und m ≥ 1 gilt
n X m+i i=0
m
=
m+n+1 . m+1
10.5. In einer Diskussionsrunde mit drei Jungen und zwei M¨ adchen sollen alle Jungen und M¨ adchen in einer Reihe sitzen. Wie viele Anordnungen gibt es, wenn beide M¨ adchen nebeneinander sitzen? 10.6. Bestimme die Anzahl der W¨ orter der L¨ ange vier, die aus den Buchstaben des Wortes NUMERICAL gebildet werden k¨ onnen. 10.7. Wie viele W¨ orter k¨ onnen in der vorigen Aufgabe gebildet werden, wenn jedes Wort mit einem Konsonanten beginnen und enden soll? 10.8. Bestimme die Anzahl der M¨ oglichkeiten, f¨ unf große B¨ ucher, vier mittelgroße B¨ ucher und drei kleine B¨ ucher auf einem Regal so anzuordnen, dass alle B¨ ucher gleicher Gr¨ oße nebeneinander stehen. 10.9. Beweise die Gleichung (10.14). 10.10. Aus einer n-elementigen Menge sind k Elemente auszuw¨ ahlen mit bzw. ohne Ber¨ ucksichtigung der Reihenfolge und mit bzw. ohne Wiederholung der Elemente. Gib die Anzahl in jedem der vier F¨ alle an.
10.5 Variationen
107
10.11. Berechne die Anzahl der W¨ orter der L¨ ange sechs, die aus den Buchstaben A, C, D, H, I und U ohne Wiederholung gebildet werden k¨ onnen, wobei die W¨ orter ICH und DU nicht als Teilw¨ orter enthalten sein d¨ urfen. 10.12. Wie viele W¨ orter k¨ onnen mit dem Wort HUGENOTTEN gebildet werden? Wie viele W¨ orter gibt es, die das Bigramm TT enthalten?
108
10 Kombinationen und Permutationen
11 Partitionen
In diesem Kapitel wird die im letzten Kapitel begonnene Abz¨ahlungstheorie der klassischen Abbildungstypen mit Nebenbedingungen fortgesetzt.
11.1 Mengenpartitionen Wachstumsbeschr¨ ankte W¨ orter Ein Wort x = x1 . . . xn der L¨ange n u ¨ber N heißt wachstumsbeschr¨ankt, wenn x1 = 1
und xi ≤ max{x1 , . . . , xi−1 } + 1
f¨ ur 2 ≤ i ≤ n.
(11.1)
Beispiel 11.1. Die wachstumsbeschr¨ankten W¨orter der L¨ange 3 lauten 111, 112, 121, 122 und 123. Eine Partition der Menge n, die aus k Bl¨ocken besteht, wird k-Partition von n genannt. Beispiel 11.2. Die 2-Partitionen von 3 lauten {{1}, {2, 3}}, {{2}, {1, 3}} und {{3}, {1, 2}}. Satz 11.3. Seien k und n nat¨ urliche Zahlen mit 1 ≤ k ≤ n. Die k-Partitionen von n entsprechen den wachstumsbeschr¨ankten W¨ortern x = x1 , . . . , xn der L¨ange n mit der Eigenschaft k = max{x1 , . . . , xn }.
(11.2)
Beweis. Sei P = {P1 , . . . , Pk } eine k-Partition von n. O.B.d.A. seien die Bl¨ ocke von P so nummeriert, dass 1 ∈ P1 und Pj die kleinste Zahl enth¨alt, die in P1 , . . . , Pj−1 nicht vorkommt. Einer solchen Partition P wird ein Wort x = x1 . . . xn wie folgt zugeordnet xi = j
:⇐⇒
i ∈ Pj .
(11.3)
110
11 Partitionen
Das so definierte Wort x ist nach Definition von P wachstumsbeschr¨ankt und erf¨ ullt die Bedingung (11.2). Diese Zuordnung liefert eine bijektive Abbildung von der Menge aller k-Partitionen von n auf die Menge aller wachstumsbeschr¨ ankten W¨ orter der L¨ ange n mit der Eigenschaft (11.2). ⊓ ⊔ Beispiel 11.4. Die Beziehung zwischen den Partitionen von 3 und den wachstumsbeschr¨ ankten W¨ ortern der L¨ange 3 zeigt folgende Tabelle Partitionen W¨orter {{1, 2, 3}} 111 {{1}, {2, 3}} 122 {{1, 2}, {3}} 112 121 {{1, 3}, {2}} {{1}, {2}, {3}} 123 Blockstruktur von Partitionen Wir klassifizieren Partitionen hinsichtlich ihrer Blockstruktur. Eine k-Partition von n hat den Typ 1k1 2k2 . . . nkn , wenn sie ki Bl¨ocke der M¨achtigkeit i enth¨alt. F¨ ur jede k-Partition vom Typ 1k1 2k2 . . . nkn gilt k1 + k2 + . . . + kn = k
und 1 · k1 + 2 · k2 + . . . n · kn = n.
(11.4)
Beispiel 11.5. Die Partitionen vom Typ 11 21 30 sind {{1}, {2, 3}}, {{2}, {1, 3}} und {{3}, {1, 2}}. Satz 11.6. Die Anzahl der k-Partitionen vom Typ 1k1 2k2 . . . nkn ist gleich n! . k1 !k2 ! . . . kn (1!)k1 (2!)k2 . . . (n!)kn
(11.5)
Beweis. Die k-Partitionen vom Typ 1k1 2k2 . . . nkn werden erhalten durch F¨ ullen des untenstehenden Ger¨ usts mit den n-Permutationen von n k1
k2
k3
z }| { z }| { z }| { | · | · | . . . | · | | · ·| · ·| . . . | · ·| | · · · | · · · | . . . | · · · | . . . Nach Korollar 10.14 ist die Anzahl dieser Permutationen gleich n!. Dieselbe Partition entsteht auf zwei Arten. Erstens, wenn Bl¨ocke gleicher Kardinalit¨at vertauscht werden, wof¨ ur es k1 !k2 ! . . . kn ! M¨oglichkeiten gibt. Zweitens, wenn die Elemente eines Blockes vertauscht werden, wof¨ ur (1!)k1 (2!)k2 . . . (n!)kn M¨ oglichkeiten existieren. ⊓ ⊔ Die Anzahl der Partitionen vom Typ 1k1 2k2 . . . nkn beschreibt die Anzahl der M¨ oglichkeiten, n unterscheidbare Kugeln auf k ununterscheidbare Beh¨ alter so zu verteilen, dass ki Beh¨alter jeweils i Kugeln enthalten.
11.2 Stirling-Zahlen
111
11.2 Stirling-Zahlen Stirling-Zahlen zweiter Art Die Anzahl der k-Partitionen von n heißt Stirling-Zahl zweiter Art und wird mit S(n, k) bezeichnet. Eine Partition von n kann h¨ochstens n Bl¨ocke enthalten. Also ist S(n, k) = 0, falls k > n. Satz 11.7. F¨ ur jede nat¨ urliche Zahl n gilt S(n, 1) = 1
und
S(n, n) = 1.
(11.6)
F¨ ur alle nat¨ urlichen Zahlen n und k mit 1 < k < n gilt S(n, k) = S(n − 1, k − 1) + k · S(n − 1, k).
(11.7)
Beweis. Die einzige 1-Partition von n ist {n} und eine einzige n-Partition von n ist {{1}, . . . , {n}}. Die Menge aller k-Partitionen von n wird in zwei Teilmengen zerlegt. Sei A die Menge aller k-Partitionen von n, die {n} enthalten, und sei B die Menge der u ¨ brigen k-Partitionen von n. Mit dem Additionsprinzip folgt S(n, k) = |A| + |B|. Jedes Element {P1 , . . . , Pk−1 , {n}} ∈ A wird durch Fortlassen von {n} zu einer (k − 1)-Partition {P1 , . . . , Pk−1 } von n − 1. Diese Zuordnung liefert eine bijektive Abbildung von A auf die Menge aller (k − 1)-Partitionen von n − 1. Mit dem Gleichheitsprinzip folgt |A| = S(n − 1, k − 1). Jede k-Partition P = {P1 , . . . , Pk } von n − 1 ist fortsetzbar zu n Partitionen P (1) , . . . , P (n) von B, so dass in P (i) der Block Pi um das Element i erweitert wird. Die Zuordnung (i, P ) 7→ P (i) liefert eine bijektive Abbildung des kartesischen Produkts von k und der Menge aller k-Partitionen von n − 1 auf die Menge B. Mit dem Multiplikations- und Gleichheitsprinzip folgt |B| = k · S(n − 1, k). ⊓ ⊔ Die Stirling-Zahl S(n, k) beschreibt die Anzahl der M¨oglichkeiten, n unterscheidbare Kugeln auf k ununterscheidbare Beh¨alter zu verteilen. Bell-Zahlen Die Anzahl der Partitionen einer n-elementigen Menge wird n-te Bell-Zahl genannt und mit B(n) bezeichnet. F¨ ur jede nat¨ urliche Zahl n gilt B(n) =
n X
S(n, k).
(11.8)
k=1
Die ersten f¨ unf Bell-Zahlen lauten B(1) = 1, B(2) = 2, B(3) = 5, B(4) = 15 und B(5) = 52. Ferner wird B(0) = 1 gesetzt. Die Bell-Zahl B(n) be¨ schreibt nach den S¨ atzen 5.5 und 5.6 die Anzahl der Aquivalenzen auf einer n-elementigen Menge.
112
11 Partitionen
Satz 11.8. F¨ ur jede nat¨ urliche Zahl n ≥ 1 gilt B(n) =
n X n−1 B(n − k). k−1
(11.9)
k=1
Beweis. Sei k eine nat¨ urliche Zahl mit 1 ≤ k ≤ n. Sei T = {i1 , . . . , ik−1 , n} eine k-Teilmenge von n. Die Partitionen von n, die T als Element enthalten, entsprechen den Partitionen von n − k. Die Anzahl solcher Partitionen ist definitionsgem¨ aß B(n − k). Die Anzahl aller k-Teilmengen von n, die n als Element besitzen, ist per definitionem n−1 k−1 . Mit dem Multiplikationsprinzip n−1 folgt, dass k−1 ·B(n−k) die Anzahl der Partitionen von n beschreibt, die eine k-Teilmenge von n der Form {i1 , . . . , ik−1 , n} als Element enthalten. Daraus folgt die Behauptung. ⊓ ⊔ Stirling-Zahlen erster und zweiter Art Die Stirling-Zahlen erster und zweiter Art sind eng verkn¨ upft. Satz 11.9. F¨ ur alle nat¨ urlichen Zahlen n und k mit n ≥ k gilt n X
S(n, l)s(l, k) =
l=k
n X
s(n, l)S(l, k) = δn,k ,
(11.10)
l=k
wobei δn,k das Kronecker-Symbol bezeichnet 1 falls n = k, δn,k = 0 sonst.
(11.11)
Der Beweis wird durch vollst¨andige Induktion nach n mithilfe der bewiesenen Formeln f¨ ur die Stirling-Zahlen gef¨ uhrt. Um den Satz in der Sprache der Linearen Algebra zu formulieren, betrachten wir eine n × n-Matrix A mit den Eintr¨ agen S(i, j) und eine n × n-Matrix B mit den Eintr¨agen s(i, j). Beide Matrizen sind untere Dreiecksmatrizen, denn im Falle i < j gilt S(i, j) = s(i, j) = 0. Korollar 11.10. F¨ ur die Stirling-Matrizen A und B gilt A = B −1 . Surjektive Abbildungen Satz 11.11. Die Anzahl der surjektiven Abbildungen von n auf k ist gleich k! · S(n, k). Beweis. Jede k-Partition P = {P1 , . . . , Pk } von n definiert eine surjektive Abbildung fP : n → k mit fP (x) = i
:⇐⇒
x ∈ Pi .
11.3 Zahlpartitionen
113
Die Komposition von fP mit einer Permutation π vom Grad k liefert nach Satz 6.6 eine surjektive Abbildung πfP : n → k. Seien P und Q k-Partitionen von n und π und σ Permutationen vom Grad k. Aus πfP = σfQ folgt P = Q und π = σ. Also gibt es nach dem Multiplikationsprinzip k! · S(n, k) surjektive Abbildungen der Form πfP von n auf k. Sei f : n → k eine surjektive Abbildung. Die Menge ihrer Urbilder, P = {f −1 (i) | i ∈ k}, ist eine k-Partition von n mit f = fP . ⊓ ⊔ Satz 11.12. Die Anzahl der surjektiven Abbildungen von n auf k ist gegeben durch k X k (−1)i (k − i)n . (11.12) i i=0 Beweis. Sei A die Menge aller Abbildungen von n nach k. Sei Ai die Menge derjeniger Abbildungen von n nach k, in deren Wertebereich das Element i ∈ n nicht enthalten ist. Sk Die Menge aller surjektiven Abbildungen von n auf k ist dann gleich A \ ( i=1 Ai ). Sei I eine Teilmenge T von k. Die Menge aller Abbildungen f von n nach k mit f (n) ∩ I = ∅ ist j∈I Aj . Diese Menge entspricht der Menge aller Abbildungen von n in eine (k − |I|)-elementige Menge. Letztere Menge hat nach Satz 10.20 die M¨achigkeit (k−|I|)n . Diese Zahl h¨angt nur von der M¨ achtigkeit von I ab. Also ist die spezialisierte Siebformel 9.12 anwendbar, so dass f¨ ur die Anzahl der surjektiven Abbildungen von n auf k gilt |A \ (
k [
i=1
Ai )| = k n +
k X
(−1)i
i=1
k X k k (k − i)n . (−1)i (k − i)n = i i i=0 ⊓ ⊔
Die Stirling-Zahlen zweiter Art sind verm¨oge der S¨atze 11.11 und 11.12 direkt berechenbar. Korollar 11.13. F¨ ur alle nat¨ urlichen Zahlen n und k mit 1 ≤ k ≤ n gilt S(n, k) =
k 1 X k (−1)i (k − i)n . k! i=0 i
(11.13)
11.3 Zahlpartitionen Geordnete Zahlpartitionen Ein Wort x1 x2 . . . xk der L¨ ange k u ¨ ber N heißt eine geordnete k-Zahlpartition von n, wenn x1 +x2 +. . .+xk = n. Die Anzahl der geordneten k-Zahlpartitionen von n wird mit p(n, k) bezeichnet. Es gilt p(n, k) = 0, falls k > n.
114
11 Partitionen
Beispiel 11.14. Die geordneten k-Zahlpartitionen von 5 lauten k 1 2 3 4 5
geord. k-Zahlpartitionen von 5 5 14, 41, 23, 32 113, 131, 311, 122, 212, 221 1112, 1121, 1211, 2111 11111
Satz 11.15. F¨ ur jede nat¨ urliche Zahl n gilt p(n, 1) = 1
und
p(n, n) = 1.
(11.14)
F¨ ur alle nat¨ urlichen Zahlen n und k mit 1 < k < n gilt n−1 p(n, k) = . k−1
(11.15)
Beweis. Die einzige geordnete 1-Zahlpartition von n ist n und die einzige geordnete n-Zahlpartition von n ist 11 . . . 1. Sei x = x1 x2 . . . xk eine geordnete k-Zahlpartition von n. Wir ordnen x ein Wort y = y1 y2 . . . yk−1 zu, wobei yi = x1 + . . . + xi ,
1 ≤ i ≤ k − 1.
Das Wort y ist eine (k − 1)-Kombination von n − 1, denn 1 ≤ x1 < x1 + x2 < . . . < x1 + x2 + . . . + xk−1 = n − xk ≤ n − 1. Umgekehrt sei y = y1 y2 . . . yk−1 eine (k − 1)-Kombination von n − 1. Wir weisen y ein Wort x = x1 x2 . . . xk zu, wobei x1 = y1 ,
xi = yi − yi−1 ,
f¨ ur 2 ≤ i ≤ k − 1,
und
xk = n − yk−1 .
Dieses Wort x ist per definitionem eine geordnete k-Zahlpartition von n. Diese Zuordnungen sind invers zueinander. Sie liefern eine Bijektion zwischen der Menge aller geordneten k-Zahlpartition von n auf die Menge aller (k − 1)Kombination von n − 1. Mit dem Gleichheitsprinzip ergibt sich die Behauptung. ⊓ ⊔ Beispiel 11.16. Die im Beweis des Satzes definierte Bijektion verdeutlicht die folgende Tabelle geord. 3-Zahlpartition von 5 2-Kombination von 4 113 12 131 14 34 311 122 13 23 212 221 24 Die Zahl p(n, k) beschreibt die Anzahl der M¨oglichkeiten, n ununterscheidbare Kugeln auf k unterscheidbare Beh¨alter so zu verteilen, dass jeder Beh¨alter mindestens eine Kugel enth¨alt.
11.3 Zahlpartitionen
115
Ungeordnete Zahlpartitionen Ein Wort x1 x2 . . . xk der L¨ ange k u ¨ ber N heißt eine ungeordnete k-Zahlpartition von n, wenn x1 ≤ x2 ≤ . . . ≤ xk und x1 + x2 + . . . + xk = n. Die Anzahl der ungeordneten k-Zahlpartitionen von n wird mit P (n, k) bezeichnet. Es gilt P (n, k) = 0, falls k > n. Beispiel 11.17. Die ungeordneten k-Zahlpartitionen von 5 lauten k 1 2 3 4 5
ungeord. k-Zahlpartitionen von 5 5 14, 23 113, 122 1112 11111
Satz 11.18. F¨ ur jede nat¨ urliche Zahl n gilt P (n, 1) = 1
und
P (n, n) = 1.
(11.16)
F¨ ur alle nat¨ urlichen Zahlen n und k mit 1 < k < n gilt P (n, k) = P (n − k, k) + P (n − 1, k − 1).
(11.17)
Beweis. Die einzige ungeordnete n-Zahlpartition von n ist 11 . . . 1 und die einzige ungeordnete 1-Zahlpartition von n ist n. Die Menge aller ungeordneten k-Zahlpartitionen von n wird in zwei Teilmengen zerlegt. Sei A die Menge aller ungeordneten k-Zahlpartitionen von n, die nur Zahlen ≥ 2 enthalten, und sei B die Menge der u ¨ brigen ungeordneten k-Zahlpartitionen von n. Mit dem Additionsprinzip folgt P (n, k) = |A| + |B|. Ein Wort x1 x2 . . . xk ∈ A wird zu einer ungeordneten k-Zahlpartition y1 y2 . . . yk von n−k, wenn von jedem xi Eins subtrahiert wird, also yi = xi −1. Diese Zuordnung liefert eine Bijektion von A auf die Menge aller ungeordneten k-Zahlpartitionen von n − k. Mit dem Gleichheitsprinzip ergibt sich |A| = P (n − k, k). Ein Wort x1 x2 . . . xk ∈ B beginnt definitionsgem¨aß mit x1 = 1 und wird zu einer ungeordneten (k − 1)-Zahlpartition x2 . . . xk von n − 1, wenn x1 weggelassen wird. Diese Zuordnung definiert eine bijektive Abbildung von B auf die Menge aller ungeordneten (k − 1)-Zahlpartitionen von n − 1. Mit dem Gleichheitsprinzip folgt |B| = P (n − 1, k − 1). ⊓ ⊔ Die Zahl P (n, k) spezifiziert die Anzahl der M¨oglichkeiten, n ununterscheidbare Kugeln auf k ununterscheidbare Beh¨alter so zu verteilen, dass jeder Beh¨alter wenigstens eine Kugel aufnimmt. Ferner l¨aßt sich P (n, k) als die Anzahl aller M¨ oglichkeiten interpretieren, die Zahl n als Summe von k positiven ganzen Zahlen darzustellen.
116
11 Partitionen
Beispiel 11.19. Die Zahl 10 kann auf P (10, 3) = 8 Arten als Summe von drei positiven ganzen Zahlen geschrieben werden 10 = 1 + 1 + 8 = 1 + 2 + 7 = 1 + 3 + 6 = 1 + 4 + 5 = 2 + 2 + 6 = 2 + 3 + 5 = 2 + 4 + 4 = 3 + 3 + 4. Die Z¨ ahlkoeffizienten P (n, k) sind unter den behandelten Z¨ahlkoeffizienten die einzigen, f¨ ur die keine explizite Berechnungsvorschrift bekannt ist.
Selbsttestaufgaben 11.1. Beweise den Satz 11.9. 11.2. Gegeben seien n Kugeln und r F¨ acher. Die Kugeln werden in die F¨ acher anhand einer Abbildung f : n → r platziert. Einerseits kann nach den Abbildungstypen klassifiziert werden, je nachdem, ob f injektiv, surjektiv oder bijektiv ist oder keine dieser Eigenschaften hat. Die Injektivit¨ at besagt, dass in jedes Fach h¨ ochstens eine Kugel kommt, die Surjektivit¨ at, dass mindestens eine Kugel in jedes Fach gelegt wird, und die Bijektivit¨ at, dass jedes Fach genau eine Kugel aufnimmt. Zum anderen kann danach klassifiziert werden, ob die Kugeln oder F¨ acher unterscheidbar oder ununterscheidbar sind. Diese Fragestellung f¨ uhrt auf insgesamt sechzehn F¨ alle, die in folgender Tabelle zusammengefasst sind: f beliebig f injektiv f surjektiv f bijektiv Kugeln gef¨ arbt F¨ acher gef¨ arbt Kugeln gef¨ arbt F¨ acher einfarbig Kugeln einfarbig F¨ acher gef¨ arbt Kugeln einfarbig F¨ acher einfarbig Trage die entsprechenden Anzahlen ein.
Teil III
Arithmetik
12 Die ganzen Zahlen
In diesem Kapitel wird die Arithmetik der ganzen Zahlen aus der Arithmetik der nat¨ urlichen Zahlen entwickelt. Es wird gezeigt, dass die Arithmetik der ganzen Zahlen die algebraische Struktur eines kommutativen Rings besitzt. Weitere Beispiele f¨ ur Ringe werden behandelt und Ringhomomorphismen sowie Unterringe werden eingef¨ uhrt. Abschließend wird kurz auf die Parallelisierung von Laufschleifen eingegangen.
12.1 Arithmetik der ganzen Zahlen Konstruktion der ganzen Zahlen Wir definieren eine Relation auf N0 × N0 durch (m, n) ≃ (u, v)
:⇐⇒
m + v = n + u.
(12.1)
¨ Lemma 12.1. Die Relation ≃ ist eine Aquivalenz auf N0 × N0 mit dem Vertretersystem ρ = {(n, 0) | n ∈ N0 } ∪ {(0, n) | n ∈ N}.
(12.2)
Beweis. Die erste Aussage ist leicht nachzurechen. Sei (m, n) ∈ N0 × N0 . Ist m = n, so ist (m, n) ≃ (0, 0). Ist m > n, dann gibt es definitionsgem¨aß ein l ∈ N mit m = n + l, also (m, n) ≃ (l, 0). Ist m < n, dann existiert per definitionem ein l ∈ N0 mit n = m + l, mithin ist (m, n) ≃ (0, l). Ferner sind je zwei Elemente von ρ in¨aquivalent. Also ist ρ ein Vertretersystem der ¨ Aquivalenz. ⊓ ⊔ ¨ ¨ Hier sind drei Aquivalenzklassen der obigen Aquivalenz (0, 1) = {(1, 0), (2, 1), (3, 2), (4, 3), . . .}, (0, 0) = {(0, 0), (1, 1), (2, 2), (3, 3), . . .}, (1, 0) = {(0, 1), (1, 2), (2, 3), (3, 4), . . .}.
120
12 Die ganzen Zahlen
Die Quotientenmenge von ≃ heißt Menge der ganzen Zahlen und wird mit Z ¨ bezeichnet. Die Aquivalenzklasse (m, n) soll intuitiv die ganze Zahl “m − n” darstellen. Addition und Multiplikation Auf der Menge der ganzen Zahlen werden Addition und Multiplikation definiert (m, n) + (u, v) := (m + u, n + v) (m, n) · (u, v) := (mu + nv, mv + nu).
(12.3) (12.4)
¨ Beide Operationen sind anhand von Repr¨asentanten der Aquivalenzklassen definiert. Deshalb ist zu zeigen, dass die Operationen wohldefiniert, d. h., unabh¨ angig von der Wahl der Repr¨asentanten, sind. Beispielsweise muss f¨ ur die ¨ aquivalenten Paare (1, 2) und (2, 3) sowie (3, 0) und (5, 2) gelten (1, 2) + (3, 0) = (2, 3) + (5, 2) (1, 2) · (3, 0) = (2, 3) · (5, 2). Satz 12.2. Die Addition und Multiplikation ganzer Zahlen sind wohldefiniert. Beweis. Wir zeigen, dass die Addition wohldefiniert ist. Seien (m, n) = (m′ , n′ ) und (u, v) = (u′ , v ′ ), d. h., m + n′ = m′ + n und u + v ′ = u′ + v. Dann folgt m + n′ + u + v ′ = m′ + n + u′ + v und somit (m + u, n + v) = (m′ + u′ , n′ + v ′ ), woraus sich definitionsgem¨aß (m, n) + (u, v) = (m′ , n′ ) + (u′ , v ′ ) ergibt. ⊓ ⊔ Die Menge der ganzen Zahlen wird unterteilt in die positiven ganzen Zahlen n := (n, 0),
n ∈ N,
(12.5)
die Null 0 := (0, 0) und die negativen ganzen Zahlen −n := (0, n),
n ∈ N.
(12.6)
Satz 12.3. F¨ ur alle ganzen Zahlen a, b und c gelten folgende Rechenregeln •
•
Kommutativgesetz: a+b = b+a
(12.7)
a·b = b·a
(12.8)
Assoziativgesetz: a + (b + c) = (a + b) + c
(12.9)
a · (b · c) = (a · b) · c
(12.10)
12.2 Ringe
•
Gesetze f¨ ur 0 und 1: a+0 = a a · 1 = a,
•
(12.11) (12.12)
falls a 6= 0.
Distributivgesetz: a · (b + c) = a · b + a · c (a + b) · c = a · c + a · c
•
121
(12.13) (12.14)
K¨ urzungsregeln: a+b=a+c ⇒ b=c a · b = a · c ⇒ b = c,
falls a 6= 0.
(12.15) (12.16)
Die aus der Schulmathematik bekannte Regel “Punkt- vor Strichrechnung” wird durch das Distributivgesetz beschrieben. Lineare Ordnung Die lineare Ordnung ≤ auf der Menge der nat¨ urlichen Zahlen l¨asst sich fortsetzen auf die Menge der ganzen Zahlen a≤b
:⇐⇒
b − a ∈ N0
f¨ ur alle a, b ∈ Z.
(12.17)
Es handelt sich wirklich eine Fortsetzung, denn f¨ ur alle nat¨ urlichen Zahlen a und b gilt a ≤ b in N0
⇐⇒
b − a ∈ N0
⇐⇒
a ≤ b in Z.
(12.18)
12.2 Ringe Wir stellen die wichtigsten Grundeigenschaften von Ringen zusammen. Definition von Ringen Ein Ring ist ein Quintupel (R, +, ·, 0, 1), bestehend aus einer nichtleeren Menge R, einer Addition + : R × R → R : (a, b) 7→ a + b, einer Multiplikation · : R × R → R : (a, b) 7→ a · b und zwei Elementen 0, 1 ∈ R, wobei folgende Rechenregeln gelten: • • •
Die Addition ist kommutativ, d. h., a + b = b + a f¨ ur alle a, b ∈ R. Die Addition ist assoziativ, d. h., (a+ b)+ c = a+ (b + c) f¨ ur alle a, b, c ∈ R. Das Element 0 is additiv neutral, d. h., a + 0 = a f¨ ur alle a ∈ R.
122
• • • •
12 Die ganzen Zahlen
Zu jedem Element a ∈ R gibt es ein b ∈ R mit a + b = 0 f¨ ur alle a, b ∈ R. Ein solches Element b wird (additives) Inverses von a genannt. Die Multiplikation ist assoziativ, d. h., (a·b)·c = a·(b·c) f¨ ur alle a, b, c ∈ R. Das Element 1 is multiplikativ neutral, d. h., a · 1 = a = 1 · a f¨ ur alle a ∈ R. Die Multiplikation ist distributiv u ¨ber der Addition, d. h., a · (b + c) = a · b + a · c und (a + b) · c = a · c + b · c f¨ ur alle a, b, c ∈ R.
Das Element 0 heißt Null und das Element 1 Eins in R. Wenn keine Verwechslungen zu bef¨ urchten sind, wird ein Ring (R, +, ·, 0, 1) mit (R, +, ·) oder noch k¨ urzer mit R bezeichnet. Das Produkt a · b wird auch ab geschrieben. Ein Ring R heißt kommutativ , wenn seine Multiplikation kommutativ ist. Aus dem Satz 12.3 erhalten wir sofort den folgenden Satz 12.4. Die Menge der ganzen Zahlen bildet zusammen mit der Addition (12.3) und der Multiplikation (12.4) einen kommutativen Ring. Lemma 12.5. Sei R ein Ring. • • •
Die Null und die Eins in R sind eindeutig bestimmt. Jedes Element a ∈ R hat ein eindeutig bestimmtes additives Inverses, es wird mit −a bezeichnet. F¨ ur alle Elemente a, b ∈ R gilt a0 = 0 = 0a, −(−a) = a, (−a)b = a(−b) = −ab, (−a)(−b) = ab.
Beweis. Seien 0 und 0′ Nullen in R. Dann gilt 0′ = 0 + 0′ , weil 0 neutral ist, und 0 + 0′ = 0, weil 0′ neutral ist. Der Beweis f¨ ur die Eins erfolgt analog. F¨ ur additive Inverse b und c von a ∈ R gilt definitionsgem¨aß b = b + 0 = b + (a + c) = (b + a) + c = 0 + c = c. Aus 0 = 0 + 0 folgt mit dem Distributivgesetz a0 = a(0 + 0) = a0 + a0. Da 0 neutral ist, ergibt sich a0 + 0 = a0 + a0. Wird auf beiden Seiten −(a0) addiert, erhellt sich a0 = 0. Analog wird 0a = 0 gezeigt. Nach Definition ist −(−a) das additive Inverse von −a, d. h. (−a) + (−(−a)) = 0. Wird auf beiden Seiten a addiert, folgt −(−a) = a. Es gilt ab + (−a)b = (a + (−a))b = 0b = 0. Also folgt −ab = (−a)b. Analog wird −(ab) = a(−b) bewiesen. Mit den letzten beiden Aussagen ergibt sich (−a)(−b) = −((−a)b) = −(−(ab)) = ab. ⊓ ⊔ Die Summe a + (−b) wird im Folgenden auch als Differenz a − b geschrieben. Vielfache und Potenzen von Ringelementen Sei R ein Ring. Die nichtnegativen Vielfachen von a ∈ R werden induktiv definiert: • •
0a = 0, (n + 1)a = a + na f¨ ur alle n ∈ N0 .
12.3 Beispiele f¨ ur Ringe
123
Die negativen Vielfachen von a ∈ R werden mithilfe des additiven Inversen von a festgelegt (−n)a = n(−a) f¨ ur alle n ∈ N0 .
(12.19)
Die nichtnegativen Potenzen von a ∈ R werden induktiv definiert: • •
a0 = 1, an+1 = a · an f¨ ur alle n ∈ N0 .
Lemma 12.6. Sei R ein Ring und seien a, b ∈ R. •
F¨ ur alle ganzen Zahlen m und n gilt ma + na = (m + n)a, m(na) = (mn)a, n(a + b) = na + nb. (12.20)
•
F¨ ur alle nat¨ urlichen Zahlen m und n gilt am · an = am+n und (am )n = amn .
•
(12.21)
Ist R kommutativ, dann gilt f¨ ur alle nat¨ urlichen Zahlen n (a · b)n = an · bn .
(12.22)
12.3 Beispiele fu ¨r Ringe Funktionenringe Sei X eine nichtleere Menge und R ein Ring. Die Menge RX aller Abbildungen von X nach R bildet einen Ring mit der Addition (f + g)(x) = f (x) + g(x)
f¨ ur alle x ∈ X
(12.23)
und der Multiplikation (f g)(x) = f (x)g(x)
f¨ ur alle x ∈ X.
(12.24)
Die Null ist die Nullabbildung X → R : x 7→ 0 und die Eins die Einsabbildung X → R : x 7→ 1. Das additive Inverse von f ∈ RX ist −f mit (−f )(x) = −f (x)
f¨ ur alle x ∈ X.
(12.25)
Der Ring RX heißt Funktionenring von X nach R. Er ist kommutativ, sofern R kommutativ ist.
124
12 Die ganzen Zahlen
Beispiel 12.7. Wir betrachten den Ring R = {0, 1} mit den Verkn¨ upfungen +01 0 01 1 10
· 01 000 101
und
Der Funktionenring R{0,1} besteht aus den Elementen a f1 (a) f2 (a) f3 (a) f4 (a) 0 0 0 1 1 1 0 1 0 1 Die Verkn¨ upfungstafeln von R{0,1} sind + f1 f2 f3 f4
f1 f1 f2 f3 f4
f2 f2 f1 f4 f3
f3 f3 f4 f1 f2
f4 f4 f3 f2 f1
· f1 f2 f3 f4
f1 f1 f1 f1 f1
f2 f1 f2 f1 f2
f3 f1 f1 f3 f3
f4 f1 f2 f3 f4
Direkte Produkte Seien (R, +, ·, 0, 1) und (R′ , ⊕, ⊙, 0′ , 1′ ) Ringe. Das direkte Produkt R × R′ bildet einen Ring mit komponentenweiser Addition ((a, a′ ), (b, b′ )) 7→ (a + b, a′ ⊕ b′ )
(12.26)
und komponentenweiser Multiplikation (Hadamard-Produkt) ((a, a′ ), (b, b′ )) 7→ (a · b, a′ ⊙ b′ ).
(12.27)
Die Null ist (0, 0′ ) und die Eins ist (1, 1′ ). Der Ring R × R′ ist kommutativ, wenn R und R′ kommutativ sind. Matrizenringe Sei R ein Ring und n ∈ N. Die Menge aller n × n-Matrizen mit Koeffizienten aus R bildet einen Ring mit der Addition (aij ) + (bij ) = (aij + bij )
(12.28)
n X (aij )(bij ) = ( aik bkj ).
(12.29)
und der Multiplikation
k=1
Die Null ist die Nullmatrix und die Eins die Einheitsmatrix. Dieser Ring wird mit Rn×n bezeichnet und heißt Matrizenring der n × n-Matrizen u ¨ber R. Der Ring Rn×n ist im Falle n = 1 kommutativ.
12.4 Homomorphismen
125
12.4 Homomorphismen Homomorphismen sind Struktur erhaltende Abbildungen zwischen algebraischen Strukturen desselben Typs. Seien (R, +, ·, 0, 1) und (R′ , ⊕, ⊙, 0′ , 1′ ) Ringe. Eine Abbildung ϕ : R → R′ heißt ein (unit¨arer) Homomorphismus, wenn f¨ ur alle a, b ∈ R gilt ϕ(a + b) = ϕ(a) ⊕ ϕ(b), ϕ(a · b) = ϕ(a) ⊙ ϕ(b) und ϕ(1) = 1′ . Lemma 12.8. Seien R und R′ Ringe. F¨ ur jeden Homomorphismus ϕ : R → R′ gilt ϕ(0) = 0′ und ϕ(−a) = −ϕ(a) f¨ ur alle a ∈ R. Beweis. Per definitionem gilt ϕ(0) = ϕ(0 + 0) = ϕ(0) ⊕ ϕ(0). Wird auf beiden Seiten −ϕ(0) addiert, so folgt 0′ = ϕ(0). Sei a ∈ R. Mit der ersten Aussage ergibt sich 0′ = ϕ(0) = ϕ(a + (−a)) = ϕ(a) ⊕ ϕ(−a). Wegen Lemma 12.5 ist das additive Inverse von ϕ(a) eindeutig bestimmt, woraus −ϕ(a) = ϕ(−a) folgt. ⊓ ⊔ Ein injektiver Homomorphismus heißt Monomorphismus, ein surjektiver Homomorphismus Epimorphismus und ein bijektiver Homomorphismus Isomorphismus. Ein Homomorphismus ϕ : R → R mit gleicher Quell- und Zielmenge wird Endomorphismus genannt. Ein bijektiver Endomorphismus heißt Automorphismus. Zwei Ringe R und R′ heißen isomorph, wenn es einen Isomorphismus ϕ : R → R′ gibt. Satz 12.9. Der einzige Endomorphismen φ : Z → Z ist die identische Abbildung. Beweis. Sei ϕ : Z → Z ein Endomorphismus. Wegen ϕ(1) = 1 muss f¨ ur jede nat¨ urliche Zahl n gelten ϕ(n) = ϕ(n1) = ϕ(1 + . . . + 1) = ϕ(1) + . . . + ϕ(1) = nϕ(1) = n1 = n. Mit Lemma 12.8 folgt ϕ(−n) = −ϕ(n) = −n. Also ist ϕ die identische Abbildung. ⊓ ⊔
Der Kern eines Homomorphismus ϕ : R → R′ ist die Menge aller Elemente in R, die auf die Null abgebildet werden ker ϕ = {a | a ∈ R ∧ ϕ(a) = 0′ }.
(12.30)
Ein Unterring eines Rings R ist eine nichtleere Teilmenge U von R, die zusammen mit den Operationen von R einen Ring bildet und dabei die Null und Eins von R enth¨ alt. Lemma 12.10. Ist ϕ : R → R′ ein Homomorphismus, dann ist das Bild ϕ(R) ist ein Unterring von R′ . Beweis. Sei U = ϕ(R). Wegen ϕ(0) = 0′ und ϕ(1) = 1′ liegen die Null und Eins von R′ in U . Seien a′ , b′ ∈ U . Dann gibt es a, b ∈ R mit ϕ(a) = a′ und ϕ(b) = b′ . Definitionsgem¨ aß folgt a′ ⊕ b′ = ϕ(a) ⊕ ϕ(b) = ϕ(a + b) ∈ U und ′ ′ a ⊙ b = ϕ(a) ⊙ ϕ(b) = ϕ(a · b) ∈ U . Nach Lemma 12.8 gilt −a′ = −ϕ(a) = ϕ(−a) ∈ U . Die f¨ ur R′ geltenden Rechenregeln gelten auch f¨ ur U . Also ist U ein Unterring von R′ . ⊓ ⊔
126
12 Die ganzen Zahlen
12.5 Schleifenparallelisierung Wir betrachten die zweifach geschachtelte Laufschleife L1 : for I1 = 1 to 4 do L2 : for I2 = 1 to 4 do H(I): A(I1 , I2 ) := A(I1 , I2 − 1) + A(I1 − 1, I2 ) end for end for Diese Laufschleife wird in Form von Iterationen ausgef¨ uhrt. In jeder Iteration H(i) wird der Indexvektor I mit Werten I1 = i1 und I2 = i2 belegt und der zugeh¨ orige Rumpf A(i1 , i2 ) = A(i1 , i2 − 1)+ A(i1 − 1, i2) ausgef¨ uhrt. Die Iterationen werden gem¨ aß der Belegungen des Indexvektors in aufsteigender lexikographischer Reihenfolge ausgewertet: (1, 1)T , (1, 2)T , . . . , (2, 1)T , . . . , (4, 4)T . Um die Zuweisung A(i1 , i2 ) = A(i1 , i2 − 1) + A(i1 − 1, i2 ) auszuf¨ uhren, m¨ ussen den Variablen A(i1 , i2 − 1) und A(i1 − 1, i2) bereits Werte zugewiesen worden sein. Diese Abh¨ angigkeiten zwischen den Iterationen zeigt Abb. 12.1.
4
6
r -r -r -r 6 6 6 6
@ r -r -r -r @ @ 6 6 6 6 @ r@ - r - r - r 2 6@ 6 6 6 @ r - r@ - r - r 1 @ @c @ 3
1
2
3
4
Abb. 12.1. Die Abh¨ angigkeiten zwischen den Iterationen der Laufschleife und ein durch den Vektor c = (1, 1)T definierter linearer Schedule.
Laufschleifen werden anhand von Schedules parallelisiert. Ein Schedule f¨ ur eine n-fach geschachtelte Laufschleife ist eine Abbildung σ : Zn → Z, die jeder Iteration H(i) einen Ausf¨ uhrungszeitpunkt σ(i) zuordnet. Ein Schedule heißt kausal, wenn σ(i) < σ(j) gilt, falls H(j) von H(i) abh¨angt. Beispielsweise definiert die Abbildung σ : Z2 → Z : i → i1 + i2 einen Schedule f¨ ur obige Laufschleife. Diese Abbildung ist linear und wird anhand der Zuordnung σ(i) = cT i, c = (1, 1)T , definiert. Der lineare Schedule σ definiert eine Hyperebene {x ∈ R2 | cT x = const.}, auf der der Vektor c senkrecht steht
12.5 Schleifenparallelisierung
127
(Abb. 12.1). Alle auf einer Hyperebene liegenden Iterationen werden zum selben Zeitpunkt ausgef¨ uhrt. Der Schedule ist kausal, denn σ(i1 , i2 ) > σ(i1 −1, i2) und σ(i1 , i2 ) > σ(i1 , i2 − 1).
Selbsttestaufgaben 12.1. (Monotonie von Addition und Multiplikation) Zeige, dass f¨ ur beliebige ganze Zahlen a und b aus a ≤ b stets a + c ≤ b + c f¨ ur alle c ∈ Z und ac ≤ bc f¨ ur alle c ∈ N0 folgt. 12.2. (K¨ urzungsregel) Zeige, dass f¨ ur beliebige ganze Zahlen a, b und c aus a 6= 0 und ab = ac stets b = c folgt. 12.3. Beweise die Potenzgesetze 12.6. 12.4. (Binomialsatz) Zeige, dass in einem kommutativen Ring r f¨ ur alle Elemente a, b ∈ R und alle nat¨ urlichen Zahlen n gilt (a + b)n =
n X n
i
i=0
ai bn−i .
12.5. (Multinomialsatz) Sei R ein kommutativer Ring. Zeige, dass f¨ ur alle Elemente a1 , . . . , an ∈ R und alle nat¨ urlichen Zahlen k gilt k
(a1 + . . . + an ) =
X
k ak1 · · · aknn , k1 , . . . , k n 1
wobei u ¨ ber alle nichtnegativen ganzen Zahlen k1 , . . . , kn mit k1 + . . . + kn = k summiert wird. 12.6. Sei R ein Ring. Eine Teilmenge I von R heißt ein Ideal von R, wenn (I, +) eine Untergruppe von (R, +) ist und f¨ ur alle i ∈ I und r ∈ R gilt ir ∈ I und ri ∈ I. Zeige, dass der Kern eines Ringhomomorphismus’ φ : R → S ein Ideal von R ist. 12.7. Sei R ein Ring und I ein Ideal von R. Zeige, dass die Menge R/I = {r + I | r ∈ R}, mit r + I = {r + i | i ∈ I}, zusammen mit der Addition (r + I) + (s + I) = (r + s) + I,
r, s ∈ R,
und der Multiplikation (r + I) · (s + I) = (rs) + I,
r, s ∈ R,
einen Ring mit dem Einselement 1 + I definiert. Der Ring R/I wird Restklassenring von R nach I genannt. 12.8. Sei R ein Ring. Wir definieren eine neue Multiplikation ◦ : R × R → R durch r ◦ s = sr, wobei sr das Produkt aus (R, +, ·) bedeutet. Zeige, dass (R, +, ◦) ein Ring ist. Dieser Ring heißt der zu R entgegengesetzte Ring und wird mit Ropp (R-opposite) bezeichnet. Wann ist R = Ropp ?
128
12 Die ganzen Zahlen
12.9. Zeige, dass folgende gelten: Z + iZ = {a + ib | a, b ∈ Z} ist ein √ Aussagen √ Unterring von C. Q + 2Q = {a + 2b | a, b ∈ Q} ist ein Unterring von R. F¨ ur n ∈ Z, n 6= 0, ist Rn = { nmk | m ∈ Z, k ∈ N} ein Unterring von Q. 12.10. Sei R ein kommutativer Ring und AT die zu A ∈ Rn×n transponierte Matrix. Zeige, dass A 7→ AT einen Isomorphismus von Rn×n nach [Rn×n ]opp definiert.
13 Teilbarkeitslehre
In diesem Kapitel wird die Teilbarkeitslehre im Ring der ganzen Zahlen entwickelt. Sie gr¨ undet sich auf der Operation der Division mit Rest, mit deren Hilfe gr¨ oßte gemeinsame Teiler und kleinste gemeinsame Vielfache von ganzen Zahlen berechnet werden k¨onnen. Zudem wird die Zerlegung von ganzen Zahlen in Primfaktoren behandelt. Diese Zerlegung wird dazu benutzt, um W¨ orter u urliche Zahlen zu kodieren. ¨ ber einem endlichen Alphabet durch nat¨
13.1 Division mit Rest Satz 13.1. (Divisionssatz) Zu jedem Paar ganzer Zahlen a und b 6= 0 gibt es eindeutig bestimmte, ganze Zahlen q und r mit der Eigenschaft a = qb + r
und
0 ≤ r ≤ |b| − 1.
(13.1)
Beweis. Wir zeigen die Existenz zun¨acht f¨ ur den Fall, dass a und b nichtnegativ sind. Im Falle a < b erhalten wir die Darstellung f¨ ur q = 0 und r = a und im Falle a = b ergibt sich die Darstellung f¨ ur q = 1 und r = 0. Sei die Existenz der Darstellung f¨ ur alle nichtnegativen ganzen Zahlen < a bewiesen. O.B.d.A. k¨ onnen wir a > b annehmen. Wir betrachten die Zahl a − b > 0. Nach Induktionsannahme gibt es ganze Zahlen q1 und r mit a − b = q1 b + r und 0 ≤ r < b. Folglich ist a = (q1 + 1)b + r und somit die Existenz der Darstellung f¨ ur nichtnegative a und b gezeigt. Aus der Darstellung f¨ ur nichtnegative ganze Zahlen a und b folgt a = (−q)(−b)+ r, −a = (−q − 1)b + (b − r) und −a = (q + 1)(−b) + (b − r). Damit ist die Existenz bewiesen. Wir zeigen die Eindeutigkeit. Angenommen, es g¨abe zwei Darstellungen a = qb + r und a = q ′ b + r′ mit ganzen Zahlen q, q ′ , r, r′ , 0 ≤ r, r′ ≤ |b| − 1. Dies bedeutet (q − q ′ )b = r′ − r. Wegen −(|b| − 1) ≤ r′ − r ≤ |b| − 1 folgt r′ − r = 0, also (q − q ′ )b = 0. Mit der K¨ urzungsregel ergibt sich q = q ′ . ⊓ ⊔ Beispiel 13.2. F¨ ur a = 9 und b = 4 gilt 9 = 2 · 4 + 1, 9 = (−2) · (−4) + 1, −9 = (−3) · 4 + 3 und −9 = 3 · (−4) + 3.
130
13 Teilbarkeitslehre
In der Darstellung (13.1) wird die Zahl q Quotient von a modulo n und die Zahl r Rest von a modulo b genannt. F¨ ur die Infixoperatoren a div b := q
und a mod b := r,
b 6= 0,
(13.2)
gilt a = (a div b) · b + (a mod b),
b 6= 0.
(13.3)
Der gr¨ oßte gemeinsame Teiler Seien a, b ∈ Z. Wir sagen, a teilt b, kurz a | b, wenn es eine ganze Zahl c gibt mit ac = b. Diese Relation ist reflexiv und transitiv, aber nicht antisymmetrisch, denn es gilt a | (−a) und (−a) | a. Diese Relation hat 0 als gr¨oßtes und ±1 als minimale Elemente. Seien a1 , . . . , an ganze Zahlen. Eine ganze Zahl d heißt gr¨oßter gemeinsamer Teiler (ggT) von a1 , . . . , an , wenn • •
d ein gemeinsamer Teiler von a1 , . . . , an ist und jeder ganzzahlige Teiler von a1 , . . . , an auch d teilt.
Lemma 13.3. Der ggT von ganzen Zahlen a1 , . . . , an ist eindeutig bestimmt bis auf das Vorzeichen. Zu ganzen Zahlen a1 , . . . , an gibt es also einen eindeutig bestimmten, nichtnegativen ggT, der mit (a1 , . . . , an ) bezeichnet wird. Satz 13.4. F¨ ur alle ganzen Zahlen a, b und c gelten folgende Rechenregeln: • • • •
Kommutativgesetz: (a, b) = (b, a).
(13.4)
(a, (b, c)) = ((a, b), c).
(13.5)
(a, a) = |a|.
(13.6)
Assoziativgesetz:
Idempotenzgesetz:
Gesetze f¨ ur 0 und 1: (0, a) = |a|
• • •
und
(1, a) = 1.
(13.7)
Distributivgesetz: a · (b, c) = (ab, ac).
(13.8)
(a, b) = (|a|, |b|).
(13.9)
Absolutgesetz:
Restegesetz: (a, b) = (b, a mod b),
b 6= 0.
(13.10)
13.2 Der euklidische Algorithmus
131
13.2 Der euklidische Algorithmus Der ggT ganzer Zahlen wird mithilfe des euklidischen Algorithmus (Euklid, ca. 365-300 v.Chr.) berechnet. Seien a und b 6= 0 ganze Zahlen. Wir setzen x0 = a und x1 = b und erhalten eine Folge ganzen Zahlen xi durch sukzessive Division mit Rest x0 = q1 x1 + x2 x1 = q2 x2 + x3 x2 = q3 x3 + x4
(13.11)
··· Satz 13.5. Seien a und b 6= 0 ganze Zahlen. In (13.11) gibt es eine Gleichung xn = qn+1 xn+1 + xn+2 mit xn+1 6= 0 und xn+2 = 0. Die Zahl xn+1 ist der ggT von a und b. Beweis. Die Folge der Reste f¨allt streng monoton |x1 | > x2 > . . . ≥ 0. Also existiert in der Folge eine Gleichung xn = qn+1 xn+1 + xn+2 mit xn+1 6= 0 und xn+2 = 0. Sei d = xn+1 . Wir zeigen, dass d jede Zahl xi , 0 ≤ i ≤ n + 1, teilt. Der Induktionsanfang ist klar. Sei die Aussage f¨ ur alle Zahlen xj mit j ≥ i schon gezeigt. Wegen xi−1 = qi xi + xi+1 ist d nach Induktionsannahme auch ein Teiler von xi−1 . Somit teilt d auch x0 = a und x1 = b. Sei c ein Teiler von a und b. Wir zeigen, dass c jede Zahl xi , 0 ≤ i ≤ n + 1, teilt. Der Induktionsanfang ist klar. Sei die Aussage f¨ ur alle Zahlen xj mit j ≤ i schon bewiesen. Wegen xi−1 = qi xi +xi+1 ist c nach Induktionsannahme auch ein Teiler von xi+1 . Folglich teilt c auch xn+1 = d. ⊓ ⊔ Das obige Verfahren f¨ uhrt auf den euklidischen Algorithmus (13.1). Algorithmus 13.1 Euklidischer Algorithmus Eingabe: ganze Zahlen a und b > 0 Ausgabe: ggT von a und b 1: x := a 2: y := b 3: while y 6= 0 do 4: x := y {Schleifeninvariante {(x, y) = (a, b)}} 5: y := x mod y 6: end while 7: return x
132
13 Teilbarkeitslehre
Beispiel 13.6. F¨ ur a = 385 und b = 252 liefert der euklidische Algorithmus 386 = 1 · 252 + 133 252 = 1 · 133 + 119 133 = 1 · 119 + 14 119 = 8 · 14 + 7 14 = 2 · 7 + 0.
Also ist (385, 252) = 7. Satz 13.7. F¨ ur alle ganzen Zahlen a1 , . . . , an gilt (a1 , . . . , an ) = ((a1 , . . . , an−1 ), an ).
(13.12)
Beweis. Seien dn−1 = (a1 , . . . , an−1 ) und dn = (dn−1 , an ). Es wird gezeigt, dass dn der ggT von a1 , . . . , an ist. Erstens ist dn ein Teiler von a1 , . . . , an , denn dn teilt an und dn−1 und deshalb auch a1 , . . . , an−1 . Zweitens sei c ein Teiler von a1 , . . . , an . Dann ist c ein Teiler von an und des ggT dn−1 von a1 , . . . , an−1 . Also ist c auch ein Teiler des ggT dn von an und dn−1 . ⊓ ⊔ Beispiel 13.8. Mit 13.6 folgt (385, 252, 707) = ((385, 252), 707) = (7, 707) = 7. Satz 13.9. (Bezout) Der ggT ganzer Zahlen a1 , . . . , an ist als ganzzahlige Linearkombination dieser Zahlen darstellbar, d. h. es gibt ganze Zahlen s1 , . . . , sn mit (a1 , . . . , an ) = s1 a1 + . . . + sn an .
(13.13)
Beweis. Wir benutzen vollst¨andige Induktion nach n. Sei n = 2. Wir zeigen mit dem euklidischen Algorithmus (13.11), dass d als ganzzahlige Linearkombination von konsekutiven Zahlen xi und xi+1 , 0 ≤ i ≤ n−1, darstellbar ist. Es gilt d = xn−1 −qn xn . Sei d = sxi +txi+1 mit s, t ∈ Z. Wegen xi−1 = qi xi +xi+1 folgt d = txi−1 + (s − qi )xi . Daraus folgt, dass d als ganzzahlige Linearkombination von x0 = a und x1 = b darstellbar ist. Sei n ≥ 2 und seien a1 , . . . , an+1 ganze Zahlen. Dann gilt (a1 , . . . , an , an+1 ) = ((a1 , . . . , an ), an+1 ), nach (13.12) = s(a1 , . . . , an ) + sn+1 an+1 , nach Ind.anfang = (ss1 )a1 + . . . + (ssn )an + sn+1 an+1 , Damit ist die Aussage bewiesen.
nach Ind.ann. ⊓ ⊔
Der ggT von a und b wird als Linearkombination von a und b durch sukzessives r¨ uckw¨ artiges Einsetzen in den euklidischen Algorithmus erhalten. Dieser so erg¨ anzte Algorithmus wird erweiterter euklidischen Algorithmus genannt.
13.3 Primfaktorisierung
133
Beispiel 13.10. Aus der Berechnung des ggT von 385 und 252 in 13.6 ergibt sich durch r¨ uckw¨ artiges Einsetzen 7 = 119 − 8 · 14 = 119 − 8 · (133 − 1 · 119) = (−8) · 133 + 9 · 119
= (−8) · 133 + 9 · (252 − 1 · 133) = 9 · 252 + (−17) · 133 = 9 · 252 + (−17) · (385 − 1 · 252) = (−17) · 385 + 26 · 252.
Das kleinste gemeinsame Vielfache Seien a1 , . . . , an ganze Zahlen. Eine ganze Zahl k heißt kleinstes gemeinsames Vielfaches (kgV) von a1 , . . . , an , wenn • •
k ein gemeinsames Vielfaches von a1 , . . . , an ist und jedes ganzzahlige Vielfache von a1 , . . . , an ein Vielfaches von k ist.
Lemma 13.11. Das kgV von ganzen Zahlen a1 , . . . , an ist eindeutig bestimmt bis auf das Vorzeichen. Zu ganzen Zahlen a1 , . . . , an gibt es also ein eindeutig bestimmtes, nichtnegatives kgV, das mit [a1 , . . . , an ] bezeichnet wird. Satz 13.12. F¨ ur alle ganzen Zahlen a1 , . . . , an gilt [a1 , . . . , an ] = [[a1 , . . . , an−1 ], an ].
(13.14)
13.3 Primfaktorisierung Eine ganze Zahl p > 1 heißt prim oder eine Primzahl , wenn p nur die trivialen Teiler ±1 und ±p besitzt. Andernfalls heißt p zusammengesetzt. Die ersten zehn Primzahlen lauten 2, 3, 5, 7, 11, 13, 17, 19, 23, 29. Beispiele 13.13. Es gibt zwei ber¨ uhmte Zahlenfolgen, die Primzahlen enthalten: •
Die Fermat-Zahlen (Pierre de Fermat, 1601-1665) sind n
fn = 22 + 1,
n ≥ 0.
(13.15)
Die ersten f¨ unf Fermat-Zahlen sind prim: f0 = 3, f1 = 5, f2 = 17, f3 = 257 und f4 = 65537. Die n¨achste Fermat-Zahl hat den Teiler 641. Bis heute sind keine weiteren Fermat-Primzahlen bekannt. Die Zahl f31 ist die kleinste Fermat-Zahl, f¨ ur die unbekannt ist, ob sie prim ist.
134
•
13 Teilbarkeitslehre
Die Mersenne-Zahlen (Marin Mersenne, 1588-1648) sind mn = 2n − 1,
n ≥ 1.
(13.16)
Eine Mersenne-Zahl mn kann nur dann prim sein, wenn n prim ist, denn aus d | n folgt stets (2d − 1) | (2n − 1). F¨ ur die ersten 37 Primzahlen p ist bekannt, ob mp prim sind. Erst k¨ urzlich wurde eine noch gr¨oßere Mersenne-Primzahl, m6972593 , mit mehr als zwei Millionen Dezimalstellen entdeckt. Ganze Zahlen a1 , . . . , an heißen teilerfremd oder relativ prim, wenn sie ggT 1 haben. Lemma 13.14. Sei p eine Primzahl und seien a1 , . . . , an ganze Zahlen. Teilt p das Produkt a1 · . . . · an , dann teilt p einen der Faktoren ai . Beweis. Wir verwenden vollst¨andige Induktion nach n. Sei n = 2. Angenommen, p teile das Produkt a1 a2 , aber nicht a1 . Da p prim ist, sind p und a1 teilerfremd. Also gibt es nach dem Satz von Bezout ganze Zahlen s und t mit 1 = sp + ta1 . Durch Multiplizieren mit a2 ergibt sich a2 = sa2 p + ta1 a2 . Da p die Produkte a1 a2 und sa2 p teilt, teilt p auch a2 . Sei n ≥ 2. Angenommen, p teile das Produkt a1 · . . . · an+1 . Wenn p das Teilprodukt a1 · . . . · an teilt, dann folgt mit der Induktionsannahme, dass p einen der Faktoren ai , 1 ≤ i ≤ n, teilt. Andernfalls sind p und a1 · . . . · an teilerfremd und wie im Induktionsanfang wird gezeigt, dass p die Zahl an+1 teilt. ⊓ ⊔ Fundamentalsatz der Arithmetik Satz 13.15. Jede nat¨ urliche Zahl n ≥ 2 ist darstellbar als ein Produkt von Primzahlen. Diese Darstellung ist eindeutig bis auf die Reihenfolge der Faktoren. Beweis. Die Existenz der Darstellung wird durch vollst¨andige Induktion bewiesen. Im Falle n = 2 ist die Aussage klar. Sei n > 2. Ist n prim, dann ist nichts zu beweisen. Andernfalls l¨asst sich n darstellen als Produkt n = l · m nat¨ urlicher Zahlen l und m mit 2 ≤ l, m < n. Nach Induktionsannahme gibt es Darstellungen f¨ ur l und m, weshalb es auch eine Darstellung f¨ ur n gibt. Die Eindeutigkeit der Darstellung wird ebenfalls per vollst¨andiger Induktion gezeigt. Im Falle n = 2 ist die Aussage klar. Sei n > 2. Es werden zwei Darstellungen von n durch Primfaktoren pi , qj betrachtet p1 · . . . · pr = n = q1 · . . . · qs .
13.4 G¨ odelisierung
135
Nach Lemma 13.15 teilt p1 eine der Primzahlen qj , nach Umnummerierung etwa q1 . Es folgt p1 = q1 und mit der K¨ urzungsregel ergibt sich p2 · . . . · pr = q2 · . . . · qs . Nach Induktionsannahme hat diese Zahl eine bis auf die Reihenfolge der Faktoren eindeutige Darstellung durch Primfaktoren, weshalb auch n eine solche Darstellung besitzt. ⊓ ⊔ In der Primfaktorzerlegung einer nat¨ urlichen Zahl n werden gleiche Primzahlen zu Primzahlpotenzen zusammengefasst. Dies ergibt die kanonische Primfaktordarstellung von n: n = pv11 · . . . · pvss ,
p 1 < p 2 < . . . < pk .
(13.17)
Satz 13.16. Es gibt unendlich viele Primzahlen. Beweis. Es wird induktiv eine Folge F = (pn ) von Primzahlen konstruiert: • •
Setze p1 = 2. Sei P = (p1 , . . . , pk ). Die Zahl q = p1 · . . . · pk + 1 wird von keiner der Primzahlen in der Liste P geteilt. Also ist q nach dem Fundamentalsatz der Arithmetik als Produkt anderer Primfaktoren darstellbar. Die kleinste Primzahl in der Primfaktorisierung von q wird als Glied pk+1 in die Liste P aufgenommen. ⊓ ⊔
13.4 G¨ odelisierung Die Menge aller W¨ orter u ¨ ber einem endlichen Alphabet A lassen sich durch Ausnutzen der Primfaktorzerlegung durch nat¨ urliche Zahlen codieren. Sei A∗ die Menge aller W¨ orter u ¨ber dem Alphabet A. Eine Codierung von A∗ ist eine injektive Abbildung g : A∗ → N0 , die nach Kurt G¨odel (1906-1978) auch G¨odelisierung genannt wird. In der so genannten Standard-G¨odelisierung wird A mithilfe einer injektiven Abbildung f : A → {1, . . . , |A|} codiert. Sei (pn ) die aufsteigende Folge der Primzahlen, also p1 = 2, p2 = 3, usw. Die Standard-G¨odelisierung g : A∗ → N0 von A∗ ist definiert durch • •
g(ǫ) = 1, f (x ) f (x ) g(x1 . . . xn ) = p1 1 · . . . · pn n f¨ ur jedes Wort x1 . . . xn .
Wird das lateinische Alphabet gem¨aß der lexikographischen Ordnung codiert, also f (a) = 1, f (b) = 2, usw., so erhalten wir beispielsweise g(claire) = 23 311 51 79 115 . Durch G¨ odelisierung lassen sich ganze Texte oder Programme anhand nat¨ urlicher Zahlen codieren.
136
13 Teilbarkeitslehre
Selbsttestaufgaben 13.1. Bestimme den ggT der Zahlen 315 und 308 und dr¨ ucke ihn als Linearkombination der beiden Zahlen aus. 13.2. Beweise das Lemma 13.3. 13.3. Beweise das Lemma 13.11. 13.4. Beweise den Satz 13.12. 13.5. Restegesetz: Beweise, dass f¨ ur alle ganzen Zahlen a und b 6= 0 gilt (a, b) = (b, a mod b). 13.6. Distributivgesetz: Zeige, dass f¨ ur alle ganzen Zahlen a, b, c gilt (a, [b, c]) = [(a, b), (a, c)] und [a, (b, c)] = ([a, b], [a, c]). 13.7. Verschmelzungsgesetz: Beweise, dass f¨ ur alle ganzen Zahlen a und b gilt (a, [a, b]) = a und [a, (a, b)] = a. 13.8. Seien a und b nat¨ urliche Zahlen mit der kanonischen Primfaktorisierung ml
1 a = pm · . . . · pl 1
und
Zeige
min{m1 ,n1 }
(a, b) = p1 und
max{m1 ,n1 }
[a, b] = p1
n
l 1 b = pn 1 · . . . · pl ,
mi , ni ∈ N0 .
min{ml ,nl }
· . . . · pl
max{ml ,nl }
· . . . · pl
.
13.9. Zeige, dass jedes Ideal in Z die Gestalt aZ = {ab | b ∈ Z}, a ∈ Z, besitzt.
14 Restklassenringe
In diesem Kapitel wird der Restklassenring modulo n eingef¨ uhrt. Restklassenringe sind grundlegend f¨ ur viele Anwendungen wie etwa in der modernen Kryptographie und der Codierungstheorie. Wir behandeln die Zerlegung von Restklassenringen mithilfe linearer Kongruenzensysteme und zeigen, dass anhand solcher Zerlegungen arithmetische Operationen im Ring der ganzen Zahlen durchgef¨ uhrt werden k¨onnen.
14.1 Restklassenringe Kongruenz modulo n Wir stellen uns die ganzen Zahlen auf einer Zahlengeraden vor. In der 4er-UhrArithmetik ist diese Zahlengerade bei 4 abgeschnitten und auf die 0 zur¨ uckgebogen. Die einzigen ganzen Zahlen in der 4er-Uhr-Arithmetik sind also 0, 1, 2 und 3 (Abb. 14.1). Um etwa die Zahlen 2 und 3 in der 4er-Uhr-Arithmetik zu addieren, wird von der 2 aus drei Schritte im Uhrzeigersinn weitergez¨ahlt. Die erreichte Zahl ist 1, also ist 2 + 3 = 1. Das Multiplizieren in der 4-erUhr-Arithmetik ist analog definiert. Die n-Uhr-Arithmetik wird anhand einer ¨ Aquivalenz auf der Menge der ganzen Zahlen eingef¨ uhrt. '$ 2
1
3
&% 0
Abb. 14.1. 4er-Uhr-Arithmetik.
138
14 Restklassenringe
Sei n eine nat¨ urliche Zahl. Zwei ganze Zahlen a und b heißen kongruent modulo n, geschrieben a ≡ b mod n, wenn n ein Teiler von a − b ist. Die Zahl n wird Modulus der Relation genannt. Beispiel 14.1. Es gilt −1 ≡ 3 mod 2, 5 ≡ −4 mod 3 und 10 ≡ 2 mod 4.
¨ Satz 14.2. Die Kongruenz modulo n ist eine Aquivalenz auf der Menge der ganzen Zahlen. Beweis. Seien a, b und c ganze Zahlen. Die Relation ist reflexiv, denn a − a = 0 = 0n, d. h. a ≡ a mod n. Die Relation ist transitiv, denn aus a ≡ b mod n und b ≡ c mod n, d. h. a = b + kn und b = c + ln f¨ ur gewisse k, l ∈ Z, folgt a = c + (k + l)n, d. h. a ≡ c mod n. Die Relation ist symmetrisch, denn aus a ≡ b mod n, d. h. a = b + kn f¨ ur ein k ∈ Z, ergibt sich b = a + (−k)n, d. h. b ≡ a mod n. ⊓ ⊔ Satz 14.3. F¨ ur alle ganzen Zahlen a, b und c gelten folgende Rechenregeln: •
Restegesetz: a ≡ b mod n
•
⇐⇒
a mod n = b mod b.
Additionsgesetz: a ≡ b mod n ⇒ a + c ≡ b + c mod n.
•
(14.2)
Multiplikationsgesetz: a ≡ b mod n ⇒ ac ≡ bc mod n.
•
(14.1)
(14.3)
Potenzgesetz: a ≡ b mod n ⇒ am ≡ bm mod n,
m ≥ 1.
(14.4)
Beweis. Sei a ≡ b mod n. Nach dem Divisionssatz gibt es ganze Zahlen q, q ′ , r, r′ mit a = qn + r, b = q ′ n + r′ und 0 ≤ r, r′ < n. Es folgt a − b = (q − q ′ )n + (r − r′ ). Nach Voraussetzung ist a − b durch n teilbar. Also ist r − r′ durch n teilbar, was wegen −n < r − r′ < n nur r = r′ bedeuten kann. Umgekehrt sei a mod n = b mod b mod n. Nach dem Divisionssatz gibt es ganze Zahlen q, q ′ , r mit a = qn + r, b = q ′ n + r′ und 0 ≤ r, r′ < n. Nach Voraussetzung ist r = r′ , also a − b = (q − q ′ )n durch n teilbar. Sei a ≡ b mod n, also n ein Teiler von a − b. F¨ ur jede ganze Zahl c ist (a + c) − (b + c) = a − b und somit n ein Teiler von (a + c) − (b + c), also a + c ≡ b + c mod n. Sei a ≡ b mod n, d. h., n ein Teiler von a − b. F¨ ur jede ganze Zahl c gilt ac−bc = (a−b)c, weshalb n auch ein Teiler von ac−bc ist, also ac ≡ bc mod n. Sei a ≡ b mod n. Die Aussage wird durch vollst¨andige Induktion gezeigt. F¨ ur m = 1 ist die Aussage ist klar. Sei m ≤ 1. Nach Induktionsannahme gilt am ≡ bm mod n. Mit dem Multiplikationsgesetz folgt am+1 ≡ abm mod n und abm ≡ bm+1 mod n, woraus sich mittels Transitivit¨at am+1 ≡ bm+1 mod n ergibt. ⊓ ⊔
14.1 Restklassenringe
139
Der Restklassenring modulo n ¨ Die Kongruenz modulo n ist eine Aquivalenz auf der Menge der ganzen Zah¨ len und bewirkt somit eine Einteilung in Aquivalenzklassen, die in diesem Zusammenhang auch Restklassen modulo n genannt werden a = {b | b ∈ Z ∧ a ≡ b mod n},
a ∈ Z.
(14.5)
Mit dem Restegesetz folgt, dass f¨ ur die Menge aller Restklassen modulo n gilt Zn = {0, 1, . . . , n − 1}.
(14.6)
Beispiel 14.4. Die Restklassen modulo 4 sind 0 = {. . . , −8, −4, 0, 4, 8, . . .}, 1 = {. . . , −7, −3, 1, 5, 9, . . .}, 2 = {±2, ±6, ±10, . . .}, 3 = {. . . , −5, −1, 3, 7, 11, . . .}. Auf der Menge der Restklassen modulo n werden Addition und Multiplikation definiert durch a + b := a + b
und a · b := a · b.
(14.7)
¨ Beide Operationen sind anhand von Repr¨asentanten der Aquivalenzklassen festgelegt. Deshalb ist zu zeigen, dass die Operationen wohldefiniert (d. h., unabh¨ angig von der Wahl der Repr¨asentanten) sind. Beispielsweise soll f¨ ur Restklassen modulo 4 wegen 2 = −6 und 3 = 11 gelten 2 + 3 = −6 + 11 und 2 · 3 = −6 · 11. Satz 14.5. Die Addition und Multiplikation in Zn sind wohldefiniert. ur gewisse Beweis. Seien a = b und c = d, d. h., a − b = kn und c − d = ln f¨ k, l ∈ Z. Dann ist (a + c) − (b + d) = (a − b) + (c − d) = (k + l)n und somit a + c = b + d. Ferner ist ac − bd = (b + kn)(d + ln) − bd = (bl + dk + kln)n und folglich ac = bd. ⊓ ⊔ Satz 14.6. Sei n ≥ 2 eine nat¨ urliche Zahl. Die Menge Zn bildet einen kommutativen Ring. Beweis. Die Ringeigenschaften werden auf die entsprechenden Eigenschaften des Rings der ganzen Zahlen zur¨ uckgef¨ uhrt. Beispielsweise wird die Kommutativit¨ at der Addition in Zn mithilfe der Kommutativit¨at der Addition in Z bewiesen: a + b = a + b = b + a = b + a. Die Null ist 0 und die Eins ist 1. ⊓ ⊔ Der Ring Zn heißt Restklassenring modulo n. Im Folgenden wird jede Restklasse a modulo n durch den kleinsten, nichtnegativen Rest modulo n repr¨ asentiert, also durch die Zahl a mod n.
140
14 Restklassenringe
Beispiel 14.7. Die Verkn¨ upfungstafeln von Z6 lauten +0 0 0 1 1 2 2 3 3 4 4 5 5
12 12 23 34 45 50 01
345 345 450 501 012 123 234
· 0 1 2 3 4 5
0 0 0 0 0 0 0
123 000 123 240 303 420 543
45 00 45 24 03 42 21
Satz 14.8. Die Abbildung πn : Z → Zn : a 7→ a ist ein Epimorphismus.
Beweis. Die Abbildung πn ist surjektiv, die Einsen werden aufeinander abgeur beliebige ganze Zahlen a und b gilt πn (a) + πn (b) = bildet, πn (1) = 1, und f¨ a + b = a + b = πn (a + b) und πn (a) · π(b) = a · b = a · b = πn (a · b). ⊓ ⊔
14.2 Rechnen in Restklassenringen Potenzieren in Restklassenringen Sei a eine ganze Zahl und m eine nat¨ urliche Zahl. In Zn wird die Potenz am in zwei Schritten berechnet. Erstens wird der Exponent m bin¨ar dargestellt m = mk 2 k + . . . + m1 2 + m0 ,
mi ∈ {0, 1},
(14.8)
m = (. . . (mk 2 + mk−1 )2 + . . . + m1 )2 + m0 .
(14.9)
und im Horner-Schema entwickelt Mit den Potenzgesetzen folgt am = (. . . ((amk )2 amk−1 )2 amk−2 )2 · · · am1 )2 am0 .
(14.10)
Dadurch wird Potenzieren auf fortgesetztes Quadrieren und Multiplizieren zur¨ uckgef¨ uhrt. Beispielsweise hat die Zahl m = 25 die Horner-Darstellung 25 = (((1 · 2 + 1) · 2 + 0) · 2 + 0) · 2 + 1. Daraus folgt a25 = (((a2 a)2 )2 )2 a. Zweitens wird das Ergebnis beim Quadrieren oder Multiplizieren in Zn jeweils durch den Rest modulo n dargestellt und mit den Resten weitergerechnet. Beispielsweise wird 9925 in Z13 wegen 99 ≡ 8 mod 13 wie folgt berechnet 825 = (((82 · 8)2 )2 )2 · 8, = (((12 · 8)2 )2 )2 · 8,
82 ≡ 12 mod 13 12 · 8 ≡ 5 mod 13
= ((52 )2 )2 · 8, 52 ≡ 12 mod 13 = (122 )2 · 8, 122 ≡ 1 mod 13
= 12 · 8, = 8.
12 ≡ 1 mod 13
14.3 Lineare Kongruenzensysteme
141
Neunerprobe Satz 14.9. Jede nat¨ urliche Zahl l¨asst bei Division durch 9 denselben Rest wie ihre Quersumme. Beweis. Sei a eine nat¨ urliche Zahl mit der Dezimaldarstellung a = am 10m + . . . + a1 10 + a0 , wobei ai ∈ {0, 1, . . . , 9}. Wegen 10 ≡ 1 mod 9 folgt a = m am 10m + . . . + a1 10 + a0 = am 10 + . . . + a1 10 + a0 = am + . . . + a1 + a0 = am + . . . + a1 + a0 . Dies ist definitionsgem¨aß gleichbedeutend mit a ≡ (am + . . . + a1 + a0 ) mod 9. ⊓ ⊔
14.3 Lineare Kongruenzensysteme Drei chinesische Bauern bauen Reis gemeinsam an und teilen den Ertrag gleichm¨ aßig nach der Ernte. In einem Jahr ging jeder Bauer auf einen anderen Markt, um sein Drittel zu verkaufen. Die M¨arkte kaufen Reis nur im Vielfachen eines Grundgewichts. Der erste Bauer verkaufte auf einem Markt, auf dem das Grundgewicht 11 Pfund betrug. Er verkaufte so viel wie m¨oglich und behielt 3 Pfund u ¨ brig. Entsprechend verkaufte der zweite und dritte Bauer auf einem Markt, auf dem das Grundgewicht 8 bzw. 15 Pfund betrug, und behielt 6 bzw. 13 Pfund u ¨ brig. Wie viel Reis haben die Bauern insgesamt zu Markte getragen? Dieses Problem l¨asst sich durch ein lineares Kongruenzensystem beschreiben. Seien n1 , n2 , . . . , nr nat¨ urliche Zahlen und b1 , b2 , . . . , br ganze Zahlen. Gesucht ist die Menge aller ganzzahligen L¨osungen des Kongruenzensystems x ≡ bi mod ni ,
1 ≤ i ≤ r.
(14.11)
Satz 14.10. (Chinesischer Q Restesatz) Seien n1 , n2 , . . . , nr paarweise teilerfremde Moduli und sei n = i ni . Das Kongruenzensystem (14.11) hat eine eindeutig bestimmte L¨osung x0 mit 0 ≤ x0 < n. Die Menge aller L¨osungen dieses Kongruenzensystems ist {x0 + kn | k ∈ Z}. Beweis. Zuerst wird f¨ ur jedes i, 1 ≤ i ≤ r, ein spezielles Kongruenzensystem gel¨ ost x ≡ 1 mod ni x ≡ 0 mod nj ,
j 6= i.
(14.12)
Die Zahlen nni und ni sind teilerfremd. Also gibt es nach dem Satz von Bezout ganze Zahlen si und ti mit si
n + ti ni = 1. ni
142
14 Restklassenringe
Daraus folgt si
n ≡ 1 mod ni . ni
F¨ ur jedes j mit j 6= i ist nj ein Teiler von si
n ni
und somit
n ≡ 0 mod nj . ni
osung des Kongruenzensystems (14.12). Folglich ist Also ist xi = si nni eine L¨ x = b1 x1 + . . . + br xr eine L¨osung des Kongruenzensystems (14.11). F¨ ur jede ganze Zahl k ist x + kn eine weitere L¨osung von (14.11), weil jedes ni ein Teiler von n ist. Seien x und x′ L¨ osungen von (14.11). Dann ist x − x′ ≡ 0 mod ni f¨ ur alle 1 ≤ i ≤ r. Also ist jedes ni ist ein Teiler von x − x′ und somit das kgV der Moduli n1 , . . . , nr ein Teiler von x − x′ . Weil aber die Moduli paarweise teilerfremd sind, ist ihr kgV gleich n. Also ist n ein Teiler von x− x′ und somit x′ = x + kn f¨ ur ein k ∈ Z. ⊓ ⊔ Beispiel 14.11. Das Problem der Reisbauern f¨ uhrt auf das Kongruenzensystem x ≡ 3 mod 11
x ≡ 6 mod 8 x ≡ −2 mod 15.
(14.13)
Zuerst werden drei spezielle Kongruenzensysteme gel¨ost, das erste davon lautet x1 ≡ 1 mod 11
x1 ≡ 0 mod 8 x1 ≡ 0 mod 15. Der ggT von n1 = 11 und nn1 = 8·15 = 120 wird als Linearkombination beider Zahlen entwickelt: 1 = 11 · 11 + (−1) · 120. Also ist x1 = −120 eine L¨osung des ersten Kongruenzensystems. Auf analoge Weise ergeben sich L¨osungen des zweiten und dritten Kongruenzensystems x2 = −495 und x3 = 616. Daraus erhalten wir eine spezielle L¨osung des Kongruenzensystems (14.13) x = 3 · (−120) + 6 · (−495) + (−2) · 616 = −4562. Mithin haben alle L¨ osungen des Kongruenzensystems (14.13) die Form 4562+ k · 1320 f¨ ur k ∈ Z. Die kleinste, nichtnegative L¨osung lautet x = 718.
14.5 Modulares Rechnen
143
14.4 Kanonische Zerlegung von Restklassenringen Der Restklassenring Zn mit zusammengesetztem Modulus n ist in ein direktes Produkt von Restklassenringen anhand der kanonischen Primfaktorzerlegung von n zerlegbar. Satz 14.12. urliche Zahlen und Q Seien n1 , . . . , nr paarweise teilerfremde, nat¨ sei n = i ni . Der Restklassenring Zn ist isomorph zum direkten Produkt der Restklassenringe Zni . Beweis. Sei φ : Zn → Zn1 × Q. . . × Znr : a 7→ (πn1 (a), . . . , πnr (a)). Sei (b1 , . . . , br ) ein Element von i Zni . Nach Satz 14.10 gibt es eine ganze Zahl a mit 0 ≤ a ≤ n, die das Kongruenzensystem (14.11) Q l¨ost. Also ist φ(a) = (b1 , . . . , br ) und somit φ surjektiv. Die Ringe Zn und i Zni haben dieselbe M¨ achtigkeit. Also ist φ nach Satz 6.8 bijektiv. F¨ ur beliebige Elemente a, b ∈ Zn gilt φ(a + b) = (πn1 (a + b), . . . , πnr (a + b)), Definition von φ = (πn1 (a) + πn1 (b), . . . , πnr (a) + πnr (b)), Homomorphismen πni = (πn1 (a), . . . , πnr (a)) + (πnr (b), . . . , πnr (b)), = φ(a) + φ(b).
Definition Addition
¨ Ahnliches gilt f¨ ur die Multiplikation. Die Eins von Zn wird auf die Eins φ(1) = Q ⊓ ⊔ (1, . . . , 1) von i Zni abgebildet. Damit ist alles bewiesen.
Korollar 14.13. Ist n eine nat¨ urliche Zahl mit kanonischer Primfaktorzerlegung n = pe11 . . . perr , dann ist der Restklassenring Zn isomorph zum direkten Produkt der Restklassenringe Zpi ei .
Beispiel 14.14. Der Restklassenring Z6 ist isomorph zu Z2 × Z3 . Der Isomorphismus φ ist definiert durch die Zuordnung 0 1 2 3 4 5 a φ(a) (0, 0) (1, 1) (0, 2) (1, 0) (0, 1) (1, 2)
14.5 Modulares Rechnen Wir verwenden die Zerlegung von Restklassenringen dazu, um den Aufwand f¨ ur arithmetische Operationen zu reduzieren. Hierbei werden arithmetische Berechnungen modulo paarweise teilerfremder Moduli ni , 1 ≤ i ≤ r, genomuhrt und am Ende die men, die Rechnungen in Restklassenringen Zni durchgef¨ Ergebnisse mit Hilfe des Chinesischen Restesatzes wieder zusammengef¨ ugt. Die Moduli sollten so gew¨ahlt sein, dass das Ergebnis der arithmetischen Rechnung mit der kleinsten, nichtnegativen L¨osung des durch den Chinesischen Restesatz gegebenen Kongruenzensystems u ¨ bereinstimmt.
144
14 Restklassenringe
Ein typisches Beispiel ist die Berechnung der Determinante einer ganzzahligen n × n-Matrix A = (aij ). Auch bei kleiner Determinante k¨onnen große Zwischenergebnisse auftreten. Eine obere Schranke f¨ ur die zu erwartende Gr¨ oße der Determinante von A liefert die Hadamard-Schranke v uY n u n X (14.14) a2ij . | det(A)| ≤ t i=1 j=1
Wir schildern die Vorgehensweise beim modularen Rechnen der Einfachheit halber an der Multiplikation ganzer Zahlen. Beispiel 14.15. Um ganze Zahlen a = 13 und b = 17 zu multiplizieren, wird das Produkt nach oben abgesch¨atzt, etwa durch ab ≤ 20·20 = 400. Die Moduli ni werden so gew¨ ahlt, dass deren Produkt oberhalb der Schranke liegt. F¨ ur Q die Moduli n1 = 4, n2 = 3, n3 = 5 und n4 = 7 gilt n = i ni = 420. Das Produkt ab wird in drei Schritten berechnet: 1. Der Isomorphismus φ : Z420 → Z4 × Z3 × Z5 × Z7 liefert φ(a) = (1, 1, 3, 6) und φ(b) = (1, 2, 2, 3). Q 2. Die Bilder φ(a) und φ(b) werden im Produktring i Zni multipliziert φ(a)φ(b) = (1 · 1, 1 · 2, 3 · 2, 6 · 3) = (1, 2, 1, 4).
3. Das lineare Kongruenzensystem x ≡ 1 mod 4 x ≡ 2 mod 3
x ≡ 1 mod 5 x ≡ 4 mod 7
hat die kleinste, nichtnegative L¨osung ab = 221. Ein nach dem Prinzip des modularen Rechnens arbeitendes Rechenwerk zeigt Abb. 14.2.
Selbsttestaufgaben 14.1. Best¨ atige (1 323 744 · 101 657) ≡ 8 mod 10. 14.2. Elferprobe: Sei a eine nat¨ urliche Zahl mit der Dezimaldarstellung a = am 10m + . . . + a1 10 + a0 , wobei ai ∈ {0, 1, . . . , 9}. Zeige, dass gilt a ≡
m X i=0
Ist 1 014 598 740 133 durch 11 teilbar?
(−1)i ai mod 11.
14.5 Modulares Rechnen
-
145
mod n1
a, b - φ
.. .
-
-
φ−1 - a · b
mod nr
Abb. 14.2. Modulares Rechenwerk. 14.3. L¨ ose im Restklassenring Z7 das Gleichungssystem x + 3y = 4, 2x + y = 0. 14.4. Ermittle 3357 in Z17 . 14.5. Berechne alle L¨ osungen des Kongruenzensystems x ≡ −3 mod 31
x ≡ 2 mod 17
x ≡ 9 mod 16. 14.6. Zerlege Z180 in ein Produkt von Restklassenringen. 14.7. Betrachte in Z21 = Z3 ×Z7 das Gleichungssystem 13x+11y = 14 und 5x+6y = 5. L¨ ose dieses System durch modulares Rechnen in Z3 und Z7 .
146
14 Restklassenringe
15 Einheiten in Restklassenringen
In diesem Kapitel wird die multiplikative Struktur von Restklassenringen untersucht. Diese Untersuchungen f¨ uhren auf wichtige algebraische Grundstrukturen, Gruppen Integrit¨ atsringe und K¨orper. Abschließend wird das f¨ ur die Datensicherheit wichtige RSA-Verfahren vorgestellt.
15.1 Einheiten und Nullteiler Lineare Kongruenzen Die lineare Gleichung im Restklassenring Zn ax = b,
a, b ∈ Zn ,
(15.1)
ist ¨ aquivalent zur linearen Kongruenz ax ≡ b mod n,
a, b ∈ Z.
(15.2)
Satz 15.1. Seien a und b ganze Zahlen. Die lineare Kongruenz ax ≡ b mod n ist l¨osbar genau dann, wenn (a, n) | b. Beweis. Sei x = c eine L¨ osung von ax ≡ b mod n. Dann gibt es ein k ∈ Z mit ac = b + kn. Also ist jeder gemeinsame Teiler von a und n auch ein Teiler von b. Sei d = (a, n) ein Teiler von b, also b = cd f¨ ur ein c ∈ Z. Nach dem Satz von Bezout gibt es ganze Zahlen s und t mit d = sa + tn, also b = (cs)a + (ct)n. Somit l¨ ost x = cs die lineare Kongruenz. ⊓ ⊔ Einheiten Ein Element a ∈ Zn heißt eine Einheit oder invertierbar in Zn , wenn es ein b ∈ Zn gibt mit ab = 1. Eine solches Element b wird Inverses von a genannt.
148
15 Einheiten in Restklassenringen
Lemma 15.2. Jede Einheit in Zn hat ein eindeutig bestimmtes Inverses. Beweis. Sind b und c Inverse von a, dann gilt definitionsgem¨aß b = 1b = (ac)b = (ca)b = c(ab) = c1 = c. ⊓ ⊔ Das Inverse einer Einheit a ∈ Zn wird im Folgenden mit a−1 bezeichnet. Satz 15.3. Ein Element a ∈ Zn ist eine Einheit genau dann, wenn a und n teilerfremd sind. Beweis. Definitionsgem¨ aß ist a eine Einheit in Zn genau dann, wenn ax = 1 in Zn l¨ osbar ist. Dies ist nach Satz 15.1 genau dann der Fall, wenn a und n teilerfremd sind. ⊓ ⊔ Inversenberechnung Sei a eine Einheit in Zn . Nach Satz 15.3 m¨ ussen a und n teilerfremd sein. Nach dem Satz von Bezout gibt es ganze Zahlen s und t mit sa + tn = 1. Das Inverse von a ist dann a−1 = s mod n.
(15.3)
Beispiel 15.4. Das Inverse von a = 36 in Z55 wird mit dem erweiterten euklidischen Algorithmus bestimmt: 26 · 36 + (−17) · 55 = 1. Folglich ist 36−1 = 26. Nullteiler Ein von Null verschiedenes Element a ∈ Zn heißt ein Nullteiler in Zn , wenn es ein b 6= 0 in Zn gibt mit ab = 0. Die Null wird nicht als Nullteiler angesehen. Lemma 15.5. Eine Einheit in Zn ist kein Nullteiler. Beweis. Sei a ∈ Zn eine Einheit. Angenommen, a w¨are ein Nullteiler. Dann gibt es ein b 6= 0 in Zn mit ab = 0. Es folgt 0 = a−1 0 = a−1 (ab) = (a−1 a)b = 1b = b, was der Annahme b 6= 0 widerspricht. ⊓ ⊔ Satz 15.6. Jedes von Null verschiedene Element in Zn ist entweder eine Einheit oder ein Nullteiler. Beweis. Sei a 6= 0 ein Element von Zn Seien a und n teilerfremd. Nach Satz 15.3 ist dann a eine Einheit in Zn . Sei d = (a, n) > 1, also n = cd f¨ ur ein c ∈ Z. Nach dem Satz von Bezout existieren ganze Zahlen s und t mit d = sa+tn. Es folgt n = cd = (cs)a+(ct)n. Somit ist (cs)a = 0 in Zn . Angenommen, es w¨are cs = 0 in Zn , also n = (ct)n. Mit der K¨ urzungsregel in Z folgt ct = 1, so dass c nach Lemma 15.5 widerspr¨ uchlicherweise eine Einheit in Zn ist. Also ist cs 6= 0 und somit a ein Nullteiler in Zn . ⊓ ⊔ Beispiel 15.7. Der Restklassenring Z8 besitzt die Einheiten 1, 3 (3−1 = 3), 5 (5−1 = 5) und 7 (7−1 = 7) sowie die Nullteiler 2, 4(2 · 4 = 0) und 6 (6 · 4 = 0).
15.2 Die Anzahl der Einheiten
149
15.2 Die Anzahl der Einheiten Die eulersche Φ-Funktion Die Menge aller Einheiten in Zn ist nach Satz 15.3 gegeben durch Z∗n = {a | a ∈ Zn , (a, n) = 1}.
(15.4)
Die Abbildung Φ : n → |Z∗n | wird eulersche Φ-Funktion genannt (Leonhard Euler, 1707-1783). Den anf¨anglichen Verlauf der eulerschen Φ-Funktion zeigt folgende Tabelle Z∗n n Φ(n) 2 11 2 1, 2 3 4 2 1, 3 5 4 1, 2, 3, 4 2 1, 5 6 7 6 1, 2, 3, 4, 5, 6 4 1, 3, 5, 7 8 6 1, 2, 4, 6, 7, 8 9 10 4 1, 3, 7, 9 11 10 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 12 4 1, 5, 7, 11 Satz 15.8. Ist n ≥ 2 eine nat¨ urliche Zahl mit kanonischen Primfaktorzerlegung n = pe11 · . . . · perr , dann gilt 1 1 ··· 1 − . (15.5) Φ(n) = n 1 − p1 pr Beweis. Sei A = n. Sei Ai die Menge aller Vielfachen von pi in A f¨ ur 1 ≤ i ≤ r. Die Menge der zu n teilerfremden Zahlen a ∈ A ist dann A\(
r [
Ai ).
i=1
Der Durchschnitt Ai1 ∩ . . . ∩ Ais , 1 ≤ i1 < . . . < is ≤ r, besteht aus allen ganzzahligen Vielfachen von P = pi1 · . . . · pis , also P, 2P, . . . , Pn P , und hat somit die M¨ achtigkeit Pn . Mit der Siebformel folgt Φ(n) = |A \ (
r [
i=1
= n−n
Ai )| = |A| −
r X 1 +n p i=1 i
X I⊆r I6=∅
X
1≤i grad(f2 ) > . . .. Also existiert in der Folge eine Gleichung fn = qn+1 fn+1 + fn+2 mit fn+1 6= 0 und fn+2 = 0. Sei d = fn+1 . Wir zeigen, dass d jedes Polynom fi , 0 ≤ i ≤ n + 1, teilt. Der Induktionsanfang ist klar. Sei die Aussage f¨ ur alle Polynome fj mit j ≥ i schon gezeigt. Wegen fi−1 = qi fi + fi+1 ist d nach Induktionsannahme auch ein Teiler von fi−1 . Somit teilt d auch f0 = f und f1 = g.
168
16 Polynome
Sei c ein Teiler von f und g. Wir zeigen, dass c jedes Polynom fi , 0 ≤ i ≤ n + 1, teilt. Der Induktionsanfang ist klar. Sei die Aussage f¨ ur alle Polynome fj mit j ≤ i schon bewiesen. Wegen fi−1 = qi fi + fi+1 ist c nach Induktionsannahme auch ein Teiler von fi+1 . Folglich ist c auch ein Teiler von fn+1 = d. ⊓ ⊔ Das obige Verfahren f¨ uhrt auf den euklidischen Algorithmus (16.2). Algorithmus 16.2 Euklidischer Algorithmus Eingabe: Polynome f und g 6= 0 Ausgabe: ggT von f und g 1: y := f 2: z := g 3: while z 6= 0 do 4: y := z 5: z := y mod z 6: end while 7: return y
Beispiel 16.12. F¨ ur die reellwertigen Polynome f = x3 + 2x2 + 3x + 1 und 2 g = x − x − 1 liefert der euklidsche Algorithmus x3 + 2x2 + 3x + 1 = (x + 3)(x2 − x − 1) + (7x + 4) 11 5 1 x2 − x − 1 = ( x − )(7x + 4) − 7 49 49 196 5 343 x− )(− ). 7x + 4 = (− 5 5 49 Also ist (f, g) = 1. Satz 16.13. (Bezout) Seien f1 , . . . , fn Polynome in K[x]. Der ggT von f1 , . . . , fn ist als Linearkombination dieser Polynome darstellbar, d. h., es gibt s1 , . . . , sn ∈ K[x] mit (f1 , . . . , fn ) = s1 f1 + . . . + sn fn .
(16.8)
Der Beweis verl¨ auft ¨ ahnlich wie der der ganzzahligen Variante (Satz 13.9). Der ggT zweier Polynome f und g wird als Linearkombination von f und g durch sukzessives r¨ uckw¨ artiges Einsetzen in den euklidischen Algorithmus erhalten. Dieser so erg¨ anzte Algorithmus heißt erweiterter euklidischer Algorithmus. Beispiel 16.14. Aus der Berechnung des ggT der reellwertigen Polynome f = x3 + 2x2 + 3x + 1 und g = x2 − x − 1 in 16.12 ergibt sich durch r¨ uckw¨artiges Einsetzen
16.3 Nullstellen
169
5 1 11 = x2 − x − 1 − ( x − )(7x + 4) 49 7 49 1 11 2 = x − x − 1 − ( x − )[x3 + 2x2 + 3x + 1 − (x + 3)(x2 − x − 1)] 7 49 1 11 1 11 = −( x − )f + ( x − )(x + 4)g. 7 49 7 49
16.3 Nullstellen Im Folgenden sei K ein K¨ orper und x eine Unbestimmte u ¨ ber K. Auswerten von Polynomen Ein Polynom f = fn xn + . . . + f1 x + f0 in K[x] wird an einer Stelle α ∈ K ausgewertet, indem α in f eingesetzt wird f (α) = fn αn + . . . + f1 α + f0 ∈ K.
(16.9)
Die zugeh¨ orige Abbildung F : K → K : α 7→ f (α) wird Polynomabbildung genannt. Sei PK = {F | f ∈ K[x]} die Menge aller Polynomabbildungen, die zu den Polynomen in K[x] geh¨oren. Auf PK werden Addition und Multiplikation festgelegt durch (F + G)(α) = F (α) + G(α), (F G)(α) = F (α)G(α), α ∈ K.
(16.10) (16.11)
Satz 16.15. Die Menge aller Polynomabbildungen PK bildet zusammen mit obiger Addition und Multiplikation einen kommutativen Ring. Beispiel 16.16. Sei p prim. F¨ ur das Polynom f = xp − x ∈ Zp [x] ist die Polynomabbildung F : Zp → Zp : α 7→ f (α) nach dem Satz von Fermat die Nullabbildung. Ein K¨ orper L heißt eine K¨orpererweiterung eines K¨orpers K, wenn K ein Unterring von L ist. Satz 16.17. Sei L eine K¨orpererweiterung von K und sei α ∈ L. Die Abbildung ηα : K[x] → L : f 7→ f (α) ist ein Homomorphismus. Beweis. F¨ ur beliebige Polynome f, g ∈ K[x] gilt ηα (f + g) = (f + g)(α) = f (α) + g(α) = ηα (f ) + ηα (g) und ηα (f g) = (f g)(α) = f (α) · g(α) = ηα (f )ηα (g).
Ferner ist ηα (1) = 1. Mithin ist ηα ein Homomorphismus.
⊓ ⊔
Beispiel 16.18. Der Auswertungshomomorphismus η0 : K[x] → K : f → f (0) ordnet jedem Polynom f sein konstantes Glied f (0) = f0 zu.
170
16 Polynome
Nullstellen Sei f ein Polynom in K[x] und sei L eine K¨orpererweiterung von K. Ein Element α ∈ L mit f (α) = 0 heißt eine Nullstelle oder Wurzel von f . √ Beispiel 16.19. Das Polynom x2 − 2 ∈ Q[x] besitzt die Nullstellen ± 2. Satz 16.20. (Wurzelsatz) Sei f ∈ K[x] und sei α ∈ K. Das lineare Polynom x − α teilt f genau dann, wenn f (α) = 0. Beweis. Sei x − α ein Teiler von f . Dann gibt es ein Polynom g ∈ K[x] mit f = (x − α)g. Durch Auswerten an der Stelle α folgt f (α) = (α − α)g(α) = 0g(α) = 0. Umgekehrt sei α ∈ K eine Wurzel von f . Nach dem Divisionssatz gibt es Polynome q und r mit f = (x − α)q + r, wobei r = 0 oder grad(r) < grad(x − α) = 1. Aus Gradgr¨ unden liegt also r in K. Durch Auswerten an der Stelle α ergibt sich 0 = f (α) = (α − α)q(α) + r = r. Somit ist x − α ein Teiler von f . ⊓ ⊔ Durch wiederholtes Anwenden des Wurzelsatzes ergibt sich der folgende Satz 16.21. Zu jedem Polynom f ∈ K[x] gibt es Elemente α1 , . . . , αm ∈ K, nat¨ urliche Zahlen k1 , . . . , km und ein Polynom g ∈ K[x], sodass f = (x − α1 )k1 . . . (x − αm )km g.
(16.12)
Das Polynom g kann so gew¨ahlt werden, dass es keine Nullstelle in K hat. Beweis. Wir zeigen die Aussage durch vollst¨andige Induktion nach m. Sei α1 ∈ K eine Nullstelle von f . Dann ist x − α1 nach dem Wurzelsatz ein Teiler von f , also f = (x − α1 )h1 f¨ ur ein h1 ∈ K[x]. Hat h1 ebenfalls α1 als Nullstelle, dann folgt nach dem Wurzelsatz h1 = (x − α1 )h2 f¨ ur ein h2 ∈ K[x], mithin f = (x − α1 )2 h2 . Diese Faktorisierung hi = (x − α1 )hi+1 , i ∈ N, wird fortgesetzt. Sie muss wegen grad(hi ) = 1+grad(hi+1 ) abbrechen. Folglich gibt es einen Index k1 , so dass α1 keine Nullstelle von g = hk1 +1 ist. Damit ergibt sich f = (x − α1 )k1 g. Sei die Aussage f¨ ur alle Polynome f ∈ K[x] schon bewiesen, die wenigstens m − 1 paarweise verschiedene Nullstellen in K besitzen. Sei f ein Polynom in K[x], das Nullstellen α1 , . . . , αm ∈ K aufweist. Dann gibt es nach Induktionsannahme nat¨ urliche Zahlen k1 , . . . , km−1 und ein Polynom h ∈ K[x] mit f = (x − α1 )k1 . . . (x − αm−1 )km−1 h.
Durch Auswerten beider Seiten an der Stelle αm folgt 0 = f (αm ) = (αm − α1 ) . . . (αm − αm−1 )h(αm ). Weil αm von den u ¨ brigen m − 1 Nullstellen verschieden ist, muss h(αm ) = 0 sein, weil ja K nullteilerfrei ist. Gem¨aß Induktionsanfang existiert eine nat¨ urliche Zahl km und ein Polynom g ∈ K[x] mit h = (x − αm )km g.
Daraus folgt die Behauptung.
⊓ ⊔
16.3 Nullstellen
171
Satz 16.22. Jedes Polynom in K[x] vom Grad n hat h¨ochstens n Nullstellen in K. Beweis. Sei f ∈ K[x] ein Polynom vom Grad n, das m Nullstellen in K hat. Wird das Polynom f in der Form (16.12) dargestellt, ergibt sich durch Gradvergleich grad(f ) = (k1 +. . .+km )+grad(g). Daraus folgt m ≤ k1 +. . .+km = grad(f ) − grad(g) ≤ grad(f ) = n. ⊓ ⊔ Satz 16.23. Ist K ein unendlicher K¨orper, dann ist die Abbildung ψ : K[x] → PK : f 7→ F ein Isomorphismus. Beweis. Seien f, g ∈ K[x]. Sei F = G, d. h., F (α) = G(α) f¨ ur alle α ∈ K. Wir betrachten das Polynom h = f − g. F¨ ur die zugeh¨orige Polynomabbildung H gilt H(α) = F (α) − G(α) = 0 f¨ ur alle α ∈ K. Also hat h unendlich viele Wurzeln in K. Nach Satz 16.22 muss h das Nullpolynom sein. Folglich ist f = g und somit die Abbildung ψ injektiv. Die Abbildung ψ ist definitionsgem¨aß surjektiv. Die Homomorphieeigenschaft ist leicht nachzurechnen. ⊓ ⊔ Polynome und Polynomabbildungen u ¨ ber unendlichen K¨orpern sind also dasselbe. Dies gilt nicht f¨ ur endliche K¨orper, denn etwa liefern die Polynome x+1 und x2 + 1 u ¨ber Z2 dieselbe Polynomabbildung F : Z2 → Z2 mit F (0) = 1 und F (1) = 0. Der Vollst¨ andigkeit halber wird der Fundamentalsatz der Algebra angegeben. Er wurde zuerst von Carl F. Gauss (1777-1855) bewiesen. Satz 16.24. (Fundamentalsatz der Algebra) Alle Nullstellen eines Polynoms in C[x] liegen in C. Beispiel 16.25. Das Polynom xn − 1 ∈ Q[x] hat als Nullstellen die n-ten Einheitswurzeln xn − 1 =
n−1 Y k=0
(x − e2πik/n ).
(16.13)
Denn jede n-te Einheitswurzel e2πik/n , 0 ≤ k ≤ n − 1, ist eine Nullstelle von xn − 1. Also ist die rechte Seite nach dem Wurzelsatz ein Teiler von xn − 1. Beide Polynome haben denselben Grad, weshalb sie sich nach Satz 16.6 nur um eine Einheit in K unterscheiden. Weil beide Polynome normiert sind, ist diese Einheit gleich 1, d. h., beide Polynome sind identisch. Satz 16.26. (Rationaler Nullstellentest) Jede rationale Nullstelle eines normierten Polynoms f ∈ Z[x] ist eine ganze Zahl, die das konstante Glied von f teilt. Beweis. O.B.d.A. sei α = rs eine rationale Zahl mit teilerfremdem Z¨ahler und Nenner. Durch Multiplizieren des Ausdrucks f (α) mit sn ergibt sich rn + fn−1 rn−1 s + fn−2 rn−2 s2 + . . . + f1 rsn−1 + f0 sn = 0,
(16.14)
172
16 Polynome
also rn = (−fn−1 rn−1 − fn−2 rn−2 s − . . . − f1 rsn−2 − f0 sn−1 )s. Somit ist s ein Teiler von rn . Da aber r und s teilerfremd sind, erhellt sich s = 1. Folglich ist α = r ganzzahlig und (16.14) hat die Form r(rn−1 + fn−1 rn−2 + . . . + f1 ) = −f0 . Folglich ist α = r ein Teiler von f0 .
⊓ ⊔
Beispiele 16.27. • Das Polynom x2 − 2 ∈ Z[x] hat keine Nullstelle in Q, denn nach Satz 16.26 k¨ amen als Wurzeln nur ±1 oder ±2 in Frage. • Das Polynom x2 + 1 ∈ Z[x] hat ebenfalls keine Wurzel in Q. denn nach Satz 16.26 k¨ amen als Nullstellen nur ±1 in Frage. Sei i eine Nullstelle von x2 + 1, genannt imagin¨are Einheit. Dann ist i2 = −1 und somit x2 + 1 = (x − i)(x + i). Wegen i3 = −i und i4 = 1 ist i eine vierte Einheitswurzel. • Das Polynom xn − 1 ∈ Z[x], n ≥ 1, besitzt −1 als einzige rationale Nullstelle, wenn n gerade ist. Falls n ungerade ist, hat dieses Polynom nach Satz 16.26 keine rationalen Wurzeln.
16.4 Irreduzible Polynome Die irreduziblen Polynome spielen in Polynomringen die gleiche Rolle wie die Primzahlen im Ring der ganzen Zahlen. Sei R ein Integrit¨ atsbereich. Ein Polynom f ∈ R[x] vom Grad ≥ 1 heißt irreduzibel u ¨ ber R, wenn in jeder Darstellung f = gh mit Polynomen g, h ∈ R[x] entweder g oder h eine Einheit in R[x] ist. Ein irreduzibles Polynom kann also nur durch Ausklammern einer Einheit faktorisiert werden. Beispiele 16.28. • Jedes lineare Polynom f = ax + b ∈ R[x], a 6= 0, ist irreduzibel u ¨ber K. Denn aus einer Darstellung f = gh mit Polynomen g, h ∈ K[x] folgt mit Lemma 16.4 sofort grad(g) + grad(h) = grad(f ) = 1. Also ist grad(g) = 1 und grad(h) = 0, mithin h nach Satz 16.6 eine Einheit in K[x], oder umgekehrt. • Das Polynom f = x2 −2 ∈ Z[x] ist irreduzibel u ¨ ber Q. Denn aus f = gh mit Polynomen g, h ∈ Q[x] folgt mit Lemma 16.4 sofort grad(g) + grad(h) = grad(f ) = 2. Angenommen, f w¨are reduzibel. Dann besitzen beide Polynome g und h den Grad 1. O.B.d.A. sei g = x − α ∈ Q[x] normiert. Nach dem Wurzelsatz hat f eine rationale Wurzel α, was nach 16.27 widerspr¨ uchlicherweise nicht sein kann. • Das Polynom x2 + 1 ∈ Z[x] ist irreduzibel u ¨ber Q. Der Nachweis kann wie im letzten Beispiel gef¨ uhrt werden. Lemma 16.29. Sei f ∈ K[x] irreduzibel und seien f1 , . . . , fn ∈ K[x]. Teilt f das Produkt f1 · . . . · fn , dann teilt f einen der Faktoren fi . Der Beweis ist dem ganzzahligen Analogon sehr ¨ahnlich (Lemma 13.14).
16.4 Irreduzible Polynome
173
Fundamentalsatz der Polynomfaktorisierung Satz 16.30. Jedes Polynom in K[x] vom Grad ≥ 1 ist darstellbar als Produkt von irreduziblen Polynomen u ¨ ber K. Diese Darstellung ist eindeutig bis auf die Reihenfolge der Faktoren und die Multiplikation mit Einheiten. Beweis. Zuerst wird die Existenz der Darstellung gezeigt. Jedes Polynom vom Grad 1 ist nach 16.28 irreduzibel u ¨ ber K. Sei f ∈ K[x] mit grad(f ) = n ≥ 2. Ist f irreduzibel u ¨ ber K, dann ist nichts zu beweisen. Andernfalls gibt es Polynome g, h ∈ K[x] vom Grad ≥ 1 mit f = gh. Nach Lemma 16.4 ist grad(f ) = grad(g) + grad(h). Somit haben g und h kleineren Grad als f . Nach Induktionsannahme sind g und h darstellbar als Produkte von irreduziblen Polynomen u ¨ ber K. Damit hat auch f eine solche Darstellung. Schließlich wird die Eindeutigkeit der Darstellung bewiesen. F¨ ur lineare Polynome ax + b, cx + d ∈ K[x], a 6= 0 6= c, folgt aus ax + b = cx + d, also (a − c)x + (b − d) = 0, durch Koeffizientenvergleich a = c und b = d. Sei f ∈ K[x] mit grad(f ) = n ≥ 2. Wir betrachten zwei Darstellungen von f durch irreduzible Faktoren f1 · . . . · fm = f = g1 · . . . · gl . Das Polynom f1 teilt nach Lemma 16.29 eines der Faktoren gj , nach Umnummerierung etwa g1 . Weil f1 und g1 irreduzibel u ¨ber K sind, folgt g1 = α1 f1 f¨ ur ein 0 6= α1 ∈ K. Es ergibt sich f1 f2 · . . . · fm = α1 f1 g2 · . . . · gl . Da K[x] nach Satz 16.5 ein Integrit¨atsring ist, kann wegen Satz 15.16 durch f1 gek¨ urzt werden f2 . . . fm = α1 g2 . . . gl . Dieses Polynom hat aus Gradgr¨ unden einen kleineren Grad als f und somit nach Induktionsannahme eine bis auf die Reihenfolge der Faktoren und die Multiplikation mit Einheiten eindeutige Darstellung. Somit hat auch f eine solche Darstellung. ⊓ ⊔ Modulares Irreduzibilit¨ atskriterium Sei p eine Primzahl. Der Epimorphismus πp : Z → Zp in Satz 14.8 wird zu einem Epimorphismus πp : Z[x] → Zp [x] fortgesetzt anhand der Zuordnung fn xn + . . . + f1 x + f0 7→ πp (fn )xn + . . . + πp (f1 )x + πp (f0 ). Satz 16.31. Seien f ∈ Z[x] ein Polynom vom Grad ≥ 1 und p eine Primzahl, die den Leitkoeffizienten von f nicht teilt. Ist πp (f ) irreduzibel u ¨ber Zp , dann ist f auch irreduzibel ¨ uber Z.
174
16 Polynome
Beweis. Angenommen, f w¨are reduzibel u ¨ ber Z. Dann gibt es Polynome g, h ∈ Z[x] vom Grad ≥ 1 mit f = gh. Da πp ein Epimorphismus ist, folgt πp (f ) = πp (g)πp (h). Nach Voraussetzung ist πp (f ) 6= 0 und grad(f ) = grad(πp (f )). Mit Lemma 16.4 ergibt sich grad(g) + grad(h) = grad(f ) = grad(πp (f )) = grad(πp (g))+grad(πp (h)). Diese Gleichung kann wegen grad(g) ≥ grad(πp (g)) und grad(h) ≥ grad(πp (h)) nur bestehen, wenn grad(g) = grad(πp (g)) und grad(h) = grad(πp (h)). Also ist das Polynom πp (f ) widerspr¨ uchlicherweise reduzibel u ⊓ ⊔ ¨ ber Zp . Beispiel 16.32. Das Polynom f = x3 + 6x2 + 8x + 4 ist irreduzibel u ur ¨ ber Z. F¨ den Beweis wird der Epimorphismus π3 : Z[x] → Z3 [x] herangezogen. Angenommen, π3 (f ) = x3 + 2x + 1 w¨are reduzibel u ¨ ber Z3 . Dann wird π3 (f ) aus Gradgr¨ unden von einem linearen Faktor x− α ∈ Z3 [x] geteilt. Nach dem Wurzelsatz ist α ∈ Z3 sogar eine Nullstelle von π3 (f ). Allerdings hat π3 (f ) keine Wurzeln in Z3 , denn f3 (0) = f3 (1) = f3 (2) = 1. Somit ist π3 (f ) irreduzibel u ¨ ber Z3 und folglich f nach Satz 16.31 irreduzibel u ¨ ber Z.
16.5 Polynom-Interpolation Wir untersuchen zuerst polynomiale Kongruenzensysteme. Sei K ein K¨orper. Seien h1 , . . . , hn paarweise teilerfremde Polynome in K[x] und g1 , . . . , gn Polynome in K[x]. Gesucht sind alle L¨osungen des Kongruenzensystems f ≡ gi mod hi ,
1 ≤ i ≤ n.
(16.15)
Satz 16.33. (Chinesischer Restesatz) Das Kongruenzensystem (16.15) hat eine eindeutig bestimmtes L¨osung Qn f ∈ K[x], so dass entweder f = 0 oder grad(f ) < grad(h), wobei h = i=1 hi . Die Menge aller L¨osungen dieses Kongruenzensystems ist {f + gh | g ∈ K[x]}. Der Beweis verl¨ auft ¨ ahnlich wie die integrale Fassung. Der Chinesische Restesatz erh¨alt in Verbindung mit dem Auswertungshomomorphismus eine etwas andere Bedeutung. Korollar 16.34. Seien α1 , . . . , αn paarweise verschiedene Elemente in K und β1 , . . . , βn beliebige Elemente in K. Es gibt ein eindeutig bestimmtes Polynom f ∈ K[x] vom Grad < n mit der Eigenschaft f (αi ) = βi ,
1 ≤ i ≤ n.
(16.16)
Beweis. Das Kongruenzensystem f ≡ βi mod x − αi ,
1 ≤ i ≤ n,
hat nach Satz 16.33 eine eindeutig bestimmte L¨osung f ∈ K[x]. Nach Definition der Kongruenz gibt es zu jedem i, 1 ≤ i ≤ n, ein qi ∈ K[x] mit f (x) = qi (x)(x − αi ) + βi . Durch Einsetzen von αi erhellt sich f (αi ) = βi . ⊓ ⊔
16.5 Polynom-Interpolation
175
Nach obigem Korollar gibt es zu n Punkten (αi , βi ) ∈ K2 mit lauter verschiedenen Abzissenwerten αi genau ein Polynom f ∈ K(x] vom Grad < n, so dass f (αi ) = βi f¨ ur 1 ≤ i ≤ n. Dieses Polynom f kann mithilfe der Interpolationsformel von Jean-Joseph Lagrange (1736-1813) berechnet werden. Sei h = (x − α1 ) . . . (x − αn ) wie in Korollar 16.34. F¨ ur die Ableitung von h gilt h′ =
n Y X (x − αj ),
(16.17)
i=1 j6=i
wobei der i-te Summand folgende Form besitzt Y h = (x − αj ). x − αi
(16.18)
j6=i
Das Polynom Q h j6=i (x − αj ) = Q li = ′ h (αi )(x − αi ) j6=i (αi − αj )
(16.19)
wird als Lagrange-Interpolator von h bezeichnet. Es gilt li (αi ) = 1
und li (αj ) = 0
f¨ ur alle j 6= i.
(16.20)
Also erhebt sich f = β1 l 1 + . . . + βn l n
(16.21)
als eine L¨ osung des Kongruenzensystems (16.16). Weil jeder Lagrange-Interpolator li den Grad n − 1 besitzt, ist f vom Grad < n und somit die eindeutig bestimmte L¨ osung des Kongruenzensystems vom Grad < n. Die Gleichung (16.21) wird Lagrange-Interpolationsformel genannt. Beispiel 16.35. Gesucht ist ein Polynom f ∈ Q[x] mit f (−1) = 1, f (0) = 1 und f (1) = 3. Die zugeh¨ origen Lagrange-Interpolatoren sind 1 x(x − 1), 2 l2 = −(x + 1)(x − 1), 1 l3 = (x + 1)x. 2
l1 =
Also ergibt sich als L¨ osung kleinsten Grades das Polynom f = l1 + l2 + 3l3 = x2 + x + 1.
176
16 Polynome
Die Lagrange-Interpolation kann zum Beispiel dazu verwendet werden, das charakteristische Polynom det(A − x · In ) = (−1)n xn + fn−1 xn−1 + . . . + f1 x + f0
(16.22)
einer n × n-Matrix A zu bestimmen, hier ist In die n × n-Einheitsmatrix. Die Nullstellen des charakterischen Polynoms von A sind bekanntlich die Eigenwerte von A. Dabei wird das charakteristische Polynom von A an n + 1 verschiedenen Stellen αi ausgewertet, also βi = det(A − αi · I),
1 ≤ i ≤ n + 1.
(16.23)
Die Lagrange-Interpolation liefert dann das charakteristische Polynom von A.
16.6 Divisionsschieberegister Abschließend wird eine elektronisch realisierbare Schaltung f¨ ur die Polynomdivision beschrieben. Hierzu werden drei Schaltelemente benutzt: Addierer, Multiplizierer und Speicherzellen (Abb. 16.1).
? - +
- α
-
-
α
Abb. 16.1. Schaltsymbole f¨ ur Addierer, Multiplizierer und Speicherzellen
Sei g = xm +gm−1 xm−1 +. . .+g1 x+g0 ein normiertes Polynom u ¨ber einem K¨ orper K. Ein m-stufiges Divisionsschieberegister mit dem R¨ uckkopplungspolynom g zeigt die Abb. 16.2. Diese Schaltung verf¨ ugt u ¨ ber zwei Eing¨ange A und B und soll getaktet arbeiten: Addierer und Multiplizierer verarbeiten Eingaben im selben Taktzyklus, w¨ahrend eine Speicherzelle eine Eingabe erst im n¨ achsten Taktzyklus speichert. Das Einschrittverhalten des Divisionsschieberegisters beschreibt der folgende Satz 16.36. Das Divisionsschieberegister in Abb. 16.2 enthalte die KoeffizienP i ten des Polynoms f = m−1 f x ∈ K[x] und empfange im selben Taktzyklus i i=0 α, β ∈ K als Eingaben. Dann enth¨alt das Divisionsschieberegister im n¨achsten Taktzyklus die Koeffizienten des Polynoms xf + α + βxm mod g.
(16.24)
16.6 Divisionsschieberegister
α A ? - f0 - +m - f1 - +m +m
6 6 g0
6 6 g1
177
β
?B - fm−1 - +m . . . - +m
6 6 g2
...
6 6
gm−1
? −1
?
Abb. 16.2. Ein Divisionsschieberegister.
Beweis. Sei der Inhalt des Divisionschieberegisters nach besagtem Taktzyklus Pm−1 durch die Koeffizienten von h = i=0 hi xi gegeben. Dann gilt h0 = α − (β + fm−1 )g0
und hi = fi−1 − (β + fm−1 )gi ,
1 ≤ i ≤ m − 1.
Daraus folgt h = α − (β + fm−1 )g0 +
m−1 X i=1
(fi−1 − (β + fm−1 )gi )xi
= xf + α + βxm − (β + fm−1 )g
= xf + α + βxm mod g.
⊓ ⊔ Das Mehrschrittverhalten des Divisionsschieberegisters wird f¨ ur den Fall skizziert, in dem alle Speicherzellen anfangs mit 0 vorbesetzt sind. Pn • Wenn am Eingang A die Koeffizienten von f = i=0 fi xi in der Reihenfolge fn , . . . , f0 eingegeben werden und am Eingang B nichts eingegeben wird, dann ist der Inhalt des Divisionsschieberegisters nach n + 1 Taktzyklen gleich f mod g. Pn • Wenn am Eingang B die Koeffizienten von f = i=0 fi xi in der Reihenfolge fn , . . . , f0 eingelesen werden und am Eingang A nichts anliegt, dann ist der Inhalt des Divisionsschieberegisters nach n + 1 Taktzyklen gleich xm f mod g.
178
16 Polynome
Selbsttestaufgaben 16.1. Berechne den ggT der Polynome x2 + x + 2 und x3 + x2 + 2 von Z3 [x] und stelle ihn als Linearkombination der beiden Polynome dar. 16.2. Zeige an einem Beispiel, dass Satz 16.22 nicht f¨ ur Koeffizientenringe mit Nullteilern gilt. 16.3. Beweise den Satz 16.15.
i=1
iai x
Pn
ai xi ∈ K[x] ist das Polynom f ′ = . Beweise, dass die u ¨ blichen Ableitungsregeln gelten
16.4. Die Ableitung eines Polynoms f = P n i−1 (αf + βg)′ = αf ′ + βg ′
und
i=0
(f g)′ = f ′ g + f g ′ ,
f, g ∈ K[x], α, β ∈ K.
16.5. Beweise, dass ein Polynom f ∈ K[x] eine mehrfache Nullstelle genau dann besitzt, wenn f und f ′ einen gemeinsamen Teiler vom Grad ≥ 1 haben. Benutze diese Aussage, um zu zeigen, dass das Polynom f = x4 − 9x2 + 4x + 12 ∈ Q[x] eine mehrfache Nullstelle besitzt. 16.6. Zeige, dass f¨ ur jede ungerade Primzahl p gilt (p − 1)! ≡ −1 mod p. 16.7. Sei a eine nat¨ urliche Zahl. Zeige, dass das Polynom xn − a ∈ Q[x] die Wurzeln √ n a · e2πik/n , 0 ≤ k ≤ n − 1, besitzt. 16.8. Ein Integrit¨ atsring R heißt euklidisch, wenn eine Abbildung ν : R \ {0} → N+ 0 existiert, so dass es f¨ ur beliebige Elemente a, b ∈ R mit b 6= 0 Elemente q, r ∈ R gibt, so dass a = qb + r, wobei entweder r = 0 oder ν(r) < ν(b). Zeige, dass folgende Ringe euklidisch sind: der Ring der ganzen Zahlen, jeder K¨ orper und der Polynomring R[x] u atsring R. ¨ ber einem Integrit¨ 16.9. Sei R ein kommutativer Ring. Ein Ideal I in R heißt ein Hauptideal, wenn es ein Element r ∈ I gibt, so dass I = {ar | a ∈ R}. Zeige, dass jeder euklidische Ring ein Hauptidealring ist, d. h., jedes Ideal in R ein Hauptideal ist. 16.10. Zeige, dass das Polynom f = 3x4 + 3x3 + 5x2 + 5x + 3 irreduzibel u ¨ber Z ist. 16.11. Beweise, dass die Abbildung C → C : a + ib 7→ a − ib ein Automorphismus ist. Die Zahl z = a − ib heißt konjugiert-komplex zu z = a + ib ∈ C. Zeige ferner, dass jedes Polynom f ∈ R[x], welches z ∈ C als Nullstelle besitzt, auch z als Wurzel hat. 16.12. Zeige, dass jedes irreduzible Polynom in R[x] h¨ ochstens den Grad 2 besitzt. 16.13. Zeige, dass jedes Ideal in K[x] von der Form f K[x] = {f g | g ∈ K[x]}, f ∈ K[x], ist. 16.14. Zeichne das Schaltbild eines Divisionsschieberegisters mit dem R¨ uckkopplungspolynom g = x4 + x3 + 1 ∈ Z2 [x]. 16.15. Verifiziere das am Ende von Abschnitt 16.6 skizzierte Mehrschrittverhalten von Divisionsschieberegistern.
Teil IV
Codes
17 Lineare Codes
¨ Lineare Codes werden in Kommunikationssystemen zur sicheren Ubertragung von Nachrichten eingesetzt, etwa in der Telekommunikation und bei der Speicherung von Daten auf Compact Discs. In diesem Kapitel werden die grundlegenden Eigenschaften von linearen Codes behandelt, ein Algorithmus zur Berechnung des Minimalabstands linearer Codes vorgestellt, Schranken zur Absch¨ atzung der G¨ ute linearer Codes diskutiert und ein Verfahren zur Konstruktion guter linearer Codes spezifiziert.
17.1 Linearcodes Nachrichten werden anhand r¨aumlicher (Funk- oder Kabelstrecken) oder zeitlicher (magnetische, optische oder elektronische Datentr¨ager) Kan¨ale u ¨ ber¨ tragen. Außere Einfl¨ usse wie elektromagnetische Wechselwirkungen oder Besch¨ adigungen der Datentr¨ ager k¨onnen dazu f¨ uhren, dass u ¨ bertragene Daten gel¨ oscht oder verf¨ alscht werden. Deshalb f¨ ugt der Sender den zu u ¨ bertragenden Daten Redundanz hinzu, damit der Empf¨anger Fehler in den empfangenen Daten erkennen oder sogar korrigieren kann. Ein allgemeines Daten¨ ubertragungsmodell zeigt die Abb. 17.1.
St¨ orung
Quelle
- Codierer Sender
? Kanal
- Decodierer
- Ziel
Empf¨ anger
Abb. 17.1. Allgemeines Daten¨ ubertragungsmodell.
182
17 Lineare Codes
Blockcodes Ein (M, n)-Code oder Blockcode ist eine Menge von M W¨ortern der L¨ange n u ¨ ber Fq . Die Elemente eines Blockcodes heißen Codew¨orter. Ein (M, n)-Code hat die Informationsrate logq M/n. Alle Vektoren werden im Folgenden als Zeilenvektoren geschrieben. Beispiele 17.1. • Der bin¨are Parit¨atskontrollcode der L¨ange n = k + 1 ist ein (2n−1 , n)-Code C = {(a1 , . . . , an ) ∈ Fn2 | a1 + · · · + an = 0}.
•
(17.1)
An jede Nachricht (a1 , . . . , an−1 ) wird ein Parit¨atsbit an angeh¨angt, so dass alle Codew¨ orter gerade Parit¨at besitzen. Der Lochstreifencode ist von dieser Form. Der bin¨are dreifache Wiederholungscode der L¨ange n = 3k ist ein (2k , 3k)Code C = {(a1 , . . . , ak , a1 , . . . , ak , a1 , . . . , ak ) | a ∈ Fk2 }.
(17.2)
Linearcodes Ein linearer Codierer ist eine injektive lineare Abbildung g : Fkq → Fnq . Das Bild eines linearen Codierers g ist also ein k-dimensionaler Unterraum von Fnq : C = {g(a) | a ∈ Fkq }.
(17.3)
Der Blockcode C heißt [n, k]-Code oder Linearcode der L¨ange n und Dimension k u ¨ ber Fq . Ein [n, k]-Code u ¨ber Fq enth¨alt q k Elemente und hat somit die Informationsrate k/n. Die Elemente von Fkq heißen Nachrichten und die Elemente eines Linearcodes Codevektoren. Eine lineare Abbildung g : Fkq → Fnq wird durch Rechtsmultiplikation mit einer k × n-Matrix G u ¨ ber Fq realisiert g(a) = aG f¨ ur alle a ∈ Fkq .
(17.4)
Die Matrix G wird Generatormatrix von C genannt. Jede weitere Generatormatrix G′ von C wird durch Linksmultiplikation mit einer regul¨aren k × kMatrix L erhalten G′ = LG.
(17.5)
Die Matrix L bewirkt elementare Zeilenumformungen von G und induziert somit einen Basiswechsel von C.
17.1 Linearcodes
183
Ein linearer Codierer g : Fkq → Fnq heißt systematisch, wenn die zugeh¨orige Generatormatrix G kanonisch ist, d. h., von der Gestalt G = Ik A , (17.6)
wobei Ik die k×k-Einheitsmatrix ist. Ein systematischer Codierer g : Fkq → Fnq h¨ angt an jede Nachricht n − k Kontrollstellen an aG = (a, aA),
a ∈ Fkq .
(17.7)
Beispiele 17.2. • Der bin¨ are Parit¨atskontrollcode der L¨ange n = k + 1 ist ein [n, k]-Code mit der kanonischen Generatormatrix 1 01 G = . . . ... . 0
•
•
11
Der bin¨ are dreifache Wiederholungscode der L¨ange n = 3k ist ein [3k, k]Code mit der kanonischen Generatormatrix G = Ik Ik Ik . Sei C ein bin¨ arer [5, 2]-Code mit kanonischer Generatormatrix 10110 G= . 01111
Der Code C besteht aus den Codevektoren (00) G = 00000, (10) G = 10110, (01) G = 01111 und (11) G = 11001. Der duale Code Sei h, i : Fnq × Fnq → Fq die Standard-Bilinearform auf Fq hu, vi = uv T =
n X
ui vi .
(17.8)
i=1
Der duale Code eines [n, k]-Codes C u ¨ber Fq ist der zu C orthogonale Unterraum von Fnq C ⊥ = {v ∈ Fnq | ∀c ∈ C [vcT = 0]}.
(17.9)
Ein [n, k]-Code C heißt selbstdual, wenn C ⊥ = C. Satz 17.3. Sei C ein [n, k]-Code ¨ uber Fq . Der duale Code C ⊥ ist ein [n, n−k]Code u ¨ ber Fq und es gilt (C ⊥ )⊥ = C.
(17.10)
184
17 Lineare Codes
Jede Generatormatrix von C ⊥ heißt eine Kontrollmatrix von C. Ferner ist nach (17.10) jede Generatormatrix von C auch eine Kontrollmatrix von C ⊥ . Satz 17.4. Sei C ein [n, k]-Code ¨ uber Fq mit der Kontrollmatrix H. F¨ ur jeden Vektor v ∈ Fnq gilt v ∈ C genau dann, wenn Hv T = 0. Beweis. Die Zeilen h(1) , . . . , h(n−k) von H bilden eine Basis von C ⊥ , da H eine Generatormatrix von C ⊥ ist. Sei v ∈ C. F¨ ur jedes u ∈ C ⊥ ist uv T = 0. Dies gilt insbesondere f¨ ur die Zeilenvektoren von H. Also folgt Hv T = 0. T (i) T Sei Hv = 0, also h v = 0 f¨ ur 1 ≤ i ≤ n − k. Da die Zeilenvektoren h(i) ⊥ T eine Basis von C bilden, ist wv = 0 f¨ ur jedes w ∈ C ⊥ . Also ist v ∈ (C ⊥ )⊥ und somit wegen (17.10) sogar v ∈ C. ⊓ ⊔ Lemma 17.5. Ein [n, k]-Code mit kanonischer Generatormatrix G = Ik A hat die Kontrollmatrix H = −AT In−k . Beispiele 17.6. • Der duale Code des bin¨aren [k + 1, k]-Parit¨atscodes ist ein [k + 1, 1]-Code mit der Generatormatrix 1 1 ... 1 .
•
Der duale Code des bin¨aren [3k, k]-Wiederholungscodes ist ein [3k, 2k]Code mit der Generatormatrix Ik Ik 0 . Ik 0 Ik
•
Der duale Code des bin¨aren [5, 2]-Codes aus 17.2 ist ein [5, 3]-Code mit der Generatormatrix 11100 1 1 0 1 0. 01001
17.2 Fehlerkorrigierende Linearcodes ¨ Ubertragungskanal In einem gest¨ orten nachrichtentechnischen Kanal k¨onnen eingespeiste Zeichen in andere Zeichen verwandelt werden. Dabei wird davon ausgegangen, dass die empfangenen Zeichen zuf¨allig (im Sinne von Wahrscheinlichkeiten) von den gesendeten abh¨ angen.
17.2 Fehlerkorrigierende Linearcodes
185
In einem (ged¨ achtnisfreien) q-n¨aren symmetrischen Kanal u ¨ber dem K¨orper Fq wird ein Zeichen mit der Symbolfehlerwahrscheinlichkeit p in ein anderes Zeichen verwandelt, wobei keines der u ¨brigen q − 1 Zeichen bevorzugt wird. Die bedingte Wahrscheinlichkeit daf¨ ur, dass das Zeichen α in den Kanal eingegeben und das Zeichen β ausgegeben wird, ist 1 − p, falls α = β, (17.11) P (β|α) = p q−1 , falls α 6= β. Im Folgenden wird f¨ ur den jeweilig zu Grunde liegenden Kanal vorausgesetzt, dass die Wahrscheinlichkeit, ein Zeichen richtig zu u ¨bertragen, gr¨oßer ist als ur die Andie Wahrscheinlichkeit, es falsch zu u ¨ bermitteln, also p < 21 . Der f¨ wendung wichtigste Kanal ist der bin¨ar symmetrische Kanal (Abb. 17.2). 1−p
- 0 @ p@ @ @ p @ - 1 R @ 1 0
1−p
Abb. 17.2. Bin¨ ar symmetrischer Kanal.
Sei C ein Blockcode der L¨ange n u ¨ber Fq . Die bedingte Wahrscheinlichkeit daf¨ ur, dass ein Codewort c ∈ C in den ged¨achtnislosen Kanal eingegeben und ein Vektor y ∈ Fnq empfangen wird, ist definiert durch P (y|c) =
n Y
i=1
P (yi |ci ).
(17.12)
Der Decodierer sucht zum empfangenen Vektor y ein Codewort, das h¨ochst¨ wahrscheinlich gesendet wurde, also ein Codewort c mit maximaler Ubergangswahrscheinlichkeit unter allen Codew¨ortern P (y|c) = max{P (y|c′ ) | c′ ∈ C}.
(17.13)
Ein solcher Decodierer wird Maximum-Likelihood-Decodierer, kurz ML-Decodierer, genannt. ¨ Bei der Ubertragung eines Codeworts c ∈ C seien i Fehler aufgetreten. Der Fehlervektor e = y − c hat dann i von 0 verschiedene Komponenten und ¨ f¨ ur die Ubergangswahrscheinlichkeit gilt P (E = e) = P (y|c) = (
p i ) (1 − p)n−i . q−1
(17.14)
186
17 Lineare Codes
¨ Nach der Voraussetzung p < 12 wird die Ubergangswahrscheinlichkeit P (y|c) maximal f¨ ur jedes Codewort c, das sich von y um eine minimale Anzahl von Stellen unterscheidet. Der gest¨orten Kanal kann als Addierer interpretiert werden, der zum gesendeten Codewort einen zuf¨alligen Fehlervektor addiert (Abb. 17.3).
e
a
- Codierer
? Kanal c
- Decodierer
y= c+e
- a′
Abb. 17.3. Gest¨ orter Kanal als zuf¨ alliger Addierer.
Beispiel 17.7. Sei C der bin¨are [5, 2]-Code aus 17.2. Die Codew¨orter werden durch einen bin¨ ar symmetrischen Kanal mit Symbolfehlerwahrscheinlichkeit p = 1/100 u ¨ bertragen. Das Codewort c = 10110 werde in den Kanal eingegeben und das Wort ¨ y = 11110 empfangen, d. h., bei der Ubertragung ist ein Fehler aufgetreten. ¨ Die Ubergangswahrscheinlichkeiten sind 99 P (y|00000) = P (E = 11110) = p4 (1 − p) = 1005 994 P (y|10110) = P (E = 01000) = p(1 − p)4 = 1005 993 P (y|01111) = P (E = 10001) = p2 (1 − p)3 = 1005 992 . P (y|11001) = P (E = 00111) = p3 (1 − p)2 = 1005 Ein ML-Decodierer ermittelt c′ = 10110 als den gesendeten Codevektor und liegt damit richtig. ¨ Sei y = 11111 der empfangene Vektor, d. h., bei der Ubertragung sind zwei ¨ Fehler passiert. Die Ubergangswahrscheinlichkeiten sind 1 P (y|00000) = P (E = 11111) = p5 = 1005 993 P (y|10110) = P (E = 01001) = p2 (1 − p)3 = 1005 4 99 P (y|01111) = P (E = 10000) = p(1 − p)4 = 1005 993 . P (y|11001) = P (E = 00110) = p2 (1 − p)3 = 1005
17.2 Fehlerkorrigierende Linearcodes
187
Der ML-Decodierer bestimmt c′ = 01111 als gesendeten Codevektor und begeht somit einen Decodierfehler. Hamming-Abstand Ein ML-Decodierer sucht ein Codewort, das sich vom empfangenen Vektor um eine minimale Anzahl von Komponenten unterscheidet. Der HammingAbstand zwischen zwei Vektoren u, v ∈ Fnq ist die Anzahl der Komponenten, an denen sich u und v unterscheiden d(u, v) = |{i | ui 6= vi }|.
(17.15)
Satz 17.8. Der Hamming-Abstand d : Fnq × Fnq → R ist ein Metrik auf Fnq , d. h. f¨ ur alle u, v, w ∈ Fnq gilt • • •
d(u, v) = 0 genau dann, wenn u = v. d(u, v) = d(v, u). d(u, w) ≤ d(u, v) + d(v, w) (Dreiecksungleichung).
Beweis. Die ersten beiden Aussagen folgen direkt aus den Definitionen. Wir beweisen die Dreiecksungleichung. Aus ui 6= wi folgt ui 6= vi oder wi 6= vi . Also liefert die i-te Komponente zu d(u, w) den Beitrag 1 und zu d(u, v) + d(v, w) den Beitrag 1 oder 2. ⊓ ⊔ Korollar 17.9. F¨ ur jede Metrik d auf Fnq gilt d(u, v) ≥ 0
f¨ ur alle u, v ∈ Fnq .
(17.16)
Beweis. Es gilt definitionsgem¨aß 0 = d(u, u) ≤ d(u, v) + d(v, u) = 2d(u, v), also d(u, v) ≥ 0. ⊓ ⊔ Der Hamming-Abstand zweier Vektoren u, v ∈ Fnq stimmt mit dem HammingGewicht des Differenzvektors u ¨ berein d(u, v) = wt(u − v),
(17.17)
wobei das Hamming-Gewicht von v ∈ Fnq die Anzahl der von 0 verschiedenen Komponenten von v ist wt(v) = |{i | vi 6= 0}|. Beispielsweise ist d(1110, 1001) = wt(1110 − 1001) = wt(0111) = 3.
(17.18)
188
17 Lineare Codes
Fehlerkorrigierende Codes Ein Blockcode C der L¨ ange n u ¨ ber Fq heißt t-Fehler-korrigierend, wenn ein ¨ ML-Decodierer garantiert keinen Decodierfehler begeht, sofern bei der Ubertragung h¨ ochstens t Fehler aufgetreten sind. Sei C ein t-Fehler-korrigierender Blockcode. Sei c das gesendete Codewort, ¨ y der empfangene Vektor und beim Ubertragen seien h¨ochstens t Fehler passiert. Dann ist d(c, y) ≤ t und f¨ ur alle u brigen Codew¨ orter c′ gilt d(c′ , y) > t. ¨ Das gesendete Codewort c ist also das eindeutig bestimmte Codewort mit dem kleinsten Hamming-Abstand zu y. Der empfangene Vektor y liegt in der abgeschlossenen Kugel vom Radius t um das gesendete Codewort Kt (c) = {v ∈ Fnq | d(c, v) ≤ t}.
(17.19)
In der Praxis ist die gr¨ oßte Zahl t von Interesse, f¨ ur die ein Blockcode tFehler-korrigierend ist. Der Minimalabstand eines Blockcodes C ist der kleinste Hamming-Abstand zwischen den Codevektoren in C dC = min{d(c, c′ ) | c, c′ ∈ C, c 6= c′ }.
(17.20)
Ist C ein Linearcode, dann stimmt sein Minimalabstand wegen (17.17) mit dem Minimalgewicht der von 0 verschiedenen Codevektoren in C u ¨ berein dC = min{wt(c) | c ∈ C, c 6= 0}.
(17.21)
Satz 17.10. Ein Blockcode C der L¨ange n ¨ uber Fq ist t-Fehler-korrigierend genau dann, wenn dC ≥ 2t + 1. Beweis. Ein Blockcode C ist t-Fehler-korrigierend genau dann, wenn die abgeschlossenen Kugeln Kt (c) und Kt (c′ ) vom Radius t um je zwei verschiedene Codew¨ orter c und c′ disjunkt sind (Abb. 17.4). Dies ist genau dann der Fall, wenn der Hamming-Abstand zwischen je zwei verschiedenen Codew¨ ortern mindestens 2t + 1 betr¨agt. ⊓ ⊔ Ein [n, k]-Code mit dem Minimalabstand d wird als [n, k, d]-Code bezeichnet. q '$ '$ ?@ @ R q -q q′ y
y
&% &% c
c
Abb. 17.4. ML-Decodierung.
17.2 Fehlerkorrigierende Linearcodes
189
Beispiele 17.11. • Der bin¨ are [3k, k]-Wiederholungscode hat den Minimalabstand d = 3 und ist somit 1-Fehler-korrigierend. • Der bin¨ are [5, 2]-Code C aus 17.2 besitzt den Minimalabstand d = 3, denn f¨ ur seine Codevektoren gilt wt(00000) = 0, wt(10110) = 3, wt(01111) = 4 und wt(11001) = 3. Also ist C ebenfalls 1-Fehler-korrigierend. Satz 17.12. Sei C ein [n, k]-Code ¨ uber Fq mit Kontrollmatrix H und sei d eine nat¨ urliche Zahl. Sind je d − 1 Spalten von H linear unabh¨angig, dann ist dC ≥ d. Beweis. Seien h(1) , . . . , h(n) die Spalten von H. F¨ ur jedes Codewort c ∈ C gilt nach Satz 17.4 0 = HcT =
n X
ci h(i) .
i=1
Sind je d − 1 Spalten von H linear unabh¨angig, dann kann diese Gleichung nur bestehen, wenn jedes von 0 verschiedene Codewort Hamming-Gewicht ≥ d besitzt. ⊓ ⊔ Korollar 17.13. Sei C ein [n, k]-Code ¨ uber Fq mit einer Kontrollmatrix H, in der je d−1 Spalten linear unabh¨angig sind und es d linear abh¨angige Spalten gibt. Dann hat C den Minimalabstand dC = d. Beispiel 17.14. Wir konstruieren einen 1-Fehler-korrigierenden tern¨aren Linearcode der L¨ ange n ≥ 3. Hierzu betrachten wir alle Vektoren in F33 , von denen je zwei linear unabh¨ angig sind. Die folgende Liste von Vektoren besitzt diese Eigenschaft 001 010 011 012 100 110 120 111 121 112 122 101 102 Diese Liste ist ein Vertretersystem der eindimensionalen Unterr¨aume von F33 . Wir w¨ ahlen n ≥ 3 Vektoren aus dieser Liste und verwenden sie als Spalten einer Matrix. Hat diese Matrix den vollen Rang 3, dann ist sie Kontrollmatrix eines [n, n − 3]-Codes. Dieser Code hat nach Satz 17.12 den Minimalabstand d ≥ 3. Beispielsweise ist die Matrix 000011111 H = 0 1 1 1 0 1 2 1 2 101200011 eine Kontrollmatrix eines [9, 6]-Codes mit dem Minimalabstand d = 3. Fehlererkennende Codes In manchen F¨ allen ist es ausreichend, Fehler zu erkennen und durch R¨ ucksprache zu beheben. Ein ML-Decodierer eines Blockcodes C mit dem Minimalabstand dC kann bis zu dC − 1 Fehler erkennen. Wird n¨amlich ein Codewort c
190
17 Lineare Codes
¨ gesendet, y ∈ Fnq empfangen und sind h¨ochstens dC − 1 Fehler bei der Ubertragung aufgetreten, dann ist d(c, y) ≤ dC − 1. Also kann y kein Codewort sein und der Fehler ist erkannt. Beispiel 17.15. Der bin¨ are [k + 1, k]-Parit¨atskontrollcode hat den Minimalabstand d = 2 und ist somit 1-Fehler-erkennend. Dieser Fehler wird anhand der Parit¨ at des empfangenen Vektors erkannt. Maximum-Likelihood-Decodierung Sei C ein [n, k]-Code u ¨ber Fq mit der Kontrollmatrix H. Die Syndromabbildung von C ist σH : Fnq → Fqn−k : v 7→ Hv T .
(17.22)
Der Vektor σH (v) heißt das Syndrom von v ∈ Fnq . Die Syndromabbildung ist surjektiv, weil H vollen Rang n − k besitzt, und hat nach Satz 17.4 als Kern den Code C. Der affine Unterraum von Fnq durch v ∈ Fnq in Richtung C ist definiert durch v + C = {v + c | c ∈ C}.
(17.23)
Alle Elemente von v + C haben dasselbe Syndrom s = σH (v), denn f¨ ur alle c ∈ C gilt σH (v + c) = σH (v) + σH (c) = σH (v).
(17.24)
Satz 17.16. Die Zuordnung ψ : v + C 7→ σH (v) liefert eine Bijektion von der Menge aller affinen Unterr¨aume von Fnq in Richtung C auf Fqn−k . Jeder minimalgewichtige Vektor in v + C wird Minimalvektor von v + C genannt. Satz 17.17. Sei C ein t-Fehler-korrigierender Linearcode ¨ uber Fq . Jeder affine Unterraum von Fnq in Richtung C enth¨alt h¨ochstens einen Vektor mit dem Hamming-Gewicht ≤ t.
Beweis. Seien e und e′ Elemente von v + C mit dem Hamming-Gewicht ≤ t. Definitionsgem¨ aß gibt es c, c′ ∈ C mit e = v + c und e′ = v + c′ . Der Differenzvektor e − e′ = c − c′ liegt in C und hat nach Annahme HammingGewicht ≤ 2t. Wegen Satz 17.10 hat C Minimalabstand ≥ 2t + 1. Somit folgt e − e′ = 0. ⊓ ⊔ Die Minimalvektoren e eines affinen Unterraums v + C haben definitions¨ gem¨ aß maximale Ubergangswahrscheinlichkeit P (E = e) unter allen Vektoren in v + C. Also l¨ asst sich ein ML-Decodierer f¨ ur C durch Alg. 17.1 spezifizieren. Dieser ML-Decodierer berechnet zum empfangenen Vektor y das Syndrom s = σH (y), ermittelt den zugeh¨origen Minimalvektor e = m(s) und liefert den Codevektor y − e zur¨ uck.
17.3 Linearcodes von gleicher Qualit¨ at
191
Algorithmus 17.1 ML-Decode(C, y) Eingabe: Linearcode C, empfangener Vektor y Ausgabe: decodierter Codevektor 1: s := σH (y) {Syndrom von y} 2: e := m(s) {Minimalvektor in y + C} 3: return y − e
Satz 17.18. Sei C ein t-Fehler-korrigierender Linearcode u ¨ber Fq . Der Algorithmus ML-Decode(C, ·) decodiert stets richtig, wenn h¨ochstens t Fehler aufgetreten sind. Beweis. Sei c ein gesendeter Codevektor und y der empfangene Vektor. Wir ¨ nehmen an, dass bei der Ubertragung ≤ t Fehler aufgetreten sind. Dann hat der Fehlervektor e = y − c Hamming-Gewicht ≤ t und ist nach Satz 17.17 der eindeutig bestimmte Minimalvektor von y + C. Also decodiert ML-Decode richtig. ⊓ ⊔ Beispiel 17.19. Sei C der bin¨are [5, 2, 3]-Code aus 17.2. Die affinen Unterr¨aume von F52 in Richtung C mitsamt der zugeh¨origen Minimalvektoren und Syndrome zeigt das so genannte Standard-Array affiner Unterraum s m(s) 000 00000 00000 10110 01111 11001 110 10000 10000 00110 11111 01001 111 01000 01000 11110 00111 10001 100 00100 00100 10010 01011 11101 010 00010 00010 10100 01101 11011 001 00001 00001 10111 01110 11000 011 01100 01100 11010 00011 10101 101 00101 00101 10011 01010 11100 ¨ Der ML-Decodierer kann entweder einen Ubertragungsfehler korrigieren (an¨ hand der Syndrome 100, 111, 100, 010, 001) oder zwei Ubertragungsfehler erkennen (anhand der Syndrome 011 und 101).
17.3 Linearcodes von gleicher Qualit¨ at Linearcodes mit denselben strukturiellen Eigenschaften werden isomorph genannt. Wir charakterisieren isomorphe Linearcodes und stellen einen Test auf Permutationsisomorphie vor. Homomorphismen Seien C und D Linearcodes u ¨ ber F. Eine lineare Abbildung φ : C → D heißt ein Homomorphismus, wenn d(φ(c), φ(c′ )) ≤ d(c, c′ ) f¨ ur alle c, c′ ∈ C. Diese
192
17 Lineare Codes
Bedingung ist nach (17.17) und der Linearit¨at von C und D gleichbedeutend mit wt(φ(c)) ≤ wt(c) f¨ ur alle c ∈ C. Beispiele 17.20. Sei C ein Linearcode der L¨ange n u ¨ ber F. • • •
Jede Linearform φ : C → F ist ein Homomorphismus. Ist D ein in C enthaltener Linearcode, dann ist die nat¨ urliche Einbettung ι : D → C ein Homomorphismus. Die inverse Abbildung eines bijektiven Homomorphismus ist nicht notwendig ein Homomorphismus. Beispielsweise wird durch φ : 11 7→ 10 ein bijektiver Homomorphismus von C = {00, 11} auf D = {00, 10} definiert. Die inverse Abbildung ist jedoch kein Homomorphismus.
Ein wichtiger Homomorphismus ist die Projektion. Sei I eine Teilmenge von n. Die Abbildung πI : Fn → F|I| : x 7→ (xi )i∈I heißt Projektion von Fn in Richtung I. Die Einschr¨ankung von πI auf einen Linearcode C der L¨ange nu ¨ ber F ist ein Homomorphismus von C auf D = πI (C), also πI : C → D : c 7→ πI (c).
(17.25)
Beispiel 17.21. Bezeichnet C den bin¨aren [5, 2]-Code aus 17.2, dann liefert die Projektion πI im Falle I = {3, 4, 5} einen Homomorphismus von C auf D = {000, 110, 111, 001}. Eine bijektive lineare Abbildung φ : C → D heißt ein Isomorphismus, wenn d(φ(c), φ(c′ )) = d(c, c′ ) f¨ ur alle c, c′ ∈ C. Diese Bedingung ist gleichbedeutend mit wt(φ(c)) = wt(c) f¨ ur alle c ∈ C. Ein Isomorphismus ist also eine Isometrie, d. h., eine bijektive lineare Abbildung, die die Hamming-Metrik respektiert. Die inverse Abbildung eines Isomorphismus’ φ : C → D ist wiederum ein Isomorphismus, denn f¨ ur alle u, v ∈ D gilt d(φ−1 (u), φ−1 (v)) = d(φ(φ−1 (u)), φ(φ−1 (v))) = d(u, v).
(17.26)
Zwei Linearcodes C und D heißen isomorph, wenn es einen Isomorphismus von C auf D gibt. Beispiel 17.22. Ein Linearcode C ist isomorph zu jedem Linearcode D, der aus C durch Anh¨ angen einer festen Anzahl von Nullen an jeden Codevektor entsteht. Der Code D enth¨ alt dann Nullspalten. Ist D = {(c, 0) | c ∈ C}, dann ist φ : C → D : c 7→ (c, 0) ein Isomorphismus. Ein Isomorphismus auf C wird Automorphismus von C genannt. Satz 17.23. Die Menge aller Automorphismen von C bildet mit der Komposition von Abbildungen eine Gruppe. Beweis. Die identische Abbildung idC ist ein Automorphismus von C. Die inverse Abbildung eines Automorphismus von C ist, wie oben gezeigt, ein
17.3 Linearcodes von gleicher Qualit¨ at
193
Automorphismus von C. Die Komposition zweier Automorphismen φ und φ′ von C ist ebenfalls ein Automorphismus, denn f¨ ur alle c, c′ ∈ C gilt d((φφ′ )(c), (φφ′ )(c′ )) = d(φ(φ′ (c)), φ(φ′ (c′ ))) = d(φ(c), φ(c′ )) = d(c, c′ ). ⊓ ⊔ Die Gruppe aller Automorphismen eines Linearcodes C wird als Automorphismengruppe von C, kurz Aut(C), bezeichnet. Die Automorphismengruppe des vollen Codes Fn Der volle Code C = Fn ist ein [n, n, 1]-Code. Er hat eine bemerkenswert einfache Automorphismengruppe. Um sie herzuleiten, ben¨otigen wir zwei grundlegende Automorphismen, Permutationen und Konfigurationen. Jede Permutation σ vom Grad n induziert eine Abbildung σ ∗ : Fn → Fn , die die Komponenten der Vektoren in Fn vertauscht σ ∗ (v) = (vσ−1 (1) , . . . , vσ−1 (n) ).
(17.27)
Die Abbildung σ ∗ wird durch eine Permutationsmatrix vermittelt. Dies ist eine Matrix, die in jeder Zeile und Spalte genau einen Eintrag 1 und sonst lauter Nullen enth¨ alt, wobei sich die Einsen an den Stellen (σ −1 (i), i), 1 ≤ i ≤ n, befinden. Die Abbildung σ ∗ ist also eine bijektive lineare Abbildung, die das Hamming-Gewicht erh¨ alt, mithin ein Automorphismus von Fn ist. Beispiel 17.24. Sei σ = (123) ein Zykel vom Grad 3. F¨ ur jeden Vektor v ∈ F3 gilt 010 σ ∗ (v) = (v3 , v1 , v2 ) = (v1 , v2 , v3 ) 0 0 1 . 100 Jeder Vektor α ∈ Fn legt eine komponentenweise Multiplikation auf Fn fest α∗ (v) = (v1 α1 , . . . , vn αn ).
(17.28)
Die Abbildung α∗ : Fn → Fn ist linear und wird durch eine Diagonalmatrix mit Diagonaleintr¨ agen α1 , . . . , αn vermittelt. Ein Vektor α ∈ Fn heißt eine Konfiguration, wenn seine Komponenten s¨amlich von Null verschieden sind. Ist α ∈ Fn eine Konfiguration, dann ist die Abbildung α∗ bijektiv und erh¨alt das Hamming-Gewicht. Sie ist folglich ein Automorphismus von Fn . ur jeden Vektor v ∈ F33 gilt Beispiel 17.25. Sei α = (2, 1, 2) ∈ F33 . F¨ 200 α∗ (v) = (2v1 , v2 , 2v3 ) = (v1 , v2 , v3 ) 0 1 0 . 002
194
17 Lineare Codes
Die Komposition einer Permutation und einer Komposition liefert nach Satz 17.23 wiederum einen Automorphismus von Fn Φσ,α (v) = (α∗ σ ∗ )(v) = (vσ−1 (1) α1 , . . . , vσ−1 (n) αn ).
(17.29)
Die Abbildungsmatrix der zusammengesetzten linearen Abbildung Φσ,α ist das Produkt der Abbildungsmatrizen von α∗ und σ ∗ . Dieses Produkt ist eine monomiale Matrix, eine Matrix, die in jeder Zeile und Spalte genau einen von Null verschiedenen Eintrag enth¨alt. Dementsprechend wird Φσ,α eine monomiale Abbildung auf Fn genannt. Beispiel 17.26. Sei σ = (123) ein Zykel vom Grad 3 und α = (2, 1, 2) ∈ F33 . F¨ ur jeden Vektor v ∈ F33 gilt 010 200 010 Φσ,α (v) = (v1 , v2 , v3 ) 0 0 1 0 1 0 = (v1 , v2 , v3 ) 0 0 2 100 002 200 = (2v3 , v1 , 2v2 ).
Die Komposition zweier monomialer Abbildungen Φσ,α und Φτ,β ist wiederum eine monomiale Abbildung, denn f¨ ur alle v ∈ Fn gilt Φτ,β Φσ,α (v) = Φτ,β (vσ−1 (1) α1 , . . . , vσ−1 (n) αn ) = (vσ−1 (τ −1 (1)) ατ −1 (1) β1 , . . . , vσ−1 (τ −1 (n)) ατ −1 (n) βn ) = (v(τ σ)−1 (1) ατ −1 (1) β1 , . . . , v(τ σ)−1 (n) ατ −1 (n) βn ) = Φτ σ,τ ∗(α)·β (v),
(17.30)
wobei τ ∗ (α) · β = (ατ −1 (1) β1 , . . . , ατ −1 (n) βn ). Mithin folgt Φτ,β Φσ,α = Φτ σ,τ ∗(α)·β .
(17.31)
Daraus kann die inverse Abbildung von Φσ,α abgeleitet werden. Mit τ = σ −1 −1 und β = (α−1 τ −1 (1) , . . . , ατ −1 (n) ) gilt Φτ,β Φσ,α = idFn .
(17.32)
Die Menge aller monomialen Abbildungen auf Fn bildet also eine Gruppe, die monomiale Gruppe von Fn . Diese Gruppe wird mit Monn (F) bezeichnet. Sie ist eine Untergruppe der Automorphismengruppe des vollen Codes Fn . Es gilt aber der folgende Satz 17.27. Die Automorphismengruppe des vollen Codes Fn ist die monomiale Gruppe Monn (F). Beweis. Es bleibt zu zeigen, dass alle Automorphismen des vollen Codes Fn monomial sind. Sei φ ein Automorphismus von Fn . Wir betrachten die Einheitsbasis von Fn , d. h., die aus den Einheitsvektoren e(i) bestehende Basis von Fn . Da φ das Hamming-Gewicht erh¨alt, gilt f¨ ur jeden Einheitsvektor e(i)
17.3 Linearcodes von gleicher Qualit¨ at
195
wt(φ(e(i) )) = wt(e(i) ) = 1. Das Bild von e(i) ist also ein von Null verschiedenes Vielfaches eines Einheitsvektors. Es gibt also eine Permutation σ vom Grad n und eine Konfiguration α ∈ Fn , sodass φ die Einheitsbasis abbildet auf die Basis φ(e(i) ) = ασ(i) e(σ(i)) ,
1 ≤ i ≤ n.
Da jede lineare Abbildung vollst¨andig festgelegt ist durch die Bilder der Einheitsbasis, ist φ monomial. ⊓ ⊔ Monomiale Abbildungen erhalten das Hamming-Gewicht. Also gilt der folgende Satz 17.28. Ist C ein Linearcode der L¨ange n u ¨ber F und ist φ ein monomiale Abbildung auf Fn , dann sind C und φ(C) isomorph. Die Automorphismengruppe eines Linearcodes Satz 17.29. Jeder Isomorphismus zwischen Linearcodes derselben L¨ange ist eine monomiale Abbildung. Beweis. Seien C und D Linearcodes der L¨ange n u ¨ ber Fq und sei φ : C → D ein Isomorphismus. Die Codes C und D haben also dieselbe Dimension k. Wir fassen die Codevektoren von C bzw. D zeilenweise in einer q k × nMatrix M (C) bzw. M (D) zusammen. Wir zeigen zuerst, dass beide Matrizen dieselbe Anzahl von Nullspalten enthalten. Bezeichne nC bzw. nD die Anzahl der Nullspalten von C bzw. D. Jede Nichtnullspalte von M (C) oder M (D) hat nach dem Gleichverteilungsprinzip q k−1 (q − 1) von 0 verschiedene Eintr¨age. Mithin folgt X X X (n − nC )q k−1 (q − 1) = wt(c) = wt(φ(c)) = wt(d) c∈C
c∈C
d∈D
= (n − nD )q k−1 (q − 1).
Damit ist nC = nD gezeigt. Wir betrachten die Projektion πi : C → Fq : c 7→ ci , 1 ≤ i ≤ n. Diese Projektion liefert die i-Spalte der Matrix M (C). Ist πi nicht die Nullabbildung, d. h. die i-te Spalte von M (C) keine Nullspalte, dann ist ihr Kern Ci ein [n, k − 1]-Code. Wir zeigen, dass von Null verschiedene Projektionen πi und πj linear abh¨ angig sind, d. h. πi = κπj f¨ ur ein κ ∈ F∗q , genau dann, wenn Ci = Cj . Sei πi (c) = κπj (c) f¨ ur alle c ∈ C. Dann ist πi (c) = 0 gleichbedeutend mit πj (c) = 0, d. h. Ci = Cj . Umgekehrt seien c, c′ ∈ C mit ci 6= 0 und c′i 6= 0. Dann folgt πi = κπj , wobei κ = ccji . Zwei Spalten von M (C) heißen proportional, wenn ein κ ∈ F∗q existiert, sodass die eine Spalte ein κ-Vielfaches der anderen Spalte ist. Sei die i-te
196
17 Lineare Codes
Nichtnullspalte von M (C) zu den s Spalten i = i1 , . . . , is proportional. Dann hat die Matrix M (C ′ ) des Codes C ′ = Ci genau s + nC Nullspalten. Nach den obigen Ausf¨ uhrungen hat dann auch die Matrix M (D′ ) von D′ = φ(C ′ ) genau s + nD Nullspalten, und die s Nullspalten von M (D′ ), die von den s Nichtnullspalten j = j1 , . . . , js von M (D) herr¨ uhren, sind ebenfalls proportional. Wir zeigen, dass die i-te Spalte von M (C) und die j-te Spalte von M (D) proportional sind. Dazu w¨ahlen wir einen Vektor v ∈ C \ C ′ . F¨ ur seinen Bildvektor gilt φ(v) ∈ φ(C \ C ′ ) = D \ D′ . Da C ′ ein (k − 1)-dimensionaler Unterraum von C ist, hat jedes c ∈ C eine eindeutige Darstellung der Form c = c′ + κv, wobei c′ ∈ C ′ und κ ∈ Fq . F¨ ur die i-te Komponente von c gilt ci = κvi . Aus φ(c) = φ(c′ ) + κφ(v) folgt wegen φ(c′ ) ∈ D′ sofort φ(c)j = κφ(v)j . Mithin sind die beiden Spalten proportional mit dem Proportionalit¨atsfaktor φ(v)j /vi . Damit ist alles bewiesen. ⊓ ⊔ Als Spezialfall ergibt sich der folgende Satz 17.30. Die Automorphismengruppe eines Linearcodes der L¨ange n ¨ uber F ist eine Untergruppe von Monn (F). Beispiel 17.31. Der bin¨ are [n, 1, n]-Wiederholungscode und der [n, n − 1, 2]Parit¨ atskontrollcode haben beide die symmetrische Gruppe Sn als Automorphismengruppe. Satz 17.32. Seien C und D zwei [n, k]-Codes ¨ uber F. Sei G eine Generatormatrix von C und H eine Generatormatrix von D. Die Codes C und D sind isomorph genau dann, wenn es Matrizen L ∈ Glk (F) und R ∈ Monn (F) gibt, sodass H = LGR. Beweis. Sei φ : C → D ein Isomorphismus. Dieser Isomorphismus wird nach Satz 17.23 durch eine monomiale Matrix R ∈ Monn (F) vermittelt, also φ(c) = cR f¨ ur alle c ∈ C. Die Zeilen h(1) , . . . , h(k) von H bilden eine Basis von D. Deren Urbilder h(1) R−1 , . . . , h(k) R−1 bilden eine Basis von C. Andererseits bilden die Zeilen von G eine Basis von C. Aus dieser Basis wird jede weitere Basis von C durch Linksmultiplikation mit einer regul¨aren Matrix L ∈ Glk (F) erhalten. Also gibt es eine regul¨are Matrix L ∈ Glk (F) mit LG = HR−1 . Umgekehrt seien L ∈ Glk (F) und R ∈ Monn (F) mit LGR = H. Dann ist LG ebenfalls eine Generatormatrix von C und R vermittelt nach Satz 17.32 einen Isomorphismus von C auf D. ⊓ ⊔ Beispiel 17.33. Die bin¨ aren [5, 2]-Codes mit den Generatormatrizen 10110 01111 G= und H = 01111 10110 sind isomorph, denn es gilt
17.3 Linearcodes von gleicher Qualit¨ at
01 11
10 0 0 G 0 1 0 0 00
197
000 1 0 0 0 0 0 = H. 0 0 1 010
Eine Generatormatrix G eines [n, k]-Codes C kann durch elementare Zeilenumformungen in eine Matrix u uhrt werden, deren Spalten die Einheits¨ berf¨ vektoren von Fk enthalten. Diese Matrix l¨asst sich durch Spaltenvertauschungen auf kanonische Form H = Ik A bringen. Elementare Zeilenumformungen entsprechen einer Linksmultiplikation von G mit einer regul¨aren Matrix L ∈ Glk (F) und Spaltenvertauschungen einer Rechtsmultiplikation mit einer Permutationsmatrix R. Es folgt H = LGR. Mit Satz 17.32 ergibt sich der folgende Satz 17.34. Jeder Linearcode ist isomorph zu einem Linearcode mit kanonischer Generatormatrix. Ein Test f¨ ur Permutationsisomorphie Zwei Linearcodes heißen permutationsisomorph, wenn es einen Isomorphismus zwischen den Codes gibt, die durch eine Permutationsmatrix vermittelt wird. Sei C ein Linearcode mit Generatormatrix G und D ein Linearcode mit Generatormatrix H. Nach Satz 17.32 sind C und D permutationsisomorph genau dann, wenn es eine regul¨ are Matrix L ∈ Glk (F) und eine Permutationsmatrix R gibt, sodass H = LGR. Wir entwickeln einen Test auf Permutationsisomorphie, der auf zwei Beobachtungen fußt. Erstens bildet eine regul¨are Matrix L ∈ Glk (F) je k linear unabh¨ angige Spalten von G auf k linear unabh¨angige Spalten von HR−1 ab. Bezeichne G∗,I die k × |I|-Teilmatrix von G, die aus den Spalten mit den Indizes in I ⊆ n gebildet wird. Ist G∗,I regul¨ar, dann heißt I eine Informationsmenge von G. Ist I eine Informationsmenge von G, so ist auch LG∗,I regul¨ ar und somit eine Informationsmenge von HR−1 . Eine regul¨are Matrix L bildet also Informationsmengen auf Informationsmengen ab. Zweitens unterscheiden sich die Matrizen H und HR−1 nur um die Spaltenpermutation R′ = R−1 . Wir k¨onnen diese Permutation vernachl¨assigen, wenn die Spalten beider Matrizen hinsichtlich einer festen totalen Ordnung sortiert sind. Die zu H geh¨orende sortierte Matrix wird mit sort(H) bezeichnet. Folglich unterscheiden sich k × n-Matrizen G und H um eine Spaltenpermutation genau dann, wenn sort(G) = sort(H). Beispiel 17.35. Hinsichtlich der lexikographen Ordnung der Spalten (0 < 1) gilt 10110 00111 sort 0 1 1 1 1 = 1 1 0 1 1 . 10101 01101
198
17 Lineare Codes
Algorithmus 17.2 PermIsoTest(C, y) Eingabe: Generatormatrizen G und H Ausgabe: true falls permutationsisomorph, false sonst. 1: I := Informationsmenge von G 2: for all Informationsmenge J von H do 3: L := H∗,J G−1 ∗,I 4: if sort(LG) = sort(H) then 5: return true 6: end if 7: end for 8: return false
Satz 17.36. Seien C und D zwei [n, k]-Codes ¨ uber F. Sei G eine Generatormatrix von C und H eine Generatormatrix von D. Die Codes C und D sind permutationsisomorph genau dann, wenn PermIsoTest(G, H) den Wert true liefert. Beweis. Seien C und D permutationsisomorph. Definitionsgem¨aß gibt es eine regul¨ are Matrix L ∈ Glk (F) und eine Permutationsmatrix R, sodass LGR = H. Die Matrix L bildet die Informationsmenge I von G auf eine Informationsmenge J von D ab, die sicherlich in der Laufschleife generiert wird. Die Matrizen LG und H unterscheiden sich um eine Spaltenpermutation, woraus sort(LG) = sort(H) folgt. Also liefert der Algorithmus true. Umgekehrt liefere der Algorithmus true. Dann gibt es eine regul¨are Matrix L = H∗,J G−1 ∗,I mit sort(LG) = sort(H). Somit unterscheiden sich LG und H nur um eine Permutationsmatrix R und es folgt LGR = H. Mithin sind C und D permutationsisomorph. ⊓ ⊔ Beispiel 17.37. Wir betrachten bin¨are [5, 2]-Codes C und D mit Generatormatrizen 10101 00111 G= und H = . 01011 11110 Eine Informationsmenge von G ist I = {1, 2}, also G∗,I = I2 . Die Informationsmengen von H sind {1, 3}, {1, 4}, {1, 5}, {2, 3}, {2, 4}, {2, 5}, {3, 5} und {4, 5}. F¨ ur J = {2, 3} gilt 01 01011 L = H∗,J = , also LG = . 11 11110 Die Matrizen LG und H unterscheiden sich nur um eine Spaltenvertauschung 00111 sort(LG) = = sort(H). 11011 Also sind beide Codes permutationsisomorph.
17.4 Berechnung des Minimalabstandes
199
Die Komplexit¨ at von PermIsoTest h¨angt von der Anzahl der Informationsmengen von H ab. Schlimmstenfalls ist jede k-Teilmenge von n eine Informationsmenge. Der Code H besitzt dann nk Informationsmengen. Mithin ist D ein Code vom Geschlecht 0.
17.4 Berechnung des Minimalabstandes Wir behandeln einen Algorithmus zur Berechnung des Minimalabstands eines Linearcodes. Zun¨ achst stellen wir die Idee des Verfahrens vor. Sei C ein [n, k]Code u ¨ ber Fq . Wir konstruieren eine aufsteigende Folge von Teilmengen des Codes C C0 = {0} ⊆ C1 ⊆ C2 ⊆ C3 ⊆ . . .
(17.33)
und berechnen das Minimalgewicht jeder Teilmenge Ci di = min{wt(c) | c ∈ Ci , c 6= 0}.
(17.34)
Die Folge der Gewichte di ist schwach monoton fallend d1 ≥ d2 ≥ d3 ≥ . . . .
(17.35)
Das Minimalgewicht der nicht in Ci liegenden Codevektoren wird nach unten abgesch¨ atzt di = m(i + 1) ≤ min{wt(c) | c ∈ C \ Ci },
(17.36)
wobei m > 0 eine noch festzulegende Konstante ist. Die Folge dieser Schranken ist streng monoton wachsend d1 < d2 < d3 < . . . .
(17.37)
Die beiden Folgen kreuzen sich, d. h., es gibt einen kleinsten Index i mit der Eigenschaft di ≤ di . Der Minimalabstand von C ist dann dC = di und ein minimalgewichtiger Codevektor liegt in Ci . Der Algorithmus hat als Eingabe eine kanonische Generatormatrix G = G1 von C (17.38) G1 = Ik A1 .
Hat die Blockmatrix A1 den Rang k, dann wird eine zweite Generatormatrix G2 berechnet, wobei elementare Zeilenoperationen auf G1 und Spaltenvertauschungen auf A1 angewendet werden. Die resultierende Matrix hat die Form (17.39) G2 = B2 Ik A2 ,
wobei die k ×k-Matrix B2 aus der Einheitsmatrix Ik verm¨oge elementarer Zeilenoperationen entsteht. Hat auch A2 den Rang k, wird diese Konstruktion fortgef¨ uhrt. Seien G1 , . . . , Gm die auf diese Weise konstruierten Generatormatrizen.
200
17 Lineare Codes
Die Menge Ci besteht aus allen Codevektoren, die durch Nachrichten vom Hamming-Gewicht ≤ i verm¨oge der m Generatormatrizen codierbar sind Ci =
m [
j=1
{aGj | a ∈ Fkq , wt(a) ≤ i}.
(17.40)
Die konstruierten Generatormatrizen erzeugen Linearcodes, die sich von C durch Spaltenvertauschungen unterscheiden. Jede solche Generatormatrix kann in eine Generatormatrix von C durch entsprechende Spaltenvertauschungen u uhrt werden. Eine explizite Konstruktion solcher Matrizen ist nicht ¨ bergef¨ notwendig, weil sich der Minimalabstand durch Spaltenvertauschungen nicht andert. ¨ Schließlich wird das Minimalgewicht der Codevektoren in Ci abgesch¨atzt. Ein Codevektor c ∈ C liegt nicht in Ci genau dann, wenn zu jedem j ∈ {1, . . . , m} eine Nachricht a(j) ∈ Fkq mit dem Hamming-Gewicht ≥ i + 1 existiert, so dass c = a(j) Gj . Der Codevektor (17.41) c = a(j) Gj = a(j) Bj Ik Aj , wt(a(j) ) = i + 1,
hat in den Spalten, an denen die Einheitsmatrix Ik steht, das HammingGewicht i + 1. Die Einheitsmatrizen Ik unterschiedlicher Generatormatrizen Gj stehen aber an disjunkten Spaltenpositionen. Also hat der Vektor c Hamming-Gewicht ≥ m(i + 1). Eine untere Schranke f¨ ur das Minimalgewicht der nicht in Ci liegenden Codevektoren ist also di = m(i + 1).
(17.42)
Dieses Verfahren wird durch den Brouwer-Zimmermann-Algorithmus implementiert (Alg. 17.3). Die Effizienz dieses Algorithmus’ h¨angt von der Anzahl der erzeugbaren Generatormatrizen ab. Je mehr Generatormatrizen erzeugt werden k¨ onnen, desto gr¨ oßer ist untere Schranke und desto schneller terminiert der Algorithmus. Beispiel 17.38. Sei C ein bin¨arer [7, 3]-Code mit der Generatormatrix 1001011 G1 = 0 1 0 1 1 0 1 . 0010111 Im Algorithmus wird noch eine zweite Generatormatrix konstruiert 0111001 G2 = 1 1 0 0 1 0 1 . 1110010
Die Menge C1 besteht aus den Zeilen der beiden Generatormatrizen und hat somit das Minimalgewicht d1 = 4. Die untere Schranke f¨ ur das Minimalgewicht der nicht in C1 liegenden Codevektoren ist d1 = 4. Folglich ist dC = d1 = 4 der Minimalabstand von C.
17.5 Schranken
201
Algorithmus 17.3 MinimalDistance(G)
Eingabe: Generatormatrix G = G1 = Ik A1 eines Linearcodes C Ausgabe: Minimalgewicht d von C 1: m := 1 2: while rg(Am ) = k do 3: bilde Gm+1 = Bm+1 Ik Am+1 {aus Gm = Bm Ik Am durch elementare Zeilenumformungen und Spaltenvertauschungen von Am , sodass Am mit Ik beginnt} 4: m := m + 1 5: end while 6: C0 := {0} 7: i := 0 8: repeat 9: i := i + 1 Sm 10: Ci := Ci−1 ∪ j=1 {aGj | a ∈ Fkq , wt(a) = i}
11: di := min{wt(c) | c ∈ Ci , c 6= 0} 12: di := m ∗ (i + 1) 13: until di ≥ di 14: d := di 15: return d
17.5 Schranken Schranken geben dar¨ uber Auskunft, in welcher Weise die Parameter eines Linearcodes voneinander abh¨angen. Singleton-Schranke Satz 17.39. F¨ ur jeden [n, k]-Code gilt dC ≤ n − k + 1.
(17.43)
Beweis. Sei C ein [n, k]-Code. O.B.d.A. besitze C eine kanonische Generatormatrix G = (Ik A). Der i-te Einheitsvektor e(i) wird codiert zu e(i) G = (e(i) , e(i) A) und hat somit Hamming-Gewicht ≤ 1 + n − k. ⊓ ⊔ Das Geschlecht eines [n, k]-Codes C ist die Zahl n−k +1−dC . Ein Linearcode vom Geschlecht 0 gen¨ ugt der Singleton-Schranke mit Gleichheit dC = n−k+1 und wird Maximum-Distance-Separable-Code (MDS-Code) genannt. Drei Linearcodes vom Geschlecht 0 gibt es f¨ ur jede L¨ange n und u ¨ ber jedem Alphabet Fq , den [n, 1, n]-Wiederholungscode, ein solcher Code hat die Generatormatrix 1 1 ... 1 ,
202
17 Lineare Codes
den (vollen) [n, n, 1]-Code, ein solcher Code hat die Einheitsmatrix In als Generatormatrix, und den [n, n − 1, 2]-Parit¨atskontrollcode, ein solcher Code hat die Generatormatrix −1 .. . I . n−1
−1
Diese drei Linearcodes werden als triviale Codes bezeichnet.
Satz 17.40. F¨ ur jeden [n, k]-Code C ¨ uber Fq sind ¨aquivalent: • • • •
C ist vom Geschlecht 0. In jeder Kontrollmatrix von C sind je n − k Spalten linear unabh¨angig. C ⊥ ist vom Geschlecht 0. In jeder Generatormatrix von C sind je k Spalten linear unabh¨angig.
Beweis. Nach Satz 17.4 und der Singleton-Schranke sind die ersten beiden Aussagen gleichwertig. Die Kontrollmatrizen von C sind genau die Generatormatrizen von C ⊥ . Also sind auch die letzten beiden Aussagen ¨aquivalent. Wir zeigen noch, dass die erste und dritte Aussage gleichwertig sind. Sei C vom Geschlecht 0. Angenommen, C ⊥ enthielte einen Vektor c 6= 0 vom Hamming-Gewicht ≤ k. Der Vektor c kann zu einer Basis von C ⊥ erg¨anzt werden, die dann als Zeilen einer Generatormatrix H von C ⊥ fungieren. Die zum Vektor c geh¨ orende Zeile hat mindestens n − k Nullen. Somit k¨onnen nicht je n − k Spalten von H linear unabh¨angig sein. Nach Satz 17.12 hat C widerspr¨ uchlicherweise Minimalabstand < n − k + 1. Also hat C ⊥ den Minimalabstand d⊥ ≥ k + 1. Die Singleton-Schranke liefert f¨ ur C ⊥ aber d⊥ ≤ ⊥ n − (n − k) + 1 = k + 1. Mithin besitzt C den Minimalabstand k + 1, d. h. C ⊥ ist vom Geschlecht 0. Wegen Satz 17.3 gilt auch die Umkehrung. ⊓ ⊔ Hamming-Schranke Satz 17.41. F¨ ur jeden [n, k, d]-Code ¨ uber Fq gilt q
k
⌊(d−1)/2⌋
X i=0
n (q − 1)i ≤ q n . i
(17.44)
Die Gleichheit gilt genau dann, wenn die Vereinigung aller abgeschlossenen Kugeln vom Radius ⌊(d − 1)/2⌋ um die Codew¨orter den gesamten Vektorraum Fnq ¨ uberdeckt. Beweis. Die Anzahl der Vektoren, die von einemVektor c den Hammingabstand i haben, ist ni (q − 1)i . Denn es gibt ni M¨oglichkeiten, i Komponenten von c auszuw¨ ahlen, und (q − 1)i M¨oglichkeiten, diese Komponenten abzu¨ andern. Die linke Seite der Ungleichung ist also die Anzahl der Vektoren in den abgeschlossenen Kugel vom Radius ⌊(d − 1)/2⌋ um die Codew¨orter. Da ⊓ ⊔ diese Kugeln disjunkt sind, ist die Summe h¨ochstens |Fnq | = q n .
17.5 Schranken
203
Ein Linearcode heißt perfekt, wenn er die Hamming-Schranke (17.44) mit Gleichheit erf¨ ullt. Zu den perfekten Codes geh¨oren die Hamming-Codes. Ein m-ter bin¨arer Hamming-Code ist ein Linearcode, dessen Kontrollmatrix Hm aus den von 0 verschiedenen Elementen in Fm 2 als Spalten gebildet wird. Das Vertauschen von Spalten liefert einen Code mit denselben Parametern, weshalb von dem m-ten bin¨aren Hamming-Code gesprochen wird. Die Kontrollmatrizen der ersten drei bin¨aren Hamming-Codes lauten H1 = 1 , 101 H2 = , 011 1010101 H3 = 0 1 1 0 0 1 1 . 0001111 Satz 17.42. F¨ ur jede Zahl m ≥ 2 ist der m-te bin¨are Hamming-Code ein perfekter [2m − 1, 2m − m − 1, 3]-Code.
Beweis. Die Kontrollmatrix Hm ist eine m × (2m − 1)-Matrix vom Rang m. Also ist der m-te bin¨ are Hamming-Code ein Linearcode der L¨ange n = 2m − 1 und Dimension k = 2m − m − 1. Je zwei Spalten von Hm sind voneinander verschieden und somit linear unabh¨angig u ¨ ber F2 . Die Matrix Hm enth¨alt wegen m ≥ 2 wenigstens drei linear abh¨angige Spalten. Nach Satz 17.12 hat der m-te bin¨ are Hamming-Code den Minimalabstand d = 3. Dieser Code ist perfekt, weil die Hamming-Schranke nach Satz 10.3 mit Gleichheit erf¨ ullt wird ⌊(d−1)/2⌋
X i=0
n i
=
1 X n i=0
i
= 2m . ⊓ ⊔
Der m-te bin¨ are Hamming-Code C ist 1-Fehler-korrigierend. Nach Satz 17.17 m liegen die Einheitsvektoren in verschiedenen affinen Unterr¨aumen von F22 −1 in Richtung C und sind somit Minimalvektoren. Andererseits gibt es genau 2m Syndrome. Also gibt es außer den Einheitsvektoren und dem Nullvektor keine weiteren Minimalvektoren. Griesmer-Schranke Satz 17.43. F¨ ur jeden [n, k, d]-Code ¨ uber Fq gilt n≥
k−1 X i=0
⌈d/q i ⌉.
(17.45)
204
17 Lineare Codes
Beweis. Der Fall k = 1 ist klar. Sei k ≥ 2 und Nq (k, d) die L¨ange des k¨ urzesten Linearcodes u ¨ber Fq mit Dimension k und Minimalabstand d. Wir zeigen Nq (k, d) ≥ d + Nq (k − 1, ⌈d/q⌉). Sei C ein [Nq (k, d), k, d]-Code und c ∈ C vom Hamming-Gewicht d. Der Vektor c kann zu einer Basis von C erg¨anzt werden, die dann als Zeilen einer Generatormatrix G von C fungieren. Der Vektor c kann durch Spaltenvertauschung in den Vektor w = 1 . . . 10 . . . 0 = 1d 0n−d transformiert werden. Der resultierende Code besitzt eine Generatormatrix, die w als erste Zeile enth¨alt 1 1 ... 1 0 0 ... 0 G= , G1 G2 wobei G1 eine (k − 1) × d-Matrix und G2 eine (k − 1) × (Nq (k, d) − d)Matrix. Wir behaupten, dass G2 den Rang k − 1 hat. Andernfalls k¨onnten wir n¨ amlich annehmen, dass die erste Zeile von G2 aus lauter Nullen best¨ unde. Die entsprechende Zeile von G1 m¨ usste dann lauter von 0 verschiedene Elemente enthalten. Durch elementare Zeilenumformungen k¨onnte dann aber noch ein Eintrag der ersten Zeile von G zu 0 gemacht werden. Dieser Codevektor h¨ atte dann widerspr¨ uchlicherweise das Gewicht < d. Also erzeugt G2 einen [Nq (k, d) − d, k − 1, d2 ]-Code C2 . Sei c = (c(1) , c(2) ) ∈ C mit c(2) ∈ C2 und wt(c(2) ) = d2 . Aus Anzahlgr¨ unden gibt es ein α ∈ Fq , das mindestens ⌈d/q⌉-mal in c(1) vorkommt. Durch Subtrahieren des α-fachen der ersten Zeile w von G folgt d ≤ wt(c − αw) ≤ (d − ⌈d/q⌉) + d2 , also d2 ≥ ⌈d/q⌉ und damit Nq (k − 1, d2 ) ≥ Nq (k − 1, ⌈d/q⌉). Hieraus erhellt sich d + Nq (k − 1, d2 ) = Nq (k, d). {z } | ≥Nq (k−1,⌈d/q⌉)
Diese Ungleichung liefert die Behauptung, wenn sie iteriert wird Nq (k, d) ≥ . . . ≥
k−2 X
⌈d/q i ⌉ + Nq (1, ⌈d/q k−1 ⌉) = | {z } i=0 =⌈d/qk−1 ⌉
k−1 X i=0
⌈d/q i ⌉. ⊓ ⊔
17.5 Schranken
205
Der duale Code des m-ten bin¨aren Hamming-Codes heißt m-ter bin¨arer Simplex-Code. Satz 17.44. Der m-te bin¨are Simplex-Code ist ein [2m − 1, m, 2m−1 ]-Code, in dem alle von 0 verschiedenen Codevektoren das Hamming-Gewicht 2m−1 haben. Beweis. Jede Kontrollmatrix des m-ten bin¨aren Hamming-Codes ist eine Generatormatrix des m-ten bin¨aren Simplex-Codes. Also ist der m-te bin¨are Simplex-Code ein Linearcode der L¨ange n = 2m − 1 und Dimension k = m. Die Spalten der Generatormatrix Hm des m-ten bin¨aren Simplex-Codes seien mit h(1) , . . . , h(n) bezeichnet. Dann wird eine Nachricht a ∈ Fm 2 codiert zum Codewort aHm = (ha, h(1) i, . . . , ha, h(n) i).
Die Linearform Fm ur jedes a 6= 0. Wenn h den 2 → F2 : h 7→ ha, hi ist surjektiv f¨ Vektorraum Fm durchl¨ a uft, wird jeder Bildwert in {0, 1} gleichoft angenom2 men, also (2m−1 )-mal. Die Spalten h(i) von H sind die von 0 verschiedenen Vektoren in Fm 2 . Mithin besitzt der Codevektor aHm das Hamming-Gewicht 2m−1 . ⊓ ⊔ Beispielsweise ist der duale Code des bin¨aren [7, 4, 3]-Hamming-Codes ein [7, 3, 4]-Simplex-Code. Die bin¨aren Simplex-Codes erreichen die GriesmerSchranke mit Gleichheit. Gilbert-Varshamov-Schranke Satz 17.45. Seien n, k und d nat¨ urliche Zahlen und eine Primzahlpotenz q mit d−2 X i=0
n−1 (q − 1)i < q n−k . i
(17.46)
Dann gibt es einen [n, k]-Code u ¨ber Fq mit dem Minimalabstand ≥ d. Beweis. Sei n = k. Die Ungleichung ist nur f¨ ur d = 1 erf¨ ullt. Der gesuchte Code ist der [n, n, 1]-Code C = Fnq . Sei n−k ≥ 1. Es wird ein [n, k]-Code u ¨ber Fq anhand einer Kontrollmatrix H = h(1) . . . h(n)
konstruiert, in der je d − 1 Spalten linear unabh¨angig sind. Dieser Code hat dann nach Satz 17.12 Minimalabstand ≥ d. Angenommen, eine (n − k) × i-Matrix H = h(1) . . . h(i) ,
206
17 Lineare Codes
in der je min{i, d − 1} Spalten linear unabh¨angig sind, sei schon konstruiert. F¨ ur i = 1 braucht nur ein Vektor h(1) 6= 0 gew¨ahlt zu werden. Jede Linearkombination aus h¨ ochstens l = min{i, d−2} der Vektoren h(1) , . . . , h(i) wird durch die Koeffizienten eindeutig festgelegt. Die Anzahl dieser Linearkombinationen ist l X i (q − 1)j . j j=0 Aufgrund der Ungleichung d−2 l X n − 1 X i (q − 1)j < q n−k (q − 1)j ≤ j j j=0 j=0
existiert ein Vektor h(i+1) in Fqn−k , der keine derartige Linearkombination besitzt. Also sind in der um h(i+1) erg¨anzten (n − k) × (i + 1)-Matrix je min{i + 1, d − 1} Spalten linear unabh¨angig. ⊓ ⊔ Jede Schranke besitzt eine diskrete Version f¨ ur feste L¨ange n und eine asymptotische Form f¨ ur n gegen ∞. Letztere ergibt sich jeweils aus der diskreten Version, indem die Schranke als Funktion der Informationsrate R = k/n und der Fehlerkorrekturrate λ = d/n geschrieben wird. Auf diese Weise l¨asst sich die Singleton-Schranke d ≤ n − k + 1 schreiben als λ ≤ 1 − R + 1/n.
(17.47)
λ ≤ 1 − R.
(17.48)
¨ Der Ubergang n → ∞ ergibt (bei festem R und λ) den asymptotisch zu verstehenden Ausdruck
Die asymptotische Version der Singleton-, Hamming- und Gilbert-VarshamovSchranke f¨ ur bin¨ are Linearcodes zeigt die Abb. 17.5. Zu jedem bin¨aren Linearcode gibt es einen Punkt in diesem Graphen. Linearcodes mit hinreichend großer L¨ ange und hohem Minimalabstand liegen in dem durch Hammingund Gilbert-Varshamov-Schranke begrenzten Gebiet.
17.6 Modifikation und Kombination Gute Linearcodes lassen sich oft durch sukzessive Modifikation und Kombination von bekannten Linearcodes erhalten. Modifikation Sei C ein [n, k]-Code u ¨ber Fq mit der Generatormatrix G = g (1) g (2) . . . g (n) .
(17.49)
17.6 Modifikation und Kombination
207
R 1 0.8
0.6
S 0.4
H 0.2
GV 0
0.2
0.4
0.6
0.8
λ 1
Abb. 17.5. Asymptotische Singleton- (S), Hamming- (H) und Gilbert-VarshamovSchranke (GV) f¨ ur bin¨ are Linearcodes.
Der erweiterte Code von C entsteht aus C durch Anh¨angen einer Parit¨atsstelle Par(C) = {(c1 , . . . , cn , cn+1 ) | c ∈ C, cn+1 = −
n X i=1
ci }.
(17.50)
Dies ist ein [n + 1, k]-Code mit der Generatormatrix g (1) g (2) . . . g (n) g (n+1) ,
wobei g (n+1) = −
n X
g (i) .
(17.51)
i=1
F¨ ur den Minimalabstand P = Par(C) gilt dC ≤ dP ≤ dC + 1.
(17.52)
Der erweiterte Code P eines bin¨aren Linearcodes C besteht nur aus Vektoren von geradem Gewicht. Ist also dC ungerade, dann ist dP = dC + 1. Beispiel 17.46. Der bin¨ are [7, 4, 3]-Hamming-Code wird erzeugt von der Matrix 1101000 1 0 1 0 1 0 0 0 1 1 0 0 1 0. 1110001
208
17 Lineare Codes
Der erweitere Code ist ein selbstdualer [8, 4, 4]-Code mit der Generatormatrix 11010001 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1. 11100011 Der punktierte Code von C ist ein Linearcode Pu(C), der aus C durch Streichen einer (hier der letzten) Komponente entsteht. Dieser Code hat die Generatormatrix (17.53) g (1) g (2) . . . g (n−1) .
Beispiel 17.47. Der punktierte Code des [7, 4]-Hamming-Codes ist ein [6, 4, 2]Code mit der Generatormatrix 110100 1 0 1 0 1 0 0 1 1 0 0 1. 111000
Die Generatormatrix von C kann (nach eventueller Zeilenumordnung) geschrieben werden in der Form (n) ∗ g1 0 (17.54) G= . G′ ... 0
Der verk¨ urzte Code von C ist ein Linearcode V (C), der von der Matrix G′ erzeugt wird. Dieser Code ist also ein [n − 1, k − 1]-Code.
Beispiel 17.48. Der verk¨ urzte Code des [7, 4, 3]-Hamming-Codes ist ein [6, 3, 3]Code mit der Generatormatrix 110100 G′ = 1 0 1 0 1 0 . 011001 Kombination Sei C ein [m, k]-Code u ¨ ber Fq mit der Generatormatrix G und sei D ein [n, l]Code u ¨ ber Fq mit der Generatormatrix H. Die Summe C + D von C und D ist der Linearcode u ¨ber Fq mit der Generatormatrix G 0 . (17.55) 0 H
17.6 Modifikation und Kombination
209
F¨ ur diesen Code gilt C + D = {(c, d) | c ∈ C, d ∈ D}.
(17.56)
Es handelt sich um einen [m + n, k + l]-Code mit dem Minimalabstand min{dC , dD }, denn f¨ ur alle (c, d) ∈ C + D gilt wt(c, d) = wt(c) + wt(d). Beispiel 17.49. Sei C der bin¨are [4, 3, 2]-Parit¨atskontrollcode und sei D der bin¨ are [3, 1, 3]-Wiederholungscode. Die Summe C + D ist ein bin¨arer [7, 4, 2]Code mit der Generatormatrix 1001000 0 1 0 1 0 0 0 0 0 1 1 0 0 0. 0000111
Sei m = n. Die Plotkin-Summe von C und D u ¨ber Fq ist ein Linearcode mit der Generatormatrix GG . (17.57) 0 H Dieser Code wird mit C ⊕ D bezeichnet. Es gilt C ⊕ D = {(c, c + d) | c ∈ C, d ∈ D}.
(17.58)
Diese Konstruktion wird auch u | u + v-Konstruktion genannt, weil alle Codevektoren eben diese Gestalt besitzen. Satz 17.50. Sei C ein [n, k]-Code u uber Fq . ¨ber Fq und D ein [n, l]-Code ¨ Die Plotkin-Summe C ⊕ D ist ein [2n, k + l]-Code mit dem Minimalabstand min{2dC , dD }. Beweis. Die Aussagen u ur den Ham¨ber L¨ange und Dimension sind klar. F¨ ming-Abstand zweier Codevektoren (c, c + d) und (c′ , c′ + d′ ) gilt d(c, c′ ) + d(c + d, c′ + d′ ) = wt(c − c′ ) + wt(c − c′ + d − d′ ). Im Falle d = d′ ist diese Summe gleich 2d(c, c′ ) ≥ 2dC . Andernfalls wird sie nach unten abgesch¨ atzt durch wt(c − c′ ) + wt(d − d′ ) − wt(c − c′ ) = wt(d − d′ ) ≥ dD . ⊓ ⊔ Beispiel 17.51. Sei C der bin¨are [4, 3, 2]-Parit¨atscode und D der [4, 1, 4]-Wiederholungscode. Die Plotkin-Summe C ⊕ D ist ein selbstdualer [8, 4, 4]-Code mit der Generatormatrix 10011001 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1. 00001111
210
17 Lineare Codes
Suche nach guten Linearcodes F¨ ur die Praxis werden [n, k]-Codes u ¨ ber Fq mit gr¨oßtm¨oglichem Minimalabstand gesucht dq (n, k) = max{d | es existiert ein [n, k, d]-Code u ¨ ber Fq }.
(17.59)
Ein allgemeines Verfahren zur Berechnung von dq (n, k) f¨ ur beliebige n, k und q gibt es (bislang) nicht. Wir stellen ein Verfahren vor, mit dem Linearcodes modifiziert und kombiniert werden k¨ onnen, um neue, eventuell bessere Linearcodes zu erhalten. Die jeweils berechneten Linearcodes u ¨ ber Fq werden in einer Tabelle gespeichert. Anfangs ist die Tabelle leer. Sobald ein Code der L¨ange n u ¨ ber Fq in die Tabelle eingef¨ ugt wird, werden automatisch die trivialen Codes u ¨ ber Fq bis zur L¨ ange n hinzugef¨ ugt. Ein [n, k]-Code u ugt, wenn sein ¨ ber Fq wird eingef¨ Minimalabstand entweder gr¨oßer ist als der Minimalabstand der gespeicherten [n, k]-Codes, oder gleich ist dem Minimalabstand der gespeicherten [n, k]Codes und der neue Code zu keinem der gespeicherten Codes isomorph ist. F¨ ur das Einf¨ ugen von Codes wird eine rekursive Prozedur (Alg. 17.4) benutzt. Diese Routine gew¨ ahrleistet, dass die Tabelle invariant ist unter den verwenAlgorithmus 17.4 Update(C) Eingabe: linearer Code C 1: global T {Codetabelle} 2: if C verbessert T then 3: T := T ∪ {C} 4: for all Modifikation P von C do 5: Update(P ) 6: end for 7: for all Modifikation P von C ⊥ do 8: Update(P ) 9: end for 10: end if
deten Modifikationen und unter Dualit¨at. D. h., die Tabelle kann nicht durch Modifizierung oder Dualisierung der gespeicherten Codes verbessert werden. Eine invariante Tabelle l¨ asst sich nur von außen durch das Einf¨ ugen neuer Codes verbessern. Invariante Tabellen mit unteren und oberen Schranken f¨ ur den Minimalabstand wurden zuerst von T. Verhoeff erzeugt. Hier sind drei neue Linearcodes u ¨ ber F4 , die mit diesem Verfahren gefunden wurden n 36 41 44
k d uS-oS Spur 24 8 7-9 CyP3dP2P2 31 7 6-8 CyP3dP2P2P4dP2P2 8 27 26-28 CyP3dP2P2
17.6 Modifikation und Kombination
211
In der Spalte uS-oS wird auf die von A. Brouwer verwaltete Tabelle der besten bekannten Linearcodes verwiesen. Dort sind untere (uS) und obere (oS) Schranken f¨ ur den Minimalabstand angegeben. Der Spur-Eintrag besagt, dass alle drei Codes aus zyklischen Codes (Cy) durch sukzessives Erweitern (P2), Punktieren (P3) bzw. Verk¨ urzen (P4) hervorgegangen sind. Der Pr¨afix d bezieht sich auf den jeweilig dualen Code.
Selbsttestaufgaben 17.1. Gegeben sei der bin¨ are [7, 3]-Code C mit der Generatormatrix 1001100 0100110 0010011
!
.
Bestimme ein Kontrollmatrix von C, den Minimalabstand von C und C ⊥ sowie die Minimalvektoren von C und C ⊥ . 17.2. Zwei Linearcodes C und D der L¨ ange n u ¨ ber Fq heißen isomorph, wenn es eine n monomiale Abbildung φ : Fn q → Fq gibt, so dass φ(C) = D. Eine Abbildung heißt monomial, wenn sie durch Linksmultiplikation mit einer n × n-Matrix beschrieben wird, die in jeder Zeile und Spalte genau einen von 0 verschiedenen Eintrag enth¨ alt. Zeige, dass isomorphe Linearcodes gleichen Minimalabstand haben. 17.3. Ein Blockcode der L¨ ange n u ur jedes i, ¨ ber Fq heißt abstandshomogen, wenn f¨ 0 ≤ i ≤ n die Anzahl Ai (c) = |{c′ ∈ C | d(c, c′ ) = i} aller Codew¨ orter, die zu einem gegebenen Codewort c den Hamming-Abstand i haben, nicht von dem speziellen Codewort c abh¨ angt. Zeige, dass Linearcodes abstandshomogen sind. 17.4. Beweise den Satz 17.3. 17.5. Bestimme den dualen Code des bin¨ aren [5, 2]-Codes aus 17.2. 17.6. Beweise das Lemma 17.5. 17.7. Sei U ein Unterraum eines F-Vektorraums V . Der Faktorraum V /U von V nach U ist die Menge aller affinen Unterr¨ aume von V in Richtung U . Zeige, dass V /U zusammen mit der Addition (v + U ) + (w + U ) := (v + w) + U und der Skalarmultiplikation κ(v + U ) := (κv) + U , u, v ∈ V und κ ∈ F, einen F-Vektorraum bildet. 17.8. Sei f : V → W eine lineare Abbildung zwischen F-Vektorr¨ aumen V und W . Zeige, dass der Kern U = ker f ein Unterraum von V und das Bild f (V ) ein Unterraum von W ist. Zeige, dass V /U → f (V ) : v + U 7→ f (v) eine bijektive lineare Abbildung ist. 17.9. Zeige, dass f¨ ur alle u, v ∈ Fn 2 gilt wt(u + v) = wt(u) + wt(v) − 2wt(u · v), wobei u · v = (u1 v1 , . . . , un vn ).
212
17 Lineare Codes
17.10. Sei C ein bin¨ arer Linearcode. Zeige, dass entweder alle Codevektoren von C gerades Gewicht haben oder die H¨ alfte gerades und die andere H¨ alfte ungerades Gewicht besitzen. 17.11. Sei C ein bin¨ arer Linearcode. Zeige, dass alle Codevektoren von C entweder mit 0 beginnen oder die H¨ alfte mit 0 und die andere H¨ alfte mit 1 anfangen. 17.12. (Gleichverteilungsprinzip) Sei C ein [n, k]-Code u ur ¨ ber Fq und 1 ≤ i ≤ n. F¨ jedes κ ∈ Fq sei ℓi (κ) die Anzahl aller Codew¨ orter von C mit i-ter Komponente κ. Zeige, dass entweder ℓi (0) = q k oder ℓi (κ) = q k−1 f¨ ur alle κ ∈ Fq . 17.13. F¨ ur welche n gibt es tern¨ are [n, n − 4, 3]-Codes? 17.14. Sei C ein [n, k]-Code u ¨ ber Fq . Die Automorphismengruppe von C besteht n aus allen monomialen Abbildungen φ : Fn q → Fq mit φ(C) = C. Zeige, dass die ⊥ Autommorphismengruppe von C aus den Transponierten der Automorphismen von C besteht. 17.15. Berechne den Minimalabstand des tern¨ aren Linearcodes mit der Generatormatrix 22021000 0 2 2 0 2 1 0 0 0 0 2 2 0 2 1 0. 00022021 17.16. Gegeben sei ein [5, 3]-Code u ¨ ber F5 mit folgender Generatormatrix 13100 01310 00131
!
.
Zeige, dass dieser Code das Geschlecht 0 besitzt. ¨ 17.17. Uberlege, welche Linearcodes durch Punktieren oder Verk¨ urzen des erweiterten bin¨ aren [8, 4, 4]-Hamming-Codes an ein oder zwei Stellen entstehen.
18 Endliche K¨ orper
In diesem Kapitel wird zuerst die allgemeine Theorie der K¨orpererweiterungen entwickelt. Auf diese Weise k¨onnen wir endliche K¨orper als Erweiterungen der Primk¨ orper Zp einf¨ uhren. Wir zeigen die Existenz und Eindeutigkeit endlicher K¨ orper, diskutieren den Berlekamp-Algorithmus zur Faktorisierung von Polynomen u orpern und behandeln eine wichtige Klasse linearer ¨ ber endlichen K¨ Codes, die so genannten Reed-Solomon-Codes.
18.1 K¨ orperweiterungen Charakteristik eines K¨ orpers Lemma 18.1. Sei K ein K¨orper. F¨ ur das Einselement in K gilt entweder n1 = 1 + . . . + 1 = 0 f¨ ur ein n ≥ 1 oder n1 6= 0 f¨ ur alle n ≥ 1. Im ersten Fall ist die kleinste nat¨ urliche Zahl p > 0 mit p1 = 0 eine Primzahl. Beweis. Die beiden F¨ alle sind klar. Angenommen, es w¨are p ≥ 1 mit p1 = 0, aber p nicht prim, mithin p = ab f¨ ur ganze Zahlen a, b > 1. Dann folgt 0 = p1 = (a1)(b1). Da K nullteilerfrei ist, ergibt sich a1 = 0 oder b1 = 0, was der Minimali¨ at von p widerspricht. ⊓ ⊔ Im ersten Fall wird K als K¨orper der Charakteristik p bezeichnet und im zweiten Fall als K¨ orper der Charakteristik 0. Satz 18.2. Jeder K¨orper der Charakteristik p > 0 enth¨alt einen zu Zp isomorphen Unterk¨orper. Beweis. Sei K ein K¨ orper der Charakteristik p > 0. F¨ ur die Menge P = {a1 | a ∈ Z} aller Vielfachen von 1 in K gilt nach dem Divisionssatz P = {a1 | 0 ≤ a ≤ p − 1}.
(18.1)
214
18 Endliche K¨ orper
F¨ ur beliebige a1, b1 ∈ P gilt a1 + b1 = c1, wobei c = (a + b) mod p, und (a1)(b1) = d1, wobei d = ab mod p. Offenbar bildet P einen Unterring von K. Zu jedem Element a1 6= 0 in P gibt es nach dem Satz von Bezout ganze Zahlen s und t mit sa + tp = 1. Folglich ist (s1)(a1) = 1 in K und somit s1 das Inverse von a1. Also ist P ein K¨orper. Die Zuordnung φ : a 7→ a1 liefert einen Isomorphismus von Zp auf P. ⊓ ⊔ Satz 18.3. Jeder K¨orper der Charakteristik 0 besitzt einen zu Q isomorphen Unterk¨orper. Beweis. Sei K ein K¨ orper der Charakteristik 0. Die Menge P = { (a1)(b1)−1 | a ∈ Z, b ∈ Z \ {0}} bildet einen Unterk¨ orper von K. Die Zuordnung φ : einen Isomorphismus von Q auf P.
a b
(18.2)
7→ (a1)(b1)−1 definiert ⊓ ⊔
Der K¨ orper Zp heißt Primk¨orper der Charakteristik p > 0 und der K¨orper Q Primk¨orper der Charakteristik 0. Auswertung von Polynomen Satz 18.4. Sei L eine K¨orpererweiterung von K und sei α ∈ L. Die Abbildung ηα : K[x] → L : f 7→ f (α) ist ein Homomorphismus. Das Bild von ηα , K[α] = {f (α) | f ∈ K[x]}, ist ein Unterring von L. Der Kern von ηα , ker(ηα ) = {f (α) | f ∈ K[x]}, ist entweder {0} oder besteht aus allen Vielfachen eines Polynoms g ∈ K[x], das minimalen Grad unter allen Polynomen in K[x] besitzt, die α als Nullstelle haben. Beweis. Nach Satz 16.17 ist ηα ein Homomorphismus und nach 12.10 ist das Bild von ηα ein Unterring von L. Ist ηα injektiv, dann ist ker(ηα ) = {0}. Andernfalls gibt es ein Polynom f 6= 0 in K[x] mit f (α) = 0. Sei g ∈ ker(ηα ) ein Polynom minimalen Grades n ≥ 1. F¨ ur jedes Polynom f ∈ ker(ηα ) gilt nach dem Divisionssatz f = qg + r, wobei q, r ∈ K[x] und r = 0 oder grad(r) < n. Durch Einsetzen von α ergibt sich 0 = f (α) = q(α)g(α) + r(α) = r(α). Also ist r ∈ ker(ηα ). Aufgrund der Wahl von g folgt r = 0. Somit ist jedes Polynom in ker(ηα ) ein Vielfaches von g. Umgekehrt liegt jedes Vielfache von g auch in ker(ηα ). ⊓ ⊔ Sei L eine K¨ orpererweiterung von K und sei α ∈ L. Ist ηα injektiv, so heißt α transzendent u ¨ ber K, andernfalls heißt α algebraisch u ¨ber K. Eine algebraische Zahl u ¨ ber K ist Nullstelle eines von 0 verschiedenen Polynoms u ahrend eine Transzendente u ¨ ber K, w¨ ¨ ber K keiner polynomialen Gleichung mit Koeffizienten aus K gen¨ ugt.
18.1 K¨ orperweiterungen
215
Beispiele 18.5. • Jedes Element α ∈ K ist algebraisch u ¨ber K, weil α Nullstelle von x − α ∈ K[x] ist. 2 • Die imagin¨ are Einheit i ist nach 16.27 eine √ Wurzel des Polynoms x + 1 und somit algebraisch u ¨ ber Q. Die Zahl 2 ist algebraisch u ¨ber Q, weil sie eine Wurzel von x2 − 2 ist. • Die n-ten Einheitswurzeln sind algebraisch u ¨ber Q, weil sie nach 16.25 die Nullstellen von xn − 1 sind. • Die Kreiszahl π und die eulersche Zahl e sind transzendent u ¨ ber Q. Minimalpolynome Sei L eine K¨ orpererweiterung von K und sei α ∈ L algebraisch u ¨ ber K. Nach Satz 18.4 gibt es ein normiertes Polynom minimalen Grades n ≥ 1 u ¨ber K, das α als Nullstelle besitzt. Dieses Polynom wird Minimalpolynom von α u ¨ ber K genannt. Satz 18.6. Sei α ∈ L algebraisch ¨ uber K.
• •
Das Minimalpolynom von α ¨ uber K ist eindeutig bestimmt und irreduzibel uber K. ¨ Ist f ∈ K[x] irreduzibel, normiert und α eine Wurzel von f , dann ist f das Minimalpolynom von α ¨ uber K.
Beweis. Sei g ein Minimalpolynom von α u ¨ber K. Angenommen, g w¨are reduzibel. Dann gibt es Polynome f, h ∈ K[x] vom Grad ≥ 1 mit g = f h. Durch Einsetzen von α ergibt sich 0 = g(α) = f (α)h(α). Da L nullteilerfrei ist, folgt f (α) = 0 oder h(α) = 0. O.B.d.A. sei f (α) = 0. Nach Satz 18.4 ist f ein Vielfaches von g, hat aber widerspr¨ uchlicherweise einen kleineren Grad als g. Sei f ein weiteres Minimalpolynom von α u ¨ber K. Dann ist f ein Teiler von g und g ein Teiler von f . Nach Lemma 16.4 folgt grad(f ) = grad(g). Weiter gibt es ein h ∈ K[x] mit f = hg. Aus Gradgr¨ unden ist h ein von 0 verschiedenes Element in K. Da f und g normiert sind, erhellt sich durch Koeffizientenvergleich h = 1. Sei f ein normiertes irreduzibles Polynom u ¨ ber K mit f (α) = 0. Nach Satz 18.4 ist f ein Vielfaches von g. Da aber f irreduzibel ist, m¨ ussen f und g assoziiert sein. Also gibt es nach Satz 16.6 ein Element h 6= 0 in K mit f = hg. Weil f und g normiert sind, folgt verm¨oge Koeffizientenvergleich h = 1. ⊓ ⊔ Im Folgenden wird das Minimalpolynom einer algebraischen Zahl α u ¨ ber K mit mα bezeichnet. Beispiele 18.7. • Das Minimalpolynom von α ∈ K ist das lineare Polynom x − α ∈ K. √ • Das √ Minimalpolynom von 2 u ¨ ber Q ist f = x2 − 2, denn f ist normiert, hat 2 als Wurzel und ist nach 16.28 irreduzibel u ¨ber Q. Das Minimalpolynom der imagin¨ aren Einheit i u ¨ ber Q ist f = x2 +1 nach 16.27 und 16.28. • Das Minimalpolynom einer n-ten Einheitswurzel u ¨ber Q ist ein Teiler von xn − 1 und wird n-tes Kreisteilungspolynom genannt.
216
18 Endliche K¨ orper
Endliche K¨ orpererweiterungen Satz 18.8. Ist α algebraisch u ¨ ber K, dann ist K[α] ein K¨orper. Beweis. Nach 18.4 ist K[α] ein Ring. Es bleibt zu zeigen, dass jedes von 0 verschiedene Element in K[α] invertierbar ist. Sei f ∈ K[x] mit f (α) 6= 0. Nach dem Divisionssatz gibt es Polynome q, r ∈ K[x] mit f = qmα + r, wobei r = 0 oder grad (r) < grad (mα ). Durch Einsetzen von α ergibt sich f (α) = q(α)mα (α) + r(α) = r(α). Folglich ist r 6= 0. Weil mα irreduzibel ist, m¨ ussen r und mα aus Gradgr¨ unden teilerfremd sein. Mithin gibt es nach dem Satz von Bezout Polynome s, t ∈ K[x] mit mα s + rt = 1. Durch Einsetzen von α erhellt sich r(α)t(α) = 1. Also ist t(α) invers zu f (α). ⊓ ⊔ F¨ ur den K¨ orper K[α] wird u ¨ blicherweise K(α) geschrieben. √ 2 ur Beispiel 18.9. Die Zahl α = ¨ber Q. F¨ √ 2 hat das Minimalpolynom x − 2 u die K¨ orpererweiterung Q( 2) von Q gilt √ √ Q( 2) = {a + b 2 | a, b ∈ Q}. √ Sei a + bx ∈ Q[x] mit a + b 2 6= 0. Mithilfe des erweiterten euklidischen Algorithmus’ folgt b2 a − bx (x2 − 2) + 2 (a + bx) = 1. − 2b2 a − 2b2 √ Durch Einsetzen von 2 erhellt sich √ √ a−b 2 (a + b 2) = 1. 2 2 a − 2b √ √ √ 2 2. Wegen a + b 2 6= 0 kann a2 − 2b2 Also ist aa−b 2 −2b2 das Inverse von a + b nicht verschwinden. a2
Sei L eine K¨ orpererweiterung von K. Der K¨orper L bildet in nat¨ urlicher Weise einen K-Vektorraum: Die Menge aller Vektoren ist durch die abelsche Gruppe (L, +, 0) gegeben und die Skalarmultiplikation entspricht der Multiplikation der Elemente in L (Vektoren) mit den Elementen in K (Skalare). Ist L ein endlich-dimensionaler K-Vektorraum, so wird L eine endliche K¨orpererweiterung von K genannt. Die Dimension des K-Vektorraums L heißt der K¨orpergrad von L ¨ uber K, kurz [L : K]. Satz 18.10. Sei α algebraisch ¨ uber K. Der K¨orper K(α) ist eine endliche K¨orpererweiterung von K. Hat das Minimalpolynom von α ¨ uber K den Grad n, dann ist K(α) ein n-dimensionaler K-Vektorraum mit der K-Basis Bα = {1, α, . . . , αn−1 }.
18.1 K¨ orperweiterungen
217
Beweis. Angenommen, α gen¨ ugt einer Gleichung u ¨ber K vom Grad m < n fm αm + . . . + f1 α + f0 = 0,
fi ∈ K.
Pm Dann ist f = i=0 fi xi ein Polynom in K[x] mit f (α) = 0. Nach Satz 18.4 ist f ein Vielfaches von mα . Aus Gradgr¨ unden kann f nur das Nullpolynom sein. Somit ist Bα linear unabh¨angig u ¨ber K. Zu jedem Element f (α) 6= 0 in K(α) gibt es nach dem Beweis von Satz 18.8 ein Polynom r 6= 0 in K[x] vom Grad < n mit r(α) = f (α). Damit ist f (α) als K-Linearkombination der Elemente in Bα darstellbar und somit Bα ein K-Erzeugendensystem von K(α). ⊓ ⊔ √ √ Beispiele 18.11. • Der K¨ orper Q( 2) = {a + b √2 | a, b ∈ Q} ist ein 2dimensionaler Q-Vektorraum mit der Basis {1, 2}. • Der K¨ orper Q(i) = {a+bi | a, b ∈ Q} ist ein 2-dimensionaler Q-Vektorraum mit der Basis {1, i}, genannt Gauss-Zahlk¨orper. • Der K¨orper der komplexen Zahlen C = R(i) = {a + bi | a, b ∈ R} ist ein 2-dimensionaler √ R-Vektorraum mit √ der Basis √ {1, i}. | a, b,√c ∈ Q} ist ein 3• Der K¨ orper Q( 3 2) = {a + b 3 2 + c( 3 2 )2 √ 3 dimensionaler Q-Vektorraum mit der Basis {1, 2, ( 3 2 )2 }, weil die Zahl √ 3 3 2 das Minimalpolynom g = x −√2 u ¨ber Q hat. Die beiden anderen √ Null√ stellen von g sind 3 2 e2πi/3 und 3 2 e2πi2/3 , sie liegen nicht in Q( 3 2). Das letzte Beispiel zeigt, dass im K¨orper K(α) nicht notwendig alle Nullstellen des Minimalpolynoms von α u ¨ ber K liegen. √ wird so erweitert, dass er alle Wurzeln des Beispiel 18.12. Der K¨ orper Q( 3 2) √ 3 3 2u Minimalpolynoms g = x − 2 von ¨ ber Q enth¨alt. Nach dem Wurzelsatz √ 3 ist g durch x − 2 teilbar, also √ √ √ 3 3 3 x3 − 2 = (x − 2)(x2 + 2x + ( 2)2 ). √ √ √ 3 Das Polynom f = x2 + 3 2x + ( 3 2)2 ist√irreduzibel u ¨ ber Q( 2), weil √ sonst 3 aus Gradgr¨ unden seine√Nullstellen in Q( 2) liegen. Der K¨orper Q( 3 2) wird um die Nullstelle β = 3 2 e2πi/3 von f erweitert √ √ √ √ √ √ 3 3 3 3 3 3 Q( 2, 2e2πi/3 ) := Q( 2)( 2e2πi/3 ) = {a + b 2e2πi/3 | a, b ∈ Q( 2)}. √ √ Die Elemente von Q( 3 2, 3 2e2πi/3 ) sind also von der Form √ √ √ √ √ 3 3 3 3 3 a0 + a1 2 + a2 ( 2 )2 + (b0 + b1 2 + b2 ( 2 )2 ) 2e2πi/3 , ai , bi ∈ Q. √ √ somit nach Das Polynom f hat die Nullstelle β in Q( 3 2, 3 2e2πi/3 ) und ist √ √ 3 3 dem Wurzelsatz durch x−β teilbar. In der Tat√zerf¨allt f u ¨ ber Q( 2, 2e2πi/3 ) in Linearfaktoren f = (x − β)(x − γ) mit γ = 3 2 e4πi/3 . Demnach liegt auch γ √ √ 3 3 in Q( 2, 2e2πi/3 ).
218
18 Endliche K¨ orper
Gradformel Satz 18.13. Ist M eine endliche K¨orpererweiterung von L und L eine endliche K¨orpererweiterung von K, dann ist M ist eine endliche K¨orpererweiterung von K und es gilt [M : K] = [M : L] · [L : K] .
(18.3)
Beweis. Ist {α1 , . . . , αm } eine L-Basis von M und {β1 , . . . , βn } eine K-Basis von L, dann ist {αi βj | 1 ≤ i ≤ n, 1 ≤ j ≤ m} eine K-Basis von M. ⊓ ⊔ √ √ Beispiel 18.14. F¨ ur den in 18.12 konstruierten K¨orper Q( 3 2, 3 2e2πi/3 ) gilt ih √ i i h √ √ h √ √ √ 3 3 3 3 3 3 Q( 2, 2e2πi/3 ) : Q = Q( 2, 2e2πi/3 ) : Q( 2) · Q( 2) : Q = 3·2 = 6.
18.2 Konstruktion und Eindeutigkeit Satz 18.15. Zu jedem endlichen K¨orper K gibt es eine Primzahl p und eine nat¨ urliche Zahl n mit der Eigenschaft |K| = pn .
(18.4)
Beweis. Sei K ein endlicher K¨orper. Dann hat K definitionsgem¨aß Charakteristik p > 0. Nach Satz 18.2 enth¨alt K den Unterk¨orper P = {a1 | 0 ≤ a ≤ p − 1}. Also ist K ein endlich-dimensionaler P-Vektorraum. Bezeichnet n die Dimension von K u ⊓ ⊔ ¨ ber P, dann hat K genau |P|n = pn Elemente. Konstruktion endlicher K¨ orper n Ein endlicher K¨ orper K mit wird anhand eines normierten irP p Elementen reduziblen Polynoms f = i fi xi ∈ Zp [x] vom Grad n konstruiert. Sei α eine Wurzel von f . Wegen Satz 18.6 ist f das Minimalpolynom von α u ¨ ber Zp . Nach Satz 18.10 ist K = Zp (α) eine endliche K¨orpererweiterung von Zp und ein Zp -Vektorraum mit der Basis Bα = {1, α, . . . , αn−1 }. Jedes Element von K ist eindeutig darstellbar in der Form
a0 + a1 α + . . . + an−1 αn−1 ,
ai ∈ Zp .
Zwei K¨ orperelemente werden als Vektoren addiert ! n−1 ! n−1 n−1 X X X i i (ai + bi )αi bi α = ai α + i=0
i=0
i=0
(18.5)
(18.6)
18.2 Konstruktion und Eindeutigkeit
und als Polynome in α multipliziert ! ! 2n−2 ! i n−1 n−1 X X X X ak bi−k αi . bi αi = ai αi · i=0
i=0
i=0
219
(18.7)
k=0
Die rechte Seite wird in der Basis Bα entwickelt, indem die Potenz αn mithilfe des Minimalpolynoms von α in der Basis Bα repr¨asentiert wird αn = −(f0 + f1 α + . . . + fn−1 αn−1 ).
(18.8)
Auf diese Weise lassen sich alle Potenzen von α in der Basis Bα darstellen. Beispiel 18.16. Um einen K¨orper mit vier Elementen zu konstruieren, wird ein irreduzibles Polynom f = x2 + x + 1 vom Grad 2 u ¨ ber Z2 gew¨ahlt. Sei α eine Nullstelle von f , also α2 = 1 + α. Dann ist der gesuchte K¨orper Z2 (α) = {a0 + a1 α | a0 , a1 ∈ Z2 } = {0, 1, α, 1 + α}. Beispielsweise gilt α(1 + α) = α + α2 = α + (1 + α) = 1 + 2α = 1. Lemma 18.17. Ist K ein endlicher K¨orper mit q Elementen, dann gilt f¨ ur alle Elemente β ∈ K β q = β.
(18.9)
Beweis. Nach Korollar 15.36 gilt β q−1 = 1 f¨ ur alle Elemente β der multiplikativen Gruppe (K \ {0}, ·, 1). Also gilt β q = β f¨ ur alle Elemente β 6= 0 in K. Diese Gleichung erf¨ ullt trivialerweise auch das Nullelement. ⊓ ⊔ Satz 18.18. Ist K ein endlicher K¨orper mit q Elementen, dann gilt Y xq − x = (x − β). (18.10) β∈K
Beweis. Nach Lemma 18.17 ist jedes β ∈ K eine Wurzel von xq − x. Nach dem Wurzelsatz wird xq − x geteilt von Y (x − β). β∈K
Beide Polynome haben denselben Grad und sind normiert, mithin sind sie identisch. ⊓ ⊔
220
18 Endliche K¨ orper
Multiplikative Struktur endlicher K¨ orper Satz 18.19. Die multiplikative Gruppe eines endlichen K¨orpers ist zyklisch. Beweis. Sei K ein endlicher K¨orper mit pn Elementen. Sei β ein Element maximaler Ordnung in der multiplikativen Gruppe (K \ {0}, ·, 1) von K. Wir zeigen, dass f¨ ur jedes γ ∈ K mit γ 6= 0 gilt ord(γ) | ord(β).
(18.11)
Angenommen, es g¨ abe ein γ ∈ K, so dass ord(γ) kein Teiler von ord(β) w¨are. Dann gibt es eine Primzahl q und nat¨ urliche Zahlen r, s mit ord(β) = q i s und i i ord(γ) = q i+1 r, so dass q kein Teiler von s ist. Es gilt (β q )s = β q s = 1 und i+1 i+1 i (γ r )q = γ q r = 1. Daraus folgt ord(β q ) = s und ord(γ r ) = q i+1 . Also i sind ord(β q ) und ord(γ r ) teilerfremd. Weil aber die multiplikative Gruppe von K abelsch ist, folgt i
i
i
ord(β q γ r ) = [ord(β q ), ord(γ r )] = ord(β q ) · ord(γ r ) = sq i+1 = q · ord(β). i
Dabei ergibt sich die erste Identit¨at aus Abs. 15.5. Also hat β q γ r widerspr¨ uchlicherweise eine gr¨ oßere Ordnung als β. Sei l = ord(β). Nach (18.11) gilt γ l = 1 f¨ ur jedes γ 6= 0 in K. Also ist jedes γ 6= 0 in K eine Wurzel von xl − 1. Nach dem Wurzelsatz ist xl − 1 ein Vielfaches von Y (x − γ). g= γ∈K γ6=0
Ein Gradvergleich ergibt l ≥ grad(g) = pn − 1. Nach Korollar 15.35 ist die Ordnung von β ein Teiler der Ordnung von (K \ {0}, ·, 1), d. h., l ist ein Teiler von pn − 1. Also folgt l = pn − 1. Somit wird (K \ {0}, ·, 1) von β erzeugt und ist folglich zyklisch. ⊓ ⊔ Ein Erzeuger β der multiplikativen Gruppe eines endlichen K¨orpers K wird primitives Element von K genannt. Das Minimalpolynom von β u ¨ ber K heißt ebenfalls primitiv. Beispiel 18.20. Das Polynom f = x4 +x+1 ∈ Z2 [x] ist irreduzibel u ¨ber Z2 . Sei α eine Wurzel von f . Die Potenzen von α durchlaufen alle von 0 verschiedenen Elemente von K = Z2 (α) α0 = 1, α1 = α, α2 α3 α4 = α + 1,
α5 = α2 + α, α6 = α3 + α2 , α7 , = α3 + α + 1, α8 , = α2 + 1, α9 = α3 + α,
α10 α11 α12 α13 α14
= α2 + α + 1, = α3 + α2 + α, = α3 + α2 + α + 1, = α3 + α2 + 1, = α3 + 1.
Also ist f ein primitives Polynom u ¨ber Z2 . Das irreduzible Polynom f = x4 + x3 + x2 + x + 1 ∈ Z2 [x] ist nicht primitiv, weil f ein Teiler von x5 − 1 ist und somit jede Wurzel von f eine 5-te Einheitswurzel ist.
18.2 Konstruktion und Eindeutigkeit
221
Eindeutigkeit endlicher K¨ orper Satz 18.21. Je zwei endliche K¨orper mit pn Elementen sind isomorph. Beweis. Sei K = Zp (α) ein K¨orper mit pn Elementen, wobei α ein primitives n Element in K ist. Nach Lemma 18.17 ist α eine Wurzel von xp − x. Wegen n Satz 18.6 ist somit mα ein Teiler von xp − x. Sei L ein endlicher K¨ orper mit pn Elementen. Angenommen, es w¨are mα (β) 6= 0 f¨ ur alle β ∈ L. Nach Satz 18.18 erhellt sich Y n xp − x = (x − β). β∈L
n
n
Da mα ein Teiler von xp − x ist, gibt es ein Polynom f ∈ Zp [x] mit xp − x = mα f , also mα (β)f (β) = 0 f¨ ur alle β ∈ L. Nach Annahme ist f (β) = 0 f¨ ur alle β ∈ L, was nach dem Wurzelsatz aus Gradgr¨ unden nicht m¨oglich ist. Also gibt es ein β ∈ L mit mα (β) = 0. Nach Satz 18.6 ist mα das Minimalpolynom von β u ¨ ber Zp und wegen Satz 18.10 ist {1, β, . . . , β n−1 } eine Zp -Basis von L. Also ist die Abbildung φ : K → L : a0 + a1 α + . . . + an−1 αn−1 7→ b0 + b1 β + . . . + bn−1 β n−1 ein Isomorphismus der beteiligten additiven Gruppen. Er ist sogar ein RingIsomorphismus, weil die Multiplikation in K und L durch die Nullstellen α und β desselben irreduziblen Polynoms mα definiert ist. ⊓ ⊔ Der bis auf Isomorphie eindeutige endliche K¨orper mit pn Elementen wird mit Fpn bezeichnet und nach Evariste Galois (1811-1832) auch Galoisfeld genannt. Der Verband der Unterk¨ orper Satz 18.22. Der K¨orper Fpm ist ein Unterk¨orper von Fpn genau dann, wenn m ein Teiler von n ist. Beweis. Sei m ein Teiler von n, also n = md f¨ ur eine nat¨ urliche Zahl d. In jedem Ring R gilt an − 1 = (am )d − 1 = (am − 1)(a(d−1)m + . . . + am + 1),
a ∈ R.
Im Falle R = Z folgt aus m | n sofort pm −1 | pn −1. Im Falle R = Fp [x] ergibt sich aus m | n sofort xm − 1 | xn − 1. Insbesondere folgt aus pm − 1 | pn − 1 m n sofort xp −1 − 1 | xp −1 − 1. Also ist Fpm nach Satz 18.18 ein Unterk¨orper von Fpn . orper von Fpn . Dann ist Fpn ein Vektorraum u Sei Fpm ein Unterk¨ ¨ber Fpm . Bezeichnet d die Dimension von Fpn u ¨ber Fpm , dann ist pn = (pm )d = pmd und somit n = md. ⊓ ⊔
222
18 Endliche K¨ orper
Korollar 18.23. Sei Fpm ein Unterk¨orper von Fpn . Ist α ein primitives Element in Fpn , dann besteht der K¨orper Fpm aus den Elementen m
0, 1, αu , α2u , . . . , α(p
−2)u
,
u = (pn − 1)/(pm − 1).
Den Verband der Unterk¨orper von F212 zeigt die Abb. 18.1. F212 @ @ @ F24
F26 H H HH HH F23 F22 @ @ @ F2 Abb. 18.1. Hasse-Diagramm der Unterk¨ orper von F212 .
18.3 Existenz n
Satz 18.24. F¨ ur jede Primzahlpotenz pn ist xp − x das Produkt aller normierten irreduziblen Polynome u ¨ber Fp , deren Grad n teilt. Beweis. Sei f ∈ Fp [x] ein normiertes irreduzibles Polynom vom Grad m, das n xp − x teilt. Nach den S¨ atzen 16.30 und 18.18 hat f eine Wurzel α in Fpn und wegen Satz 18.6 ist f das Minimalpolynom von α u ¨ ber Fp . Gem¨aß Satz 18.10 hat der K¨ orper Fp (α) genau pm Elemente, die allesamt folgende Gestalt haben a0 + a1 α + . . . + am−1 αm−1 ,
ai ∈ F p .
Diese K¨ orperelemente liegen wegen α ∈ Fpn in Fpn . Also ist Fp (α) ein Unterk¨ orper von Fpn . Folglich ist m wegen Satz 18.22 ein Teiler von n. Sei f ∈ Fp [x] ein normiertes irreduzibles Polynom vom Grad m. Sei α eine Nullstelle von f und m ein Teiler von n. Nach Satz 18.6 ist f das Minimalpolynom von α u ¨ber Fp und wegen Satz 18.10 hat Fp (α) genau pm Elemente. Gem¨ aß Satz 18.22 ist Fp (α) ein Unterk¨orper von Fpn . Nach Satz 18.18 ist α m m eine Wurzel von xp − x und somit f wegen Satz 18.4 ein Teiler von xp − x. m Da m ein Teiler von n ist, ist xp − x nach dem Beweis von Satz 18.22 ein n n Teiler von xp − x. Also ist f auch ein Teiler von xp − x. ⊓ ⊔
18.3 Existenz
223
Beispiel 18.25. Hier sind einige Primfaktorisierungen u ¨ ber F2 : x2 − x = x(x − 1) x4 − x = x(x − 1)(x2 + x + 1)
x8 − x = x(x − 1)(x3 + x + 1)(x3 + x2 + 1)
x16 − x = x(x − 1)(x2 + x + 1)(x4 + x + 1)(x4 + x3 + 1) (x4 + x3 + x2 + x + 1). M¨ obius-Funktion Die M¨obius-Funktion (A.F. M¨obius, 1790-1868) µ : N → N0 ist definiert durch 1 falls n = 1, (−1)k falls n Produkt von k paarweise (18.12) µ(n) = verschiedenen Primzahlen, 0 sonst.
Die M¨ obius-Funktion ist eng verkn¨ upft mit der eulerschen Φ-Funktion. Lemma 18.26. F¨ ur alle nat¨ urlichen Zahlen n ≥ 2 gilt X X n µ(d) Φ(n) = µ(d) = 0. und d d|n
(18.13)
d|n
Beweis. Sei n = pe11 · · · perr die kanonische Primfaktorisierung von n. Nach Satz 15.8 und der Definition von µ gilt n n n n n n + ...+ ) ± . . . + (−1)r − ( + ...+ )+ ( 1 p1 pr p1 p2 pr−1 pr p1 · · · pr X n µ(d) . = d d
Φ(n) =
d|n
Jeder Teiler von n hat eine Primfaktorzerlegung der Gestalt d = pf11 · · · pfrr ,
0 ≤ fi ≤ ei .
Nach Definition von µ ist µ(d) 6= 0 genau dann, wenn fi ∈ {0, 1} f¨ ur alle 1 ≤ i ≤ r. Also ist die Anzahl der Teiler d von n mit µ(d) 6= 0, die aus einem Produkt von i Faktoren p1 , . . . , pr bestehen, gleich ri . Mit Satz 10.4 folgt X X r r r r µ(d) = µ(d) = 1 − + = 0. ± . . . + (−1) 1 r 2 d|n d|n
µ(d)6=0
⊓ ⊔
224
18 Endliche K¨ orper
Satz 18.27. (M¨ obius-Inversion) Sind f : N → R und g : N → R Abbildungen mit X f (d), (18.14) g(n) = d d|n
dann gilt X
f (n) =
d d|n
n µ(d)g( ). d
(18.15)
Beweis. Es gilt X d d|n
X X n f (c) µ(d)g( ) = µ(d) d c d c|(n/d)
d|n
=
X X
µ(d)f (c)
c d d|n c|(n/d)
=
X c c|n
f (c)
X
µ(d),
d d|(n/c)
wobei in der letzten Gleichung ausgenutzt wurde, dass die Summation u ¨ ber alle Paare (c, d) mit d | n und c | nd der Summation u ¨ ber alle Paare (c, d) mit c | n und d | nc entspricht. Nach Lemma 18.26 ist die innere Summe gleich 0 f¨ ur alle Teiler c von n mit nc ≥ 2. Folglich ist X X X µ(d) = f (n)µ(1) = f (n). µ(d) = f (n) f (c) c c|n
d d|1
d d|(n/c)
⊓ ⊔ Existenz endlicher K¨ orper Satz 18.28. Zu jeder Primzahl p und jeder nat¨ urlichen Zahl n gibt es einen endlichen K¨orper mit pn Elementen. Beweis. Sei Ip (n) die Anzahl der normierten irreduziblen Polynome u ¨ ber Fp vom Grad n. Aus Satz 18.24 folgt verm¨oge Gradvergleich X d Ip (d). (18.16) pn = d d|n
Durch M¨ obius-Inversion ergibt sich Ip (n) =
1X n µ(d)p d . n d d|n
(18.17)
18.3 Existenz
225
Die Summe auf der rechten Seite enth¨alt den Term pn f¨ ur d = 1, womit sich folgende Absch¨ atzung f¨ ur Ip (n) ergibt Ip (n) ≥
1 n 1 pn − 1 (p − (pn−1 + . . . + p + 1)) = (pn − ). n n p−1
(18.18)
F¨ ur jede Primzahl p ist diese rechte Seite positiv und somit Ip (n) > 0. Also existiert wenigstens ein normiertes irreduzibles Polynom u ¨ber Fp vom Grad n und somit nach Abs. 18.2 ein endlicher K¨orper mit pn Elementen. ⊓ ⊔ Frobenius-Automorphismen Lemma 18.29. Eine Primzahl p teilt
p i
f¨ ur jedes 1 ≤ i ≤ p − 1. p! Beweis. Sei 1 ≤ i ≤ p − 1. Nach Satz 10.2 ist pi = i!(p−i)! . Weil pi ganz ist, muss i!(p − i)! ein Teiler von p! sein. Da aber p prim ist, sind p und i!(p − i)! teilerfremd, mithin i!(p − i)! ein Teiler von (p − 1)!. Also ist p ein Teiler von p . ⊓ ⊔ i Ein (Ring-)Homomorphismus φ : Fpn → Fpn heißt ein Automorphismus uber Fp , wenn f¨ ur alle α ∈ Fp gilt φ(α) = α. ¨
Lemma 18.30. Die Abbildung σp : Fpn → Fpn : α 7→ αp ist ein Automorphismus u ur alle α ∈ Fpn gilt ¨ber Fp und f¨ αp = α
⇐⇒
α ∈ Fp .
(18.19)
Beweis. Seien α, β ∈ Fpn . Nach dem Binomialsatz und Lemma 18.29 gilt p
p
(α + β) = α +
! p p−i i α β + β p = αp + β p . i
p−1 X i=1
(18.20)
Weiter ist (αβ)p = αp β p und 1p = 1. Folglich ist σp ein Homomorphismus. Sei αp = β p . Wegen (18.20) folgt (α − β)p = 0. Da Fpn nullteilerfrei ist, erhellt sich α = β. Also ist σp injektiv und somit nach Satz 6.8 sogar bijektiv. Sei α ∈ Fpn mit αp = α, d. h., α eine Wurzel von xp − x. Wegen Satz 16.22 hat dieses Polynom h¨ ochstens p Wurzeln in Fpn . Nach Satz 18.18 sind aber alle Elemente von Fp Wurzeln von xp − x. Also gilt αp = α genau dann, wenn α ∈ Fp . ⊓ ⊔ Der Automorphismus αp wird Frobenius-Automorphismus (G. Frobenius, 1848-1917) genannt.
226
18 Endliche K¨ orper
Korollar 18.31. Ist α ∈ Fpn eine Wurzel von f ∈ Fp [x], dann ist auch αp eine Wurzel von f . P Beweis. Sei f = i fi xi ∈ Fp [x]. Mit Lemma 18.30 gilt X X X fi σp (α)i = f (σp (α)). fi σp (αi ) = fi αi ) = σp (f (α)) = σp ( i
i
i
⊓ ⊔ uber Fp gilt Satz 18.32. F¨ ur das Minimalpolynom von α ∈ Fpn ¨ mα =
t−1 Y i=0
i
(x − αp ),
(18.21)
t
wobei t die kleinste nat¨ urliche Zahl ist mit αp = α. Qt−1 P i Beweis. Sei f = i ai xi = i=0 (x − αp ). Jeder Koeffizient ai ist nach dem Vietaschen Wurzelsatz darstellbar als symmetrisches Polynom in den Wurzeln ai = (−1)t−1−i st−1−i . Diese symmetrischen Polynome sind invariant unter dem Frobenius-Automorphismus u ¨ ber Fp und somit nach Lemma 18.30 Elemente von Fp . Also liegt f in Fp [x]. Nach Korollar 18.31 sind alle Wurzeln von f auch Wurzeln des Minimalpolynoms mα von α u ¨ ber Fp . Mithin ist f ein Teiler von mα . Da f normiert ist und mα irreduzibel, folgt mα = f . ⊓ ⊔ Beispiel 18.33. Sei α eine Wurzel des primitiven irreduziblen Polynoms x4 + x + 1 ∈ F2 [x]. Die zu den Elementen von F16 geh¨orenden Minimalpolynome sind m0 = x m1 = x − 1
mα = (x − α)(x − α2 )(x − α4 )(x − α8 ) = x4 + x + 1 mα3 = (x − α3 )(x − α6 )(x − α12 )(x − α9 ) = x4 + x3 + x2 + x + 1 mα5 = (x − α5 )(x − α10 ) = x2 + x + 1 mα7 = (x − α7 )(x − α14 )(x − α13 )(x − α11 ) = x4 + x3 + 1.
Die Menge aller Automorphismen eines K¨orpers Fpn u ¨ ber Fp bildet eine Gruppe, sie wird Galoisgruppe von Fpn u ¨ ber Fp genannt.
18.4 Polynom-Faktorisierung
227
uber Fp ist zyklisch von der Ordnung Satz 18.34. Die Galoisgruppe von Fpn ¨ n und wird durch den Frobenius-Automorphismus erzeugt. Beweis. Die Potenzen des Frobenius-Automorphismus σpm : Fpn → Fpn : α 7→ m αp sind ebenfalls Automorphismen von Fpn u ¨ber Fp . Nach Lemma 18.17 gilt n aber αp = α f¨ ur jedes α ∈ Fpn . Also ist σpn die identische Abbildung und die Potenzen σp0 = id, σp , σp2 , . . . , σpn−1 sind paarweise verschieden. Sei τ : Fpn → Fpn ein Automorphismus u ¨ber Fp . Wegen τ (1) = 1 gilt τ (k1) = kτ (1) = k1 f¨ ur jedes k-Vielfache von 1. Weil aber Fp als Primk¨orper von Fpn nach dem Beweis von Satz 18.2 aus allen Vielfachen von 1 besteht, folgt τ (β) = β f¨ ur alle β ∈ Fp . Wie in Korollar 18.31 wird gezeigt, dass τ (α) ebenfalls eine Nullstelle von mα ist. Somit ist τ (α) nach Satz 18.32 von der j Gestalt αp . Da α ein primitives Element in Fpn ist, folgt τ = σpj . ⊓ ⊔
18.4 Polynom-Faktorisierung In diesem Abschnitt wird der Berlekamp-Algorithmus zur Faktorisierung von Polynomen u ¨ ber endlichen K¨orpern pr¨asentiert. Dieser Algorithmus basiert auf dem folgenden Satz 18.35. Seien f, g Polynome in Fp [x] mit 1 ≤ grad(g) < grad(f ), so dass f ein Teiler von g p − g ist. Dann gilt f=
p−1 Y
α=0
(f, g − α).
(18.22)
Diese Faktorisierung ist nichttrivial. Beweis. Nach dem Satz von Fermat gilt f¨ ur jedes von 0 verschiedene α ∈ Fp g p − g = (g − α)(g p−1 + αg p−2 + . . . + αp−2 g). Somit ist das Polynom g(g − 1) · . . . · (g − (p − 1)) ein Teiler von g p − g. Weil aber beide Polynome denselben Grad und den gleichen Leitkoeffizienten haben, sind sie identisch g p − g = g(g − 1) · . . . · (g − (p − 1)). F¨ ur verschiedene α, β ∈ Fp sind g − α und g − β teilerfremd. F¨ ur teilerfremde Polynome h und h′ in Fp [x] gilt aber (f, hh′ ) = (f, h) · (f, h′ ).
(18.23)
Nach Voraussetzung ist f = (f, g p − g), woraus verm¨oge (18.23) sofort die geforderte Faktorisierung folgt. Der Grad von (f, g−α) ist wegen grad(g−α) < grad(f ) kleiner als der Grad von f f¨ ur jedes α ∈ Fp . Also gibt es in der obigen Faktorisierung mindestens zwei Faktoren. ⊓ ⊔
228
18 Endliche K¨ orper
Im Berlekamp-Algorithmus gilt es zu einem zu faktorisierenden Polynom f in Fp [x] vom Grad n ein Polynom g in Fp [x] mit 1 ≤ grad(g) < n zu finden, so dass f Teiler von g p − g ist. Denn in diesem Fall liefert die Darstellung (18.22) eine nichttriviale Faktorisierung von f , deren Faktoren mithilfe des euklidischen Algorithmus’ berechnet werden k¨onnen. Auf diesen Faktoren wird das Verfahren solange fortgesetzt, bis f in irreduzible Faktoren zerlegt ist. Wir m¨ ussen noch ein Polynom g mit den angegebenen Eigenschaften aufstellen. Dazu setzen wir g = g0 + g1 x + . . . + gn−1 xn−1 und erhalten mit Lemma 18.30 und dem Satz von Fermat p g p = g0p + g1p xp + . . . + gn−1 x(n−1)p
= g0 + g1 xp + . . . + gn−1 x(n−1)p . F¨ ur jedes i, 0 ≤ i ≤ n − 1, wird das Monom xip durch f dividiert xip = q (i) f + r(i) ,
wobei r(i) = 0 oder grad (r(i) ) < n.
Durch Einsetzen in die obige Darstellung von g p erhellt sich g p = g0 r(0) + g1 r(1) + . . . + gn−1 r(n−1) + qf,
q ∈ Fp [x].
Also ist f ein Teiler von g p − g genau dann, wenn f ein Teiler von g0 r(0) + g1 r(1) + . . . + gn−1 r(n−1) − (g0 + g1 x + . . . + gn−1 xn−1 ) ist. Dieses Polynom muss aus Gradgr¨ unden 0 sein. Also muss jeder Koeffizient dieses Polynoms verschwinden. Schreiben wir noch r(i) = ri0 + ri1 x + . . . + ri,n−1 xn−1 ,
rij ∈ Fp ,
dann erhalten wir ein System von n linearen Gleichungen mit n Unbekannten g0 (r00 − 1) + g1 r10 + ... + g0 r01 + g1 (r11 − 1) + . . . +
gn−1 rn−1,0 gn−1 rn−1,1
= 0 = 0 .. .
g0 r0,n−1 + g1 r1,n−1 + . . . + gn−1 (rn−1,n−1 − 1) = 0. In der Sprache der Linearen Algebra hat dieses lineare Gleichungssystem die Form (g0 , . . . , gn−1 )(R − I) = (0, . . . , 0), wobei
R=
r00 r10 .. .
r01 r11 .. .
. . . r0,n−1 . . . r1,n−1 .. .
rn−1,0 rn−1,1 . . . rn−1,n−1
(18.24)
und I = In die n × n-Einheitsmatrix u ¨ ber Fp ist. Durch L¨osen dieses linearen Gleichungssystems erhalten wir ein Polynom g mit den geforderten Eigenschaften.
18.4 Polynom-Faktorisierung
229
Beispiel 18.36. Wir betrachten das Polynom f = x5 + x4 + 1 ∈ F2 [x]. Die Division von x2i , 0 ≤ i ≤ 4, durch f ergibt x0 = 0 · f + 1 x2 = 0 · f + x2
x4 = 0 · f + x4 x6 = (x + 1) · f + (x4 + x + 1)
x8 = (x3 + x2 + x + 1) · f + (x4 + x3 + x2 + x + 1),
also r(0) = 1 r(1) = x2 r(2) = x4 r(3) = x4 + x + 1 r(4) = x4 + x3 + x2 + x + 1. Die Koeffizienten von r(0) , . . . , r(4) bilden die Zeilen der Matrix 10000 0 0 1 0 0 R= 0 0 0 0 1. 1 1 0 0 1 11111
Es folgt
0 0 R−I = 0 1 1
000 110 010 101 111
0 0 1 . 1 0
Das lineare Gleichungssystem (18.24) hat also die Form g3 + g4 = 0 g1 + g3 + g4 = 0 g1 + g2 + g4 = 0 g2 + g3 = 0. Aus der ersten und letzten Gleichung folgt g2 = g3 = g4 und mit der ersten oder zweiten Gleichung ergibt sich g1 = 0. Ferner ist g0 beliebig w¨ahlbar. Die L¨ osungsmenge des linearen Gleichungssystems ist also {(α, 0, β, β, β) | α, β ∈ F2 }.
230
18 Endliche K¨ orper
Zu dieser L¨ osungsmenge gibt es zwei Polynome vom Grad ≥ 1 (w¨ahle β = 1 und α beliebig), n¨ amlich g = x4 + x3 + x2
und h = x4 + x3 + x2 + 1.
Wir w¨ ahlen das Polynom g, um eine Faktorisierung von f zu erhalten. Nach Satz 18.35 gilt f = (f, g) · (f, g − 1) = (f, x4 + x3 + x2 ) · (f, x4 + x3 + x2 + 1). ¨ Ubrigens liefert das andere Polynom h wegen h = g − 1 die gleiche Faktorisierung von f . Mithilfe des euklidischen Algorithmus’ erhalten wir (f, x4 + x3 + x2 ) = x2 + x + 1
und (f, x4 + x3 + x2 + 1) = x3 + x + 1.
Daraus folgt f = (x2 + x + 1)(x3 + x + 1). Beide Faktoren sind bereits irreduzibel u ¨ ber F2 .
18.5 BCH-Codes Die BCH-Codes wurden benannt nach ihren Entdeckern, R.C. Bose und D.K. Ray-Chaudhuri (1960) sowie A. Hocquenghem (1959). Sei ξ eine primitive n-te Einheitswurzel in Fqm sowie s ≥ 0 und δ ≥ 1 ganze Zahlen. Wir betrachten die folgende Matrix u ¨ ber Fqm 1 1 ... 1 ξs ξ s+1 . . . ξ s+δ−2 ¯ H = . (18.25) . . .. .. .. ξ (n−1)s ξ (n−1)(s+1) . . . ξ (n−1)(s+δ−2) 1 1 ... 1 1 0 ξ ξ ξ2 . . . ξ δ−2 = . . . . . .. .. .. .. (n−1)s (n−1) 2(n−1) (δ−2)(n−1) 0 ξ ξ ξ ... ξ
In dieser Matrix wird jeder Eintrag durch das entsprechende m-Tupel einer Fq -Basis von Fqm ersetzt. Die resultierende transponierte Matrix H kann als Kontrollmatrix eines Linearcodes der L¨ange n u ¨ber Fq angesehen werden. Dieser Code heißt BCH-Code mit dem Entwurfsabstand δ.
18.6 Reed-Solomon-Codes
231
Satz 18.37. (BCH-Schranke) Jeder BCH-Code der L¨ange n u ¨ber Fq mit dem Entwurfsabstand δ hat den Minimalabstand d ≥ δ. ¯ ist eine vandermonBeweis. Jede aus δ Spalten gebildete Teilmatrix von H desche Matrix 1 1 ... 1 ξ j1 . . . ξ jδ ξ j2 .. .. .. . . . ξ j1 (n−1) ξj2 (n−1) . . . ξjδ (n−1)
mit der Determinante
δ−1 Y
δ Y
i=1 l=i+1
(ξ jl − ξ ji ).
Diese Determinante ist aufgrund der Wahl von ξ von 0 verschieden. Also ¯ linear unabh¨angig u sind je δ Spalten von H ¨ber Fqm und somit auch linear unabh¨ angig u ⊓ ⊔ ¨ber Fq . Beispiel 18.38. Sei ξ ein primitives Element in F2m . Der Bin¨arcode der L¨ange n = 2m − 1, der anhand der Matrix 1 ξ ξ 2 . . . ξ n−1 1 ξ 2 ξ 4 . . . ξ 2(n−1) 3 6 1 ξ ξ . . . ξ 3(n−1) 1 ξ 4 ξ 8 . . . ξ 4(n−1)
als Kontrollmatrix gebildet wird, ist ein BCH-Code mit der Entwurfsdistanz δ = 5.
18.6 Reed-Solomon-Codes In diesem Abschnitt werden Reed-Solomon-Codes untersucht. Diese Codes werden in Compact-Disc-Systemen f¨ ur die Codierung von Audiosignalen benutzt. Lemma 18.39. Sei α = (α1 , . . . , αn ) eine Folge paarweise verschiedener Elemente in Fq und β = (β1 , . . . , βn ) eine Folge von 0 verschiedener Elemente in Fq . Sei β1 β2 . . . βn α1 β1 α2 β2 . . . αn βn (18.26) Gk,α,β = .. . .. .. . . . α1k−1 β1 α2k−1 β2 . . . αnk−1 βn
In der Matrix Gk,α,β sind je k Spalten linear unabh¨angig.
232
18 Endliche K¨ orper
Beweis. F¨ ur die Matrix Gk,α,β gilt 1 1 ... 1 β1 0 α1 α2 . . . αn β2 Gk,α,β = .. . .. .. .. . . . . 0 βn α1k−1 α2k−1 . . . αnk−1
Im ersten Faktor ist jede aus k Spalten gebildete Teilmatrix eine vandermondesche Matrix 1 1 ... 1 αj1 αj2 . . . αjk .. .. .. . . . k−1 k−1 k−1 αj1 αj2 . . . αjk
mit der Determinante
k−1 Y
k Y
i=1 l=i+1
(αjl − αji ).
Diese Determinante ist aufgrund der Wahl der αi von 0 verschieden. Also hat Gk,α,β die geforderte Eigenschaft. ⊓ ⊔ Ein [n, k]-Code u ¨ ber Fq mit der Generatormatrix (18.26) heißt k-ter ReedSolomon-Code der L¨ ange n u ¨ber Fq (bzgl. α und β) und wird mit RSk (α, β) bezeichnet. Nach Satz 17.40 und Lemma 18.39 gilt der folgende Satz 18.40. Der Reed-Solomon-Code RSk (α, β) der L¨ange n ¨ uber Fq ist ein [n, k]-Code mit dem Minimalabstand d = n − k + 1. Beispiel 18.41. Sei ξ ein primitives Element in F8 . F¨ ur α = β = (1, ξ, . . . , ξ 6 ) ist der Reed-Solomon-Code RS3 (α, β) ein [7, 3, 5]-Code mit der Generatormatrix 1 ξ ξ2 ξ3 ξ4 ξ5 ξ6 1 ξ2 ξ4 ξ6 ξ ξ3 ξ5 . 1 ξ3 ξ6 ξ2 ξ5 ξ ξ4 Satz 18.42. Der duale Code des Reed-Solomon-Codes RSk (α, β) der L¨ange n uber Fq ist ein Reed-Solomon-Code RSn−k (α, γ) f¨ ur ein γ ∈ Fnq . ¨
Beweis. Sei k = n − 1. Der duale Code C von RSn−1 (α, β) ist 1-dimensional ur und besteht somit aus allen skalaren Vielfachen eines Vektors γ ∈ Fnq . F¨ diesen Vektor gilt Gn−1,α,β γ T = 0, d. h. 1 1 ... 1 α1 α2 . . . αn β1 γ1 .. (18.27) . = 0. .. .. .. . . . βn γn α1n−2 α2n−2 . . . αnn−2
18.6 Reed-Solomon-Codes
233
Angenommen, es w¨ are γi = 0 f¨ ur ein 1 ≤ i ≤ n. Dann wird das um die i-te Komponente verk¨ urzte Gleichungssystem betrachtet β1 γ1 .. 1 ... 1 1 ... 1 . α1 . . . αi−1 αi+1 . . . αn βi−1 γi−1 = 0. .. .. .. .. βi+1 γi+1 . . . . .. n−2 n−2 α1n−2 . . . αi−1 αi+1 . . . αnn−2 . βn γn
Die Matrix dieses Gleichungssystems ist eine vandermondesche Matrix mit von 0 verschiedener Determinante. Also ist γ widerspr¨ uchlicherweise der Nullvektor. Somit besteht γ aus lauter von 0 verschiedenen Komponenten. Es folgt RSn−1 (α, β)⊥ = Fq γ = RS1 (α, γ). Nun zum allgemeinen Fall. Die Produktmatrix Gk,α,β GTn−k,α,γ besteht aus den Eintr¨ agen n X l=1
(αil βl )(αjl γl ) =
n X l=1
αi+j βl γl , l
0 ≤ i ≤ k − 1, 0 ≤ j ≤ n − k − 1.
Diese Eintr¨ age sind genau die auf der linken Seite von (18.27) vorkommenden Summen und somit aufgrund der Wahl von γ identisch 0. Folglich verschwindet die Produktmatrix. Aus Dimensionsgr¨ unden folgt die Behauptung. ⊓ ⊔ Sei ξ eine primitives Element in Fq und n = q − 1. Der Reed-SolomonCode RSk (α, β) u ¨ ber Fq mit α = (1, ξ, . . . , ξ n−1 ) und β = (1, . . . , 1) heißt klassischer Reed-Solomon-Code u ¨ber Fq und wird mit RSk bezeichnet. Der Code RSk besitzt die Generatormatrix 1 1 ... 1 1 ξ ... ξ n−1 G = .. .. (18.28) . .. . . . 1 ξ k−1 . . . ξ (n−1)(k−1)
Ein Linearcode C der L¨ ange n u ¨ ber Fq heißt zyklisch, wenn mit jedem Codevektor (c1 , c2 , . . . , cn ) auch der zyklisch verschobene Vektor (c2 , . . . , cn , c1 ) ein Codevektor ist. uber Fq ist zyklisch. Satz 18.43. Der klassische Reed-Solomon-Code RSk ¨
Beweis. Eine Nachricht a = (a0 , . . . , ak−1 ) ∈ Fkq wird codiert anhand des Codevektors aG = (a(1), a(ξ), . . . , a(ξ n−1 )), Pn−1 ai xi an der Stelle ξ j ist. wobei a(ξ j ) die Auswertung des Polynoms a = i=0
234
18 Endliche K¨ orper
F¨ ur die Nachricht b = (a0 , a1 ξ, . . . , ak−1 ξ k−1 ) gilt bG = (b(1), b(ξ), . . . , b(ξ n−1 )) = (a(ξ), a(ξ 2 ), . . . , a(ξ n−2 ), a(1)), wobei wir die Beziehung ξ n = ξ q−1 = 1 verwendet haben.
⊓ ⊔
Beispiel 18.44. Aus dem klassischen [255, 251, 5]-Reed-Solomon-Code RS251 u urzen ein [254, 250]-Code mit dem Minimalabstand ¨ ber F28 wird durch Verk¨ d ≥ 5. Nach der Singleton-Schranke muss d = 5 sein, der Code hat also wiederum das Geschlecht 0. Sukzessives Verk¨ urzen liefert [32, 28, 5]- und [28, 24, 5]Codes, die in heutigen Compact-Disc-Systemen eingesetzt werden.
Selbsttestaufgaben 18.1. Bestimme das Minimalpolynom von α =
√ 3
5e2πi/3 u ¨ ber Q.
18.2. Berechne das Inverse von a + bi 6= 0 in Q[i]. 18.3. Konstruiere eine K¨ orpererweiterung von Q, die alle Wurzeln von x2 − 2 und 2 x − 3 enth¨ alt. 18.4. Eine K¨ orpererweiterung L von K heißt algebraisch, wenn jedes Element von L algebraisch u¨ ber K ist. Zeige, dass jede endliche K¨orpererweiterung algebraisch ist. 18.5. Sei L eine K¨ orpererweiterung L von K. Zeige, dass AL (K) = {α ∈ L | α ist algebraisch u ¨ ber K} eine algebraische K¨ orpererweiterung von K ist. 18.6. Sei f ∈ K[x] irreduzibel u ¨ ber K. Zeige, dass der Restklassenring K[x]/f K[x] eine K¨ orpererweiterung von K ist. 18.7. Sei f ∈ K[x] irreduzibel u ¨ ber K und α einer Wurzel von f . Zeige, dass die Abbildung K[x]/f K[x] → K(α) : g + f K[x] 7→ g(α) ein Isomorphismus ist.
18.8. Sei f ∈ K[x] mit der Zerlegung f = f1e1 · · · fnen in paarweise teilerfremde Potenzen irreduzibler Polynome. Zeige, dass der Ring K[x]/f K[x] isomorph ist zum Produktring K[x]/f1e1 K[x] × . . . × K[x]/fnen K[x].
18.9. Sei α eine Wurzel des irreduziblen Polynoms x3 + x + 1 ∈ F2 [x]. Stelle die Verkn¨ upfungstafeln des K¨ orpers F8 = F2 (α) auf. 18.10. Berechne µ(d) f¨ ur alle positiven Teiler d von 72. 18.11. Der VietascheP Wurzelsatz (F. Vieta, 1540-1603) besagt, dass f¨ ur jedes norn mierte Polynom f = j=0 fj xj mit den Wurzeln α1 , . . . , αn gilt fn−k = (−1)k
XY I
i∈I
αi ,
1 ≤ k ≤ n,
wobei u ¨ ber alle k-Teilmengen I von {1, . . . , n} summiert wird. Benutze eine Wurzel des irreduziblen Polynoms x3 + x2 + 1 ∈ F2 [x] und den Vietaschen Wurzelsatz, um alle irreduziblen Teiler von x8 − x in F2 [x] zu berechnen.
18.6 Reed-Solomon-Codes
235
18.12. Sei β eine Wurzel des irreduziblen Polynoms x2 + αx + 1 u ¨ ber F4 . Dabei sein α eine Wurzel des irreduziblen Polynoms x2 + x + 1 u ¨ ber F2 . Konstruiere den K¨ orper F16 = F4 (β) als Vektorraum u ¨ ber F4 = F2 (α). 18.13. Faktorisiere das Polynom x5 + x + 1 in F2 [x]. 18.14. Beweise die Gleichung (18.23). 18.15. Zeige, dass unter den Voraussetzungen in Abs. 18.4 die Anzahl der verschiedenen irreduziblen Faktoren von f ∈ Fq (x] gleich der Dimension des Kerns der Matrix R − In ist. 18.16. Gib einen [27, 23, 5]-Code u ¨ ber F32 an.
236
18 Endliche K¨ orper
Teil V
Ordnungen und Verb¨ ande
19 Verb¨ ande
Verb¨ ande sind algebraische Strukturen, die viele mathematische Gebiete durchdringen. Wir bauen die Verbandstheorie mithilfe der Ordnungstheorie auf und behandeln als ein wichtiges Beispiel die so genannten Begriffsverb¨ ande, mit deren Hilfe sich Begriffswelten analysieren lassen.
19.1 Der Verbandsbegriff Ein Verband ist ein Tripel (V, ⊓, ⊔), bestehend aus einer nichtleeren Menge V und zwei Operationen ⊓ : V × V → V (lies: et) und ⊔ : V × V → V (lies: vel), f¨ ur die folgende Rechenregeln gelten: • • •
Beide Operationen sind kommutativ, d. h., u ⊓ v = v ⊓ u und u ⊔ v = v ⊔ u f¨ ur alle u, v ∈ V . Beide Operationen sind assoziativ, d. h., (u ⊓ v) ⊓ w = u ⊓ (v ⊓ w) und (u ⊔ v) ⊔ w = u ⊔ (v ⊔ w) f¨ ur alle u, v, w ∈ V . Es gelten die Verschmelzungsgesetze, d. h., u⊓(u⊔v) = u und u⊔(u⊓v) = u f¨ ur alle u, v ∈ V .
Ein Verband (V, ⊓, ⊔) wird auch k¨ urzer V geschrieben, sofern klar ist, um welche Operationen es sich handelt. Ein Verband V heißt endlich, wenn die Menge V endlich ist. Beispiele 19.1. • Die Menge aller Aussagen bildet zusammen mit Konjunktion und Disjunktion nach Satz 1.9 einen Verband, den so genannten Aussagenverband. • Die Potenzmenge P (A) einer Menge A bildet zusammen mit Durchschnitt und Vereinigung nach Satz 3.7 den Potenzmengenverband von A. • Die Menge aller nat¨ urlichen Zahlen N0 bildet mit ggT und kgV nach Kap. 13 den so genannten nat¨ urlichen Teilerverband. • Die Menge aller Unterr¨ aume eines Vektorraums V bildet mit Durchschnitt und Summe den so genannten Unterraumverband von V , wobei die Summe durch U + W = {u + w | u ∈ U, w ∈ W } gegeben ist.
240
•
19 Verb¨ ande
Seien (V1 , ⊓1 , ⊔1 ) und (V2 , ⊓2 , ⊔2 ) Verb¨ande. Das direkte Produkt V1 × V2 bildet einen Verband mit komponentenweisen Operationen (x1 , x2 ) ⊓ (y1 , y2 ) = (x1 ⊓1 y1 , x2 ⊓2 y2 )
(19.1)
(x1 , x2 ) ⊔ (y1 , y2 ) = (x1 ⊔1 y1 , x2 ⊔2 y2 ).
(19.2)
und
Dieser Verband heißt Produktverband von V1 und V2 . Dualit¨ atsprinzip Sei V ein Verband und P eine Aussage in V . Die duale Aussage von P in V ist eine Aussage P d , die aus P dadurch entsteht, indem in P die beiden Operationen u ¨berall gleichzeitig miteinander vertauscht werden. Beispielsweise sind die Aussagen ∀v ∈ V [v ⊓ v = v] und ∀v ∈ V [v ⊔ v = v] dual zueinander. Satz 19.2. (Dualit¨ atsprinzip) Sei V ein Verband. Ist P eine wahre Aussage in V , dann ist auch P d eine wahre Aussage in V . Im Beweis dieses Satzes wird der Beweisbegriff benutzt. Ein Beweis wird als eine Folge von wahren Aussagen angesehen, wobei jede Aussage entweder ein Axiom ist oder aus in der Folge vorangehenden Aussagen mittels Modus Ponens abgeleitet wird. Weil die dualisierten Aussagen der Verbandsaxiome wiederum Axiome sind, wird durch Dualisieren aller im Beweis vorkommenden Aussagen die duale Aussage bewiesen. Der Verband (V, ⊔, ⊓) mit vertauschten Operationen heißt dualer Verband von (V, ⊓, ⊔). Mit dem Dualit¨atsprinzip 19.2 folgt, dass in beiden Verb¨anden dieselben Aussagen gelten. Satz 19.3. (Idempotenzgesetz) F¨ ur alle Elemente v eines Verbandes V gilt v ⊓ v = v und v ⊔ v = v. Beweis. Mit den Verschmelzungsgesetzen folgt v ⊓ v = v ⊓ (v ⊔ (v ⊓ v)) = v und v ⊔ v = v ⊔ (v ⊓ (v ⊔ v)) = v. ⊓ ⊔ Satz 19.4. F¨ ur alle Elemente u und v eines Verbandes V gilt u ⊓ v = u genau dann, wenn u ⊔ v = v. Beweis. Sei u ⊓ v = u. Mit dem Kommutativ- und Verschmelzungsgesetz folgt u ⊔ v = (u ⊓ v) ⊔ v = v ⊔ (v ⊓ u) = v. Umgekehrt sei u ⊔ v = v. Dann ergibt sich mit dem Verschmelzungsgesetz u ⊓ v = u ⊓ (u ⊔ v) = u. ⊓ ⊔
19.2 Ordnungsstrukturen als Verb¨ ande
241
19.2 Ordnungsstrukturen als Verb¨ ande Sei (V, ⊑) eine halbgeordnete Menge und W eine Teilmenge von V . Ein Element v ∈ V heißt kleinstes Element in W , wenn f¨ ur alle w ∈ W gilt v ⊑ w. Entsprechend heißt v ∈ V gr¨oßtes Element in W , wenn f¨ ur alle w ∈ W gilt w ⊑ v. Das kleinste bzw. gr¨oßte Element in W ist nach Lemma 5.13 eindeutig bestimmt, sofern es existiert. Ein Element v ∈ V heißt untere Schranke von W , wenn f¨ ur alle w ∈ W gilt v ⊑ w. Analog heißt ein Element v ∈ V obere Schranke von W , wenn f¨ ur alle w ∈ W gilt w ⊑ v. Hat die Menge der unteren bzw. oberen Schranken von W ein gr¨ oßtes bzw. kleinstes Element, so ist dieses nach Lemma 5.13 eindeutig bestimmt und wird Infimum bzw. Supremum von W genannt, abgek¨ urzt inf(W ) bzw. sup(W ). F¨ ur das Infimum bzw. Supremum von W = {w1 , . . . , wn } schreiben wir inf(w1 , . . . , wn ) bzw. sup(w1 , . . . , wn ). Lemma 19.5. Sei (V, ⊑) eine halbgeordnete Menge. F¨ ur beliebige Elemente w1 , . . . , wn ∈ V gilt inf(w1 , . . . , wn ) ⊑ wi
und
wi ⊑ sup(w1 , . . . , wn ),
1 ≤ i ≤ n.
Beweis. Definitionsgem¨ aß ist w = inf(w1 , . . . , wn ) eine untere Schranke von {w1 , . . . , wn }, woraus w ⊑ wi , 1 ≤ i ≤ n, folgt. Analog ergibt sich die zweite Aussage. Beispiel 19.6. Wir betrachten die halbgeordnete Menge V = {a, . . . , f } in Abb. 19.1. Die Teilmenge W = {c, e} hat die unteren Schranken a, b und c und das Infimum c. Die Menge W = {a, b} hat als obere Schranken c, d, e, f und als Supremum c, w¨ ahrend die Menge der unteren Schranken leer ist. q @ @ @q e
f d q
@ @ @q c @ @q q
a
b
Abb. 19.1. Hasse-Diagramm einer halbgeordneten Menge.
242
19 Verb¨ ande
Satz 19.7. Sei V eine halbgeordnete Menge, in der je zwei Elemente ein Infimum und ein Supremum haben. Dann bildet V mit der Infimum- und Supremumbildung einen Verband. Beweis. Das Infimum von u, v ∈ V existiert und ist eindeutig bestimmt. Also ist durch (u, v) 7→ inf(u, v) eine Operation auf V definiert. Gleiches gilt f¨ ur die Supremumbildung. Die Infimumbildung ist kommutativ, denn es gilt inf(u, v) = inf({u, v}) = inf({v, u}) = inf(v, u). Die Infimumbildung ist assoziativ. Denn setzen wir x = inf(u, inf(v, w)), dann ergibt sich x ⊑ u und x ⊑ inf(v, w). Wegen Lemma 19.5 gilt inf(v, w) ⊑ v und inf(v, w) ⊑ w, woraus mithilfe Transitivit¨at x ⊑ v und x ⊑ w folgt. Also ist x eine untere Schranke von {u, v} und somit x ⊑ inf(u, v). Wegen x ⊑ w ist x sogar eine untere Schranke von {inf(u, v), w}, f¨ ur die nach Voraussetzung das Infimum existiert, also y = inf(inf(u, v), w). Somit erhellt sich x ⊑ y. Analog wird y ⊑ x gezeigt. Mit der Antisymmetrie folgt x = y. Wir beweisen inf(u, sup(u, v)) = u. Wegen Lemma 19.5 gilt u ⊑ sup(u, v) f¨ ur alle v ∈ V . Also ist u eine untere Schranke von {u, sup(u, v)}. Sei w eine untere Schranke von {u, sup(u, v)}. Dann folgt w ⊑ u. Also ist u das Infimum von {u, sup(u, v)}. Das zweite Verschmelzungsgesetz wird analog gezeigt. ⊓ ⊔ Beispiel 19.8. Die halbgeordnete Menge V in Abb. 19.3 (Pentagon-Verband) bildet einen Verband mit den Verkn¨ upfungstafeln inf 0 a b c 1
0 0 0 0 0 0
a 0 a 0 0 a
bc1 000 00a bbb bcc bc1
sup 0 0 0 a a b b c c 1 1
a a a 1 1 1
bc bc 11 bc cc 11
1 1 1 1 1 1
Satz 19.9. Jede Kette V bildet einen Verband. Beweis. Seien u, v ∈ V . Da u und v vergleichbar sind, kann o.B.d.A. u ⊑ v angenommen werden. Dann ist inf(u, v) = u und sup(u, v) = v. Also haben je zwei Elemente in V ein Infimum und ein Supremum. Somit folgt aus Satz 19.7 die Behauptung. ⊓ ⊔
19.3 Verb¨ ande als Ordnungsstrukturen Sei V ein Verband. Die von V induzierte Relation ⊑ auf V ist definiert durch u⊑v
:⇐⇒
u⊓v =u
f¨ ur alle u, v ∈ V .
(19.3)
19.3 Verb¨ ande als Ordnungsstrukturen
243
Lemma 19.10. Die Relation ⊑ ist eine Halbordnung auf V . Beweis. F¨ ur jedes v ∈ V gilt nach dem Idempotenzgesetz v ⊓ v = v, also v ⊑ v. Somit ist ⊑ reflexiv. Seien u, v, w ∈ V mit u ⊑ v und v ⊑ w, mithin u ⊓ v = u und v ⊓ w = v. Also folgt u ⊓ w = (u ⊓ v) ⊓ w = u ⊓ (v ⊓ w) = u ⊓ v = u und somit u ⊑ w. Folglich ist ⊑ transitiv. Seien u, v ∈ V mit u ⊑ v und v ⊑ u, also u ⊓ v = u und v ⊓ u = v. Mit der Kommutativit¨ at folgt u = v. Deshalb ist ⊑ antisymmetrisch. ⊓ ⊔ Nach Satz 19.4 gilt f¨ ur die induzierte Relation ⊑ von V u⊑v
⇐⇒
u ⊔ v = v.
(19.4)
Satz 19.11. (Monotoniegesetz) Sei V ein Verband. F¨ ur alle Elemente u, v, x, y ∈ V folgt aus u ⊑ v und x ⊑ y sofort u ⊓ x ⊑ v ⊓ y und u ⊔ x ⊑ v ⊔ y. Beweis. Aus u ⊑ v und x ⊑ y folgt definitionsgem¨aß (u ⊓ x) ⊓ (v ⊓ y) = (u ⊓ v) ⊓ (x ⊓ y) = u ⊓ x, also u ⊓ x ⊑ v ⊓ y. Die zweite Aussage wird mittels (19.4) auf analoge Weise gezeigt. ⊓ ⊔ Satz 19.12. Sei V ein Verband. Je zwei Elemente von V haben ein Infimum und ein Supremum bzgl. der induzierten Halbordnung von V und f¨ ur alle Elemente u, v ∈ V gilt inf(u, v) = u ⊓ v und sup(u, v) = u ⊔ v. Beweis. Seien u, v ∈ V . Eine untere Schranke von {u, v} ist u ⊓ v, denn es gilt u ⊓ (u ⊓ v) = (u ⊓ u) ⊓ v = u ⊓ v, d. h. u ⊓ v ⊑ u. Analog wird u ⊓ v ⊑ v gezeigt. Das Infimum von {u, v} ist u ⊓ v. Denn sei x ∈ V eine untere Schranke von {u, v}, also x ⊑ u und x ⊑ v, d. h. x ⊓ u = x = x ⊓ v. Dann folgt x ⊓ (u ⊓ v) = (x ⊓ u) ⊓ v = x ⊓ v = x, also x ⊑ u ⊓ v. Damit ist inf(u, v) = u ⊓ v bewiesen. Die zweite Aussage wird analog mithilfe der Beziehung (19.4) gezeigt. ⊓ ⊔ Nach den S¨ atzen 19.7 und 19.12 sind die Verb¨ande genau diejenigen halbgeordneten Mengen, in denen je zwei Elemente Infimum und Supremum haben. Satz 19.13. F¨ ur jede Teilmenge W = {w1 , . . . , wn } eines Verbandes V gilt inf(W ) = w1 ⊓ . . . ⊓ wn und sup(W ) = w1 ⊔ . . . ⊔ wn . Der Beweis erfolgt durch vollst¨andige Induktion nach n. Beispiele 19.14. Die induzierte Halbordnung eines Potenzmengenverbands ist die Inklusion, die induzierte Halbordnung des nat¨ urlichen Teilerverbands ist die Teilbarkeitsrelation und die induzierte Halbordnung des Unterraumverbands eines Vektorraums ist die mengentheoretische Inklusion.
244
19 Verb¨ ande
19.4 Unterverb¨ ande und Homomorphismen Sei V ein Verband. Eine nichtleere Teilmenge U von V heißt abgeschlossen in V , wenn f¨ ur alle u, v ∈ U gilt u ⊓ v ∈ U und u ⊔ v ∈ U . Lemma 19.15. Eine abgeschlossene Teilmenge U eines Verbandes V bildet einen Verband, genannt Unterverband von V . Beweis. Aufgrund der Abgeschlossenheit werden Operationen U × U → U : (u, v) 7→ u ⊓ v und U × U → U : (u, v) 7→ u ⊔ v auf U definiert. Die Verbandsgesetze gelten f¨ ur U , weil sie f¨ ur V erf¨ ullt sind. ⊓ ⊔ Beispiel 19.16. Sei V der Pentagon-Verband (Abb. 19.3). Die Menge {0, b, c, 1} bildet einen Unterverband von V , w¨ahrend {a, b, 0} wegen sup(a, b) = 1 nicht abgeschlossen ist. Satz 19.17. Sei V ein Verband. Sind u, v ∈ V mit u ⊑ v, dann bildet die Menge [u, v] = {x ∈ V | u ⊑ x ∧ x ⊑ v} einen Unterverband von V . Beweis. Die Menge [u, v] enth¨alt u und v und ist somit nichtleer. Seien x, y ∈ [u, v]. Mithilfe von Idempotenz und Monotonie folgt u = u ⊓ u ⊑ x ⊓ y und x⊓y ⊑ v⊓v = v. Also ist x⊓y ∈ [u, v]. Analog wird x⊔y ∈ [u, v] gezeigt. Somit ist [u, v] abgeschlossen in V und folglich nach Lemma 19.15 ein Unterverband von V . ⊓ ⊔ Beispiel 19.18. Die Menge aller positiven Teiler einer nat¨ urlichen Zahl n bildet einen Unterverband des nat¨ urlichen Teilerverbands, den Teilerverband von n. Die Teilerverb¨ ande von n = 30 und n = 12 illustriert Abb. 19.2. 30 q
@ @q15 q q6 @ 10 @ @ @ @ 2 q @q5 @q 3 @ @ @q 1
12 q
@ @ q @q 4 6 H H HH Hq 2 3 q @ @ @q 1
Abb. 19.2. Die Teilerverb¨ ande von 30 und 12.
Seien (V, ⊓, ⊔) und (V ′ , ⊓′ , ⊔′ ) Verb¨ande. Eine Abbildung φ : V → V ′ heißt ein Homomorphismus von V nach V ′ , wenn f¨ ur alle u, v ∈ V gilt φ(u ⊓ v) = φ(u) ⊓′ φ(v) und φ(u ⊔ v) = φ(u) ⊔′ φ(v). F¨ ur Verbandshomomorphismen mit zus¨ atzlichen Eigenschaften werden die schon f¨ ur Ring-Homomorphismen eingef¨ uhrten Bezeichnungen verwendet. Zwei Verb¨ande heißen isomorph, wenn es zwischen ihnen einen Isomorphismus gibt.
19.4 Unterverb¨ ande und Homomorphismen
245
Satz 19.19. Seien V und V ′ Verb¨ande. Ein Epimorphismus φ : V → V ′ bildet das kleinste bzw. gr¨oßte Element in V auf das kleinste bzw. gr¨oßte Element in V ′ ab. Beweis. F¨ ur jedes v ∈ V gilt φ(0) = φ(0 ⊓ v) = φ(0) ⊓′ φ(v). Also ist φ(0) ⊑′ φ(v). Da aber die Abbildung φ surjektiv ist, folgt φ(0) ⊑′ v ′ f¨ ur jedes v ′ ∈ V ′ . ′ Somit ist φ(0) das kleinste Element in V . ⊓ ⊔ Alle Verb¨ ande mit je f¨ unf Elementen zeigt die Abb. 19.3. Gemeint ist da¨ mit ein Vertretersystem der Aquivalenzklassen bzgl. der durch die Isomorphie ¨ gegebenen Aquivalenz auf der Menge aller Verb¨ande mit je f¨ unf Elementen. q1 qc
q1 @ @ @q c
qb b q @ @ qa @qa q
0 Kette
q
0 Fahne
q1
q1
@ @
@q c
qc q1
@ @ a q
@ @ J @ @ q q q q q c a J b b a @ @ @ J @ @q Jq @q 0 Anh¨ anger
0 Diamant
qb
0 Pentagon
Abb. 19.3. Die Verb¨ ande mit je f¨ unf Elementen.
Seien (V, ⊑) und (V ′ , ⊑′ ) halbgeordnete Mengen. Eine Abbildung φ : V → V heißt ein Ordnungshomomorphismus von V nach V ′ , wenn f¨ ur alle u, v ∈ V aus u ⊑ v stets φ(u) ⊑′ φ(v) folgt. ′
Satz 19.20. Seien V und V ′ Verb¨ande. Jeder Verbandshomomorphismus φ : V → V ′ ist ein Ordnungshomomorphismus der induzierten halbgeordneten Mengen. Beweis. Seien u, v ∈ V mit u ⊑ v, d. h., u ⊓ v = u. Ist φ ein Verbandshomomorphismus, dann folgt φ(u) = φ(u ⊓ v) = φ(u) ⊓′ φ(v). Mithin ergibt sich φ(u) ⊑′ φ(v). ⊓ ⊔ Eine bijektive Abbildung φ : V → V ′ heißt ein Ordnungsisomorphismus von V nach V ′ , wenn f¨ ur alle u, v ∈ V gilt u⊑v
⇐⇒
φ(u) ⊑′ φ(v).
(19.5)
Ein bijektiver Ordnungshomomorphismus ist nicht notwendig ein Ordnungsisomorphismus. Beispielsweise ist die identische Abbildung id : N → N ein bijektiver Ordnungshomomorphismus von (N, |) auf (N, ≤), weil aus m | n stets m ≤ n folgt. Sie ist jedoch kein Ordnungsisomorphismus, denn aus 2 ≤ 3 folgt nicht 2 | 3.
246
19 Verb¨ ande
19.5 Begriffsverb¨ ande In diesem Abschnitt wird gezeigt, dass sich so genannte Begriffswelten verbandstheoretisch beschreiben lassen. Das Wort Begriff hat im Alltag und in der Wissenschaft unterschiedliche Bedeutungen. Im Alltag wird das Wort Begriff gebraucht, um eine gedankliche Einheit, eine Zusammenfassung der wesentlichen Merkmale von etwas, oder den Sinngehalt von etwas zu beschreiben. Ein Begriff hat einen Inhalt und einen Umfang. Der Inhalt eines Begriffs wird durch Merkmale und Beziehungen festgelegt, die unter den Begriff fallen. Der Umfang charakterisiert die Menge von Situationen oder Individuen, die unter den Begriff subsumierbar sind. In der Wissenschaft h¨ angt die Bedeutung des Wortes Begriff vom Wissenschaftszweig ab. In der Philosophie steht das Wort Begriff f¨ ur den einfachsten Denkakt, eine Vorstellung, die die Forderung nach durchg¨angiger Konstanz, ¨ vollkommener Bestimmtheit, allgemeiner Ubereinstimmung und unzweideutiger sprachlicher Bezeichnung erf¨ ullt. In den Natur- oder Ingenieurwissenschaften sind Begriffe definitorische Festlegungen der wesentlichen Merkmale und Beziehungen eines Sachverhalts und deren Zusammenfassung in einem sprachlichen Ausdruck. Sie dienen der Beschreibung und Erkl¨arung eines Ph¨anomenbereichs. In der Logik tritt der umf¨angliche Aspekt stark hervor. Es scheint so, als ob der Inhalt durch den Umfang festgelegt ist. Logische Schlussfolgerungen sind g¨ ultig allein aufgrund umf¨anglicher Beziehungen. Die formale Begriffsanalyse ist ein Zweig der Diskreten Mathematik, der sich mit der Konstruktion und Analyse von Begriffen besch¨aftigt. Ein Begriff wird hierbei als ein Abstraktum verstanden, der unabh¨angig davon existiert, ob es in einer nat¨ urlichen Sprache ein Wort gibt, das genau dieses Abstraktum bezeichnet. Die formale Begriffsanalyse gr¨ undet sich auf so genannten Kontexten. Sei G eine Menge von Gegenst¨anden und M eine Menge von Merkmalen. Eine Relation R ⊆ G × M heißt ein Kontext u ¨ ber G und M . Die Beziehung gRm soll besagen, dass der Gegenstand g das Merkmal m besitzt. Beispiel 19.21. Die europ¨ aischen Staaten Bulgarien (BU), Norwegen (NO), Rum¨ anien (RU), Schweiz (SZ) und T¨ urkei (TU) sollen beurteilt werden nach ihrer Kompetenz hinsichtlich der Bereiche Informationstechnik (IT), Landwirtschaft (LW), Maschinenbau (MB), Medizinversorgung (MV), Sport (SP) und Wissenschaft (WS). Einen Kontext R zur Gegenstandsmenge G = {BU, N O, RU, SZ, T U } und Merkmalsmenge M = {IT, LW, M B, M V, SP, W S}, der “hohe Kompetenz” zum Ausdruck bringen soll, zeigt die folgende Inzidenzmatrix IT LW BU X NO X RU X SZ X X TU
M B M V SP W S X X X X X X X X X X X X X
19.5 Begriffsverb¨ ande
247
Sei R ein Kontext u ¨ ber G und M . Wir definieren Abbildungen P (G) → P (M ) : X 7→ X ′ und P (M ) → P (G) : Y 7→ Y ′ durch X ′ = {m ∈ M | ∀g ∈ X [gRm]} und Y ′ = {g ∈ G | ∀m ∈ Y [gRm]}. Satz 19.22. Sei R ein Kontext ¨ uber G und M . F¨ ur alle Teilmengen X1 , X2 und X von G gilt • • •
X1 ⊆ X2 =⇒ X1′ ⊆ X2′ , X ⊆ X ′′ , X ′ = X ′′′ .
Es gelten analoge Aussagen f¨ ur die Teilmengen von M . Beweis. Die erste Aussage folgt aus der Definition. Sei g ∈ X. Es gilt gRm f¨ ur alle m ∈ X ′ und somit g ∈ X ′′ . Damit ist die zweite Aussage bewiesen. Schließlich gilt X ⊆ X ′′ nach der zweiten Aussage, woraus verm¨oge der ersten Aussage X ′ ⊇ X ′′′ folgt. Nach der zweiten Aussage gilt ebenfalls X ′ ⊆ (X ′ )′′ = X ′′′ . Also folgt X ′ = X ′′′ . ⊓ ⊔ Ein H¨ ullenoperator auf einer Menge A ist eine Abbildung H : P (A) → P (A), die den folgenden drei Gesetzm¨aßigkeiten f¨ ur alle Teilmengen X1 , X2 und X von A gen¨ ugt: • • •
Monotonie: X1 ⊆ X2 =⇒ H(X1 ) ⊆ H(X2 ), Extensionalit¨ at: X ⊆ H(X), Idempotenz: H(X) = H(H(X)).
Die Menge H(X) wird als H¨ ulle von X in A oder als (von X erzeugte) abgeschlossene Menge in A bezeichnet. Nach Satz 19.22 sind die Abbildungen P (G) → P (G) : X 7→ X ′′ und P (M ) → P (M ) : Y 7→ Y ′′ H¨ ullenoperatoren auf G bzw. M . Satz 19.23. Sei H ein H¨ ullenoperator auf A. Die Menge {H(X) | X ⊆ A} aller abgeschlossenen Teilmengen von A bildet einen Verband mit den Operationen H(X) ⊓ H(Y ) = H(X) ∩ H(Y ) und H(X) ⊔ H(Y ) = H(X ∪ Y ). (19.6) Beweis. Seien X, Y ⊆ A. Mittels Monotonie und Idempotenz gilt H(H(X) ∩ H(Y )) ⊆ H(H(X)) = H(X) und analog H(H(X) ∩ H(Y )) ⊆ H(Y ). Also folgt H(H(X) ∩ H(Y )) ⊆ H(X) ∩ H(Y ). Mit Extensionalit¨at ergibt sich H(H(X) ∩ H(Y )) = H(X) ∩ H(Y ). Somit ist H(X) ∩ H(Y ) abgeschlossen in A. Sei U abgeschlossen in A mit U ⊆ H(X) und U ⊆ H(Y ). Dann gilt U ⊆ H(X) ∩ H(Y ). Also ist H(X) ∩ H(Y ) das Infimum von H(X) und H(Y ). Die zweite Aussage ergibt sich auf analoge Weise. ⊓ ⊔
248
19 Verb¨ ande
Beispiel 19.24. Sei V ein Vektorraum. Eine Linearkombination von Vektoren v1 , . . . , vn ∈ V ist ein Ausdruck k1 v1 + . . . + kn vn mit beliebigen Skalaren k1 , . . . , kn . Ein Vektor heißt eine Linearkombination einer Teilmenge X von V , wenn er eine Linearkombination endlich vieler Vektoren aus X ist. Die Menge hXi aller Linearkombinationen von X wird lineare H¨ ulle von X genannt. Diese Menge bildet einen Unterraum von V und jeder Unterraum von V wird auf eben diese Weise erhalten. Der Operator h·i ist ein H¨ ullenoperator auf V . Also bilden die linearen H¨ ullen aller Teilmengen von V , das sind die Unterr¨aume von V , nach 19.23 einen Verband, den Unterraumverband von V . Das Infimum und das Supremum von Unterr¨aumen U = hXi und W = hY i von V sind definiert durch U ⊓ W = U ∩ W und U ⊔ W = hX ∪ Y i. Dabei ist das Supremum U ⊔ W gleich der Summe U + W = {u + w | u ∈ U, w ∈ W }. Ein Begriff eines Kontexts R u ur das ¨ ber G und M ist ein Paar (A, B), f¨ A ⊆ G, B ⊆ M , A′ = B und B ′ = A gilt. Dabei heißt A der Umfang und B der Inhalt von (A, B). Der Inhalt eines Begriffs (A, B) legt also den Umfang fest und umgekehrt, d. h., Umfang und Inhalt eines Begriffs bestimmen sich gegenseitig. Jeder Begriff hat die Form (A, A′ ) mit A = A′′ . Nach Satz 19.22 ist (A′′ , A′ ) ein Begriff f¨ ur jedes A ⊆ G. Also ist die Menge aller Begriffe eines Kontexts R u ¨ ber G und M gegeben durch B(G, M, R) = {(A′′ , A′ ) | A ⊆ G}.
(19.7)
In B(G, M, R) wird (A1 , B1 ) als Unterbegriff von (A2 , B2 ) bezeichnet, kurz (A1 , B1 ) ⊑ (A2 , B2 ), wenn A1 ⊆ A2 . Nach Satz 19.22 ist dann automatisch B1 ⊇ B2 . Entsprechend wird dann (A2 , B2 ) als Oberbegriff von (A1 , B1 ) bezeichnet. Satz 19.25. Die Menge B(G, M, R) aller Begriffe eines Kontexts R u ¨ ber G und M bildet zusammen mit der Relation ⊑ einen Verband. F¨ ur das Infimum und das Supremum von Begriffen (A′′1 , A′1 ) und (A′′2 , A′2 ) gilt (A′′1 , A′1 ) ⊓ (A′′2 , A′2 ) = (A′′1 ∩ A′′2 , (A′′1 ∩ A′′2 )′ )
(19.8)
(A′′1 , A′1 ) ⊔ (A′′2 , A′2 ) = ((A1 ∪ A2 )′′ , (A1 ∪ A2 )′ ).
(19.9)
und
Beweis. Die Relation ⊑ auf B(G, M, R) entspricht der Inklusion auf der Menge der abgeschlossenen Gegenstandsmengen G = {A′′ | A ⊆ G}. Also bildet B(G, M, R) zusammen mit ⊑ eine halbgeordnete Menge. Seien (A′′1 , A′1 ) und (A′′2 , A′2 ) Begriffe in B(G, M, R). Das Infimum der zugeh¨origen abgeschlossenen Gegenstandsmengen A′′1 und A′′2 in G ist nach Satz 19.23 durch A′′1 ∩ A′′2 gegeben. Also ist das Infimum von (A′′1 , A′1 ) und (A′′2 , A′2 ) in B(G, M, R) definitionsgem¨ aß gleich (A′′1 ∩ A′′2 , (A′′1 ∩ A′′2 )′ ). F¨ ur das Supremum wird analog verfahren. ⊓ ⊔
19.5 Begriffsverb¨ ande
249
Abschließend soll die Frage er¨ortert werden, wie der Begriffsverband eines Kontexts R u ur hinreichend kleine ¨ber G und M berechnet werden kann. F¨ Kontexte ist es hilfreich, die folgenden Identit¨aten zu benutzen \ X′ = {g}′ , X ⊆ G, (19.10) g∈X
und Y′ =
\
{m}′ ,
Y ⊆ M.
(19.11)
m∈Y
Die Inhalte {g}′ und Umf¨ ange {m}′ k¨onnen direkt aus der Kontexttabelle abgelesen werden. Die Menge aller Begriffe kann nun wie folgt berechnet werden: • • •
Fertige zwei Listen an, eine mit den Inhalten {g}′ f¨ ur jedes g ∈ G und eine mit den Umf¨ angen {m}′ f¨ ur jedes m ∈ M . T F¨ ur jede Gegenstandsmenge X ⊆ G berechne X ′ = g∈X {g}′ und erstelle eine Liste mit den Paaren (X, X ′ ). T F¨ ur jedes Paar (X, X ′ ) aus der Liste teste, ob X mit X ′′ = m∈X ′ {m}′ u ¨ bereinstimmt, wobei im affirmativen Fall (X, X ′ ) ein Begriff ist.
Beispiel 19.26. Die Begriffe f¨ ur den Kontext aus 19.21 sind 1: 2: 3: 4: 5:
({BL, N O, P L, SZ, T U }, ∅) 6 : ({BU, P L, SZ}, {LW }) ({BL, N O, SZ, T U }, {SP }) 7 : ({BU, SZ}, {LW, SP }) ({N O, P L, SZ, T U }, {M V }) 8 : ({P L, SZ}, {LW, M B, M V }) ({N O, SZ, T U }, {M V, SP }) 9 : ({N O, SZ}, {IT, M B, M V, SP, W S}) ({N O, P L, SZ}, {M B, M V }) 10 : ({SZ}, {IT, LW, M B, M V, SP, W S})
Ein Hasse-Diagramm des zugeh¨origen Begriffsverbands zeigt die Abb. 19.4. Je r @ @ r 3 @r 6 2 r A A r5 4 r A A @ A @ Ar 7 @r 8 r 9 @ @ @r 1
10
r @ @ rMV @rLW SP r A A A rMB TU r A @ A @ ArBU @rPL NO,IT,WS r @ @ @r SZ
Abb. 19.4. Zwei Darstellungen eines Begriffsverbands.
250
19 Verb¨ ande
tiefer ein Begriff im Hasse-Diagramm liegt, desto gr¨oßer ist sein Inhalt, d. h., desto h¨ oher die durch ihn beschriebene Kompetenz. Beispielsweise k¨onnte der Begriff mit dem Umfang {BU, P L, SZ} und dem Inhalt {LW } “Europ¨aische Staaten mit hoher landwirtschaftlicher Kompetenz” bezeichnen, w¨ahrend der Begriff mit dem Umfang {N O, P L, SZ} und dem Inhalt {M B, M V } “Europ¨ aische Staaten mit hoher Kompetenz in Maschinenbau und Medizintechnik” tituliert. Der Begriffsverband ist in Abb. 19.4 noch auf eine zweite Art dargestellt. Dabei wird der Umfang bzw. Inhalt eines Begriffs anhand der angegebenen Beschriftungen seiner Unterbegriffe bzw. Oberbegriffe erhalten.
Selbsttestaufgaben 19.1. Dualisiere die Verbandsaussage ∀x, y, z ∈ V [(x ⊔ y) ⊓ z = (x ⊓ z) ⊔ (y ⊓ z)]. 19.2. Beweise das Dualit¨ atsprinzip 19.2. 19.3. Betrachte die verm¨ oge Teilbarkeit halbgeordnete Menge M = {3, 6, 9, 12, 18}. F¨ ur welche Teilmengen von M ist {6, 12, 18} die Menge der oberen Schranken? F¨ ur welche Teilmengen von M ist {3, 6} die Menge der unteren Schranken? 19.4. Betrachte die halbgeordnete Menge in Abb. 19.5. Gib f¨ ur die Teilmengen {4, 5, 7}, {2, 3, 6} und {1, 2, 4, 7} die Menge der unteren und oberen Schranken sowie jeweils Infimum und Supremum, falls existent, an.
r r @ @ @r 3@ @ @r 5 r 4 @ @ @ @ @ @r 7 6 r @ @ @r 1
2
8
Abb. 19.5. Hasse-Diagramm.
19.5. Die Mengen W1 = {1, 2, 3, 9, 18} und W2 = {1, 3, 4, 9} sind halbgeordnet bzgl. der Teilbarkeitsrelation. Welche dieser halbgeordneten Mengen bilden Verb¨ ande? 19.6. Bildet die halbgeordnete Menge in Abb. 19.6 einen Verband?
19.5 Begriffsverb¨ ande
251
r @ @ @r e d rH H HH H H HH HHr r c b @ @ @r f
a
Abb. 19.6. Hasse-Diagramm.
r r
V1
r @ @ @r
r @ @ @r
V2
r @ @ @r r r @ @ @ @ @r @r r @ @ @r V1 × V2
Abb. 19.7. Produktverband. 19.7. Stelle die Verkn¨ upfungstafeln f¨ ur den Produktverband in Abb. 19.7 auf. 19.8. Sei V eine halbgeordneten Menge V und W eine Teilmenge von V mit kleinstem Element k und gr¨ oßtem Element g. Zeige, dass k = inf(W ) und g = sup(W ). 19.9. Ermittle alle Unterverb¨ ande des Verbandes “Fahne”, die mehr als zwei Elementen enthalten. 19.10. Betrachte die bzgl. Teilbarkeit halbgeordnete Menge A = {2, 4, 8, 16, 32} und die total geordnete Menge B = {a, b, c, d, e}. Bestimme alle Ordnungshomomorphismen von A nach B. 19.11. Betrachte die Verb¨ ande in Abb. 19.8. Zeige, dass V1 und V2 isomorph sind. Beweise ferner, dass es keinen Verbandsepimorphismus von V1 auf V3 gibt. 19.12. Sei (A, ≤) eine halbgeordnete Menge. F¨ ur jede Teilmenge X von A bezeichne (X] = {y ∈ A | ∃ x ∈ X [y ≤ x]} den von X erzeugten Anfang von A. Zeige, dass (·] ein H¨ ullenoperator ist.
252
19 Verb¨ ande V1 : b r
r @ @ @r c
d
V2 : sr
@ @ @r
ur
@ @ @r t
V3 : z r
@ @ @r
a
y r xr
r
Abb. 19.8. Drei Verb¨ ande. 19.13. Sei R ein Kontext u ur alle X ⊆ G und Y ⊆ M ¨ ber G und M . Zeige, dass f¨ gilt \ \ {m}′ . {g}′ und Y ′ = X′ = m∈Y
g∈X
Seien X1 und X2 Teilmengen von G. Beweise oder widerlege (X1 ∪ X2 )′ = X1′ ∩ X2′ ,
(X1 ∩ X2 )′ = X1′ ∪ X2′ .
19.14. Gegeben sei folgender Kontext M1 G1 G2 G3 G4 G5 X G6 X G7 X
M2 M3 M4 M5 M6 M7 X X X X X X X X X X
Bestimme alle Begriffe und zeichne das zugeh¨ orige Hasse-Diagramm.
20 Boolesche Verb¨ ande
Die booleschen Verb¨ ande z¨ahlen zu den wichtigsten Verb¨anden. Wir behandeln endliche boolesche Verb¨ande und besch¨aftigen uns eingehender mit einer Klasse boolescher Verb¨ ande, den so genannten Schaltalgebren, mit denen sich kombinatorische Schaltkreise aufbauen lassen.
20.1 Distributive und komplement¨ are Verb¨ ande Distributive Verb¨ ande Ein Verband V heißt distributiv, wenn f¨ ur alle Elemente u, v, w ∈ V gilt u ⊓ (v ⊔ w) = (u ⊓ v) ⊔ (u ⊓ w)
(20.1)
u ⊔ (v ⊓ w) = (u ⊔ v) ⊓ (u ⊔ w).
(20.2)
und
Satz 20.1. (K¨ urzungsregel) Sei V ein distributiver Verband. F¨ ur alle Elemente u, v, w ∈ V folgt aus u ⊓ v = u ⊓ w und u ⊔ v = u ⊔ w sofort v = w. Beweis. F¨ ur alle u, v, w ∈ V gilt v = v ⊓ (v ⊔ u), Verschmelzung, = v ⊓ (w ⊔ u), nach Voraussetzung, Kommutativit¨at, = (v ⊓ w) ⊔ (v ⊓ u), Distributivit¨at, = (w ⊓ v) ⊔ (w ⊓ u), nach Voraussetzung, Kommutativit¨at, = w ⊓ (v ⊔ u), Distributivit¨at, = w ⊓ (w ⊔ u), nach Voraussetzung, Kommutativit¨at, = w, Verschmelzung. ⊓ ⊔
254
20 Boolesche Verb¨ ande
Null- und Einselement Das kleinste bzw. gr¨ oßte Element eines Verbands V wird, sofern existent, Null bzw. Eins von V genannt und mit 0 bzw. 1 bezeichnet. Beide Elemente sind nach Lemma 5.13 eindeutig bestimmt. Beispiele 20.2. Der nat¨ urliche Teilerverband hat als Null das Element 1 und als Eins das Element 0. Der Teilerverband von n ∈ N0 besitzt als Null die Zahl 1 und als Eins die Zahl n. Aus der Definition der induzierten Halbordnung (19.3) sowie (19.4) erhalten wir das folgende Lemma 20.3. Sei V ein Verband mit Null und Eins. F¨ ur alle Elemente v ∈ V gilt v ⊓ 0 = 0, v ⊔ 0 = v, v ⊓ 1 = v und v ⊔ 1 = 1. Satz 20.4. Jeder endliche Verband besitzt eine Null und eine Eins. Beweis. Sei V ein endlicher Verband. Nach Satz 19.13 existiert inf(V ) F¨ ur jedes Element v ∈ V gilt definitionsgem¨aß inf(V ) ⊑ v. Also ist inf(V ) das kleinste Element in V . Analog wird gezeigt, dass sup(V ) die Eins in V ist. ⊓ ⊔ Komplement¨ are Verb¨ ande Ein Verband V mit Null und Eins heißt komplement¨ar, wenn zu jedem v ∈ V ein w ∈ V existiert mit v ⊓ w = 0 und v ⊔ w = 1. Ein solches Element w wird dann ein Komplement von v genannt Ist das Komplement von v eindeutig bestimmt, so wird es mit v bezeichnet. Die Null und Eins in einem Verband sind nach Lemma 20.3 komplement¨ar, sofern sie existieren 1 = 0 und
0 = 1.
(20.3)
Satz 20.5. In einem distributiven Verband hat jedes Element h¨ochstens ein Komplement. Beweis. Sei V ein distributiver Verband und v ∈ V . Sind u, w ∈ V Komplemente von v, dann gilt v ⊓ u = 0 = v ⊓ w und v ⊔ u = 1 = v ⊔ w. Da V nach Voraussetzung distributiv ist, folgt mit der K¨ urzungsregel u = w. ⊓ ⊔ Beispiele 20.6. • Der Pentagon-Verband V ist komplement¨ar, weil jedes Element in V wenigstens ein Komplement besitzt: 0 a b c1 v Komplemente von v 1 b, c a a 0 Dieser Verband ist nach Satz 20.5 nicht distributiv.
20.1 Distributive und komplement¨ are Verb¨ ande
•
255
Der Diamant-Verband V ist ebenfalls komplement¨ar, denn jedes Element in V hat mindestens ein Komplement: v 0 a b c 1 Komplemente von v 1 b, c a, c a, b 0
•
Dieser Verband ist nach Satz 20.5 ebenfalls nicht distributiv. Die Kette {0, a, b, c, 1} in Abb. 19.3 bildet einen nichtkomplement¨aren Verband. Denn die zwischen Null und Eins liegenden Elemente a, b und c haben kein Komplement.
Der Pentagon- und der Diamant-Verband sind Prototypen nichtdistributiver Verb¨ ande, denn es gilt der folgende Satz 20.7. (Gabor Sz´ asz, 1963) Ein Verband V ist distributiv genau dann, wenn V keinen zum Pentagon- oder Diamant-Verband isomorphen Unterverband enth¨alt. Mit diesem Satz und Satz 19.9 erhalten wir ein wichtiges Korollar 20.8. Jede Kette bildet einen distributiven Verband. Beispiele 20.9. • Der Potenzmengenverband einer Menge A ist nach Satz 3.7 distributiv und komplement¨ar. Die Null ist die leere Menge und die Eins ist die Menge A. Das Komplement von B ∈ P (A) ist B = A \ B. • Der nat¨ urliche Teilerverband ist nach Selbsttestaufgabe 13.6 distributiv mit 1 als Null und 0 als Eins. Der Verband ist nicht komplement¨ar. Denn seien m und n nat¨ urliche Zahlen mit [m, n] = 0. Dann folgt m = 0 oder n = 0. O.B.d.A. sei n = 0. Dann ist (m, 0) = m. Somit haben nur ±1 Komplemente. • Der Teilerverband von 30 ist distributiv, weil er ein Unterverband des nat¨ urlichen Teilerverbands ist. Er ist sogar komplement¨ar, denn das Komplement eines Teilers d von 30 ist durch 30/d gegeben. Demgegen¨ uber ist der Teilerverband von 12 nicht komplement¨ar, weil die Zahl 6 kein Komplement besitzt. • Der Unterraumverband des R-Vektorraums R2 ist komplement¨ar mit dem Nullraum {0} als Null und R2 als Eins. Zu jedem 1-dimensionalen Unterraum U in R2 gibt es einen Vektor u ∈ U mit U = Ru = {ru | r ∈ R}. Wir erg¨ anzen u zu einer Basis {u, v} von R2 . F¨ ur den Unterraum W = Rw gilt U ∩ W = {0} und U + W = R2 . Also ist W komplement¨ar zu U . Das Komplement ist jedoch nicht eindeutig bestimmt, weil der Vektor u auf unendlich viele Arten zu einer Basis von R2 erg¨anzt werden kann. Also ist der Unterraumverband von R2 nicht distributiv.
256
20 Boolesche Verb¨ ande
20.2 Boolesche Algebren Eine boolesche Algebra ist ein distributiver und komplement¨arer Verband. Mit Satz 20.5 erhalten wir den folgenden Satz 20.10. In einer booleschen Algebra hat jedes Element genau ein Komplement. Aus 20.9 resultieren eine Reihe von Beispielen. Satz 20.11. Jeder Potenzmengenverband ist eine boolesche Algebra. Satz 20.12. Sei n ∈ N. Der Teilerverband von n ist eine boolesche Algebra genau dann, wenn n ein Produkt von paarweise verschiedenen Primzahlen ist. Beweis. Sei n = pe11 · · · perr die kanonische Primfaktorzerlegung von n. Der Teilerverband von n ist distributiv, weil er Unterverband des nat¨ urlichen Teilerverbands ist und letzterer distributiv ist. Wir betrachten zwei F¨alle. Ist e1 = . . . = er = 1, dann hat jeder Teiler m ≥ 1 von n als Komplement den ganzzahligen Bruch n/m. Sei ej > 1 f¨ ur ein 1 ≤ j ≤ r. Dann ist m = p1 · · · pr ein echter Teiler von n und f¨ ur jeden Teiler l > 1 von n gilt (m, l) > 1. Also hat m kein Komplement. ⊓ ⊔ Satz 20.13. (De Morgansche Gesetze) F¨ ur alle Elemente a und b einer booleschen Algebra B gilt a ⊓ b = a ⊔ b und a ⊔ b = a ⊓ b. Beweis. Es gilt einerseits (a ⊓ b) ⊓ (a ⊔ b) = ((a ⊓ b) ⊓ a) ⊔ ((a ⊓ b) ⊓ b) = ((a ⊓ a) ⊓ b) ⊔ (a ⊓ (b ⊓ b)) = (0 ⊓ b) ⊔ (a ⊓ 0) = 0 ⊔ 0 = 0 und andererseits (a ⊓ b) ⊔ (a ⊔ b) = (a ⊔ (a ⊔ b)) ⊓ (b ⊔ (a ⊔ b)) = ((a ⊔ a) ⊔ b) ⊓ (a ⊔ (b ⊔ b)) = (1 ⊔ b) ⊓ (a ⊔ 1) = 1 ⊓ 1 = 1. Also ist a ⊔ b ein Komplement von a ⊓ b. Da aber das Komplement in B nach Satz 20.10 eindeutig bestimmt ist, folgt die Behauptung. Die zweite Aussage wird analog bewiesen. ⊓ ⊔ Satz 20.14. (Involutionsgesetz) F¨ ur alle Elemente a einer booleschen Algebra B gilt a = a. Beweis. Aus a ⊓ a = 0 und a ⊔ a = 1 folgt, dass a ein Komplement von a ist. Weil das Komplement von a in B nach Satz 20.10 eindeutig bestimmt ist, folgt die Behauptung. ⊓ ⊔
20.3 Normalformen
257
Sei B eine boolesche Algebra und P eine Aussage in B. Die duale Aussage von P in B ist eine Aussage P d , die aus P entsteht, indem in P die Operationen ⊓ und ⊔, die Halbordnungen ⊑ und ⊒ sowie die Elemente 0 und 1 u ¨ berall gleichzeitig miteinander vertauscht werden. Satz 20.15. (Dualit¨ atsprinzip) Sei B eine boolesche Algebra. Ist P eine wahre Aussage in B, dann ist auch P d eine wahre Aussage in B. Die Beweisidee haben wir bereits in Satz 19.2 skizziert.
20.3 Normalformen Sei B eine boolesche Algebra. Ein Element a 6= 0 in B heißt ein Atom von B, wenn zwischen 0 und a kein weiteres Element von B liegt, d. h. f¨ ur alle b ∈ B folgt aus 0 ⊑ b ⊑ a sofort b = 0 oder b = a. Beispiele 20.16. Die Atome des Potenzmengenverbands P (A), A 6= ∅, sind die einelementigen Teilmengen von A. Die Atome des Teilerverbands von n ∈ N sind die Primfaktoren von n. Lemma 20.17. Sei B eine boolesche Algebra. F¨ ur alle Atome a, a′ ∈ B gilt 0 falls a 6= a′ , ′ a⊓a = (20.4) a sonst. Beweis. Seien a, a′ ∈ B Atome. Es gilt definitionsgem¨aß 0 ⊑ a ⊓ a′ ⊑ a und somit nach Voraussetzung entweder a ⊓ a′ = 0 oder a ⊓ a′ = a. Aus a ⊓ a′ = a folgt per definitionem a′ ⊑ a und somit nach Annahme a = a′ . Aus a ⊓ a′ = 0 ergibt sich mit dem Idempotenzgesetz a 6= a′ . ⊓ ⊔ Sei b ∈ B. Die atomare Menge von b in B ist die Menge aller Atome von B, die vor b liegen A(b) = {a | a ⊑ b, a ist Atom von B}.
(20.5)
Beispiel 20.18. F¨ ur den Teilerverband von 30 gilt b 1 2 3 5 6 10 15 30 A(b) ∅ {2} {3} {5} {2, 3} {2, 5} {3, 5} {2, 3, 5} Ein Element c 6= 1 in B heißt ein Koatom von B, wenn zwischen c und 1 kein weiteres Element von B liegt, d. h. f¨ ur alle b ∈ B impliziert c ⊑ b ⊑ 1 direkt b = c oder b = 1. Atome und Koatome gehen verm¨oge des Dualit¨ atsprinzips ineinander u ¨ber. Beispiele 20.19. Die Koatome des Potenzmengenverbands einer n-elementigen Menge A sind die (n − 1)-elementigen Teilmengen von A. Die Koatome des Teilerverbands von n ∈ N sind die Koprimfaktoren n/p, wobei p ein Primteiler von n ist.
258
20 Boolesche Verb¨ ande
Sei b ∈ B. Die koatomare Menge von b in B ist die Menge aller Koatome von B, die oberhalb von b liegen C(b) = {c | b ⊑ c, c ist Koatom von B}.
(20.6)
Beispiel 20.20. F¨ ur den Teilerverband von 30 gilt b 1 2 3 5 6 10 15 30 C(b) {6, 10, 15} {6, 10} {6, 15} {10, 15} {6} {10} {15} ∅ Satz 20.21. (Disjunktive Normalform) Sei B eine endliche boolesche Algebra. Jedes Element b ∈ B ist darstellbar als Supremum der atomaren Menge von b G a. (20.7) b= a∈A(b)
Diese Darstellung ist eindeutig bis auf die Reihenfolge der Elemente in A(b). Beweis. F¨ ur die Null ist die Aussage klar, weil das Supremum u ¨ ber die leere Menge gleich Null ist. Sei b ∈ B mit b 6= 0. Wir zeigen zuerst die Existenz der Darstellung. Da B endlich ist, gibt es nur endlich viele Elemente, die vor b liegen. Unter diesen Elementen befindet sich mindestens ein Atom. Also ist A(b) nicht leer. Wir setzen G a. (20.8) c= a∈A(b)
F¨ ur jedes a ∈ A(b) gilt a ⊑ b. Verm¨oge Monotonie und Idempotenz folgt c ⊑ b, also b ⊔ c = c. Mit Distributivit¨at ergibt sich (b ⊓ c) ⊔ c = (b ⊔ c) ⊓ (c ⊔ c) = b ⊓ 1 = b.
(20.9)
Angenommen, es w¨ are c 6= b. Dann ist b ⊓ c von Null verschieden. Folglich gibt es ein Atom a ∈ B mit a ⊑ b ⊓ c, also a ⊑ b und a ⊑ c. Das Atom a liegt in A(b) und mittels Kommutativit¨at, Assoziativit¨at und Idempotenz erhellt sich G (20.10) a⊔c =a⊔ a′ = c. a′ ∈A(b) a′ 6=a
Somit ist a ⊑ c und deshalb widerspr¨ uchlicherweise a ⊑ c ⊓ c = 0. Wir beweisen noch die Eindeutigkeit der Darstellung. Sei b ∈ B als Supremum einer Menge A von Atomen von B darstellbar, also G b= a. (20.11) a∈A
20.4 Schaltalgebren
F¨ ur jedes a ∈ A gilt a ⊑ b und somit verm¨oge Distributivit¨at G G (a ⊓ a′ ). a′ = a=a⊓b=a⊓ a′ ∈A(b)
259
(20.12)
a′ ∈A(b)
Diese Identit¨ at hat nach Lemma 20.17 nur Bestand, wenn a in A(b) liegt. Folglich ist A eine Teilmenge von A(b). Da die Rollen von A(b) und A vertauschbar sind, folgt A(b) = A. ⊓ ⊔ Durch Dualisierung von Satz 20.21 ergibt sich der folgende Satz 20.22. (Konjunktive Normalform) Sei B eine endliche boolesche Algebra. Jedes Element b ∈ B ist darstellbar als Infimum der koatomaren Menge C(b). Diese Darstellung ist eindeutig bis auf die Reihenfolge der Elemente in C(b). Satz 20.23. (Darstellungssatz) Jede endliche boolesche Algebra ist isomorph zu einem Potenzmengenverband. Beweis. Sei B eine endliche boolesche Algebra und A die Menge aller Atome von B. Wir zeigen, dass die Abbildung φ : B → P (A) : b 7→ A(b) ein Isomorphismus ist. Die Abbildung ur jede Menge von Atomen F φ ist surjektiv, weil f¨ A′ ⊆ A das Supremum a∈A′ a ∈ B nach Satz 19.13 existiert. Die Abbildung φ ist injektiv, weil jedes b ∈ B nach Satz 20.21 das Supremum von A(b) ist und dabei A(b) eindeutig bestimmt ist. Seien b, c ∈ B. F¨ ur beliebiges a ∈ B gilt a ⊑ b⊓c genau dann, wenn a ⊑ b∧a ⊑ c. Ferner gilt a ⊑ b⊔c genau dann, wenn a ⊑ b ∨ a ⊑ c. Daraus folgt A(b ⊓ c) = A(b) ∩ A(c) und A(b ⊔ c) = A(b) ∪ A(c). Dies hat als Konsequenz φ(b ⊓ c) = A(b ⊓ c) = A(b) ∩ A(c) = φ(b) ∩ φ(c) und φ(b ⊔ c) = A(b ⊔ c) = A(b) ∪ A(c) = φ(b) ∪ φ(c). ⊓ ⊔ Mit dem Satz 20.11 erhellt sich ein wichtiges Korollar 20.24. Zu jeder nat¨ urlichen Zahl n gibt es eine bis auf Isomorphie eindeutig bestimmte boolesche Algebra mit 2n Elementen.
20.4 Schaltalgebren Ein Computer besteht aus elektronischen Schaltkreisen. Ein Schaltkreis ist aus verdrahteten, bistabilen Elementen aufgebaut, die die Werte 0 (niedrige Spannung) und 1 (hohe Spannung) annehmen. Wir unterscheiden zwischen kombinatorischen und sequentiellen Schaltkreisen. Bei kombinatorischen Schaltkreisen h¨ angt die Ausgabe nur von der Eingabe ab, w¨ahrend bei sequentiellen Schaltkreisen die Ausgabe auch durch innere Zust¨anden (Registerinhalte) bestimmt wird. Rechenwerke sind kombinatorische Schaltkreise, w¨ahrend Steuerwerke durch sequentielle Schaltkreise realisiert werden.
260
20 Boolesche Verb¨ ande
Schaltfunktionen Sei B = {0, 1}. Eine n-stellige Schaltfunktion ist eine Abbildung f : Bn → B. Eine solche Abbildung beschreibt einen kombinatorischen Schaltkreis mit n Eing¨ angen und einem Ausgang (Abb. 20.1). Wir untersuchen im Folgenden die Menge aller n-stelligen Schaltfunktionen Fn = {f | f : Bn → B}. Die
b1 ...
f
f (b)
bn
Abb. 20.1. Eine n-stellige Schaltfunktion f .
nullstelligen Schaltfunktionen sind die Konstantenfunktionen, die Nullfunktion 0 : b 7→ 0 und die Einsfunktion 1 : b 7→ 1. Die einstelligen Schaltfunktionen sind die identische Abbildung id : b 7→ b, die Negation ¬ : b 7→ ¬b und die beiden Konstantenabbildungen 0 : b 7→ 0 und 1 : b 7→ 1, also b id(b) ¬b 0 1 0 0 1 01 1 1 0 01 Zu den wichtigsten zweistelligen Schaltfunktionen z¨ahlen Konjunktion und Disjunktion b1 b2 b1 ∧ b2 b1 ∨ b2 0 0 0 0 0 1 0 1 0 1 1 0 1 1 1 1 Die kombinatorischen Schaltkreise der Schaltfunktionen Konjunktion, Disjunktion und Negation werden als Gatter bezeichnet. Die hierf¨ ur u ¨blichen Schaltsymbole der zugeh¨ origen Schaltkreise zeigt die Abb. 20.2.
20.4 Schaltalgebren
b1
b2
b1
b1 ∧ b2
b2
b1 ∨ b2
b1
261
r ¬b1
Abb. 20.2. UND-Gatter, ODER-Gatter und NICHT-Gatter (Inverter).
Verkn¨ upfung von Schaltfunktionen Seien f1 , . . . , fm Schaltfunktionen gleicher Stelligkeit n. Wir stellen uns vor, dass die zugeh¨ origen kombinatorischen Schaltkreise zu einem neuen Schaltkreis so zusammengefasst werden, dass sie allesamt von der gleichen Eingabe gespeist und ihre Ausgaben durch einen weiteren Schaltkreis verkn¨ upft werden (Abb. 20.3). Wird dieser weitere Schaltkreis durch eine m-stellige Schaltfunktion f spezifiziert, so erhalten wir eine n-stellige Schaltfunktion g = f (f1 , . . . , fm ), definiert durch g(b) = f (f1 (b), . . . , fm (b)),
b ∈ Bn .
(20.13)
f1 b1 ... bn
r r
...
f
f (f1 (b), . . . , fm (b))
fm
Abb. 20.3. Eine Schaltung f¨ ur die n-stellige Schaltfunktion g = f (f1 , . . . , fm ).
262
20 Boolesche Verb¨ ande
Von besonderem Interesse sind zusammengesetzte Schaltfunktionen, die mithilfe von Konjunktion, Disjunktion und Negation gebildet werden (siehe Abb. 20.4) (f1 ∧ f2 )(b) = f1 (b) ∧ f2 (b), (f1 ∨ f2 )(b) = f1 (b) ∨ f2 (b), (¬f1 )(b) = ¬f1 (b),
b ∈ Bn .
f1
r
b1 ...
r
bn
(f1 ∧ f2 )(b)
f2
Abb. 20.4. Eine Schaltung f¨ ur die n-stellige Schaltfunktion f1 ∧ f2 .
Beispiel 20.25. Einige Verkn¨ upfungen der NAND-Funktion ∧ und der NORFunktion ∨ zeigt die folgende Wertetabelle b1 0 0 1 1
b2 ∧(b) ∨(b) (¬∧)(b) (∧ ∧ ∨)(b) (∧ ∨ ∨)(b) 0 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0
Satz 20.26. Sei n eine nat¨ urliche Zahl. Die Menge aller n-stelligen Schaltfunktionen bildet zusammen mit Konjunktion und Disjunktion eine boolesche Algebra. Beweis. Die Verbandseigenschaften werden auf die entsprechenden Eigenschaften des Aussagenverbands (B, ∧, ∨) zur¨ uckgef¨ uhrt. Beispielsweise ist die
20.4 Schaltalgebren
263
Konjunktion in Fn kommutativ, denn f¨ ur alle f, g ∈ Fn und b ∈ Bn gilt (f ∧ g)(b) = f (b) ∧ g(b) = g(b) ∧ f (b) = (g ∧ f )(b). Die Null in Fn ist die Nullfunktion b 7→ 0, die Eins die Einsfunktion b 7→ 1 und das Komplement von f ∈ Fn ist ¬f . ⊓ ⊔ Die boolesche Algebra Fn der n-stelligen Schaltfunktionen wird Schaltalgebra genannt. Im Folgenden schreiben wir f¨ ur die Operationen von Fn f g = f ∧ g,
f +g =f ∨g
und f = ¬f.
(20.14)
In einem klammerfreien Ausdruck, in dem Schaltfunktionen durch Addition, Multiplikation und Negation verkn¨ upft sind, soll die Negation die h¨ochste, die Multiplikation die zweith¨ochste und die Addition die niedrigste Priorit¨at besitzen. Dadurch lassen sich Klammern sparen, wie etwa in (f + g) + (f g) = f + g + f g. Die induzierte Halbordnung Der Tr¨ager einer n-stelligen Schaltfunktion f ist die Menge aller Wertekombinationen T (f ), bei denen f den Wert 1 annimmt, also T (f ) = {b ∈ Bn | f (b) = 1}.
(20.15)
Lemma 20.27. Sei ⊑ die induzierte Halbordnung von Fn . F¨ ur alle f, g ∈ Fn gilt f ⊑ g genau dann, wenn T (f ) ⊆ T (g). Beweis. Seien f, g ∈ Fn . Nach Definition der induzierten Halbordnung ist f ⊑ g gleichbedeutend mit f g = f , d. h., f (b) ∧ g(b) = f (b) f¨ ur alle b ∈ Bn . n Diese Aussage gilt genau dann, wenn f¨ ur alle b ∈ B aus f (b) = 1 stets g(b) = 1 folgt, was gleichbedeutend ist mit T (f ) ⊆ T (g). ⊓ ⊔ Satz 20.28. Die Abbildung Fn → P (Bn ) : f 7→ T (f ) ist ein Isomorphismus. Beweis. Jede n-stellige Schaltfunktion ist eindeutig bestimmt durch ihren Tr¨ ager. Also ist die Abbildung injektiv. Es ist klar, dass jede Teilmenge von Bn Tr¨ ager einer n-stelligen Schaltfunktion ist. Somit ist die Abbildung auch surjektiv. Seien f, g ∈ Fn . Aus den Definitionen ergibt sich T (f g) = T (f ) ∩ T (g) und T (f + g) = T (f ) ∪ T (g). ⊓ ⊔ Normalformen Nach Satz 20.28 korrespondieren die Atome von Fn zu den Atomen von P (Bn ). Letztere sind aber die einelementigen Teilmengen von Bn . Deshalb definieren wir zu jedem Element a ∈ B n die n-stellige Schaltfunktion 1 falls a = b, ma (b) = (20.16) 0 sonst.
264
20 Boolesche Verb¨ ande
Nach Satz 20.28 korrespondieren die Atome von Fn zu den Atomen von P (Bn ), mithin zu den 1-elementigen Teilmengen von Bn . F¨ ur den Tr¨ager von ma gilt aber T (ma ) = {a}. Damit haben wir die folgende Aussage bewiesen. Lemma 20.29. Die Schaltfunktionen ma , a ∈ Bn , sind die Atome von Fn . F¨ ur jedes Element a ∈ B n definieren wir die n-stellige Schaltfunktion 1 falls a 6= b, Ma (b) = (20.17) 0 sonst. Wegen Satz 20.28 korrespondieren die Coatome von Fn zu den Coatomen von P (Bn ), also zu den (n−1)-elementigen Teilmengen von Bn . F¨ ur den Tr¨ager von Ma gilt aber T (Ma ) = Bn \ {a}. Damit haben wir folgende Aussage gezeigt. Lemma 20.30. Die Schaltfunktionen Ma , a ∈ Bn , sind die Coatome von Fn . Mithilfe beider Lemmata k¨onnen wir in der Schaltalgebra die Normalformens¨ atze neu formulieren. Satz 20.31. (Disjunktive Normalform) Jede n-stellige Schaltfunktion f ist darstellbar in disjunktiver Normalform X f= ma . (20.18) a∈Bn f (a)=1
Diese Darstellung ist eindeutig bis auf die Reihenfolge der Atome. Satz 20.32. (Konjunktive Normalform) Jede n-stellige Schaltfunktion f ist darstellbar in konjunktiver Normalform Y f= Ma . (20.19) a∈Bn f (a)=0
Diese Darstellung ist eindeutig bis auf die Reihenfolge der Coatome. Beispiel 20.33. Die Schaltfunktion f f¨ ur die Lampensteuerung in 1.11 hat die disjunktive Normalform f = m10 + m01 und die konjunktive Normalform f = M00 M11 .
20.5 Kombinatorische Schaltkreise Wir zeigen, dass sich kombinatorische Schaltkreise vollst¨andig aus UND- und ODER-Gattern sowie Invertern aufbauen lassen.
20.5 Kombinatorische Schaltkreise
265
Min- und Maxterme Die i-te Projektion von Fn ist die n-stellige Schaltfunktion xi : Bn → B : b 7→ bi ,
1 ≤ i ≤ n.
(20.20)
Wir setzen x1i = xi
und x0i = xi
(20.21)
und ordnen jeder Wertekombination a ∈ Bn zwei Schaltfunktionen zu xa1 1 · · · xann
und xa1 1 + . . . + xann .
(20.22)
Erstere nimmt nur bei der Wertekombination a den Wert 1 an, w¨ahrend letztere nur bei der Wertekombination a den Wert 0 annimmt. Also folgt definitionsgem¨ aß ma = xa1 1 · · · xann
und Ma = xa1 1 + . . . + xann .
(20.23)
Die Atome ma werden Minterme und die Koatome Ma Maxterme von Fn genannt. Beispiel 20.34. In der Schaltalgebra F3 lauten die Minterme m0 = x1 x2 x3 , m3 = x1 x2 x3 , m6 = x1 x2 x3 , m1 = x1 x2 x3 , m4 = x1 x2 x3 , m7 = x1 x2 x3 . m2 = x1 x2 x3 , m5 = x1 x2 x3 , und die Maxterme M0 = x1 + x2 + x3 , M3 = x1 + x2 + x3 , M6 = x1 + x2 + x3 , M1 = x1 + x2 + x3 , M4 = x1 + x2 + x3 , M7 = x1 + x2 + x3 . M2 = x1 + x2 + x3 , M5 = x1 + x2 + x3 , Dabei haben wir den Index a = (a2 , a1 , a0 ) jeweils durch sein Dezimal¨aquivalent a2 · 22 + a1 · 2 + a0 ersetzt. Boolesche Ausdr¨ ucke Schaltfunktionen sind h¨ aufig in Form von booleschen Ausdr¨ ucken gegeben. Das sind arithmetische Ausdr¨ ucke in den Projektionen xi , wie etwa f = x1 (x2 x3 ) ((x1 + x3 )(x2 + x3 )).
(20.24)
Die Projektionen und ihre Komplemente werden auch Literale genannt. Ein boolescher Ausdruck f kann wie folgt in disjunktive Normalform umgeformt werden:
266
20 Boolesche Verb¨ ande
1. Vereinfache sukzessive jede einzelne Klammer des Ausdrucks f durch die Gesetze von De Morgan und das Involutionsgesetz solange, bis jede Klammer nur noch aus Summen von Produkten von Literalen besteht. 2. Forme den Ausdruck in eine Summe von Produkten von Literalen anhand des Distributivgesetzes um. 3. Vereinfache die Produkte anhand der Kommutativ- und Idempotenzgesetze und entferne Produkte, die gleich Null sind. 4. Ein Produkt, das weder die Projektion xi noch ihr Komplement enth¨alt, wird mit dem Ausdruck xi + xi multipliziert. 5. Die letzte Anweisung wird solange wiederholt, bis jedes Produkt ein Minterm ist. Mehrfach auftretende Minterme werden bis auf einen eliminiert. Beispiel 20.35. Der boolesche Ausdruck f in (20.24) wird nach obigem Rezept wie folgt umgeformt: 1. f = (x1 + x2 x3 )((x1 + x3 ) + (x2 + x3 )) = (x1 + x2 x3 )(x1 x3 + x2 x3 ). 2. f = x1 x1 x3 + x1 x2 x3 + x2 x3 x1 x3 + x2 x3 x2 x3 . 3. f = 0 + x1 x2 x3 + 0 + x2 x3 = x1 x2 x3 + x2 x3 . 4. f = x1 x2 x3 + (x1 + x1 )x2 x3 = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 = x1 x2 x3 + x1 x2 x3 . Kombinatorische Schaltungsb¨ undel Kombinatorische Schaltkreise haben oft mehrere Ein- und Ausg¨ange. Solche Schaltungen werden durch Schaltungsb¨ undel beschrieben. Seien m, n ∈ N. Ein n-stelliges, m-wertiges kombinatorisches Schaltungsb¨ undel ist eine Abbildung F : Bn → Bm . Ein kombinatorisches Schaltungsb¨ undel F beschreibt m kombinatorische Schaltkreise mit jeweils n Eing¨angen und einem Ausgang, wobei die Eing¨ ange der n Schaltkreise von derselben Quelle gespeist werden (Abb. 20.5). Also ist ein n-stelliges, m-wertiges Schaltungsb¨ undel ein m-Tupel F = (f1 , . . . , fm ) von n-stelligen Schaltfunktionen f1 , . . . , fm , wobei f¨ ur alle Wertekombinationen b ∈ Bn gilt F (b) = (f1 (b), . . . , fm (b)).
(20.25)
Halbaddierer Ein Halbaddierer ist eine kombinatorische Schaltung zur Addition zweier Bits und wird durch ein zweistelliges, zweiwertiges Schaltungsb¨ undel H = (sH , uH ) beschrieben, wobei die Schaltfunktion sH die Summe und die Schaltfunktion ¨ uH den Ubertrag berechnet. Die Wertetabelle eines Halbaddierers lautet b1 0 0 1 1
b2 sH (b) uH (b) 0 0 0 1 1 0 0 0 1 1 0 1
20.5 Kombinatorische Schaltkreise
b1 ... bn
r r
f1
f1 (b)
...
...
fm
fm (b)
267
Abb. 20.5. Schaltung eines Schaltungsb¨ undels F = (f1 , . . . , fm ).
Die disjunktive Normalform des Halbaddierers lautet also sH = x1 x2 + x1 x2
und
uH = x1 x2 .
(20.26)
Den Schaltkreis der Schaltfunktion sH zeigt die Abb. 1.2, der Schaltkreis der Schaltfunktion uH ist ein simples UND-Gatter. F¨ ur das Schaltungsb¨ undel des Halbaddierers verwenden wir im Folgenden das in Abb. 20.6 dargestellte Schaltsymbol.
s H
u
Abb. 20.6. Schaltsymbol f¨ ur einen Halbaddierer.
Volladdierer Ein Volladdierer ist eine kombinatorische Schaltung zur Addition dreier Bits und wird durch ein dreistelliges, zweiwertiges Schaltungsb¨ undel V = (sV , uV )
268
20 Boolesche Verb¨ ande
dargestellt. Die Schaltfunktion sV berechnet die Summe und die Schaltfunk¨ tion uV den Ubertrag. Die Wertetabelle des Volladdierers lautet b1 0 0 0 0 1 1 1 1
b2 0 0 1 1 0 0 1 1
b3 sV (b) uV (b) 0 0 0 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 1 1 1 1
F¨ ur die Summe gilt sV = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 = x1 (x2 x3 + x2 x3 ) + x1 (x2 x3 + x2 x3 ) = x1 sH (x2 , x3 ) + x1 sH (x2 , x3 ) = sH (x1 , sH (x2 , x3 ))
(20.27)
¨ und f¨ ur den Ubertrag ergibt sich uV = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 + x1 x2 x3 = (x1 + x1 )x2 x3 + x1 (x2 x3 + x2 x3 ) = x2 x3 + x1 sH (x2 , x3 ) = uH (x2 , x3 ) + uH (x1 , sH (x2 , x3 )).
(20.28)
Also kann ein Volladdierer durch zwei Halbaddierer und ein ODER-Gatter realisiert werden (Abb. 20.7).
H
u
b2 b3
sV
s
b1
H
s u
Abb. 20.7. Ein Volladdierer.
uV
20.5 Kombinatorische Schaltkreise
269
Addierwerke Ein Addierwerk ist eine kombinatorische Schaltung zur Addition zweier nstelliger Bin¨ arzahlen. Diese Schaltung stellt ein 2n-stelliges, (n + 1)-wertiges Schaltungsb¨ undel dar und kann durch n in Serie geschaltete Volladdierer realisiert werden. Dabei kann der Volladdierer f¨ ur die niedrigstwertige Stelle durch einen Halbaddierer ersetzt werden, weil f¨ ur die niedrigstwertige Stelle kein ¨ Ubertrag zu ber¨ ucksichtigen ist. Ein Addierwerk f¨ ur dreistellige Bin¨arzahlen zeigt die Abb. 20.8.
c3
u
c2
c1
c0
s
s
s
V
a 2 b2
u
V
a 1 b1
u
H
a 0 b0
Abb. 20.8. Ein Addierwerk f¨ ur dreistellige Bin¨ arzahlen.
Selbsttestaufgaben 20.1. Zeige, dass der Unterraumverband eines R-Vektorraums V der Dimension n ≥ 2 komplement¨ ar, aber nicht distributiv ist. 20.2. Ist der Verband “Fahne” komplement¨ ar, ist er distributiv? 20.3. Ist der Verband “Anh¨ anger” komplement¨ ar, ist er distributiv? 20.4. Gib die Komplemente der Elemente des Teilerverbands von 12 an. Ist dieser Verband komplement¨ ar, ist er distributiv? 20.5. Sei B eine boolesche Algebra und a ∈ B. Dualisiere die Gleichung (a ⊓ 1) ⊓ (0 ⊓ a) = 0. 20.6. Beweise das Dualit¨ atsprinzip 20.15. 20.7. Seien V und V ′ distributive Verb¨ ande. Zeige, dass V × V ′ ein distributiver Verband ist.
270
20 Boolesche Verb¨ ande
20.8. Seien V und V ′ komplement¨ are Verb¨ ande. Zeige, dass V × V ′ ein komplement¨ arer Verband ist. 20.9. Bestimme alle Atome und Koatome des Teilerverbands von 1155. 20.10. Sei B = {0, 1} die boolesche Algebra mit zwei Elementen. Zeige, dass Bn eine boolesche Algebra mit 2n Elementen bildet. 20.11. Zeige, dass die booleschen Algebren P (n) und Bn isomorph sind. 20.12. Zeige, dass die Ideale im Ring der ganzen Zahlen einen Verband bilden, der distributiv, aber nicht komplement¨ ar ist. 20.13. Zeige, dass der Idealverband von Z isomorph ist zum dualen Verband des nat¨ urlichen Teilerverbands. 20.14. Zeige, dass sich jede Schaltfunktion durch UND-Gatter und Inverter aufbauen l¨ asst. 20.15. Zeige, dass f¨ ur jede n-stellige Schaltfunktion f gilt f (b) = bn f (b1 , . . . , bn−1 , 1) + bn f (b1 , . . . , bn−1 , 0),
b ∈ Bn .
Teil VI
Graphen und Optimierung
21 Graphen
Die Graphentheorie ist ein wichtiges Instrument, um komplexe Probleme in unterschiedlichen Wissenschaftsbereichen zu bearbeiten. Der interdisziplin¨are Charakter der Graphentheorie r¨ uhrt von der Struktur von Graphen her. Graphentheorie ist immer dann anwendbar, wenn ein Problem zu untersuchen ist, in dem Paare von Objekten in Relation stehen. Beispiele hierf¨ ur sind Wegenetze, elektrische Netzwerke und Flussdiagramme. In diesem Kapitel werden die Grundbegriffe der Graphentheorie er¨ortert.
21.1 Grundbegriffe Ein Graph ist ein Paar G = (V, E), bestehend aus einer nichtleeren Menge V und einer Menge E von 2-Teilmengen von V . Die Elemente von V heißen Knoten und die Elemente von E Kanten. Eine Kante e = {u, v} wird auch als ein Wort e = uv (oder e = vu) geschrieben. Liegt eine Kante e = uv vor, dann inzidieren u und v mit e, u und v sind adjazent (oder direkt verbunden) und u und v bilden die Endknoten von e. Im Folgenden werden nur endliche Graphen betrachtet, also Graphen mit endlicher Knotenmenge. Die Anzahl der Knoten eines Graphen G heißt Ordnung von G und die Anzahl der Kanten von G heißt Gr¨oße von G. Ein Graph kann durch ein Diagramm dargestellt werden, in dem die Knoten durch Punkte der Zeichenebene und die Kanten durch stetige Streckenz¨ uge repr¨ asentiert werden. Beispiel 21.1. Der Graph G mit der Knotenmenge V = {v1 , . . . , v4 } und der Kantenmenge E = {v1 v3 , v2 v3 , v2 v4 , v3 v4 } wird durch das Diagramm in Abb. 21.1 dargestellt. Ein Graph G = (V, E) hat weder Schlingen noch Mehrfachkanten. Schlingen sind 1-Teilmengen von V , also Kanten, die nur mit einem Knoten inzidieren. Mehrfachkanten sind Multimengen von 2-Teilmengen von V , also mehrfache Verbindungen zwischen zwei Knoten.
274
21 Graphen v3 r
r v4 @ @ @r v2 v1 r
Abb. 21.1. Ein Diagramm des Graphen in 21.1.
Sei G = (V, E) ein Graph. Die Anzahl der mit einem Knoten v ∈ V inzidierenden Kanten wird der Grad von v genannt und mit d(v) bezeichnet. Ist d(v) = 0, so heißt v isoliert. Haben alle Knoten in G den gleichen Grad k, so wird G als k-regul¨ar bezeichnet. Satz 21.2. (Handschlagslemma) F¨ ur jeden Graphen G = (V, E) gilt X d(v) = 2|E|. (21.1) v∈V
Beweis. Jede Kante wird in der Summe auf der linken Seite zweimal gez¨ahlt, je einmal f¨ ur jeden inzidierenden Knoten. ⊓ ⊔
Korollar 21.3. In jedem Graphen ist die Anzahl der Knoten mit ungeradem Grad stets gerade. Beweis. Nach dem Handschlagslemma ist die Summe aller Grade gerade. Durch Subtrahieren der Summe aller geraden Grade ergibt sich eine gerade Zahl, die die Summe aller ungeraden Grade darstellt. Also muss die Summe aller ungeraden Grade eine gerade Anzahl von Summanden haben. ⊓ ⊔ Beispiel 21.4. K¨ onnen 333 Telefone so zusammengeschaltet werden, dass jedes Telefon mit drei Telefonen direkt verbunden ist? Die Antwort ist zu verneinen, denn die Summe der Grade des Telefonnetzes w¨are ungerade (333 · 3). Die Gradfolge eines Graphen G ist die absteigend sortierte Folge der Grade aller Knoten in G. Beispielweise hat der Graph in Abb. 21.1 die Gradfolge (3, 2, 2, 1). Umgekehrt geh¨ort nicht zu jeder absteigenden Folge nat¨ urlicher Zahlen ein Graph. Etwa gibt es keinen Graphen mit der Gradfolge (5, 3, 2, 2, 2, 1), denn die Summe der Grade ist ungerade. Teilgraphen Sei G = (V, E) ein Graph. Ein Teilgraph von G ist ein Graph G′ = (V ′ , E ′ ) mit V ′ ⊆ V und E ′ ⊆ E. Ein Teilgraph G′ von G kann als der von seiner Kantenmenge E ′ induzierte Teilgraph von G angesehen werden. Ein Teilgraph G′ von G wird als der durch seine Knotenmenge V ′ induzierte Teilgraph von G bezeichnet, wenn jede Kante in G, die zwei Knoten in G′ verbindet, zu G′ geh¨ ort. Beispiel 21.5. In Abb. 21.2 ist ein Graph G mitsamt zweier seiner Teilgraphen G1 und G2 dargestellt. Der Teilgraph G2 wird von der Knotenmenge {b, c, d} induziert, der Teilgraph G1 nicht.
21.1 Grundbegriffe c r
c r
rd @ G @ @r b a r
275
c r
rd
G1
G2
rb
rd @ @ @r b
Abb. 21.2. Ein Graph G mit zwei Teilgraphen.
Isomorphismen Seien G = (V, E) und G′ = (V ′ , E ′ ) Graphen. Eine Abbildung φ : V → V ′ heißt ein Isomorphismus von G auf G′ , wenn φ bijektiv ist und f¨ ur alle u, v ∈ V gilt uv ∈ E genau dann, wenn φ(u)φ(v) ∈ E ′ . Zwei Graphen G und G′ heißen isomorph, wenn es einen Isomorphismus von G auf G′ gibt. Beispiel 21.6. Die beiden Graphen in Abb. 21.3 sind isomorph, denn ein Isomorphismus ist durch φ(a) = 1, φ(b) = 2, φ(c) = 3 und φ(d) = 4 gegeben.
c r
rd @ @ @r b a r
3 r
r4 @ @ @r 1 2 r
Abb. 21.3. Zwei isomorphe Graphen.
Isomorphe Graphen haben gleiche Knotenanzahl (Ordnung), Kantenanzahl (Gr¨ oße) und Gradfolge. Anders ausgedr¨ uckt sind zwei Graphen nicht isomorph, wenn sie unterschiedliche Ordnung, Gr¨oße oder Gradfolge haben. Es gibt nichtisomorphe Graphen mit gleicher Gradfolge (Abb. 21.4).
r @ @r r r
r r r r
r @ @r r r
r r r @ @r
Abb. 21.4. Zwei nichtisomorphe Graphen mit gleicher Gradfolge.
Sei G ein Graph. Ein Isomorphismus von G auf G wird auch ein Automorphismus von G genannt. Satz 21.7. Die Menge aller Automorphismen eines Graphen bildet unter Komposition eine Gruppe.
276
21 Graphen
Die Gruppe aller Automorphismen von G wird die Automorphismengruppe von G genannt und mit Aut(G) bezeichnet. Beispiel 21.8. Die Automorphismengruppe eines Quadrats (Abb. 21.5) ist nach 15.30 die Diedergruppe D4 , bestehend aus vier Drehungen id, (1234), (1234)2 = (13)(24), (1234)3 = (1432) und vier Spiegelungen (12)(34), (14)(23), (13), (24). 4 r
r3
1 r
r2
Abb. 21.5. Ein Quadrat.
21.2 Wege, Kreise und Zusammenhang Sei G = (V, E) ein Graph. Eine Folge W = (v0 , . . . , vk ) von Knoten vi ∈ V heißt ein Weg in G, wenn f¨ ur alle i, 1 ≤ i ≤ k, gilt vi−1 vi ∈ E. Der Knoten v0 ist der Startknoten und der Knoten vk der Endknoten von W . Die L¨ange von W ist n, die Anzahl seiner Kanten. Ein Weg W heißt einfach, wenn W keinen Knoten mehrfach enth¨alt. Beispiel 21.9. Der Graph in Abb. 21.6 enth¨alt etwa die einfachen Wege (s, a, d, g, f, i, t) und (s, a, b, e, h, i, t) der L¨ange 6.
sr
c r
hr
i r
b r
er
f r
ar
dr
g
tr
r
Abb. 21.6. Ein Wegenetz.
Ein Kreis in G ist ein Weg in G, in dem Start- und Endknoten identisch sind. Ein Kreis heißt einfach, wenn er (vom Start- und Endknoten abgesehen) keinen Knoten mehrfach enth¨alt. Eine hin und zur¨ uck durchlaufene Kante uv ergibt einen einfachen Kreis (u, v, u) der L¨ange 2. Beispiel 21.10. Der Graph in Abb. 21.6 besitzt etwa die einfachen Kreise (a, b, c, h, e, d, a) und (a, b, e, f, g, d, a) der L¨ange 6.
21.2 Wege, Kreise und Zusammenhang
277
Zusammenhang Sei G = (V, E) ein Graph. Zwei Knoten u, v ∈ V heißen verbunden in G, kurz u ≡G v, wenn u = v oder es einen Weg von u nach v gibt. Sind je zwei Knoten in G verbunden, so heißt G zusammenh¨angend. Lemma 21.11. Sei G = (V, E) ein Graph. Die Verbindbarkeit ≡G in G ist ¨ eine Aquivalenz auf V . ¨ Die Aquivalenzklassen der Verbindbarkeit bilden nach Satz 5.5 eine Parti¨ tion von V . Die von den Aquivalenzklassen aufgespannten Teilgraphen heißen Komponenten von G. Ist G zusammenh¨angend, so existiert nur eine Komponente. Beispiel 21.12. Der Graph in Abb. 21.7 besteht aus zwei Komponenten, die ¨ von den Aquivalenzklassen {a, b} und {c, d, e} aufgespannt werden. b r
dr
ar
c r
re
Abb. 21.7. Ein Graph mit zwei Komponenten.
Satz 21.13. Sei G = (V, E) ein zusammenh¨angender Graph und e ∈ E eine auf einem einfachen Kreis in G liegende Kante. Der durch Streichen von e entstehende Teilgraph von G ist ebenfalls zusammenh¨angend. Beweis. Es bezeichne G′ den durch Streichen von e entstehenden Teilgraphen von G. Seien u, v ∈ V . Da G zusammenh¨angend ist, gibt es einen Weg W in G von u nach v. Benutzt der Weg die Kante e nicht, so ist W auch ein Weg in G′ . Andernfalls kann W so abge¨andert werden, dass anstatt der Kante e der Rest des Kreises benutzt werden, auf dem e nach Voraussetzung liegt. ⊓ ⊔ Abst¨ ande Sei G = (V, E) ein Graph. F¨ ur je zwei Knoten u, v ∈ V wird der Abstand dG (u, v) zwischen u und v in G definiert durch 0 wenn u = v, dG (u, v) = ∞ wenn u und v nicht verbunden, (21.2) l wenn l minimale L¨ange eines Weges in G von u nach v.
Satz 21.14. Ist G ein Graph, dann definiert der Abstand dG eine Metrik auf G.
Beweis. Wir zeigen nur die Dreiecksungleichung. Seien u, v, w ∈ V . Aus k¨ urzesten Wegen zwischen u und v sowie v und w entsteht ein Weg der L¨ange dG (u, v) + dG (v, w) zwischen u und w. F¨ ur den k¨ urzesten Weg zwischen u und w gilt definitionsgem¨ aß dG (u, w) ≤ dG (u, v) + dG (v, w). ⊓ ⊔
278
21 Graphen
B¨ aume Ein Graph heißt kreisfrei, wenn er keinen einfachen Kreis der L¨ange ≥ 3 besitzt. Einfache Kreise der L¨ange 2 werden durch hin und zur¨ uck durchlaufene Kanten beschrieben und existieren in jedem Graphen mit wenigstens einer Kante. Ein kreisfreier Graph heißt ein Wald. Ein zusammenh¨angender Wald heißt ein Baum (Abb. 21.8). r @
r
r A
A Ar
@ @r A A r Ar
r A A r
Ar A
r A A A Ar
Ar A
r
A Ar
Abb. 21.8. Ein Wald mit zwei B¨ aumen.
Satz 21.15. Ein Baum enth¨alt mindestens zwei Knoten vom Grad 1. Beweis. Sei G ein Graph. Seien Knoten u und v in G so gew¨ahlt, dass der Abstand dG (u, v) maximal ist. Sei W = (u, v1 , . . . , vk−1 , v) ein k¨ urzester Weg in G von u nach v. Angenommen, u h¨atte neben v1 noch einen weiteren adjazenten Knoten w. Dann gilt nach Voraussetzung dG (w, v) ≤ dG (u, v). Also gibt es einen k¨ urzesten Weg von w nach v, der nicht durch u f¨ uhrt. Folglich gibt es widerspr¨ uchlicherweise einen einfachen Kreis der L¨ange ≥ 3 in G. Somit hat u den Grad 1 und aus Symmetriegr¨ unden auch v. ⊓ ⊔ Satz 21.16. F¨ ur jeden Baum G = (V, E) gilt |E| = |V | − 1. Beweis. Der Fall |V | = 1 ist klar. Sei G ein Baum mit |V | > 1 Knoten. Nach Satz 21.15 existiert in G ein Knoten v vom Grad 1. Durch Streichen von v entsteht ein Teilgraph G′ = (V ′ , E ′ ) von G, der wiederum ein Baum ist. Mit der Induktionsannahme ergibt sich 1 = |V ′ | − |E ′ | = (|V | − 1) − (|E| − 1) = |V | − |E|. ⊓ ⊔ Sei G = (V, E) ein Graph. Ein Spannbaum oder Ger¨ ust von G ist ein Teilgraph von G, der Baum ist und jeden Knoten von G enth¨alt (Abb. 21.9). Satz 21.17. Jeder zusammenh¨angende Graph hat einen Spannbaum. Beweis. Sei G = (V, E) ein zusammenh¨angender Graph. Im Falle |E| = 1 ist die Aussage richtig. Sei |E| > 1. Ist G ein Baum, dann ist G sein eigener Spannbaum. Andernfalls gibt es einen einfachen Kreis in G. In diesem Kreis wird eine beliebige Kante gestrichen. Der dadurch entstehende Teilgraphen G′ von G hat |E| − 1 Kanten und ist nach Satz 21.13 zusammenh¨angend. Also hat G′ nach Induktionsannahme einen Spannbaum. Dieser Spannbaum ist auch ein Spannbaum von G. ⊓ ⊔
21.2 Wege, Kreise und Zusammenhang
sr
c r
hr
i r
b r
er
f r
ar
dr
g
279
tr
r
Abb. 21.9. Ein Spannbaum f¨ ur den Graphen in Abb. 21.6.
Satz 21.18. Ein zusammenh¨angender Graph G = (V, E) ist ein Baum genau dann, wenn |E| = |V | − 1. Beweis. Sei |E| = |V | − 1. Angenommen, G w¨are kein Baum. Dann gibt es einen einfachen Kreis in G. In diesem Kreis wird eine beliebige Kante herausgenommen. Der daraus resultierende Teilgraph G′ = (V, E ′ ) von G ist nach Satz 21.13 zusammenh¨angend. F¨ ur die Kantenmenge von G′ gilt ′ ′ |E | < |V | − 1. Andererseits enth¨alt G nach den S¨atzen 21.16 und 21.17 einen Spannbaum mit |V | − 1 Kanten, dessen Kanten widerspr¨ uchlicherweise in E ′ liegen. Die Umkehrung ist nach Satz 21.16 bereits bewiesen. ⊓ ⊔ Eine Kante e eines Graphen G heißt eine Br¨ ucke oder ein Isthmus von G, wenn G durch Streichen von e in zwei Komponenten zerf¨allt. Beispielsweise besitzt der Graph in Abb. 21.1 als einzige Br¨ ucke die Kante v1 v3 . Bipartite Graphen Ein Graph G = (V, E) heißt bipartit, wenn es eine 2-Partition von V in Teilmengen V1 und V2 gibt, so dass jede Kante in G einen Endknoten in V1 und einen Endknoten in V2 hat.
d rH
re H HH HHr ar c b r Abb. 21.10. Ein bipartiter Graph mit der 2-Partition {{a, b, c}, {d, e}}.
Satz 21.19. Ein zusammenh¨angender Graph G ist bipartit genau dann, wenn G keinen Kreis von ungerader L¨ange enth¨alt. Beweis. Sei G = (V, E) bipartit mit der 2-Partition {V1 , V2 }. Sei K = (v0 , v1 , . . . , vk ) ein Kreis in G. O.B.d.A. sei v0 ∈ V1 . Dann folgt v1 ∈ V2 , v2 ∈ V1 , v3 ∈ V2 usw. Also ist vk = v0 ∈ V1 . Somit hat K gerade L¨ange.
280
21 Graphen
Umgekehrt enthalte G keinen Kreis von ungerader L¨ange. Sei v ∈ V . Wir definieren V1 = {u ∈ V | dG (v, u) ≡ 1 mod 2} und V2 = {u ∈ V | dG (v, u) ≡ 0 mod 2}. Es ist klar, dass {V1 , V2 } eine 2-Partition von V ist. Angenommen, es g¨abe eine Kante uw in G mit u, v ∈ V1 . Dann gibt es einen Kreis, bestehend aus der Kante uw, einem Weg der L¨ange dG (w, v) von w nach v und einem Weg der L¨ ange dG (v, u) von v nach u. Dieser Kreis hat die L¨ange 1 + dG (w, v) + dG (v, u), die nach Voraussetzung widerspr¨ uchlicherweise ungerade ist. Analog wird gezeigt, dass es keine Kante uv in G gibt mit u, v ∈ V2 . ⊓ ⊔
21.3 Planare Graphen Ein Graph heißt planar, wenn er ein Diagramm besitzt, das kreuzungsfrei in die Ebene gezeichnet werden kann. Ein solches Diagramm wird eben genannt. Ein ebenes Diagramm teilt die Zeichenebene in Fl¨achen oder Gebiete, wobei die gezeichneten Kanten als begrenzende Linien aufgefasst werden. Beispiel 21.20. Das Hexaeder besitzt ein ebenes Diagramm, das die Zeichenebene in sechs Fl¨ achen teilt (Abb. 21.11). Das außerhalb des ebenen Diagramms liegende Gebiet z¨ ahlt ebenfalls hinzu.
r @ @ @r r r @ @ @ @ @r @ r @ @ @r
C
r @ @ r @ @ @ @ F @ @r @r D
r r @ @ @ B @ @ @r @ A @ @r
E
Abb. 21.11. Ein Hexaeder und ein ebenes Diagramm des Hexaeders (mit den Fl¨ achen A, . . . , F ).
Satz 21.21. (Eulersche Polyederformel) F¨ ur jedes ebene Diagramm eines zusammenh¨angenden Graphen G mit n Knoten, m Kanten und f Fl¨achen gilt n − m + f = 2.
(21.3)
21.3 Planare Graphen
281
Beweis. Im Falle f = 1 besitzt G ein ebenes Diagramm mit einer Fl¨ache. Also ist G kreisfrei, mithin ein Baum. Nach Satz 21.16 gilt m = n − 1, woraus die Behauptung folgt. Sei f ≥ 2. Dann enth¨ alt G mindestens einen einfachen Kreis. Wird eine auf diesem Kreis liegende Kante gestrichen, so hat der entstehende Graph G′ nur mehr m − 1 Kanten und f − 1 Fl¨achen. F¨ ur den Teilgraphen G′ gilt nach Induktionsannahme n − (m − 1) + (f − 1) = 2, mithin n − m + f = 2. ⊓ ⊔ Satz 21.22. Ein planarer zusammenh¨angender Graph G mit n ≥ 3 Knoten hat h¨ochstens 3n − 6 Kanten. Beweis. Sei D ein ebenes Diagramm von G = (V, E) und F die Menge aller Fl¨ achen in D. Wir betrachten eine Relation R zwischen Kanten und Fl¨ache. Es sei eRf , wenn in D die Kante e die Fl¨ache f berandet. Jede Kante berandet h¨ ochstens zwei Fl¨ achen und jede Fl¨ache wird von mindestens drei Kanten berandet. Mit dem Prinzip der doppelten Abz¨ahlung folgt 3|F | ≤ 2|E|. Daraus erhellt sich anhand der eulerschen Polyederformel |E| ≤ 3n − 6. ⊓ ⊔ Ein Graph G heißt vollst¨andig, wenn je zwei Knoten in G adjazent sind. Ein vollst¨ andiger Graph mit n Knoten hat n2 Kanten und wird mit Kn bezeichnet (Abb. 21.12). Der kleinste nichtplanare vollst¨andige Graph ist der K5 . Denn dieser Graph hat 10 Kanten, w¨ahrend jeder planare Graph mit f¨ unf Knoten nach Satz 21.22 h¨ ochstens 3 · 5 − 6 = 9 Kanten besitzt. Der Umfang r H B HH r r Hr r r r B Q AQ @ AA A Q B @ Q A A @ QB r QBr Ar A r r r r @r Abb. 21.12. Die ersten f¨ unf vollst¨ andigen Graphen K1 , . . . , K5 .
eines Graphen G ist die L¨ange eines k¨ urzesten einfachen Kreises in G. Der Umfang eines kreisfreien Graphen wird als ∞ definiert. Satz 21.23. Ein planarer zusammenh¨angender Graph G mit n ≥ 3 Knoten und Umfang g ≥ 3 hat h¨ochstens max{g(n − 2)/(g − 2), n − 1} Kanten. Beweis. Ist G kreisfrei, dann ist g > n und das Maximum ist |E| ≤ n − 1, was nach Satz 21.18 richtig ist. Andernfalls ist g ≤ n. Wir unterscheiden zwei F¨ alle. Erstens besitze G eine Br¨ ucke. Dann zerf¨allt G durch Streichen der Br¨ ucke in Komponenten G1 und G2 . Die Komponente Gi besitze ni Knoten und mi Kanten. Mit der Induktionsannahme folgt m = m1 + m2 + 1 ≤ max{g(n1 − 2)/(g − 2), n1 − 1} + max{g(n2 − 2)/(g − 2), n2 − 1} ≤ max{g(n − 2)/(g − 2), n − 1}.
282
21 Graphen
Zweitens sei G br¨ uckenfrei. Bezeichnet fi die Anzahl der Fl¨achen in G, die von i Kanten berandet werden, dann gilt X X X ifi = ifi ≥ g fi = gf. 2m = i
i≥g
i≥g
Mit der eulerschen Polyederformel folgt 2 m + 2 = n + f ≤ n + m, g woraus sich m ≤ g(n − 2)/(g − 2) ergibt.
⊓ ⊔
Ein bipartiter Graph heißt vollst¨andig, wenn f¨ ur die 2-Partition {V1 , V2 } seiner Knotenmenge gilt, dass jeder Knoten in V1 mit jedem Knoten in V2 verbunden ist. Ein vollst¨ andiger bipartiter Graph mit |V1 | = m und |V2 | = n wird mit Km,n bezeichnet. Der vollst¨andige bipartite Graph K3,3 ist nicht planar (Abb. 21.13). Denn dieser Graph hat 9 Kanten, w¨ahrend jeder planare Graph mit sechs Knoten nach Satz 21.23 h¨ochstens max{4(6 − 2)/(4 − 2), 6 − 2} = 8 Kanten besitzt. r r r HH @ @ @ HH @ @ H @ H H r @r @r Abb. 21.13. Der bipartite Graph K3,3 .
Wir stellen ein notwendiges und hinreichendes Kriterium f¨ ur die Planarit¨at von Graphen auf. Eine Unterteilung eines Graphen G ist ein Graph, der aus G durch sukzessives Anwenden folgender Operation entsteht: W¨ahle eine Kante uv in G und ersetze diese durch einen Weg (u, w1 , . . . , wk , v), wobei die Knoten wi , 1 ≤ i ≤ k, nicht in G vorkommen d¨ urfen. Zwei Graphen und heißen hom¨oomorph, wenn sie Unterteilungen desselben Graphen sind (Abb. 21.14). r
r
r
r
r
r
r
r r r r
r
r r r r
r r r r r
r
Abb. 21.14. Ein Graph und zwei Unterteilungen dieses Graphen.
Satz 21.24. (Kurt Kuratowski, 1896-1980) Ein Graph ist planar genau dann, wenn er keinen zu K5 oder K3,3 hom¨oomorphen Teilgraphen enth¨alt. Beispiel 21.25. Der Graph in Abb. 21.15 ist nicht planar, weil er einen zu K3,3 hom¨ oomorphen Teilgraphen enth¨alt.
21.4 Datenstrukturen und Algorithmen
283
r r @ HH HH r Hr H @H HH H r H Hr @r @ r @ @r Abb. 21.15. Ein nichtplanarer Graph, der eine Unterteilung von K3,3 enth¨ alt.
21.4 Datenstrukturen und Algorithmen Sei G = (V, E) ein Graph mit V = {v1 , . . . , vn }. Die Adjazenzmatrix von G ist eine n × n-Matrix A(G) = (aij ) mit 1 falls vi vj ∈ E, aij = (21.4) 0 sonst. Beispielsweise hat der Graph in Abb. 21.1 die Adjazenzmatrix 0010 0 0 1 1 A= 1 1 0 1. 0110
Satz 21.26. Sei A die Adjazenzmatrix eines Graphen G. Der (i, j)-te Eintrag der k-ten Potenz von A liefert die Anzahl der Wege in G der L¨ange k von vi nach vj . (k)
ur k = 1 ist die Aussage klar. F¨ ur k ≥ 1 Beweis. Wir setzen Ak = (aij ). F¨ gilt definitionsgem¨ aß (k+1)
aij
=
n X
(k)
ail alj ,
l=1
(k)
wobei aij nach Induktionsannahme die Anzahl der Wege in G der L¨ange k Pn (k) von vi nach vj ist. Der Term l=1 ail alj beschreibt die Anzahl der Wege in G der L¨ ange k + 1 von vi nach vj , die sich aus einem Weg der L¨ange k von vi nach vl und einer Kante vk vj zusammensetzen, wobei u ¨ber alle entsprechenden Zwischenknoten summiert wird. Weitere Wege der L¨ange k von vi nach vj gibt es nicht. Damit ist die Aussage bewiesen. ⊓ ⊔ Sei G = (V, E) ein Graph mit V = {v1 , . . . , vn } und E = {e1 , . . . , em }. Die Inzidenzmatrix von G ist eine n × m-Matrix B(G) = (bij ) mit 1 falls vi mit ej inzidiert, bij = (21.5) 0 sonst.
284
21 Graphen
Beispielsweise hat der Graph in Abb. 21.1 die Inzidenzmatrix (e1 = v1 v3 , e2 = v2 v3 , e3 = v2 v4 , e4 = v3 v4 ) 1000 0 1 1 0 B= 1 1 0 1. 0011
Eine Inzidenzmatrix enth¨ alt in jeder Spalte zwei Einsen und in jeder Zeile soviele Einsen, wie der Grad des entsprechenden Knotens angibt. Eine Vorstufe der Matrixdarstellung von Graphen ist die Darstellung durch Listen. Eine Adjazenzliste eines Graphen G = (V, E) mit der Knotenmenge V = {v1 , . . . , vn } besteht aus Listen L1 , . . . , Ln , wobei die Liste Li die mit vi adjazenten Knoten enth¨alt. Der Graph in Abb. 21.1 wird durch folgende Adjazenzliste dargestellt: L1 : v3 , L2 : v3 , v4 , L3 : v1 , v2 , v4 und L4 : v2 , v4 . Der Speicherbedarf (Anzahl von Speicherzellen) f¨ ur einen Graphen G = (V, E) h¨ angt von der Datenstruktur ab, in der er gespeichert wird. Der Speicherbedarf f¨ ur eine Adjazenzmatrix ist O(|V |2 ), f¨ ur eine Inzidenzmatrix O(|V ||E|) und f¨ ur eine Adjazenzliste O(|V | + |E|). Ein Algorithmus f¨ ur einen Graphen G muss wenigstens die Knoten und Kanten von G einlesen. Hierf¨ ur betr¨ agt der Zeitbedarf (Anzahl von Rechenoperationen) O(|V | + |E|). Also muss ein Graphalgorithmus mit linearem Zeitbedarf O(|V | + |E|) den Graphen durch eine Adjazenzliste (oder eine ¨ahnlich speicherplatzsparende Datenstruktur) repr¨ asentieren. Wir stellen zwei Algorithmen vor, die einen Spannbaum eines Graphen konstruieren. Sei G = (V, E) ein zusammenh¨angender Graph, v + die Menge der zu v ∈ V adjazenten Knoten und v0 ∈ V fest gew¨ahlt. Der Algorithmus 21.1 benutzt eine Liste L, in der Elemente hinten anf¨ ugt und vorne entfernt werden. Die Knoten des Graphen werden in der Breite durchlaufen, d. h., nach jedem Knoten werden zuerst alle seine adjazenten Knoten bearbeitet. Daf¨ ur verantwortlich ist die als Warteschlange (”first-in, first-out”) organisierte Liste. Dieses Suchprinzip wird Breitensuche genannt. Der Algorithmus 21.2 verwendet eine Liste L, die nur an einer Seite zug¨anglich ist. Die Knoten des Graphen werden in der Tiefe durchlaufen, d. h., nach jedem Knoten werden jeweils die adjazenten Knoten seiner adjazenten Knoten bearbeitet. Daf¨ ur sorgt die als Stapelspeicher (”last-in, first-out”) organisierte Liste. Dieses Suchprinzip wird als Tiefensuche bezeichnet. Wird der Graph durch eine Adjazenzliste dargestellt, dann ist die Laufzeit beider Algorithmen O(|V | + |E|). Denn in beiden F¨allen wird die Adjazenzliste je einmal abgearbeitet (Abb. 21.16).
21.4 Datenstrukturen und Algorithmen
285
Algorithmus 21.1 BreitenSuche(G) Eingabe: Graph G = (V, E) Ausgabe: Folge aller Knoten in G. 1: w¨ ahle Startknoten v0 ∈ V 2: L := {v0 } 3: V ′ := {v0 } 4: E ′ := ∅ 5: while L 6= ∅ do 6: entferne den ersten Knoten v aus L 7: print v 8: for all w ∈ v + und w war noch nicht in L do 9: if w 6∈ V ′ then 10: V ′ := V ′ ∪ {w} 11: E ′ := E ′ ∪ {vw} 12: f¨ uge w am Ende von L ein 13: end if 14: end for 15: end while
Algorithmus 21.2 TiefenSuche(G) Eingabe: Graph G = (V, E) Ausgabe: Folge aller Knoten in G. 1: w¨ ahle Startknoten v0 ∈ V 2: L := {v0 } 3: V ′ := {v0 } 4: E ′ := ∅ 5: while L 6= ∅ do 6: v ∈ L sei oberstes Listenelement 7: if es gibt w ∈ v + und w war noch nicht in L then 8: f¨ uge w in L ein 9: V ′ := V ′ ∪ {w} 10: E ′ := E ′ ∪ {vw} 11: else 12: entferne v aus L 13: print v 14: end if 15: end while 3q
1
q4 @ @ @ q @q 2
3q
1
q
q4
3q
q
1
2
q4 @ @ @ q @q 2
Abb. 21.16. Ein Graph und zwei Spannb¨ aume des Graphen, der erste wird durch Breitensuche, der zweite durch Tiefensuche erhalten, wobei jeweils der kleinste Knoten zuerst ausgew¨ ahlt wird.
286
21 Graphen
Selbsttestaufgaben 21.1. Beweise das Handschlagslemma mithilfe des Prinzips der doppelten Abz¨ ahlung. 21.2. Gibt es einen Graphen mit der Gradfolge (3, 2, 2, 2)? 21.3. Welche Gestalt hat ein zusammenh¨ angender 2-regul¨ arer Graph? 21.4. Zeichne einen Graphen, dessen Knoten die 2-Teilmengen von 5 sind und zwei Knoten durch eine Kante verbunden werden, wenn die zugeh¨ origen 2-Teilmengen disjunkt sind. Dieser Graph wird Petersen-Graph genannt. Ist der Petersen-Graph planar? 21.5. Ein Baum habe drei Knoten vom Grad 3 und vier Knoten vom Grad 2. Die u ¨ brigen Knoten seien vom Grad 1. Wie viele Knoten vom Grad 1 gibt es? 21.6. Schneide aus einem Schachbrett die beiden diagonal gegen¨ uberliegenden Felder heraus. Kann dieses Brett (aus 62 Feldern) mit Dominosteinen, je zwei Felder bedecken, vollst¨ andig u ¨ berdecken? 21.7. Beweise den Satz 21.7. 21.8. Beweise das Lemma 21.11. 21.9. Gib einen unendlichen Graphen an, der zu einem seiner echten Teilgraphen isomorph ist. 21.10. Welche der folgenden Graphen sind isomorph zueinander?
q A q Aq A q Aq
q
q
q q q
q
q
q @ q @q
q q q q q
q q A Aq A q Aq
21.11. Zeige, dass die Graphen in Abb. 21.4 nicht isomorph sind. 21.12. Zeichne Diagramme von allen Graphen mit vier Knoten 21.13. Sei G = (V, E) ein Graph. Das Komplement von G ist ein Graph G = (V, E) mit der Kantenmenge E = V2 \ E. Betrachte alle Graphen mit vier Knoten. Welche dieser Graphen sind selbstkomplement¨ ar, d. h., isomorph zu ihrem eigenen Komplement? 21.14. Ermittle alle Spannb¨ aume von K4 . 21.15. Sei n ≥ 2 eine nat¨ urliche Zahl. Sei Wn = ({0, 1}n , E) der Graph des ndimensionalen W¨ urfels mit uv ∈ E genau dann, wenn es genau ein i, 1 ≤ i ≤ n, gibt mit ui 6= vi . Zeige, dass Wn einen hamiltonschen Kreis enth¨ alt. 21.16. Ein einfacher Kreis in einem Graphen G heißt eulersch, wenn der Weg jede Kante von G enth¨ alt. Ein Graph G heißt eulersch, wenn G einen eulerschen Kreis besitzt. Zeige, dass ein Graph G eulersch ist genau dann, wenn jeder Knoten in G geraden Grad aufweist. 21.17. Welche der Graphen Kn und Km,n sind eulersch? 21.18. Spezifiziere einen Algorithmus, der einen Graphen daraufhin testet, ob er ein Baum ist.
22 Netzwerke
In diesem Kapitel werden grundlegende Algorithmen f¨ ur Netzwerke pr¨asentiert. Hierbei geht es um die Konstruktion k¨ urzester Wege, minimaler Spannb¨ aume, maximaler Fl¨ usse, minimaler trennender Knoten- und Kantenmengen, minimaler Knoten¨ uberdeckungen und maximaler oder vollst¨andiger Paarungen.
22.1 Ku ¨rzeste Wege In diesem Abschnitt werden Algorithmen vorgestellt, die in einem Wegenetz k¨ urzeste Wege zwischen je zwei Knoten bzw. von einem Knoten zu allen anderen liefern. Ein (gerichtetes) Wegenetz ist ein Paar (D, ω), bestehend aus einem Digraphen D = (V, E) und einer Kostenfunktion ω : E → R auf den Kanten von D. Die L¨ange eines gerichteten Weges W = (v0 , . . . , vk ) in D ist die Summe der Kosten seiner Kanten ω(W ) =
k−1 X
ω(vi vi+1 ).
(22.1)
i=0
Seien u, v ∈ V . Ein k¨ urzester Weg in D von u nach v ist ein gerichteter Weg in D von u nach v mit minimaler L¨ange. F¨ ur den Abstand zwischen den Knoten eines Wegenetzes gilt 0 wenn u = v, dD (u, v) = ∞ wenn in D kein Weg von u nach v existiert, (22.2) l wenn l L¨ ange eines k¨ urzesten Weges in D von u nach v. Satz 22.1. Ist (D, ω) ein Wegenetz, dann definiert der Abstand dD eine Metrik.
Beispiel 22.2. Im Wegenetz von Abb. 22.1 ist (v1 , v2 , v3 , v4 ) ein k¨ urzester Weg von v1 nach v4 der L¨ ange 6.
288
22 Netzwerke v2
r HH * 3 H4H HH j v1 r 2 H *r v4 HH 6HH 1 j H ? r v3 Abb. 22.1. Ein Wegenetz.
K¨ urzeste Wege zwischen je zwei Knoten Zuerst behandeln wir einen Algorithmus von R. Floyd und S. Warshall, der in einem Wegenetz die Abst¨ ande zwischen je zwei Knoten ermittelt. Dabei sind negative Kantenbewertungen zugelassen, aber keine Kreise negativer L¨ange. Ein Kreis negativer L¨ ange kann n¨amlich beliebig oft durchlaufen werden und hat somit beliebig kleine L¨ ange. Sei (D, ω) ein Wegenetz ohne Kreise negativer L¨ ange. Die Knotenmenge des Wegenetzes sei mit V = {v1 , . . . , vn } bezeichnet.
Algorithmus 22.1 Floyd-Warshall(D, ω) Eingabe: Wegenetz (D, ω) mit D = (V, E), V = {v1 , . . . , vn } Ausgabe: K¨ urzeste Wege zwischen allen Knoten des Wegenetzes 1: for i = 1 to n do 2: for j = 1 to n do 3: if vi vj ∈ E then 4: d(0) (vi , vj ) := ω(vi vj ) 5: else if vi = vj then 6: d(0) (vi , vj ) := 0 7: else 8: d(0) (vi , vj ) := ∞ 9: end if 10: end for 11: end for 12: for k = 1 to n do 13: for i = 1 to n do 14: for j = 1 to n do 15: d(k) (vi , vj ) := min{d(k−1) (vi , vj ), d(k−1) (vi , vk ) + d(k−1) (vk , vj )} 16: end for 17: end for 18: end for
22.1 K¨ urzeste Wege
289
Satz 22.3. (Floyd-Warshall) Der Algorithmus 22.1 berechnet den Abstand dD (vi , vj ) = d(n) (vi , vj ) f¨ ur alle Knoten vi , vj in einem Wegenetz (D, ω). Der Zeitbedarf des Algorithmus’ ist O(|V |3 ). Beweis. In jedem Durchlauf der dreifach geschachtelten Schleife wird eine Abstandsmatrix Dk = (d(k) (vi , vj )) berechnet. Wir zeigen, dass d(k) (vi , vj ) die L¨ ange eines k¨ urzesten Weges von vi nach vj ist, der nur v1 , . . . , vk benutzt (von vi und vj abgesehen). F¨ ur k = 0 ist die Aussage klar. Sei k ≥ 1. Wir betrachten einen k¨ urzesten Weg in D von vi nach vj , der h¨ochstens v1 , . . . , vk benutzt. Wird vk nicht verwendet, dann hat dieser Weg nach Induktionsannahme die L¨ ange d(k−1) (vi , vj ). Andernfalls setzt sich dieser Weg zusammen aus einem Weg W1 von vi nach vk , einem Weg W2 von vk nach vk und einem Weg W3 von vk nach vj , wobei W1 und W3 nur v1 , . . . , vk−1 benutzen. Da D nach Voraussetzung keine Kreise negativer L¨ange enth¨alt, ist die L¨ange dieses Weges aus der Summe der L¨angen von W1 und W3 gegeben. Somit gilt nach Induktionsannahme d(k) (vi , vj ) = d(k−1) (vi , vk ) + d(k−1) (vk , vj ). Mit k = n folgt die erste Behauptung. F¨ ur den Zeitbedarf ist die dreifach geschachtelte Schleife maßgebend. ⊓ ⊔ Beispiel 22.4. F¨ ur das Wegenetz in Abb. 22.1 liefert Floyd-Warshall folgende erste und letzte Abstandsmatrizen: 0 3 56 0 3 6∞ ∞ 0 2 3 ∞ 0 2 4 D0 = ∞ ∞ 0 1 , D4 = ∞ ∞ 0 1 . ∞∞∞0 ∞∞∞ 0 K¨ urzeste Wege von einem Knoten zu allen anderen Abschließend wird ein Algorithmus von E.W. Dijkstra vorgestellt, der in einem Wegenetz die Abst¨ ande zwischen einem festen Knoten und allen u ¨brigen Knoten berechnet. Sei (D, ω) ein Wegenetz, v0 ein Knoten in D und f¨ ur jede Kante e gelte ω(e) ≥ 0. Satz 22.5. (Dijkstra) Der Alg. 22.2 berechnet den Abstand dD (v0 , v) = d(v) von v0 zu allen ¨ ubrigen Knoten v in einem Wegenetz (D, ω). Der Zeitbedarf des Algorithmus’ ist O(|V |2 ). Beweis. Es gilt die folgende Schleifeninvariante: • •
F¨ ur jeden Knoten v ∈ S ist d(v) = dD (v0 , v). F¨ ur jeden Knoten v ∈ V \ S ist d(v) die L¨ange eines k¨ urzesten Weges von v0 nach v, der nur Knoten in S benutzt (bis auf den Endknoten v).
Nach Terminierung ist S = V und somit die erste Aussage klar. Der Zeitbedarf bestimmt sich aus der while-Schleife, die |V |-mal durchlaufen wird und in jedem Durchlauf h¨ ochstens |V | Schritte erfordert. ⊓ ⊔
290
22 Netzwerke
Algorithmus 22.2 Dijkstra(D, ω, v0 ) Eingabe: Wegenetz (D, ω) mit D = (V, E) und Startknoten v0 ∈ V Ausgabe: K¨ urzeste Wege von v0 zu allen anderen Knoten 1: d(v0 ) := 0 2: S := ∅ 3: for all v ∈ V \ {v0 } do 4: d(v) := ∞ 5: end for 6: while S 6= V do 7: w¨ ahle v ∈ V \ S mit d(v) = min{d(u) | u ∈ V \ S} 8: S := S ∪ {v} 9: for all u ∈ V \ S do 10: d(u) := min{d(u), d(v) + ω(vu)} 11: end for 12: end while
Beispiel 22.6. F¨ ur das Wegenetz in Abb. 22.1 mit dem Startknoten v1 liefert Dijkstra zun¨ achst S = ∅, d(v1 ) = 0 und d(v2 ) = d(v3 ) = d(v4 ) = ∞. Im ersten Schritt ergibt sich S = {v1 }, d(v1 ) = 0, d(v2 ) = 3, d(v3 ) = 6 und d(v4 ) = ∞. Im zweiten Schritt erhalten wir S = {v1 , v2 }, d(v1 ) = 0, d(v2 ) = 3, d(v3 ) = 5 und d(v4 ) = 7. Im dritten Schitt berechnet sich S = {v1 , v2 , v3 }, d(v1 ) = 0, d(v2 ) = 3, d(v3 ) = 5, d(v4 ) = 6 und im letzten Schritt haben wir S = {v1 , v2 , v3 , v4 }, d(v1 ) = 0, d(v2 ) = 3, d(v3 ) = 5, d(v4 ) = 6.
22.2 Minimale Spannb¨ aume In diesem Abschnitt wird ein Algorithmus von J. Kruskal (1956) vorgestellt, der f¨ ur einen bewerteten Graphen einen Spannbaum mit minimalen Kosten konstruiert. Sei (G, ω) ein Wegenetz , bestehend aus einem Graphen G = (V, E) und einer Kostenfunktion ω : E → R auf den Kanten von G. Die Kosten eines Teilgraphen G′ = (V ′ , E ′ ) von G sind die Summe der Kosten seiner Kanten X ω(G′ ) = ω(e). (22.3) e∈E ′
Ein minimaler Spannbaum eines Wegenetzes (G, ω) ist ein Spannbaum von G, der unter allen Spannb¨ aumen von G minimale Kosten besitzt (Abb. 22.2). Die Anzahl der Spannb¨ aume eines Graphen ist so groß, dass es sich lohnt, nach guten Algorithmen zur Bestimmung minimaler Spannb¨aume zu suchen. Satz 22.7. (Arthur Cayley, 1821-1895) Die Anzahl der Spannb¨aume des vollst¨andigen Graphen Kn ist nn−2 .
22.2 Minimale Spannb¨ aume
291
v
2 qH 3 4 HH HHq v v1 q 4 2 H HH 6 HH 1 q
v
q2 H 3 4 HH HHq v v1 q 4 2
v3
v3
q v
q2 3 q v1 2
q v4 1 q
v3 Abb. 22.2. Ein Wegenetz mit zwei Spannb¨ aumen, der erste Spannbaum hat Kosten 9 und der zweite Spannbaum hat minimale Kosten 6.
Beweis. Sei {v1 , . . . , vn } die Knotenmenge von Kn . Sei A eine k-Teilmenge von {v1 , . . . , vn }. Sei Tn,k die Anzahl der W¨alder mit der Knotenmenge {v1 , . . . , vn }, die jeweils aus k B¨aumen bestehen, sodass die Knoten von A in jeweils unterschiedlichen B¨aumen liegen. Sei A = {v1 , . . . , vk }. Sei G ein Wald und sei der Knoten v1 adjazent zu i Knoten. Wird der Knoten v1 gestrichen, dann entstehen Tn−1,k−1+i W¨alder mit A = {v2 , . . . , vk }. Es folgt n−k X n − k Tn−1,k−1+i . (22.4) Tn,k = i i=0
Setzen wir T0,0 = 1 und Tn,0 = 0 f¨ ur n > 0, dann ergibt sich mittels vollst¨andiger Induktion Tn,k = knn−k−1 . Insbesondere ist Tn,1 = nn−2 die Anzahl der Spannb¨aume von Kn .
(22.5) ⊓ ⊔
Algorithmus von Kruskal Satz 22.8. (Kruskal) Sei (G, w) ein Wegenetz auf einem zusammenh¨angenden Graphen G = (V, E). Der Algorithmus 22.3 berechnet einen minimalen Spannbaum f¨ ur das Wegenetz (G, ω). Um den Satz zu beweisen, wird ein Kriterium f¨ ur die Minimalit¨at von Spannb¨ aumen ben¨ otigt. MinSpannbaum hat die Laufzeit O(|E| log |E|) = O(|E| log |V |), wenn die Kanten des Graphen gem¨aß ihrer Kosten vorsortiert werden. Beispiel 22.9. F¨ ur das Wegenetz in Abb. 22.2 liefert MinSpannbaum der Reihe nach die Kanten v3 v4 , v2 v3 und v1 v2 . Der hiervon aufgespannte Spannbaum ist minimal mit Kosten 6.
292
22 Netzwerke
Algorithmus 22.3 MinSpannbaum(G, ω) Eingabe: Wegenetz (G, ω), G = (V, E) zusammenh¨ angend Ausgabe: Kanten eines minimalen Spannbaums 1: E ′ := ∅ 2: while E 6= ∅ do 3: w¨ ahle e ∈ E mit ω(e) = min{ω(e′ ) | e′ ∈ E} 4: E := E \ {e} 5: if aufgespannter Graph von E ′ ∪ {e} ist kreisfrei then 6: E ′ := E ′ ∪ {e} 7: end if 8: return E ′ 9: end while
Ein Kriterium f¨ ur minimale Spannb¨ aume Sei (G, ω) ein Wegenetz und G = (V, E) zusammenh¨angend, sei G′ = (V, E ′ ) ein Spannbaum von G. F¨ ugen wir in den Spannbaum eine Kante e = uv ∈ E \ E ′ ein, so enth¨ alt der entstehende Teilgraph einen Kreis. Denn in G′ gibt es zwischen u und v einen Weg, der zusammen mit der neuen Kante e einen Kreis bildet. Die Kante e heißt eine Sehne von G′ und der mit e gebildete Kreis KG′ (e) Fundamentalkreis der Sehne e (Abb. 22.3). v
q2 HH HH Hq v4 v1 q HH HH Hq
G:
v3 v2
q qH v1 HH HHq
KG′ (v2 v3 ) :
v3
v
q2 q v1 q HH v4 HH H q
G′ :
v3 v2
q HH H HHq v v1 qH 4 HH HHq
KG′ (v2 v4 ) :
v3
Abb. 22.3. Ein Graph G mit einem Spannbaum G′ und Fundamentalkreisen KG′ (v2 v3 ) und KG′ (v2 v4 ).
Satz 22.10. Sei (G, ω) ein Wegenetz und G zusammenh¨angend. Ein Spannbaum G′ von G ist minimal genau dann, wenn f¨ ur jede Sehne e von G′ gilt ′ ′ ω(e) ≥ ω(e ) f¨ ur alle Kanten e in KG′ (e). Beweis. Sei G′ minimal. Angenommen, es g¨abe eine Sehne e von G′ und eine ugen e Kante e′ ∈ KG′ (e) mit ω(e) < ω(e′ ). Wir streichen e′ aus G′ und f¨
22.3 Maximale Fl¨ usse
293
hinzu. Dadurch entsteht ein Spannbaum von G mit geringeren Kosten, was der Voraussetzung widerspricht. Umgekehrt sei ω(e) ≥ ω(e′ ) f¨ ur jede Sehne e von G′ und alle e′ ∈ KG′ (e). Sei G0 ein minimaler Spannbaum von G. Wir zeigen, dass G′ und G0 die gleichen Kosten haben, also auch G′ minimal ist. Geh¨ort jede Kante von G0 auch zu G′ , dann ist G′ = G0 . Andernfalls gibt es eine Kante e in G0 , die nicht zu G′ geh¨ ort und somit eine Sehne von G′ ist. Durch Streichen von e zerf¨ allt G0 in zwei Komponenten und durch Hinzunehmen einer Kante e′ des Fundamentalkreises KG′ (e) entsteht ein Spannbaum G1 . Da G0 minimal ist, gilt ω(e) ≤ ω(e′ ). Andererseits ist e eine Sehne von G′ und somit ω(e) ≥ ω(e′ ). Also ist ω(e) = ω(e′ ) und deshalb auch G1 ein minimaler Spannbaum. Allerdings hat G1 mit G′ eine Kante mehr gemeinsam als G0 . Mit vollst¨andiger Induktion folgt, dass auch G′ minimal ist. ⊓ ⊔ Abschließend wird der Satz 22.8 gezeigt. Beweis. Der in MinSpannbaum berechnete Teilgraph G′ enth¨alt alle Knoten von G, ist kreisfrei und zusammenh¨angend, mithin ein Spannbaum von G. Ferner werden im Algorithmus die Kanten so gew¨ahlt, dass die Bedingung f¨ ur die Sehnen in Satz 22.10 erf¨ ullt ist. Also ist der berechnete Spannbaum minimal. ⊓ ⊔
22.3 Maximale Flu ¨sse In diesem Abschnitt wird ein Algorithmus von L.R. Ford und D.R. Fulkerson (1956) vorgestellt, der f¨ ur einen bewerteten Graphen einen maximalen Fluss von einer Quelle zu einer Senke konstruiert. Ein Flussnetz ist ein Quadrupel N = (D, κ, q, s), bestehend aus einem Digraphen D = (V, E), einer Kostenfunktion κ : E → R+ at, 0 , genannt Kapazit¨ und Knoten q und s in D, sodass es einen gerichteten Weg in D von q von s gibt. Die von Quelle und Senke verschiedenen Knoten in D heißen innere Knoten (Abb. 22.4). ar
2
3 q r
4
3
@ @ 5 Rr @ ? c
-br @ 6 @ Rr s @ 5 r?
2
4
d
Abb. 22.4. Ein Flussnetz.
294
22 Netzwerke
Fl¨ usse in Flussnetzen Sei N = (D, κ, q, s) ein Flussnetz. Ein Fluss auf N ist eine Kostenfunktion f : E → R+ 0 mit den folgenden Eigenschaften: • •
f ≤ κ, d. h., f (e) ≤ κ(e) f¨ ur alle Kanten e ∈ E. F¨ ur jeden inneren Knoten v ∈ V gilt X X f (vw) = f (uv). w∈v +
(22.6)
u∈v −
Die erste Bedingung besagt, dass der Fluss die Kapazit¨at nicht u ¨ berschreiten darf. Die zweite Bedingung bedeutet, dass in jeden inneren Knoten so viel herausfließt wie hineinfließt. Diese Bedingung wird in Anlehnung an ein elektrotechnisches Analogon kirchhoffsche Bedingung genannt (Abb. 22.5). 1
r
2 q r
1
2
@ @ 1 ? R @ r
-r @ 1 @ Rr s @ 2 ? r
2
0 Abb. 22.5. Ein Fluss auf dem Flussnetz von Abb. 22.4.
Lemma 22.11. F¨ ur jeden Fluss f auf einem Flussnetz N = (D, κ, q, s) gilt X X X X f (qw) − f (uq) = f (us) − f (sw). (22.7) w∈q+
u∈q−
w∈s+
u∈s−
Beweis. Es gilt X X
f (vw) =
v∈V w∈v +
X X
f (uv),
v∈V u∈v −
weil auf beiden Seiten u ¨ ber alle Kanten summiert wird. Daraus folgt mit dem kirchhoffschen Gesetz ! X X X 0= f (vw) − f (uv) v∈V
=
X
w∈v +
v∈{q,s}
X
w∈v +
u∈v −
f (vw) −
X
u∈v −
!
f (uv) . ⊓ ⊔
22.3 Maximale Fl¨ usse
295
Die Zahl (22.7) wird Wert des Flusses f genannt und mit Φ(f ) bezeichnet. Sie charakterisiert den Gesamtfluss durch das Flussnetz. Ein Fluss f heißt maximal auf N , wenn f¨ ur jeden Fluss f ′ auf N gilt Φ(f ′ ) ≤ Φ(f ). Schnitte in Flussnetzen Sei N = (D, κ, q, s) ein Flussnetz. Eine Teilmenge S von V heißt ein Schnitt in N , wenn S die Quelle q, aber nicht die Senke s enth¨alt. Die Kapazit¨at eines Schnitts S in N ist die Zahl X κ(e). (22.8) κ(S) = e− ∈S e+ ∈S
Die Kapazit¨ at eines Schnitts S ist die Summe der Kapazit¨aten von Kanten, deren Startknoten in S und deren Endknoten in S = V \ S liegen. Ein Schnitt S in N heißt minimal, wenn f¨ ur jeden Schnitt S ′ in N gilt κ(S) ≤ κ(S ′ ). Ein minimaler Schnitt existiert stets, da es nur endlich viele Schnitte in einem Flussnetz gibt. Beispiel 22.12. F¨ ur das Flussnetz in Abb. 22.4 sind einige Schnitte in folgender Tabelle angegeben: S {q} {q, a} {q, a, c} {q, a, c, b} κ(S) 8 11 5 11 Lemma 22.13. Sei N = (D, κ, q, s) ein Flussnetz. F¨ ur jeden Fluss f auf N und jeden Schnitt S in N gilt Φ(f ) ≤ κ(S). Beweis. Es gilt X X f (uq) f (qw) − Φ(f ) = w∈q+
=
X
v∈S
=
X
u∈q−
X
X
X
f (vw) −
vw∈E v∈S,w∈S
X
X
f (vw) −
X
f (vw) ≤ κ(S).
!
f (uv)
u∈v −
f (vw) +
vw∈E v∈S,w∈S
≤
f (vw) −
w∈v +
vw∈E v,w∈S
=
(22.9)
X
uv∈E u,v∈S
f (uv) −
X
f (uv)
uv∈E v∈S,u∈S
f (uv)
uv∈E v∈S,u∈S
vw∈E v∈S,w∈S
⊓ ⊔
296
22 Netzwerke
Lemma 22.14. In jedem Flussnetz N existiert ein maximaler Fluss. Beweis. Nach Lemma 22.13 gilt f¨ ur jeden Fluss f auf N X Φ(f ) ≤ κ(vw). vw∈E
Also ist der maximale Flusswert Φ = sup{Φ(f ) | f Fluss auf N } endlich. Ist (fi ) eine Folge von Fl¨ ussen mit dem Grenzwert limi Φ(fi ) = Φ, dann ist f¨ ur jede (fest gew¨ ahlte) Kante vw ∈ E auch die Unterfolge (fi (vw)) konvergent mit einem Grenzwert f (vw). Somit ist f ein Fluss mit maximalem Wert Φ. ⊓ ⊔ Der folgende Satz besagt, dass der maximale Fluss dem minimalen Schnitt entspricht. Im Englischen wird vom ”MaxFlow MinCut Theorem” gesprochen. Satz 22.15. (Ford-Fulkerson) In jedem Netzwerk N ist der Wert eines maximalen Flusses gleich der Kapazit¨at eines minimalen Schnitts max{Φ(f ) | f Fluss auf N } = min{κ(S) | S Schnitt in N }.
(22.10)
Beweis. Sei f ein maximaler Fluss auf N . Wir definieren induktiv ein Schnitt S in N : • •
S := {q}. S := S ∪ {w} f¨ ur ein w ∈ S, falls es ein v ∈ S gibt derart, dass κ(vw) > f (vw), falls vw ∈ E, oder f (wv) > 0, falls wv ∈ E.
Zuerst wird gezeigt, dass S ein Schnitt ist. Angenommen, S w¨are kein Schnitt, also s ∈ S. Dann gibt es eine Folge X = (x0 , . . . , xm ) von Knoten in N mit x0 = q, xm = s und f¨ ur jedes i, 1 ≤ i ≤ m, ist eine der beiden folgenden Bedingungen erf¨ ullt: • •
κ(xi−1 xi ) > f (xi−1 xi ), falls xi−1 xi ∈ E, f (xi xi−1 ) > 0, falls xi xi−1 ∈ E.
Die Kante xi−1 xi heißt Vorw¨artskante und die Kante xi xi−1 R¨ uckw¨artskante von X. Die Folge X wird flussvergr¨oßernder Weg von q nach s (bzgl. f ) genannt. Sei ǫ das Minimum aller Werte κ(e) − f (e) u ¨ ber alle Vorw¨artskanten e und aller Werte f (e) u uckw¨artskanten e von X. Definitionsgem¨aß ¨ ber alle R¨ ist ǫ > 0 und ein Fluss f ∗ = f (X, ǫ) auf N wird definiert durch f (e) + ǫ falls e Vorw¨artskante von X, f ∗ (e) = f (e) − ǫ falls e R¨ uckw¨artskante von X, (22.11) f (e) sonst.
F¨ ur den Wert des Flusses f ∗ gilt widerspr¨ ucherweise Φ(f ∗ ) = Φ(f ) + ǫ.
22.3 Maximale Fl¨ usse
297
Es ist noch die Kapazit¨at des Schnitts S zu berechnen. F¨ ur den Wert des Flusses f gilt nach dem Beweis des Lemmas 22.13 X X Φ(f ) = f (vw) − f (uv). (22.12) vw∈E v∈S,w∈S
uv∈E v∈S,u∈S
F¨ ur den Schnitt S gilt aber • •
κ(vw) = f (vw), falls vw ∈ E mit v ∈ S und w ∈ S, f (uv) = 0, falls uv ∈ E mit v ∈ S und u ∈ S.
Also folgt mit (22.12) sofort Φ(f ) = κ(S).
⊓ ⊔
Der Beweis liefert einen iterativen Algorithmus zur Berechnung eines maximalen Flusses auf einem Flussnetz. Beginnend mit dem Nullfluss wird in jedem Schritt ein flussvergr¨ oßernder Weg von der Quelle zur Senke konstruiert, mit dessen Hilfe der momentane Fluss erh¨oht wird. Der Algorithmus wird durch zwei Routinen implementiert, die sich jeweils gegenseitig aufrufen. In der ersten Routine wird ein flussvergr¨oßernder Weg konstruiert, der dann in der zweiten Routine dazu verwendet wird, den Fluss zu vergr¨oßern. Die Knoten v des Flussnetzes werden jeweils markiert mit einem ihrer Vorg¨ angerknoten pred(v), der Richtung R(v) der Kante, die mit pred(v) und v inzidiert, und der m¨ oglichen Flussverbesserung ǫ(v). Die Menge M enth¨alt die markierten Knoten, deren Nachbarn noch nicht allesamt markiert sind. Wenn die Markierungsroutine die Senke nicht mehr erreicht, liegt ein maximaler Fluss vor und S ist ein minimaler Schnitt. Sei ein Flussnetz vorausgesetzt, bei dem alle Kapazit¨atswerte ganzzahlig sind. Dann terminiert der Algorithmus, weil der momentane Fluss in jedem Schritt um eine positive ganze Zahl vergr¨oßert wird und somit ein Fluss erreicht wird, f¨ ur den es keinen flussvergr¨oßernden Weg mehr gibt. Dieser Fluss ist dann maximal. Der Algorithmus ist auch auf Flussnetze anwendbar, bei denen alle Kapazit¨ atswerte rational sind. Denn durch Multiplizieren mit dem Hauptnenner der Kapazit¨ atswerte ergibt sich ein ¨aquivalentes Problem, bei dem alle Kapazit¨ atswerte ganzzahlig sind. Bei Flussnetzen mit irrationalen Kapazit¨atswerten kann es vorkommen, dass die Verbesserungen ǫ > 0 infinitesimal klein sind und deshalb der Algorithmus nicht terminiert. Der Algorithmus wurde von Edmonds und Karp (1972) so abge¨ andert, dass der flussvergr¨oßernde Weg u ¨ ber Breitensuche gefunden wird. Dieser modifizierte Algorithmus hat auch bei irrationalen Kapazit¨ atswerten den Zeitbedarf O(|V | · |E|2 ). Beispiel 22.16. Wir wenden den Algorithmus auf das Flussnetz in Abb. 22.4 an. Beginnend mit dem Nullfluss liefert FlussMarkieren das markierte Flussnetz in Abb. 22.6. FlussVergr¨ oßern verbessert den Nullfluss entlang des flussvergr¨ oßernden Weges X = (q, c, b, s) zu einem Fluss mit dem Wert 3 und FlussMarkieren wird ein zweites Mal aufgerufen (Abb. 22.7). Durch FlussVergr¨ oßern wird der Fluss entlang des flussvergr¨oßernden Weges
298
22 Netzwerke
Algorithmus 22.4 FlussMarkieren(D, κ, q, sf ) Eingabe: Flussnetz (D, κ, q, s) und Fluss f auf Flussnetz Ausgabe: markierte Knoten, falls Senke erreicht wird, sonst wird minimaler Schnitt S ausgegeben 1: S := {q} 2: M := {q} 3: ǫ(q) := ∞ 4: repeat 5: w¨ ahle Knoten v ∈ M 6: M := M \ {v} 7: for all w ∈ V \ S mit vw ∈ E do 8: if f (vw) < κ(vw) then 9: pred(w) := v 10: R(w) := ′ →′ 11: ǫ(w) := min{κ(vw) − f (vw), ǫ(v)} 12: S := S ∪ {w} 13: M := M ∪ {w} 14: end if 15: end for 16: for all u ∈ V \ S mit uv ∈ E do 17: if f (uv) > 0 then 18: pred(u) := v 19: R(u) := ′ ←′ 20: ǫ(u) := min{f (uv), ǫ(v)} 21: S := S ∪ {u} 22: M := M ∪ {u} 23: end if 24: end for 25: until M = ∅ or s ∈ S 26: if M = ∅ then 27: return S 28: end if 29: if s ∈ S then 30: FlussVergr¨ oßern(D, κ, q, sf ) 31: end if
X = (q, a, b, s) um den Wert 2 erh¨oht. Anschließendes FlussMarkieren erreicht die Senke nicht mehr (Abb. 22.8). Der Fluss ist also maximal mit dem Wert 5 und der zugeh¨ orige minimale Schnitt ist S = {q, a, c}. Satz 22.17. (Ganzzahligkeit) In einem Netzwerk mit ganzzahligen Kapazit¨atenwerten gibt es einen ganzzahligen maximalen Fluss. Beweis. Im Algorithmus wird, beginnend mit dem Nullfluss, der Fluss in jedem Schritt um eine ganze Zahl ǫ > 0 vergr¨oßert. Also hat der jeweilig vergr¨ oßerte Fluss nur ganzzahlige Kantenwerte. Dies gilt insbesondere f¨ ur den maximalen Fluss. ⊓ ⊔
22.4 Die S¨ atze von Hall, K¨ onig-Egerv´ ary und Menger
299
Algorithmus 22.5 FlussVergr¨ oßern(D, κ, q, s, f ) Eingabe: Flussnetz (D, κ, q, s) und Fluss f auf Flussnetz Ausgabe: Fluss f vergr¨ oßert um ǫ 1: ǫ := ǫ(s) 2: v := s 3: while v 6= q do 4: if R(v) = ′ →′ then 5: f (pred(v), v) := f (pred(v), v) + ǫ 6: end if 7: if R(v) = ′ ←′ then 8: f (v, pred(v)) := f (v, pred(v)) − ǫ 9: end if 10: v := pred(v) 11: end while 12: FlussMarkieren(D, s, t, κ, f ) (c,→,3)
(q,→,3)
ar
0
0 q r
0
0
@ @ 0 Rr @ ? c
-br @ 0 @ (b,→,3) Rr s @ 0 ? r
0
0
d (b,→,3)
(q,→,5)
Abb. 22.6. Erstes FlussMarkieren. (a,→,2)
(q,→,3)
ar
0
0 q r
0
@ @ 3 ? Rr @ c
(q,→,2)
3
-br @ 3 @ (b,→,2) Rr s @ 0 r?
0
0
d (b,→,2)
Abb. 22.7. Erstes FlussVergr¨ oßern und zweites FlussMarkieren.
22.4 Die S¨ atze von Hall, Ko ary und Menger ¨nig-Egerv´ In diesem Abschnitt werden eine Reihe kombinatorischer Anwendungen des Satzes von Ford und Fulkerson behandelt. Der Satz von Menger Der Satz von Karl Menger (1902-1985) bestimmt die Anzahl der kanten- und knotendisjunkten Wege in einem Digraphen. Sei D = (V, E) ein Digraph und
300
22 Netzwerke (q,→,1)
ar
2
2 q r
0
3
@ @ 3 Rr @ ? c
-br @ 5 @ Rr s @ 0 ? r
0
0
d
(q,→,2)
Abb. 22.8. Zweites FlussVergr¨ oßern und drittes FlussMarkieren. Die Senke wird nicht mehr erreicht und der Algorithmus terminiert.
seien q und s Knoten in D. Eine Menge E ′ von Kanten in D heißt eine q und s trennende Kantenmenge in D, wenn jeder gerichtete Weg von q nach s mindestens eine Kante aus E ′ enth¨alt. Eine q und s trennende Kantenmenge E0 in D heißt minimal, wenn f¨ ur jede q und s trennende Kantenmenge E ′ in ′ D gilt |E0 | ≤ |E |. Satz 22.18. (Menger, 1927) Sei D = (V, E) ein Digraph und seien q und s verschiedene Knoten in D. Die Maximalzahl kantendisjunkter gerichteter Wege in D von q nach s ist gleich der M¨achtigkeit einer minimalen q und s trennenden Kantenmenge in D. Beweis. Wir betrachten ein Flussnetz N auf D, in dem jede Kante die Kapazit¨ at 1 besitzt. Nach dem Ganzzahligkeitssatz gibt es einen maximalen Fluss auf N , in dem jede Kante mit 0 oder 1 bewertet ist. Ein solcher Fluss heißt 0-1-Fluss. Dabei liefern k kantendisjunkte Wege von q nach s in D einen 0-1-Fluss auf N mit dem Wert k, und umgekehrt. Jeder Schnitt S in N liefert eine q und s trennende Kantenmenge E ′ = {e ∈ E | e− ∈ S, e+ ∈ S} mit der Kapazit¨at |E ′ | = κ(S). Umgekehrt sei E ′ eine q und s trennende Kantenmenge in D. Sei S(E ′ ) die Menge aller Knoten in D, die von q aus auf einem gerichteten Weg erreichbar sind, ohne die Kanten in E ′ zu benutzen. Die Menge S(E ′ ) bildet einen Schnitt in N mit der Kapazit¨ at |E ′ | = κ(S(E ′ )). Mit dem Satz von Ford und Fulkerson folgt die Behauptung. ⊓ ⊔ Beispiel 22.19. Der Digraph in Abb. 22.9 enth¨alt h¨ochstens drei kantendisjunkte Wege von q und s, weil q zu drei Knoten adjazent ist. Andererseits ist jede q und s trennende Kantenmenge mindestens 3-elementig, etwa {ad, be, ce} und {df, dg, be, ce}. Sei D = (V, E) ein Digraph und seien q und s Knoten in D. Eine Menge V ′ von Knoten in D heißt eine q und s trennende Knotenmenge in D, wenn jeder gerichtete Weg von q nach s in D mindestens einen Knoten aus V ′ enth¨alt. Eine q und s trennende Knotenmenge V0 in D heißt minimal, wenn f¨ ur jede q und s trennende Knotenmenge V ′ in D gilt |V0 | ≤ |V ′ |.
22.4 Die S¨ atze von Hall, K¨ onig-Egerv´ ary und Menger
301
Satz 22.20. (Menger) Sei D = (V, E) ein Digraph und seien q und s nichtadjazente Knoten in D. Die Maximalzahl knotendisjunkter gerichteter Wege in D von q nach s ist gleich der M¨achtigkeit einer minimalen q und s trennenden Knotenmenge in D. Beweis. Wir ordnen dem Digraphen D einen Digraphen D′ zu, in dem jeder Knoten v (außer q und s) durch zwei Knoten v ′ und v ′′ und eine Kante v ′ v ′′ ersetzt wird. Dabei beginnen die Kanten uv in D im neuen Digraphen bei u′′ und enden in v ′ (Abb. 22.10). Definitionsgem¨ aß entsprechen die knotendisjunkten Wege in D den kantendisjunkten Wegen in D′ . Also ist nach Satz 22.18 die Maximalzahl knotendisjunkter gerichteter Wege von q nach s in D gleich der M¨achtigkeit einer minimalen q und s trennenden Kantenmenge in D′ . In einer q und s trennenden Kantenmenge in D′ brauchen nur Kanten der Form v ′ v ′′ ber¨ ucksichtigt zu werden, weil eine Kante der Form u′′ v ′ stets durch u′ u′′ ersetzt werden kann. Derartige q und s trennenden Kantenmengen in D′ entsprechen den q und s trennenden Knotenmengen in D. ⊓ ⊔ Beispiel 22.21. Der Digraph in Abb. 22.9 enth¨alt h¨ochstens zwei knotendisjunkte Wege von q und s, weil jeder solche Weg entweder durch d oder e verl¨ auft, etwa (q, a, d, f, s) und (q, b, e, h, s). Andererseits ist jede q und s trennende Knotenmenge mindestens 2-elementig, etwa {a, b, c}, {d, e} und {f, g, h, i}.
a
f
c
i
rP 1r PPP @ qdr P PP @ PP qgrP @ P PP@ P -br q P Rr s @ q r 1 Q @ Q 1r Q @ h Q s Q r @ 1ePP P @ P Rr @ qr P
Abb. 22.9. Ein Digraph mit zwei knotendisjunkten und drei kantendisjunkten Wegen von q nach s.
Der Satz von K¨ onig und Egerv´ ary Der Satz von K¨ onig und Egerv´ary gibt Auskunft u ¨ ber die M¨achtigkeit einer maximalen Paarung in einem bipartiten Graphen. Sei G ein Graph. Eine
302
22 Netzwerke ar′ -ra′′
-br -rb @ > @ Rr s @ q r ′′ @ cr d′ r @ @ R @ r Rr @ ′
′′
d′′
c′
Abb. 22.10. Der dem Digraphen D in Abb. 22.4 zugeordnete Digraph D′ .
Menge von Kanten P heißt eine Paarung in G, wenn die Kanten in P keinen gemeinsamen Endpunkt haben (Abb. 22.11). Eine Paarung P in G heißt maximal, wenn f¨ ur jede Paarung P ′ in G gilt |P ′ | ≤ |P |. Eine Menge U von Knoten in G heißt eine Knoten¨ uberdeckung von G, wenn f¨ ur jede Kante uv in G gilt u ∈ U oder v ∈ U . Eine Knoten¨ uberdeckung U von G heißt minimal, wenn f¨ ur jede Knoten¨ uberdeckung U ′ von G gilt |U | ≤ |U ′ |. Satz 22.22. (K¨ onig-Egerv´ ary, 1931) Sei G ein bipartiter Graph. Die M¨achtigkeit einer maximalen Paarung in G ist gleich der M¨achtigkeit einer minimalen Knoten¨ uberdeckung von G. Beweis. Sei G ein bipartiter Graph mit der 2-Partition {V1 , V2 }. Wir ordnen dem Graphen G einen Digraphen D zu, in dem zwei Knoten q und s sowie gerichtete Kanten qv, v ∈ V1 , und vs, v ∈ V2 , hinzugef¨ ugt werden. Ferner wird jede Kante zwischen V1 und V2 von V1 nach V2 gerichtet (Abb. 22.12). Definitionsgem¨ aß korrespondiert eine aus k Kanten bestehende Paarung in G zu k knotendisjunkten Wegen in D von q nach s. Ferner entspricht einer Knoten¨ uberdeckung von G eine q und s trennenden Knotenmenge in D. Also folgt mit Satz 22.20 die Behauptung. ⊓ ⊔
q q @ q @ q @
q
@ H q H
H Hq q H H H Hq
q
q
q
q
q
qH q H Hq qH q
q
Abb. 22.11. Ein bipartiter Graph mit einer maximalen und vollst¨ andigen Paarung.
22.4 Die S¨ atze von Hall, K¨ onig-Egerv´ ary und Menger
303
-q q A q@ qA @ @A @
-AUqs R R @ q @ q q -qH * H A@ jq H Rq H A@ H H AAUq H jq H Abb. 22.12. Der zum Digraphen aus Abb. 22.11 geh¨ orende Digraph.
Der Satz von Hall Der Satz von Philip Hall (1904-1982) ermittelt die M¨achtigkeit einer vollst¨andigen Paarung in einem bipartiten Graphen. Sei G = (V, E) ein bipartiter Graph mit 2-Partition {V1 , V2 }. Eine Paarung P in G heißt vollst¨andig, wenn jeder Knoten in V1 mit einer Kante in P inzidiert (Abb. 22.11). F¨ ur jede Teilmenge U von V1 bestehe U + aus allen Knoten von V1 , die mit irgendeinem Knoten aus V2 adjazent sind, also U + = {v ∈ V2 | ∃u ∈ U [uv ∈ E]},
(22.13)
Satz 22.23. (Hall, 1935) Sei G ein bipartiter Graph mit einer 2-Partition {V1 , V2 }, so dass |V1 | = |V2 |. Eine vollst¨andige Paarung in G existiert genau dann, wenn f¨ ur jede Teilmenge U von V1 gilt |U + | ≥ |U |. Beweis. Sei P eine vollst¨ andige Paarung in G und U eine Teilmenge von V1 . Dann inzidiert jeder Knoten in U mit einer Kante in P und der jeweils andere Endpunkt einer solchen Kante liegt in U + . Da P eine Paarung ist, gilt |U | ≤ |U + |. Umgekehrt sei |U1+ | ≥ |U1 | f¨ ur jede Teilmenge U1 von V1 . Sei U eine Knoten¨ uberdeckung von G mit U1 = U ∩ V1 und U2 = U ∩ V2 . Es gibt keine Kante uv mit der Eigenschaft u ∈ V1 \ U1 und v ∈ V2 \ U2 , weil U sonst keine Knoten¨ uberdeckung von G ist. Also ist (V1 \ U1 )+ ⊆ U2 , mithin aufgrund der Annahme |U2 | ≥ |(V1 \ U1 )+ | ≥ |V1 \ U1 |. Daraus ergibt sich |U | = |U1 | + |U2 | ≥ |U1 | + |V1 \ U2 | = |V1 |. Somit hat jede Knoten¨ uberdeckung von G mindestens |V1 | Elemente. Jede minimale Knoten¨ uberdeckung von G hat also nach Voraussetzung die M¨achtigkeit |V1 |. Nach dem Satz von K¨onig und Egerv´ary ist |V1 | die M¨achtigkeit einer maximalen Paarung in G. Eine solche Paarung in G ist definitionsgem¨aß vollst¨andig. ⊓ ⊔ Dieser Satz wird Heiratssatz genannt, weil ein offensichtlicher Zusammenhang mit einem Heiratsproblem besteht.
304
22 Netzwerke
Selbsttestaufgaben 22.1. Zeige den Satz 22.1. 22.2. Erg¨ anze Floyd-Warshall so, dass nicht nur Abst¨ ande, sondern auch k¨ urzeste Wege berechnet werden. 22.3. Beweise die Aussage u ¨ ber die Schleifeninvariante in Satz 22.5. 22.4. Sei (G, ω) ein Wegenetz, in dem je zwei Kanten verschiedene Bewertungen haben. Zeige, dass das Netz genau ein minimales Ger¨ ust besitzt. 22.5. In einem Datennetz werden den Leitungen (Kanten) Wahrscheinlichkeiten f¨ ur ihr Ausfallen zugewiesen. Gesucht sind zwischen zwei Stationen (Knoten) die Wege, die mit der gr¨ oßten Wahrscheinlichkeit nicht ausfallen. Wie kann dieses Problem auf die Bestimmung k¨ urzester Wege zur¨ uckgef¨ uhrt werden? 22.6. Modifiziere Floyd-Warshall so, dass damit die transitive H¨ ulle einer homogenen Relation berechnet werden kann. 22.7. Beweise die Gl. (22.5). 22.8. Zeige, dass MinSpannbaum die Laufzeit O(|E| log |E|) besitzt. 22.9. Verallgemeinere den Algorithmus von Ford und Fulkerson auf Netze mit mehreren Quellen und Senken. 22.10. Die Zusammenhangszahl eines Graphen G = (V, E) ist erkl¨ art durch κ(G) = min{|F | | F ⊆ E, G \ F ist nicht zshgd}. Ein Graph G heißt p-fach zusammenh¨ angend, wenn κ(G) ≥ p. Zeige, dass ein Graph G genau dann p-fach zusammenh¨ angend ist, wenn je zwei Knoten in G duch mindestens p kantendisjunkte Wege verbunden sind. 22.11. Seien S1 und S2 minimale Schnitte in einem Flussnetz N . Zeige, daß auch S1 ∩ S2 ein minimaler Schnitt in N ist. 22.12. In einem Datennetz erfolgt der Datentransport zwischen zwei Stationen q und s. Wie kann festgestellt werden, wie viele Leitungen (Kanten) maximal ausfallen d¨ urfen, damit immer noch eine Datenleitung zwischen q und s funktioniert? 22.13. F¨ unf Jungen, Alfred, Bert, Claus und Detlef, und f¨ unf M¨ adchen, Rita, Susi, Thea, Ute und Vera, belegen einen Tanzkurs. Alfred ist befreundet mit Rita, Susi und Ute, Bert mit Susi, Claus mit Susi, Ute sowie Thea, Detlef mit Ute und Vera und schließlich Egon mit Rita, Susi und Vera. Kann jeder Junge ein mit ihm befreundetes M¨ adchen zum Abschlussball einladen, ohne dass ein M¨ adchen zwischen zwei Jungen zu w¨ ahlen braucht? 22.14. Sei A eine endliche nichtleere Menge und M = (A1 , . . . , An ) eine Folge von nichtleeren Teilmengen von A. Gesucht wird ein Vertreter ai aus jeder Teilmenge Ai , so dass verschiedene Teilmengen durch verschiedene Elemente repr¨ asentiert werden. Ein solches Tupel wird Vertretersystem von M genannt. Zeige, dass M = (A1 , . . . , An ) ein Vertretersystem genau dann besitzt, wenn gilt f¨ ur jede Teilmenge I von n gilt
[ Ai ≥ |I|. i∈I
23 Kombinatorische Optimierung
Viele Optimierungsaufgaben mit großer wirtschaftlicher Bedeutung sind so komplex, dass eine exakte L¨osung trotz der enorm gestiegenen Rechenleistung von Computern nicht m¨oglich ist. Diese Optimierungsaufgaben geh¨oren zu den NP-harten Problemen und sind dadurch gekennzeichnet, dass ihre L¨ osung exponentiellen Aufwand erfordert. In diesem Kapitel werden Methoden vorgestellt, um derartige Optimierungsprobleme zu l¨osen. Dazu geh¨oren Backtracking-Verfahren, die den gesamten L¨osungsraum durchmustern, und heuristische Verfahren, die N¨aherungsl¨osungen generieren. Weiterhin wird die Optimalit¨ at spezieller Heuristiken, so genannter Greedy-Algorithmen, mithilfe von Matroiden charakterisiert. Schließlich wird das Problem der Knotenf¨ arbung von Graphen untersucht.
23.1 Komplexit¨ atsklassen Die Laufzeit von Algorithmen wird in Abh¨angigkeit von der jeweiligen Probleminstanz n gemessen. Um praktische Probleme zu l¨osen, werden Algorithmen mit polynomialer Laufzeit O(nd ), d ≥ 0, ben¨otigt. Demgegen¨ uber sind Algorithmen mit exponentieller Laufzeit O(cn ), c > 1, meist unpraktikabel. Komplexit¨ at von Entscheidungsproblemen Ein Entscheidungsproblem erfordert eine Antwort ”ja” oder ”nein”. Entscheidungsprobleme werden in zwei Klassen eingeteilt. Die Klasse P besteht aus allen Entscheidungsproblemen, die in polynomialer Zeit l¨osbar sind. Die Klasse NP umschließt alle Entscheidungsprobleme mit der Eigenschaft, dass es zu jeder affirmativ beanworteten Probleminstanz einen Beweis f¨ ur die affirmative Antwort gibt, der in polynomialer Zeit verifizierbar ist. Offensichtlich ist P ⊆ NP. Es ist wahrscheinlich, dass die Klasse NP gr¨oßer ist als die Klasse P. Einen Beweis hierf¨ ur gibt es nicht.
306
23 Kombinatorische Optimierung
Beispiel 23.1. Sei G = (V, E) ein Graph. Eine Teilmenge U von V heißt unabh¨angig in G, wenn uv 6∈ E f¨ ur alle u, v ∈ U . Wir betrachten das Entscheidungsproblem, zu einem Graphen G und einer nat¨ urlichen Zahl K eine unabh¨ angige Menge U in G mit |U | ≥ K zu finden. Dieses Problem liegt in NP. Denn eine Teilmenge U von V besitzt |U| zweielementige Teilmengen 2 |U| uv mit u, v ∈ U und mit n = |V | ist 2 = O(n2 ). Der Test, ob uv in E liegt, kann in konstanter Zeit erfolgen. Also kann in O(n2 ) Schritten getestet werden, ob U unabh¨ angig in G ist. Seien D und D′ Entscheidungsprobleme. Eine polynomiale Transformation von D auf D′ ist ein Algorithmus mit polynomialer Laufzeit, der jede Instanz I des Problems D in eine Instanz I ′ des Problems D′ so transformiert, dass die beiden Antworten von I und I ′ u ¨ bereinstimmen. Wenn es eine solche Transformation gibt, schreiben wir D ∝ D′ . Beispiel 23.2. Sei G = (V, E) ein Graph. Eine Teilmenge U ⊆ V heißt eine Clique in G, wenn uv ∈ E f¨ ur alle u, v ∈ U . Eine Clique ist also ein vollst¨andiger Teilgraph von G. Wir betrachten das Entscheidungsproblem, zu einem Graphen G und einer nat¨ urlichen Zahl K eine Clique U in G mit |U | ≥ K zu finden. Dieses Problem geh¨ort zu NP. Sei G′ = (V, E ′ ) der zu G komplement¨are Graph, d. h., uv ∈ E ′ genau dann, wenn uv 6∈ E. Die unabh¨angigen Mengen in G sind genau die Cliquen in G′ , und umgekehrt. Der Graph G′ kann aus G in O(|V |2 ) Schritten konstruiert werden. Also ist das Entscheidungsproblem, eine unabh¨angige Teilmenge mit wenigstens K Elementen in einem Graphen zu finden, polynomial transformierbar auf das Entscheidungsproblem, in einem Graphen eine Clique mit mindestens K Elementen zu finden. Ein Entscheidungsproblem D heißt NP-vollst¨andig, wenn D ∈ NP und f¨ ur jedes Problem D′ ∈ NP gilt D′ ∝ D. Satz 23.3. Sei D ein NP-vollst¨andiges Entscheidungsproblem. Liegt D in P, dann ist P = NP. Beweis. Sei D ∈ P ein NP-vollst¨andiges Problem. Sei A ein polynomialer Algorithmus, der D l¨ ost. Sei D′ ∈ NP. Nach Voraussetzung ist D′ ∝ D. Somit existiert ein polynomialer Algorithmus B, der jede Instanz von D′ in eine Instanz von D u uhrten Algorith¨ bersetzt. Also l¨osen die hintereinander ausgef¨ men A und B in polynomialer Zeit jede Instanz von D′ . Folglich ist D′ ∈ P. Daraus folgt die Behauptung. ⊓ ⊔ Beispiel 23.4. Sei n eine nat¨ urliche Zahl. Das Erf¨ ullbarkeitsproblem lautet, zu einer n-stelligen Schaltfunktion f eine Belegung b1 , . . . , bn ∈ {0, 1} der Variablen von f zu finden, so dass f (b1 , . . . , bn ) = 1. Dieses Problem ist NPvollst¨ andig. Bewiesen hat dies zuerst Stephen A. Cook (1971). Derzeit sind mehr als eintausend NP-vollst¨andige Probleme bekannt, darunter viele graphentheoretische Probleme.
23.2 Backtracking-Algorithmen
307
Komplexit¨ at von Optimierungsproblemen Kombinatorische Probleme treten meist in der Gestalt von Optimierungsproblemen auf. Wir klassifizieren derartige Probleme mit Hilfe der TuringReduktion. Eine Turing-Reduktion ordnet einem Problem D ein Problem D′ so zu, dass der L¨ osungsalgorithmus A f¨ ur D als ”Subalgorithmus” im L¨osungsalgorithmus B f¨ ur D′ verwendet wird. Dabei soll A genau dann polynomiale Laufzeit haben, wenn B polynomiale Laufzeit besitzt. Eine solche Reduktion wird mit D′ ∝T D bezeichnet. Eine polynomiale Transformation ist eine spezielle Turing-Reduktion, d. h., D′ ∝ D impliziert D′ ∝T D. Beispiel 23.5. Das zum Entscheidungsproblem, eine Clique mit wenigstens K Elementen in einem Graphen zu finden, geh¨orende Optimierungsproblem lautet, in einem Graphen eine Clique mit maximaler M¨achtigkeit zu finden. Sei A ein Algorithmus, der obiges Entscheidungsproblem l¨ost. Dieser Algorithmus wird in eine Laufschleife eingebettet, die in jedem Schritt K = n, . . . , 1 eine Instanz A(G, K) des Entscheidungsproblems bearbeitet. Sobald eine Instanz A(G, K) ”ja” liefert, ist eine maximale Clique gefunden und somit das zugeh¨ orige Optimierungsproblem gel¨ost. Das Analogon von NP-vollst¨andigen Entscheidungsproblemen sind NPharte Optimierungsprobleme. Ein Problem D heißt NP-hart, wenn es ein NPvollst¨ andiges Problem D′ gibt, so dass D′ ∝T D. Nach 23.5 ist das Optimierungsproblem, eine maximale Clique in einem Graphen zu finden, NP-hart. Im Allgemeinen sind die Optimierungsvarianten von NP-vollst¨andigen Entscheidungsproblemen NP-hart.
23.2 Backtracking-Algorithmen Kombinatorische Optimierung Ein kombinatorischen Optimierungsproblem basiert auf einer endlichen Menge. Eine solche Menge wird im Praktikerjargon Universum genant und die Elemente eines Universums heißen L¨osungen. Die Menge aller L¨osungen ist in zul¨ assige und nichtzul¨ assige L¨osungen unterteilt. Auf einem Universum X ist ferner eine ganzzahlige Zielfunktion f : X → Z definiert. Gefragt wird nach einer zul¨ assigen L¨ osung x∗ ∈ X mit maximalem Wert, d. h., f (x∗ ) ≥ f (x) f¨ ur alle zul¨ assigen L¨ osungen x ∈ X. Eine solche L¨osung x∗ heißt optimal. Ein kombinatorisches Optimierungsproblem hat also folgende Gestalt max f (x). s.d. x ∈ X x ist zul¨assig
(23.1)
308
23 Kombinatorische Optimierung
Maximierungs- und Minimierungsprobleme sind gleichwertig, weil das Maximieren von f dem Minimieren von −f entspricht, genauer max{f (x) | x ∈ X} = − min{−f (x) | x ∈ X}.
(23.2)
Beispiel 23.6. Sei G = {1, . . . , n} eine Menge von Gegenst¨anden. Jeder Gegenstand i besitze einen ganzzahligen Wert fi ≥ 1 und eine ganzzahlige Gr¨oße gi ≥ 1. Ferner sei K0 eine nat¨ urliche Zahl, genannt Kapazit¨at. ′ Ein Rucksack ist eine Teilmenge G′ von G. Der Wert P eines Rucksacks G ist die Summe der Werte aller gepackten Gegenst¨ande i∈G′ fi und P die Gr¨oße von G′ ist die Summe der Gr¨oßen aller gepackten Gegenst¨ande i∈G′ gi . Das Rucksack-Problem lautet, einen Rucksack mit maximalem Wert zu finden, so dass seine Gr¨ oße die Kapazit¨at nicht u ¨ berschreitet. Das Rucksack-Problem ist NP-hart. Wir ordnen jedem Rucksack G′ seinen charakteristischen Vektor x ∈ {0, 1}n zu, d. h., xi = 1, falls i ∈ G′P , und xi = 0, falls i 6∈ G′ . Dann P besitzt ein Rucksack x den Wert f (x) = i fi xi und die Gr¨oße g(x) = i gi xi . Das Rucksack-Problem lautet also max f (x). s.d. x ∈ {0, 1}n g(x) ≤ K0
(23.3)
Backtracking-Verfahren Ein Backtracking-Algorithmus ist eine rekursive Prozedur, die alle L¨osungen eines kombinatorischen Optimierungsproblems schrittweise erzeugt. Backtracking-Algorithmen geh¨ oren zu den exhaustiven Suchmethoden. Rucksack-Backtrack1 ist ein Backtracking-Algorithmus f¨ ur das Rucksack-Problem. Der Algorithmus startet mit dem so genannten leeren Tupel x = ( ) und erzeugt alle bin¨aren n-Tupel in lexikographischer Reihenfolge. Dabei ist aktf der Wert des aktuellen n-Tupels x, optx die momentan beste, zul¨ assige L¨ osung und optf der Wert von optx. Die rekursiven Aufrufe der Routine Rucksack-Backtrack1 werden anhand eines in der Tiefe durchlaufenen Aufrufbaums veranschaulicht. Beispiel 23.7. Wir betrachten ein Rucksack-Problem mit f¨ unf Gegenst¨anden und Kapazit¨ at K0 = 35. Die Gegenst¨ande besitzen die Gr¨oßen 14, 15, 11, 10 und 12 sowie die Werte 26, 27, 18, 16 und 19. Den Aufrufbaum von Rucksack-Backtrack1 zeigt die Abb. 23.1. Die Bl¨atter dieses Baumes entsprechen den Rucks¨ acken. An den Bl¨attern ist das Gewicht des jeweiligen Rucksacks angegeben. Eine optimale L¨osung ist der Rucksack x = (1, 0, 1, 1, 0) mit f (x) = 60 und g(x) = 35.
23.2 Backtracking-Algorithmen
309
Algorithmus 23.1 Rucksack-Backtrack1(x1 , . . . , xk , k) Eingabe: x1 , . . . , xk ∈ {0, 1}, k ≥ 0 1: global optf , optx 2: if k = n then 3: if g1 x1 + . . . + gn xn ≤ K0 then 4: aktf := f1 x1 + . . . + fn xn 5: if aktf > optf then 6: optf := aktf 7: optx := (x1 , . . . , xn ) 8: end if 9: end if 10: else 11: xk+1 := 0 12: Rucksack-Backtrack1(x1 , . . . , xk , xk+1 , k + 1) 13: xk+1 := 1 14: Rucksack-Backtrack1(x1 , . . . , xk , xk+1 , k + 1) 15: end if
qX X XX 1 0 XXX XXq q H H 0 H HH H Hq Hq q q 0 @ @ @ @ @q @q @q @q q q q q A A A A A A A A1 q Aq q Aq q Aq q Aq q Aq q Aq q Aq q Aq C C C C C C C C C C C C C C 1 C C q Cq q Cq q Cq q Cq q Cq q Cq q Cq q Cq q Cq q Cq q Cq q Cq q Cq q Cq q Cq q Cq 0 12 10 22 11 23 21 33 15 27 25 37 26 38 36 48 14 26 24 36 25 37 35 47 29 41 39 51 40 52 50 62
Abb. 23.1. Ein Aufruf-Baum von Rucksack-Backtrack1 f¨ ur das RucksackProblem in 23.7. Die Bl¨ atter sind mit den Gr¨ oßen der Rucks¨ acke bewertet.
Abschneiden von Teilb¨ aumen Ein Aufrufbaum kann durch gezieltes Abschneiden von Teilb¨aumen verkleinert werden. Die inneren Knoten eines Aufrufbaums werden Teill¨osungen genannt. Den Teill¨ osungen entsprechen im Rucksack-Problem teilweise gepackte Rucks¨ acke x = (x P osung x hat ebenfalls P1 , . . . , xk ), 0 ≤ k ≤ n. Jede Teill¨ einen Wert f (x) = i fi xi und eine Gr¨oße g(x) = i gi xi . Eine Teill¨osung x heißt zul¨assig, wenn g(x) ≤ K0 . Im Aufrufbaum kann ein Teilbaum weggeschnitten werden, wenn seine Wurzel nicht zul¨assig ist. Dann sind n¨amlich alle Teill¨ osungen in diesem Teilbaum ebenfalls nicht zul¨assig. Aus RucksackBacktrack1 erhalten wir auf diese Weise Rucksack-Backtrack2.
310
23 Kombinatorische Optimierung
Algorithmus 23.2 Rucksack-Backtrack2(x1 , . . . , xk , k) Eingabe: x1 , . . . , xk ∈ {0, 1}, k ≥ 0 1: global optf , optx 2: if k = n then 3: if g1 x1 + . . . + gn xn ≤ K0 then 4: aktf := f1 x1 + . . . + fn xn 5: if aktf > optf then 6: optf := aktf 7: optx := (x1 , . . . , xn ) 8: end if 9: end if 10: else 11: xk+1 := 0 12: Rucksack-Backtrack2(x1 , . . . , xk , xk+1 , k + 1) 13: xk+1 := 1 14: if g1 x1 . . . + gk xk + gk+1 ≤ K0 then 15: Rucksack-Backtrack2(x1 , . . . , xk , xk+1 , k + 1) {Abschneiden} 16: end if 17: end if
Bounding-Funktionen Sei x = (x1 , . . . , xk ) eine Teill¨osung eines Aufrufbaums und P (x) der maximale Wert aller zul¨ assigen L¨osungen, die in dem Teilbaum mit der Wurzel x liegen. Eine Bounding-Funktion ist eine reellwertige Abbildung B auf den Knoten eines Aufrufbaums derart, dass f¨ ur jede zul¨assige Teill¨osung x gilt B(x) ≥ P (x). Ein Aufrufbaum kann mithilfe einer Bounding-Funktion verkleinert werden. Sei x eine zul¨assige Teill¨osung und optf der momentan optimale Wert. Im Falle B(x) ≤ optf gilt f¨ ur jede zul¨assige L¨osung y im Teilbaum mit der Wurzel x f (y) ≤ B(x) ≤ optf.
(23.4)
Der Teilbaum mit der Wurzel x kann also die momentan optimale L¨osung nicht verbessern. Er kann deshalb weggeschnitten werden. Eine Bounding-Funktion f¨ ur das Rucksack-Problem erhalten wir anhand des rationalen Rucksack-Problems. Ein Rucksack x = (x1 , . . . , xn ) heißt rational, wenn er rationale Komponenten P rationaler P xi mit 0 ≤ xi ≤ 1 besitzt. Ein Rucksack x hat den Wert f (x) = i fi xi und die Gr¨oße g(x) = i gi xi . Das rationale Rucksack-Problem lautet max f (x). s.d. x ist rational g(x) ≤ K0
(23.5)
Seien die Gegenst¨ ande so nummeriert, dass f1 /g1 ≥ f2 /g2 ≥ . . . ≥ fn /gn . Ein optimaler rationaler Rucksack x∗ l¨asst sich dann direkt angeben. Im Falle
23.2 Backtracking-Algorithmen
311
g1 + . . . + gn ≤ K0 setze x∗ = (1, . . . , 1). Andernfalls gibt es einen Index l mit g1 + . . .+ gl ≤ K0 und g1 + . . .+ gl + gl+1 > K0 . Dann setze x∗1 = . . . = x∗l = 1, +...+gl ) x∗l+1 = K0 −(gg1l+1 und x∗l+2 = . . . = x∗n = 0. Der optimale Rucksack x∗ wird in O(n) Schritten berechnet. Beispiel 23.8. Der optimale rationale Rucksack des Rucksack-Problems in 23.7 ist x = (1, 1, 0.545455, 0, 0) mit g(x) = 35 und f (x) = 62.818182. Das (ganzzahlige) Rucksack-Problem ist ein Spezialfall des rationalen Rucksack-Problems. Also ist der Wert jedes zul¨assigen Rucksacks in einem Teilbaum mit der Wurzel x = (x1 , . . . , xk ) nach oben beschr¨ankt durch B(x) = f (x) + Rucksack-Rat(fk+1 , . . . , fn , gk+1 , . . . , gn , K0 − g(x)), wobei der zweite Term den Wert eines optimalen rationalen Rucksacks f¨ ur die letzten n − k Gegenst¨ ande angibt. Somit ist B(x) eine Bounding-Funktion f¨ ur das Rucksack-Problem, mit der sich aus Rucksack-Backtrack2 der Algorithmus Rucksack-Backtrack3 ergibt. Algorithmus 23.3 Rucksack-Backtrack3(x1 , . . . , xk , k) Eingabe: x1 , . . . , xk ∈ {0, 1}, k ≥ 0 1: global optf , optx 2: if k = n then 3: if g1 x1 + . . . + gn xn ≤ K0 then 4: aktf := f1 x1 + . . . + fn xn 5: if aktf > optf then 6: optf := aktf 7: optx := (x1 , . . . , xn ) 8: end if 9: end if 10: else 11: B := (f1 x1 + . . . + fk xk ) + Rucksack-Rat(fk+1 , . . . , fn , gk+1 , . . . , gn , K0 − P k g x ) {Bounding-Funktion} i=1 i i 12: if B ≤ optf then 13: return 14: end if 15: xk+1 := 0 16: Rucksack-Backtrack3(x1 , . . . , xk , xk+1 , k + 1) 17: xk+1 := 1 18: if g1 x1 . . . + gk xk + gk+1 ≤ K0 then 19: Rucksack-Backtrack3(x1 , . . . , xk , xk+1 , k + 1) {Abschneiden} 20: end if 21: end if
312
23 Kombinatorische Optimierung
Das Rundreise-Problem Sei Kn = (V, E) der vollst¨andige Graph mit n Knoten und f : E → N eine Kostenfunktion auf den Kanten von Kn . Eine Rundreise oder ein hamiltonscher Kreis in Kn ist ein einfacher Kreis in Kn , der alle Knoten in Kn enth¨alt. Die L¨ange einer Rundreise x = (x1 , . . . , xn , x1 ) in Kn ist f (x) =
n X
f (xi xi+1 ) + f (xn x1 ).
(23.6)
i=1
Das Rundreise-Problem f¨ ur den bewerteten Graphen Kn besteht darin, eine Rundreise in Kn mit minimaler L¨ange zu finden. Das Rundreise-Problem ist NP-hart und kann als Problem eines Handlungsreisenden oder Best¨ uckungsproblem f¨ ur Leiterplatten interpretiert werden. Eine Rundreise (x1 , . . . , xn , x1 ) kann als eine Permutation x = (x1 , . . . , xn ) der Knotenmenge von Kn dargestellt werden. Jede zyklische Verschiebung einer solchen Permutation stellt dieselbe Rundreise dar. Rundreise-Backtrack ist ein Backtracking-Algorithmus f¨ ur das Rundreise-Problem. Dieser AlgoAlgorithmus 23.4 Rundreise-Backtrack(x1 , . . . , xk , k) Eingabe: Graph G = (V, E), x1 , . . . , xk ∈ V , k ≥ 0 1: global optf , optx 2: if k = n then 3: aktf := f (x1 x2 ) + . . . + f (xn−1 xn ) + f (xn x1 ) 4: if aktf < optf then 5: optf := aktf 6: optx := (x1 , . . . , xn ) 7: end if 8: else 9: for all xk+1 6∈ {x1 , . . . , xk } do 10: Rundreise-Backtrack(x1 , . . . , xk , xk+1 , k + 1) 11: end for 12: end if
rithmus wird mit dem leeren Tupel x = ( ) gestartet und erzeugt alle Permutationen der Knotenmenge von Kn . Das Rundreise-Problem ist ein Minimierungsproblem. Also muss eine Bounding-Funktion B(x) f¨ ur das Rundreise-Problem eine untere Schranke f¨ ur alle zul¨ assigen L¨ osungen liefern, die eine zul¨assige Teill¨osung x enthalten. Sei x = (x1 , . . . , xk ) eine zul¨assige Teill¨osung. Wir betrachten eine zul¨assige L¨ osung y = (x1 , . . . , xk , yk+1 , . . . , yn , x1 ) des Rundreise-Problems, die x fortsetzt. Dann ist (xk , yk+1 , . . . , yn , x1 ) ein Weg in demjenigen Teilgraphen G = G(x) von Kn , der von V \ {x2 , . . . , xk−1 } aufgespannt wird. Ein Weg, der alle Knoten eines Graphen enth¨alt, ist aber ein spezieller Spannbaum.
23.3 Heuristische Algorithmen
313
Damit erhalten wir folgende Bounding-Funktion f¨ ur das Rundreise-Problem B(x) =
k−1 X
f (xi xi+1 ) + MinSpannbaum(G(x), f ).
i=1
23.3 Heuristische Algorithmen Backtracking-Algorithmen liefern alle optimalen L¨osungen eines kombinatorischen Optimierungsproblems. Hat das Optimierungsproblems jedoch einen sehr großen Suchraum, dann sind Backtracking-Algorithmen zu aufwendig. An ihre Stelle treten heuristische Algorithmen, die ein kombinatorisches Optimierungsproblem n¨ aherungsweise l¨osen. Die G¨ ute eines heuristischen Algorithmus’, d. h., wie weit die N¨aherungsl¨osung von der optimalen L¨osung entfernt ist, l¨ asst sich im Allgemeinen nicht absch¨atzen. Ein heuristischer Algorithmus f¨ ur ein kombinatorisches Optimierungsproblem wird durch eine Heuristik festgelegt, die wiederum auf einer Nachbarschaft basiert. Eine Nachbarschaft f¨ ur ein Universum X ist eine Abbildung N : X → P (X), die jeder L¨osung x ∈ X eine Menge benachbarter L¨osungen N (x) zuordnet. Benachbarte L¨osungen sollen auf eine vom jeweiligen Problem abh¨ angige Weise ¨ ahnlich sein. Beispiele 23.9. Im Rucksack-Problem werden zwei Rucks¨acke als benachbart angesehen, wenn sie sich um einen Gegenstand unterscheiden. D. h., die Nachbarschaft eines Rucksacks x wird durch den Hamming-Abstand auf X = {0, 1}n definiert durch N (x) = {y ∈ X | d(x, y) = 1}. Im Rundreise-Problem werden zwei Rundreisen als benachbart definiert, wenn eine Rundreise in die andere durch einen Lin-2-Opt-Schritt transformiert werden kann (Abb. 23.2).
@ @ @
xi+1 xi
xi+1 xj
@ @ @
@ @ @
@ @ @ xi @ @ @ @ @ @
xj+1 Abb. 23.2. Ein Lin-2-Opt-Schritt.
xj+1
xj
314
23 Kombinatorische Optimierung
Eine Heuristik f¨ ur ein kombinatorisches Optimierungsproblem ist ein Algorithmus HN , der zu jeder zul¨assigen L¨osung x eine benachbarte, zul¨assige L¨ osung y ermittelt. Wenn keine benachbarte, zul¨assige L¨osung existiert, dann terminiert der Algorithmus mit der Ausgabe fail. HeuristischeSuche ist ein generischer, heuristischer Algorithmus, der typischerweise als iterative Prozedur implementiert ist. Der Algorithmus geAlgorithmus 23.5 HeuristischeSuche(X, f, HN , I) Eingabe: Universum X, Zielfunktion f , Heuristik HN , nat¨ urliche Zahl I Ausgabe: lokal opimale L¨ osung x∗ 1: i := 1 2: w¨ ahle zul¨ assige L¨ osung x ∈ X{Startpunkt} 3: x∗ := x 4: while i ≤ I do 5: y := HN (x) 6: if y 6= fail then 7: x := y 8: if f (x) > f (x∗ ) then 9: x∗ := x 10: end if 11: else 12: return x∗ {vorzeitiges Ende} 13: end if 14: i := i + 1 15: end while 16: return x∗
neriert eine Folge zul¨ assiger L¨osungen, in der konsekutive L¨osungen benachbart sind. Die resultierende N¨aherungsl¨osung x∗ h¨angt meist vom Startpunkt ab. Eine zul¨ assige L¨ osung x∗ ∈ X heißt ein lokales Maximum des Optimierungsproblems (23.1), wenn f (x∗ ) ≥ f (x) f¨ ur alle zul¨assigen x ∈ N (x∗ ). Eine ∗ zul¨ assige L¨ osung x ∈ X heißt ein globales Maximum, wenn f (x∗ ) ≥ f (x) f¨ ur alle zul¨ assigen x ∈ X. Kombinatorische Optimierungsprobleme besitzen in der Regel sehr viele lokale Optima. Die Bergauf-Methode Die Bergauf-Methode ist ein heuristisches Verfahren, das vergleichbar ist mit dem Vorgehen eines Bergsteigers, der dem Gipfel zustrebt, ohne zwischenzeitlich abzusteigen. In der Heuristik der Bergauf-Methode wird zu einer zul¨assigen L¨ osung x eine zul¨ assige L¨osung y ∈ N (x) mit h¨oherem Wert f (y) > f (x) konstruiert. Die Bergauf-Methode wird Methode des steilsten Aufstiegs genannt, wenn in jeder Nachbarschaft stets eine zul¨assige L¨osung mit maximalem Wert gew¨ ahlt wird.
23.3 Heuristische Algorithmen
315
Algorithmus 23.6 HillClimbing(X, f, HN ) Eingabe: Universum X, Zielfunktion f , Heuristik HN Ausgabe: lokal opimale L¨ osung x∗ 1: w¨ ahle zul¨ assige L¨ osung x ∈ X{Startpunkt} 2: x∗ := x 3: searching := true 4: while searching do 5: y := HN (x) 6: if y 6= fail then 7: x := y 8: if f (x) > f (x∗ ) then 9: x∗ := x 10: end if 11: else 12: searching := false 13: end if 14: end while 15: return x∗
HillClimbing ist ein generischer Bergauf-Algorithmus. Ein BergaufAlgorithmus liefert typischerweise ein vom Startwert abh¨angiges, lokales Maximum. Die Bergauf-Methode geh¨ort deshalb zu den lokalen Optimierungsverfahren. Derartige Verfahren eignen sich besonders bei Problemen, die nur ein Optimum besitzen. Konvexe Optimierungsprobleme haben diese Eigenschaft. Beispiel 23.10. Wir entwickeln ein Bergauf-Verfahren f¨ ur das Rucksack-Problem. Die Nachbarschaft sei wie in 23.9 festgelegt. Die Heuristik HN wird wie folgt definiert: Sei x ein zul¨assiger Rucksack. Sei y ∈ N (x) ein zuf¨alliger Rucksack, der anhand einer Zufallszahl j ∈ {1, . . . , n} erzeugt wird xi falls i 6= j yi = 1 − xi falls i = j. Die beiden Rucks¨ acke x und y unterscheiden sich nur im i-ten Gegenstand und sind deshalb benachbart. F¨ ur die Gr¨oße von y gilt g(x) + gj falls xj = 0 g(y) = g(x) − gj falls xj = 1. Der Rucksack y ist zul¨ assig, wenn entweder xj = 1 oder xj = 0 und g(x)+gj ≤ K0 . Die Heuristik gibt fail aus, wenn xj = 0 und g(x) + gj > K0 . Um eine vorzeitige fail-Ausgabe zu vermeiden, wird die Heuristik HN (x) so erweitert, dass sie zu einem gegebenen Rucksack x mehrere zuf¨allige Rucks¨acke probiert, bis sich ein zul¨ assiger Rucksack ergibt. Der Algorithmus wird mit dem leeren Rucksack (0, . . . , 0) gestartet.
316
23 Kombinatorische Optimierung
Simuliertes Ausgl¨ uhen Unter Ausgl¨ uhen wird ein industrieller Prozess verstanden, bei dem ein Festk¨ orper erhitzt und abgek¨ uhlt wird. Bei schlagartigem Abk¨ uhlen sind die Atome sehr unregelm¨ aßig angeordnet, so dass in dieser Struktur noch eine relativ hohe potentielle Energie steckt. Hingegen entsteht bei langsamem Abk¨ uhlen eine gleichm¨ aßige Gitterstruktur, deren potentielle Energie sehr niedrig ist. Simuliertes Ausgl¨ uhen (engl. Simulated Annealing) ist ein heuristisches Verfahren, das auf dem Vorgang des Ausgl¨ uhens beruht und von Kirkpatrick et al. (1983) eingef¨ uhrt wurde. Simuliertes Ausgl¨ uhen basiert auf folgender Heuristik: Sei x eine zul¨assige L¨osung. W¨ahle eine zul¨assige L¨osung y ∈ N (x). Ist f (y) > f (x), dann wird x durch y ersetzt. Andernfalls wird eine Zufallszahl r ∈ [0, 1] mit dem Wert e(f (y)−f (x))/T verglichen. Im Falle r < e(f (y)−f (x))/T wird x durch y substituiert. Ansonsten wird entweder fail ausgegeben oder ein neues y ∈ N (x) gesucht. Simuliertes Ausgl¨ uhen gestattet neben einer Aufw¨artsbewegung wie in der Bergauf-Methode eine Abw¨artsbewegung, die von der momentanen Temperatur T abh¨ angt. Bei hoher Temperatur ist der Faktor e(f (y)−f (x))/T nahe bei 1 und somit eine Abw¨ artsbewegung sehr wahrscheinlich, w¨ahrend bei niedriger Temperatur e(f (y)−f (x))/T nahe bei 0 liegt und deshalb eine Abw¨artsbewegung fast unm¨ oglich ist. Mithilfe einer Abw¨artsbewegung kann ein lokales Optimum wieder verlassen werden, was bei der Bergauf-Methode nicht m¨oglich ist. Simuliertes Ausgl¨ uhen z¨ ahlt deshalb zu den globalen Optimierungsverfahren. Die Temperatur wird nach einem Abk¨ uhlungsplan gesenkt. Die Anfangstemperatur T0 wird so hoch gew¨ahlt, dass Abw¨artsbewegungen mit hoher Wahrscheinlichkeit m¨ oglich sind. Die Temperatur wird in jeder Iteration um einen prozentualen Anteil gesenkt, bis eine Endtemperatur Tf erreicht wird. ¨ Unsere Uberlegungen sind in einem generischer Algorithmus f¨ ur simuliertes Ausgl¨ uhen, SimulatedAnnealing, zusammengefasst. Beispiel 23.11. Sei G = (V, E) ein Graph mit einer Kostenfunktion f : E → N0 . Eine uniforme Partition von G ist eine 2-Partition {V1 , V2 } von V mit |V1 | = |V2 |. Die Kosten einer uniformen Partition {V1 , V2 } von G sind X f (u, v). f (V1 , V2 ) = uv∈E u∈V1 ,v∈V2
Das Optimierungsproblem f¨ ur uniforme Graph-Partitionen lautet: Finde zu einem Graphen G = (V, E) mit gerader Knotenanzahl und Kostenfunktion f : E → N0 eine uniforme Partition mit minimalen Kosten. Dieses Problem ist NP-hart. Um dieses Optimierungsproblem durch simuliertes Ausgl¨ uhen zu beschreiben, verwenden wir als Universum X die Menge aller 2-Partitionen {V1 , V2 } von V mit |V1 | = |V2 |. Die Nachbarschaft von {V1 , V2 } sollen alle Partitionen bilden, die aus {V1 , V2 } durch Vertauschen zweier Knoten v1 ∈ V1 und v2 ∈ V2
23.3 Heuristische Algorithmen
317
Algorithmus 23.7 SimulatedAnnealing(X, f, HN , T0 , Tf , α) Eingabe: Universum X, Zielfunktion f , Heuristik HN , Anfangstemperatur T0 , Endtemperatur Tf , Dekrement α Ausgabe: lokal optimale L¨ osung x∗ 1: T := T0 2: w¨ ahle zul¨ assige L¨ osung x ∈ X 3: x∗ := x 4: while T ≥ Tf do 5: y := HN (x) 6: if y 6= fail then 7: if f (y) > f (x) then 8: x := y {Aufw¨ artsbewegung} 9: if f (x) > f (x∗ ) then 10: x∗ := x; 11: end if 12: else 13: r := random(0, 1) {Abw¨ artsbewegung} 14: if r < e(f (y)−f (x))/T then 15: x := y 16: end if 17: end if 18: else 19: return x∗ {vorzeitiges Ende} 20: end if 21: T := αT {α = 0.99} 22: end while 23: return x∗
entstehen. Der Gewinn, der durch das Vertauschen von v1 mit v2 entsteht, ist definiert durch F (v1 , v2 , V1 , V2 ) = f (V1 , V2 ) − f ([V1 \ {v1 }] ∪ {v2 }, [V2 \ {v2 }] ∪ {v1 }). In der Heuristik soll gem¨ aß steilstem Aufstieg zu einer Partition eine benachbarte Partition mit maximalem Gewinn geliefert werden. Der Graph in Abb. 23.3 besitzt die Partition {{a, b, c}, {d, e, f }} mit den Kosten 1 + 1 + 3 + 2 + 0 = 7. Ihre benachbarten Partitionen sind {{a, b, d}, {c, e, f }}, {{a, b, e}, {c, d, f }}, {{a, b, f }, {c, d, e}}, {{a, d, c}, {b, e, f }}, {{a, c, e}, {b, d, f }}, {{a, c, f }, {b, d, e}}, {{b, c, d}, {a, e, f }}, {{b, c, e}, {a, d, f }}, {{b, c, f }, {a, d, e}}.
318
23 Kombinatorische Optimierung 2
br 3 ar
@ @ 1 @r
3
1
cr
@0 @ @r d 2 2
r
f
2
e
Abb. 23.3. Ein kantenbewerteter Graph.
Genetische Algorithmen Genetische Algorithmen arbeiten nach dem Vorbild der biologischen Evolution und geh¨ oren zu den globalen Optimierungsmethoden. Die Grundmuster und Begriffswelt sind der Biologie entnommen. Ein genetischer Algorithmus verwaltet eine Menge von L¨osungen fester M¨achtigkeit, genannt Population. Eine Population kann aus zul¨assigen und nichtzul¨assigen L¨osungen (h¨ohere und niedere Individuen) bestehen. Ein genetischer Algorithmus arbeitet auf folgende Weise: • •
Initialisierung: W¨ ahle eine Population P aus N Individuen. Iteration: – Selektion: W¨ ahle N Individuen aus der Population P entsprechend ihrer Fitness. – Mutation: Ersetze jedes Individuum der Population P durch ein benachbartes Individuum. – Kreuzung: Paare die Individuen der Population P und kreuze jedes Paar, sodass neue Individuen entstehen.
Beispiel 23.12. Wir entwickeln einen genetischen Algorithmus f¨ ur das Rundreise-Problem. Die Nachbarschaft sei wie in 23.9 festgelegt. •
Selektion: Jeder Rundreise x in Kn wird ein so genanntes BoltzmannGewicht exp(−βf (x)), β > 0, und damit eine Boltzmann-Wahrscheinlichkeit zugeordnet exp(−βf (x)) . y∈P exp(−βf (y))
p(x) = P
•
Je k¨ urzer eine Rundreise ist, desto h¨oher ist ihre Boltzmann-Wahrscheinlichkeit. Aus der Population P werden N Individuen gem¨aß ihrer Boltzmann-Wahrscheinlichkeit ausgew¨ahlt. Mutation oder Heuristik: Eine Rundreise x wird durch eine zuf¨allige Rundreise x(ij) ∈ N (x) ersetzt, die aus x durch einen Lin-2-Opt-Schritt anhand zweier Zufallszahlen i, j ∈ {1, . . . , n} erzeugt wird.
23.4 Greedy-Algorithmen und Matroide
•
319
Kreuzung: Zwei Rundreisen x = (x1 , . . . , xn ) und y = (y1 , . . . , yn ) werden zuf¨ allig gekreuzt, indem eine Zufallszahl j ∈ {1, . . . , n} generiert wird und damit zwei Nachkommen gebildet werden u = (x1 , . . . , xj , yj+1 , . . . , yn )
und v = (y1 , . . . , yj , xj+1 , . . . , xn ).
Die Zahl j ist so zu w¨ ahlen, dass u und v wiederum Rundreisen sind.
23.4 Greedy-Algorithmen und Matroide Bergauf-Algorithmen und der Algorithmus von Kruskal sind so genannte Greedy-Algorithmen. Derartige Algorithmen w¨ahlen in jedem Schritt eine optimale Verbesserung und landen ob ihrer Kurzsichtigkeit oft in einem lokalen Optimum. Wir wollen der Frage nachgehen, unter welchen Umst¨anden Greedy-Algorithmen ein Optimierungsproblem l¨osen. Greedy-Algorithmen Sei A eine endliche nichtleere Menge, sei M ein aus Teilmengen von A bestehendes Mengensystem mit ∅ ∈ M und sei ω : A → R+ 0 eine Kostenfunktion auf A. Gesucht wird ein Element T des Mengensystems M mit maximalen Kosten ω(T ) = max{ω(T ′ ) | T ′ ∈ M }.
(23.7)
Dabei sind die Kosten einer Teilmenge T von A gleich die Summe der Kosten ihrer Elemente X ω(T ) = ω(t). (23.8) t∈T
Greedy ist ein Greedy-Algorithmus f¨ ur dieses Problem. Algorithmus 21.1 Greedy(A, M, ·) heißt optimal, wenn die f¨ ur jede Kostenfunktion ω : A → R+ berechnete L¨ o sung T = T (ω) optimal ist, d. h. 0 ω(T ) = max{ω(T ′ ) | T ′ ∈ M }.
(23.9)
Wir zeigen, dass optimale Greedy-Algorithmen durch Matroide charakterisierbar sind.
320
23 Kombinatorische Optimierung
Algorithmus 23.8 Greedy(A, M, ω) Eingabe: Menge A, Mengensystem M auf A, ω : A → R+ 0 . Ausgabe: T ∈ M mit maximalen Kosten 1: T := ∅ 2: while A 6= ∅ do 3: w¨ ahle a ∈ A mit ω(a) = max{ω(a′ ) | a′ ∈ A} 4: A := A \ {a}; 5: if T ∪ {a} ∈ M then 6: T := T ∪ {a}; 7: end if 8: end while 9: return T
Matroide Sei A eine nichtleere Menge und M ein aus Teilmengen von A bestehendes Mengensystem. Das Mengensystem M heißt ein Filter auf A, wenn M nach unten bzgl. Inklusion abgeschlossen ist, d. h., aus S ∈ M und T ⊆ S stets T ∈ M folgt. Ein Filter M auf A heißt ein Matroid, wenn M die Austauscheigenschaft besitzt, d. h., f¨ ur alle S, T ∈ M gilt |S| = |T | + 1
=⇒
∃s ∈ S \ T [T ∪ {s} ∈ M ].
(23.10)
Die Elemente eines Matroids M heißen unabh¨angige Mengen. Die unabh¨angigen Mengen maximaler M¨ achtigkeit werden Basen von M genannt. Matroide wurden von Hassler Whitney (907-1989) eingef¨ uhrt. Beispiele 23.13. • Sei A ein endlich-dimensionaler Vektorraum. Die Menge M aller linear unabh¨ angigen Teilmengen von A bildet ein Matroid, das lineare Matroid auf A. Die Austauscheigenschaft entspricht dem aus der Linearen Algebra bekannten Austauschsatz von Steinitz. • Sei A eine endliche Menge und k eine nat¨ urliche Zahl. Die Menge M aller Teilmengen T von A mit |T | ≤ k bildet ein Matroid, das uniforme Matroid auf A bzgl. k. • Sei G = (V, E) ein Graph. Die Menge M aller Teilmengen von E, die einen Wald aufspannen, bildet ein Matroid, das graphische Matroid auf G. Die Filtereigenschaft von M ist erf¨ ullt, weil ein Teilgraph eines Waldes wiederum ein Wald ist. Wir beweisen die Austauscheigenschaft. Seien S, T ∈ M mit |S| = |T | + 1. Dann gibt es eine Kante uv ∈ S, die nicht zu T geh¨ ort. Diese Kante kann nach Satz 21.16 so gew¨ahlt werden, dass einer ihrer Endpunkte in dem von S aufgespannten Wald liegt, aber nicht in dem von T aufgespannten Wald. Der von T ∪ {uv} aufgespannte Teilgraph von G ist dann ebenfalls ein Wald, also T ∪ {uv} ∈ M . Alle Basen eines endlich-dimensionalen Vektorraums sind gleichm¨achtig. Dies gilt allgemeiner f¨ ur die Basen eines endlichen Matroids.
23.4 Greedy-Algorithmen und Matroide
321
Lemma 23.14. Ist M ein Matroid auf einer endlichen Menge A, dann sind alle Basen von M gleichm¨achtig. Beweis. Seien S und T Basen von M . Angenommen, es w¨are |S| = 6 |T |. O.B.d.A. sei |S| > |T |. Wir verringern die Basis S um |S| − |T | − 1 Elemente. Die resultierende Menge S ′ liegt ebenfalls in M , weil M ein Filter ist. Es gilt |S ′ | = |T | + 1. Aufgrund der Austauscheigenschaft gibt es ein Element s ∈ S ′ \ T mit T ∪ {s} ∈ M . Also ist T widerspr¨ uchlicherweise keine Basis von M. ⊓ ⊔ Satz 23.15. Sei M ein Filter auf einer endlichen Menge A. Der Algorithmus Greedy(A, M, ·) ist optimal genau dann, wenn M ein Matroid auf A ist. Beweis. Sei M ein Filter auf A. Angenommen, M w¨ urde die Austauscheigenschaft nicht erf¨ ullen. Dann gibt es Elemente S, T ∈ M mit |S| = |T | + 1, sodass f¨ ur jedes Element s ∈ S \ T gilt T ∪ {s} 6∈ M . Wir setzen k = |T | und definieren eine Kostenfunktion ω : A → R+ oge 0 verm¨ k + 2, falls a ∈ T , ω(a) = k + 1, falls a ∈ S \ T , 0, sonst.
Der Algorithmus Greedy(A, M, ω) w¨ahlt definitionsgem¨aß zuerst alle Elemente der Menge T , weil sie allesamt maximale Kosten haben. Die Kosten von T sind ω(T ) = |T | · (k + 2) = k(k + 2).
Gem¨ aß obiger Annahme kann der Algorithmus kein weiteres Element ausw¨ahlen, um das Kosten zu erh¨ ohen. Es gilt aber ω(S) ≥ |S| · (k + 1) = (k + 1)2 > ω(T ). Also ist Greedy(A, M, ω) nicht optimal. Umgekehrt sei M ein Matroid auf A und ω : A → R+ 0 eine Abbildung. Sei T das von Greedy(A, M, ω) gelieferte Element aus M . Angenommen, T w¨ are keine Basis von M . Dann gibt es wie im Beweis von Lemma 23.14 ein Element s, sodass T ∪ {s} zum Matroid M geh¨ort. Ein solches Element s f¨ ugt Greedy(A, M, ω) aber widerspr¨ uchlicherweise der Menge T hinzu. Wir zeigen, dass f¨ ur jede weitere Basis S von M die Ungleichung ω(S) ≤ ω(T ) besteht. Seien T = {t1 , . . . , tk } mit ω(t1 ) ≥ . . . ≥ ω(tk ) und S = {s1 , . . . , sk } mit ω(s1 ) ≥ . . . ≥ ω(sk ). Nach Definition von T gilt ω(t1 ) ≥ ω(s1 ). Seien Tl−1 = {t1 , . . . , tl−1 } und Sl−1 = {s1 , . . . , sl−1 } mit ω(Tl−1 ) ≥ ω(Sl−1 ). Im Falle ω(tl ) ≥ ω(sl ) haben wir f¨ ur Tl = {t1 , . . . , tl } und Sl = {s1 , . . . , sl } sofort ω(Tl ) ≥ ω(Sl ). Andernfalls w¨ahlt der Algorithmus ein Element si ∈ Sl \ Tl , 1 ≤ i ≤ l, oder gar ein Element einer anderen Basis von M mit Kosten ≥ ω(si ), sodass Tl−1 ∪ {si } ∈ M . Wegen ω(si ) ≥ ω(sl ) > ω(tl ) hat der Algorithmus also vor tl schon si ausgew¨ahlt, weshalb dieser Fall nicht auftreten kann. Also ist Greedy(A, M, ·) optimal. ⊓ ⊔
322
23 Kombinatorische Optimierung
Dass dieser Satz nicht f¨ ur Filter gilt, zeigt das folgende Beispiel 23.16. Sei A = {a, b, c}. Die Menge M = {∅, {a}, {b}, {c}, {b, c}} ist ein Filter, aber kein Matroid auf A. Mit den Kosten ω(a) = 3 und ω(b) = ω(c) = 2 liefert Greedy(A, M, ω) die Menge T = {a} mit ω(T ) = 3, obgleich S = {b, c} mit ω(S) = 4 optimal ist. Wird obiger Satz auf das graphische Matroid angewendet, so ergibt sich ein wichtiges Korollar 23.17. Sei G ein endlicher Graph. MinSpannbaum(G, ·) ist ein optimaler Greedy-Algorithmus, der zu jeder Kostenfunktion ω auf den Kanten von G einen minimalen Spannbaum von G liefert.
23.5 Knotenf¨ arbungen Abschließend wird das Problem der Knotenf¨arbung von Graphen untersucht. Sei G = (V, E) ein Graph und k eine nat¨ urliche Zahl. Eine F¨arbung von G mit k Farben ist eine Abbildung f : V → k, die je zwei adjazenten Knoten von G unterschiedliche Farben zuordnet. Existiert eine solche Abbildung, dann heißt der Graph k-f¨arbbar. Die chromatische Zahl von G ist die minimale Anzahl von Farben, die zur F¨arbung von G notwendig sind, sie wird mit χ(G) bezeichnet. Satz 23.18. Ein Graph G ist 2-f¨arbbar genau dann, wenn G bipartit ist. Beweis. Ein bipartiter Graph G mit der 2-Partition {V1 , V2 } seiner Knotenmenge wird 2-gef¨ arbt, indem alle Knoten in V1 rot und alle Knoten in V2 blau gef¨ arbt werden. Umgekehrt enth¨alt ein 2-f¨arbbarer Graph keine Kreise von ungerader L¨ ange und ist somit nach Satz 21.19 bipartit. ⊓ ⊔ Das Entscheidungsproblem, zu einem Graphen G und einer nat¨ urlichen Zahl K eine F¨ arbung von G mit h¨ochstens K Farben zu finden, ist NPvollst¨ andig. Das zugeh¨ orige Optimierungsproblem, die chromatische Zahl eines Graphen zu ermitteln, ist NP-hart. Ein bekanntes Greedy-Verfahren zur Knotenf¨arbung eines Graphen G stammt von Welch und Powell. Hierbei werden die Knoten von G in einer beliebigen Reihenfolge geordnet. Der erste Knoten wird mit der Farbe 1 gef¨arbt. Ist der i-te Knoten schon gef¨arbt, dann wird der (i + 1)-te Knoten mit der kleinsten Farbe gef¨ arbt, die nicht f¨ ur seine Nachbarn verwendet wird. Die resultierende F¨ arbung h¨ angt von der jeweiligen Knotenreihenfolge ab.
23.5 Knotenf¨ arbungen
323
Algorithmus 23.9 Welch-Powell(G) Eingabe: Graph G mit Knotenfolge (v1 , . . . , vn ) Ausgabe: Knotenf¨ arbung f von G 1: f (v1 ) := 1; 2: for i := 2 to n do 3: F := ∅ 4: for j := 1 to i − 1 do 5: if vj ist adjazent zu vi then 6: F := F ∪ {f (vj )} 7: end if 8: end for 9: l := 1 10: while l ∈ F do 11: l := l + 1 12: end while 13: f (vi ) := l 14: end for 1
2
1
2
1
2
3
r
r
r
r
r
r
r
1
r
a
b
c
d
a
b
c
d
Abb. 23.4. Zwei Knotenf¨ arbungen eines Graphen.
Beispiel 23.19. Wir betrachen den Graphen G in Abb. 23.4. Der Algorithmus Welch-Powell(G) liefert f¨ ur die Knotenfolgen (a, b, c, d) und (a, d, b, c) folgende F¨ arbungen v a b c d f (v) 1 2 1 1 {a} {b} {c} F
v a d b c f (v) 1 1 2 3 ∅ {a} {b, d} F
Die erste F¨ arbung zeigt, dass der Graph 2-f¨arbbar ist. Satz 23.20. Sei G ein Graph. Bezeichnet ∆(G) den maximalen Grad von G und ω(G) die Knotenanzahl einer maximalen Clique in G, dann gilt ω(G) ≤ χ(G) ≤ ∆(G) + 1.
(23.11)
Ist der Graph G nichtregul¨ar und zusammenh¨angend, so gilt χ(G) ≤ ∆(G).
(23.12)
Beweis. Um eine Clique mit k Knoten zu f¨arben, sind mindestens k Farben notwendig. Also folgt ω(G) ≤ χ(G). Welch-Powell(G) liefert eine Knotenf¨ arbung, die mit maximal ∆(G) + 1 Farben auskommt, weil jeder Knoten h¨ ochstens ∆(G) Nachbarn besitzt. Damit ist die erste Aussage bewiesen.
324
23 Kombinatorische Optimierung
Um die zweite Aussage zu beweisen, werden die Knoten von G in einer Liste angeordnet. Sei k = ∆(G). Der letzte Knoten vn in der Liste wird so gew¨ ahlt, dass sein Grad kleiner als k ist. Ein solcher Knoten existiert, weil G nicht regul¨ ar ist. Die zu vn adjazenten Knoten werden in die Liste von hinten her eingef¨ ugt. Sei vi+1 der letzte Knoten in der Liste, dessen adjazente Knoten schon eingetragen wurden. Dann werden im n¨achsten Schritt alle zu vi adjazenten Knoten in die Liste von hinten her eingef¨ ugt. Da G zusammenh¨angend ist, werden auf diese Weise alle Knoten in die Liste aufgenommen. In jedem Schritt ist die Anzahl der eingef¨ ugten Knoten h¨ochstens k − 1. F¨ ur diese Liste liefert Welch-Powell(G) also eine k-F¨arbung von G. ⊓ ⊔ Sei pG (k) die Anzahl der k-F¨arbungen eines Graphen G. Die chromatische Zahl χ(G) ist per definitionem die kleinste nat¨ urliche Zahl k mit pG (k) ≥ 1. Jede k-F¨ arbung des vollst¨andigen Graphen Kn ist eine n-Permutation von k, mithin gilt pKn (k) = k(k − 1) · · · (k − n + 1).
(23.13)
Sei G ein Graph mit zwei nichtadjazenten Knoten u und v. Sei Guv derjenige Graph, der aus G durch Hinzuf¨ ugen der Kante uv entsteht, und sei Gu=v derjenige Graph, der aus G durch Identifizieren der beiden Knoten hervorgeht (Abb. 23.5). Die k-F¨ arbungen von G zerfallen in zwei disjunkte Teilmengen, r u r A A Ar
r A A
r G
Ar v
r r A A Ar
r A A
r
Ar
Guv
r A A
r
A r A A r Ar Gu=v
Abb. 23.5. Ein Graph G und die abgeleiteten Graphen Guv und Gu=v .
je nachdem, ob die Knoten u und v gleich oder verschieden gef¨arbt sind. Die k-F¨ arbungen von G, in denen die Knoten u und v verschieden gef¨arbt sind, entsprechen den k-F¨ arbungen von Guv , w¨ahrend die k-F¨arbungen von G, in denen die Knoten u und v gleich gef¨arbt sind, zu den k-F¨arbungen von Gu=v korrespondieren. Damit haben wir bewiesen Satz 23.21. Sei G ein Graph. Sind u und v nichtadjazente Knoten in G, dann gilt pG (k) = pGuv (k) + pGu=v (k)
(23.14)
χ(G) = min{χ(Guv ), χ(Gu=v )}.
(23.15)
und
23.5 Knotenf¨ arbungen
325
Die abgeleiteten Graphen Guv und Gu=v besitzen mindestens ein nichtadjazentes Paar von Knoten weniger als G. Wenn wir dieses Verfahren sukzessive auf Guv und Gu=v fortsetzen, so resultieren nach endlich vielen Schritten vollst¨ andige Graphen, f¨ ur die die Anzahl der F¨arbungen gem¨aß (23.13) bekannt ist (Abb. 23.6). r
r
r
r
=
r
r
+
r
=
=
r
r
r
r
r
r
r r @ @ r @r
+ 2
pK4 (k)
+
+
r
+
pK2 (k).
r
r
2pK3 (k)
Abb. 23.6. Iterative Berechnung des chromatischen Polynoms eines Quadrats.
Der Ausdruck pG (k) ist eine ganzzahlige Linearkombination von Ausur vollst¨ andige Graphen Kn . Der Ausdruck pKn (k) ist aber dr¨ ucken pKn (k) f¨ eine Polynomfunktion in k mit ganzzahligen Koeffizienten. Damit haben bewiesen Satz 23.22. Sei G ein Graph. Der Ausdruck pk (G) ist eine Polynomfunktion in k mit ganzzahligen Koeffizienten. Die Polynomfunktion pG (k) heißt das chromatisches Polynom von G.
Selbsttestaufgaben 23.1. Zeige, dass das Cliquenproblem in NP liegt. 23.2. Entwickle einen Backtracking-Algorithmus f¨ ur das Knoten¨ uberdeckungsproblem und gib eine geeignete Bounding-Funktion an. 23.3. Sei (M1 , . . . , Mn ) eine Familie von Mengen. Gesucht ist eine Teilfamilie (Mi1 , . . . , Mim ), so dass n [
j=1
Mj =
m [
Mij .
j=1
L¨ ose dieses Mengen¨ uberdeckungsproblem anhand eines Backtracking-Algorithmus’.
326
23 Kombinatorische Optimierung
23.4. Berechne alle k-F¨ arbungen eines endlichen Graphen anhand eines Backtracking-Algorithmus. 23.5. Entwickle einen Bergauf-Algorithmen f¨ ur das obige Mengen¨ uberdeckungsproblem. 23.6. In welcher Beziehung stehen die Entwurfsparameter von heuristischen Algorithmen? 23.7. Wir betrachten ein Rucksack-Problem mit 15 Gegenst¨ anden und Kapazit¨ at K0 = 1019. Die Gegenst¨ ande haben folgenden Wert und Gr¨ oße: Werte 535 440 418 120 512 386 48 574 376 146 143 106 55 124 266 Gr¨ oße 244 202 192 56 240 182 23 277 183 73 72 54 29 67 144 • •
Berechne einen optimalen Rucksack anhand eines Backtracking-Algorithmus. Berechne N¨ aherungsl¨ osungen durch die Bergaufmethode, simuliertes Ausgl¨ uhen und einen genetischen Algorithmus.
23.8. Berechne das chromatische Polynom eines F¨ unfecks. 23.9. Sei M ein Matroid auf einer endlichen Menge A. Der Rang einer Teilmenge T von A ist definiert durch rg(T ) = max{|X| | X ⊆ T, X ∈ M }. Zeige, dass f¨ ur alle S, T ⊆ A und a, b ∈ A gilt • • • • • •
0 ≤ rg(T ) ≤ |T |. T ∈ M ⇐⇒ rg(T ) = |T |. Monotonie: T ⊆ S =⇒ rg(T ) ≤ rg(S). rg(T ) ≤ rg(T ∪ {a}) ≤ rg(T ) + 1. Submodularit¨ at: rg(T ) + rg(S) ≥ rg(T ∪ S) + rg(T ∩ S). rg(T ∪ {a}) = rg(T ∪ {b}) = rg(T ) =⇒ rg(T ∪ {a, b}) = rg(T ).
24 Lineare Optimierung
Viele Optimierungsaufgaben lassen sich durch lineare Programme darstellen. Dies gilt insbesondere f¨ ur Produktions-, Transport-, Zuordnungs- und Netzwerkprobleme. Wir entwickeln die Grundlagen der linearen Optimierung und zeigen, dass die S¨ atze von Ford-Fulkerson und K¨onig-Egerv´ary allesamt Spezialf¨ alle des Dualit¨ atssatzes der linearen Optimierung sind.
24.1 Beispiele Wir spezifizieren drei weiter vorne schon behandelte Optimierungsaufgaben als lineare Optimierungsprobleme. Rucksackproblem Das rationale Rucksackproblem (23.5) wird durch folgende Aufgabe beschrieben P (24.1) max i fi xi . P g x ≤ K s.d. i i 0 i xi ≥ 0 ∀i ∈ {1, . . . , n} xi ≤ 1 ∀i ∈ {1, . . . , n} Paarungsproblem Sei G = (V, E) ein bipartiter Graph. Wir spezifizieren jede Teilmenge P von E durch einen Vektor x = (xe ) mit 1 falls e ∈ P , xe = (24.2) 0 sonst.
328
24 Lineare Optimierung
Das Problem, eine maximale Paarung in G zu finden, ist durch folgende Aufgabe gegeben P (24.3) max e∈E xe . P x ≤ 1 ∀v ∈ V s.d. v∈e e xe ∈ {0, 1} ∀e ∈ E Netzwerkproblem Sei N = (D, κ, q, s) ein Flussnetz. Sei fvw der Wert eines Flusses f auf der Kante vw. Das Problem, einen maximalen Fluss auf N zu finden, ist durch folgende Aufgabe spezifiziert P P (24.4) max v∈q+ fqv − v∈q− fvq s.d. P fvw ≤ κ(vw) P ∀vw ∈ E ∀v ∈ V \ {q, s} w∈v + fvw u∈v − fuv = fvw ≥ 0 ∀vw ∈ E
24.2 Lineare Programme und Dualit¨ at In diesem Abschnitt werden die Grundlagen der linearen Programmierung er¨ ortert. Alle Vektoren sind Spaltenvektoren. Lineare Programme Seien A ∈ Rm×n , b ∈ Rm und c ∈ Rn . Unter einem linearen Programm (LP) wird die Aufgabe verstanden, einen Vektor x ∈ Rn zu finden, sodass max cT x. s.d. Ax ≤ b x≥0
(24.5)
Ein Vektor x ∈ Rn heißt eine zul¨assige L¨osung von (24.5), wenn er die Nebenbedingungen erf¨ ullt, d. h., Ax ≤ b und x ≥ 0. Die Menge aller zul¨assigen L¨ osungen von (24.5) heißt zul¨assiger Bereich. Eine zul¨assige L¨osung x∗ heißt optimal, wenn f¨ ur jede zul¨ assige L¨osung x gilt cT x∗ ≥ cT x. Ein LP heißt l¨osbar, wenn es eine optimale L¨osung besitzt. Ein LP kann in kanonische oder Standardform transformiert werden, wie in der ersten Selbsttestaufgabe angegeben. Ein LP in der Form (24.5) wird primales LP genannt. Das zugeh¨orige duale LP lautet min bT y. s.d. AT y ≥ c y≥0
(24.6)
24.2 Lineare Programme und Dualit¨ at
329
Lemma 24.1. Ist x eine zul¨assige L¨osung des primalen LP (24.5) und y eine zul¨assige L¨osung des dualen LP (24.6), dann gilt cT x ≤ bT y. Beweis. Da x zul¨ assig ist und y ≥ 0, gilt m n m X X X aij xj yi . bi yi ≥ bT y = i=1
i=1
i=1
(24.8)
j=1
Da y zul¨ assig ist und x ≥ 0, erhellt sich ! n m n X X X cj xj = cT x. aij yi xj ≥ j=1
(24.7)
(24.9)
j=1
Damit ist die Aussage gezeigt.
⊓ ⊔
Beispiel 24.2. Wir betrachten das LP max x1 + 3x2 . s.d. −x1 + 3x2 ≤ 6 3x1 + x2 ≤ 12 xi ≥ 0 ∀i
(24.10)
Der zul¨ assige Bereich dieses LP ist in Abb. 24.1 illustriert. Die Zielfunktion f (x) = x1 + 3x2 beschreibt eine Parallelenschar, die senkrecht zum Vektor c = (1, 3)T steht. Die optimale L¨osung des LP ist x∗ = (3, 3)T mit dem Zielfunktionswert f (x∗ ) = 12. Das zugeh¨ orige duale LP lautet min 6y1 + 12y2 . s.d. −y1 + 3y2 ≤ 1 3y1 + y2 ≤ 3 yi ≥ 0 ∀i
(24.11)
Die zul¨ assigen L¨ osungen des primalen LP und dualen LP verhalten sich gem¨aß Lemma 24.1 wie in Abb. 24.2 illustriert. Korollar 24.3. Sei x eine zul¨assige L¨osung des primalen LP (24.5) und y eine zul¨assige L¨osung des dualen LP (24.6). Aus cT x = bT y folgt, dass x eine optimale L¨osung von (24.5) und y eine optimale L¨osung von (24.6) ist.
330
24 Lineare Optimierung
x2
4
3
−x1 + 3x2 = 6
3x1 + x2 = 12
2
1
0 0
1
2
3
4
5
6
x1 Abb. 24.1. Zul¨ assiger Bereich (dunkel) des LP (24.10).
0
12 primale
∞
duale zul¨ assige L¨ osungen
Abb. 24.2. Die Zielfunktionswerte des primalen LP (24.10) und des dualen LP (24.11).
Satz 24.4. (Farkas, 1902) Die Menge P = {x ∈ Rn | Ax = b, x ≥ 0} ist nicht leer genau dann, wenn f¨ ur jedes y ∈ Rm mit AT y ≥ 0 auch bT y ≥ 0 gilt. Beweis. Sei x ∈ P . Dann gilt f¨ ur jedes y ∈ Rm mit AT y ≥ 0 auch bT y = T T T (Ax) y = x (A y) ≥ 0. Umgekehrt sei P leer. Sei a(i) die i-te Spalte von A. Angenommen, Ax = b w¨ are nicht l¨ osbar. Dann ist b nicht darstellbar als Linearkombination der Spalten von A. Also hat die Matrix (A | b) den Rang r(A | b) = r(A) + 1 Ab und die Matrix A′ = den Rang r(A′ ) = r(A) + 1 = r(A | b). Somit 0 1 ist die letzte Zeile (0 | 1) linear abh¨angig von den ersten m Zeilen von A′ . P P T Also existieren Zahlen y1 , . . . , ym mit i a(i) yi = 0 und i bi yi = −1, d. h., y = (y1 , . . . , ym )T erf¨ ullt AT y = 0 und bT y = −1. Angenommen, Ax = b w¨are l¨osbar, aber unter den L¨osungen bef¨anden sich keine nichtnegativen. Im Falle n = 1 sei x1 a(1) = b und x1 < 0. Mit T y = −b folgt a(1) y = − x11 bT b ≥ 0 und bT y = −bT b < 0. Sei die Aussage f¨ ur
24.2 Lineare Programme und Dualit¨ at
331
alle r-dimensionalen LP mit r ≤ n − 1 richtig. Nach Induktionsannahme gibt T T es ein v ∈ Rm mit a(i) v ≥ 0, 1 ≤ i ≤ n − 1, und bT v < 0. Im Falle a(n) v ≥ 0 sind wir fertig. Andernfalls setzen wir T
T
a ˆ(i) = (a(i) v)a(n) − (a(n) v)a(i) ,
1 ≤ i ≤ n − 1,
ˆb = (bT v)a(n) − (a(n) T v)b. Pn−1 Angenommen, es g¨ abe xi ≥ 0, 1 ≤ i ≤ n − 1, so dass i=1 xi a ˆ(i) = ˆb. Dann folgt ! n−1 n−1 X X 1 T (n) (i) T xi a(i) = b. (24.12) x (a v) − b v a + − i T (n) a v i=1 i=1 Die Koeffizienten a(i) , 1 ≤ i ≤ n, sind nach Annahme Dies Pn−1 nichtnegativ. ˆ(i) = ˆb, xi ≥ 0, widerspricht der Annahme, dass P leer ist. Also ist i=1 xi a 1 ≤ i ≤ n − 1, nicht l¨ osbar. Nach Induktionsannahme gibt es ein w ∈ Rm mit T (i) T a ˆ w ≥ 0, 1 ≤ i ≤ n − 1, und ˆbT w < 0. F¨ ur den Vektor y = (a(n) w)v − T T T T (a(n) v)w gilt dann a(i) y = a ˆ(i) w ≥ 0, 1 ≤ i ≤ n − 1, a(n) y = 0 und bT y = ˆbT w < 0. ⊓ ⊔ Satz 24.5. Die Menge P = {x ∈ Rn | Ax ≤ b, x ≥ 0} ist nicht leer genau dann, wenn f¨ ur jedes y ∈ Rm mit AT y ≥ 0 und y ≥ 0 auch bT y ≥ 0 gilt. Beweis. Ist P nicht leer, dann wird wie im obigen Satz verfahren. Sei P leer. Dann ist auch P ′ = {x ∈ Rn | Ax+z = b, x ≥ 0, z ≥ 0} leer. Sei B = (A | Im ), wobei Im die m-reihige Einheitsmatrix ist. Dann ist P ′ leer genau dann, wenn P ′′ = {x ∈ Rn+m | Bv = b, v ≥ 0} leer ist. Nach dem obigen Satz gibt es ein y ∈ Rm mit AT y ≥ 0, y = Im y ≥ 0 und bT y < 0. ⊓ ⊔ Satz 24.6. (Dualit¨ atssatz) Seien ein primales und das zugeh¨orige duale Programm gegeben max cT x s.d. Ax ≤ b x≥0 •
•
min bT y. s.d. AT y ≥ c y≥0
(24.13)
Wenn beide Programme jeweils mindestens eine zul¨assige L¨osung haben, dann sind beide Programme l¨osbar. F¨ ur die optimalen L¨osungen x∗ und ∗ T ∗ T ∗ y gilt c x = b y . Wenn eines der beiden Programme keine zul¨assige L¨osung besitzt, dann hat keines der beiden Programme eine optimale L¨osung.
332
24 Lineare Optimierung
Beweis. Wir nehmen an, dass beide LP zul¨assige L¨osungen besitzen. Sei P = {(x, y) | Ax ≤ b, x ≥ 0, AT y ≥ c, y ≥ 0, cT x − bT y ≥ 0}. Wir setzen A 0 b A′ = 0 −AT und d = −c . −cT bT 0
Dann folgt P = {z | A′ z ≤ d, z ≥ 0}. Angenommen, P w¨are leer. Dann gibt es nach Satz 24.5 ein y ∈ Rm+n+1 mit A′T y ≥ 0, y ≥ 0 und dT y < 0. D. h., es gibt u ∈ Rm , v ∈ Rn und κ ∈ R mit u ≥ 0, v ≥ 0 und κ ≥ 0, so dass AT u ≥ κc,
Av ≤ κb,
bT u < cT v.
(24.14)
Angenommen, es w¨ are κ = 0. Sei x eine zul¨assige L¨osung des primalen LP und y eine zul¨ assige L¨ osung des dualen LP. Dann folgt widerspr¨ uchlicherweise 0 ≤ xT (AT u) = (Ax)T u ≤ bT u < cT v ≤ (AT y)T v = y T (Av) ≤ 0. Also muss κ > 0 sein. Setzen wir x = κ1 v und y = κ1 u, dann erhellt sich Ax ≤ b, AT y ≥ c, x ≥ 0 und y ≥ 0. Mit Lemma 24.1 ergibt sich cT v = κ(cT x) ≤ κ(bT y) = bT u, was (24.14) widerspricht. Also ist P nicht leer und mit Korollar 24.3 folgt die erste Aussage. Sei das primale LP nicht l¨osbar. Dann gibt es nach Satz 24.5 ein y ∈ Rm mit AT y ≥ 0, y ≥ 0 und bT y < 0. Sei y ′ eine zul¨assige L¨osung des dualen LP. Dann ist auch y ′ + κy eine zul¨assige L¨osung des dualen LP f¨ ur jedes κ ≥ 0. Es gilt bT (y ′ + κy) = bT y ′ + κ(bT y). Dieser Ausdruck kann wegen bT y < 0 beliebig klein werden. Also ist das duale LP nicht l¨osbar. Die Umkehrung wird analog bewiesen. ⊓ ⊔ Beispiel 24.7. Sei G = (V, E) ein Graph mit der Inzidenzmatrix A = (av,e ). Das Problem, eine maximale Paarung in G finden, lautet nach (24.3) max 1T x. s.d. Ax ≤ 1 xe ∈ {0, 1} ∀e ∈ E
(24.15)
Wir relaxieren dieses Problem, indem wir reellwertige L¨osungen zulassen, und erhalten max 1T x. s.d. Ax ≤ 1 x≥0
(24.16)
min 1T y. s.d. AT y ≥ 1 y≥0
(24.17)
Das duale Problem lautet
24.3 Der zul¨ assige Bereich und die Rolle der Ecken
333
Wir restringieren die Variablen und erhalten das ganzzahlige LP min 1T y. s.d. AT y ≥ 1 yv ∈ {0, 1} ∀v ∈ V
(24.18)
Jede Kante e = uv in G liefert eine Nebenbedingung yu + yv ≥ 1 in AT y ≥ 1. Eine optimale L¨ osung y = (yv ) von (24.18) beschreibt eine minimale Knoten¨ uberdeckung von G.
24.3 Der zul¨ assige Bereich und die Rolle der Ecken Eine Teilmenge A von Rn heißt konvex, wenn mit x, y ∈ A auch λx+(1−λ)y ∈ A f¨ ur alle λ ∈ [0, 1]. Eine konvexe Menge enth¨alt also mit je zwei Punkten auch die Strecke zwischen diesen Punkten. Lemma 24.8. Sei A ⊆ Rn eine konvexe Menge und r eine nat¨ urliche Zahl. P (i) (1) (r) λ x ∈ A f¨ u r alle λ , . . . , λr ≥ 0 mit Sind x , . . . , x ∈ A, dann ist i 1 i Pr λ = 1. i i=1 Der Beweis wird durch vollst¨andige Induktion nach r gef¨ uhrt. Die konvexe H¨ ulle einer Menge A ⊆ Rn ist definiert durch conv(A) = {
r X i=1
λi x(i) | λi ≥ 0, x(i) ∈ A,
r X
λi = 1, r ≥ 1}.
(24.19)
i=1
Die konvexe H¨ ulle von A ist die kleinste konvexe Menge, die A enth¨alt. Ist A endlich, dann wird conv(A) ein konvexes Polyeder genannt. Sei P ein konvexes Polyeder. Ein Punkt x ∈ P heißt eine Ecke von P , wenn f¨ ur jede Darstellung x=
r X i=1
λi x(i) ,
mit x(i) ∈ P , λi ≥ 0, und
Pr
i=1
λi = 1,
(24.20)
gilt x = x(i) f¨ ur alle i mit λi > 0. Eine Ecke x l¨ asst sich also nicht als eine P r konvexe Linearkombination (d. h., λi ≥ 0 und i=1 λi = 1) von anderen Punkten in P schreiben. Insbesondere liegt eine Ecke von P nicht zwischen zwei anderen Punkten in P . Beispiel 24.9. Die Ecken des LP (24.10) sind (0, 0)T , (4, 0)T , (3, 3)T und (0, 2)T .
334
24 Lineare Optimierung
Satz 24.10. Ein konvexes Polyeder ist die konvexe H¨ ulle seiner Ecken. Beweis. Sei A = {x(1) , . . . , x(r) } und P = conv(A). Aus A k¨onnen alle Punkte entfernt werden, die sich als konvexe Linearkombination der u ¨ brigen Punkte darstellen lassen. Denn sei etwa x(1) =
r X
λi x(i)
mit λi ≥ 0, und
i=2
Pr
i=2
λi = 1.
F¨ ur jedes y ∈ P gilt y=
r X
µi x(i)
mit µi ≥ 0, und
i=1
Pr
i=1
µi = 1.
Pr Pr Es folgt y = i=2 (µ1 λi + µi )x(i) und i=2 (µ1 λi + µi ) = 1. Somit ist P = conv({x(2) , . . . , x(r) }). Es kann angenommen werden, dass kein Punkt in A eine konvexe Linearkombination der u ¨ brigen Punkte in A ist. Denn sei x(1) =
t X
µj y (j)
mit y (j) ∈ P , µj ≥ 0, und
j=1
Pt
j=1
µj = 1,
und y (j) =
r X
λji x(i)
mit λji ≥ 0, und
i=1
Dann ist x(1) =
Pr
i=1
Pt
(1 −
j=1
t X j=1
Pr
i=1
λji = 1.
µj λji x(i) , also
µj λj1 )x(1) =
r X t X
µj λji x(i) .
i=2 j=1
(1) Da keine konvexe Linearkombination von x(2) , . . . , x(r) ist, erhellt sich Pt x ur jedes j mit µj > 0. Also ist x(1) = y (j) j=1 µj λj1 = 1 und somit λj1 = 1 f¨ f¨ ur jedes j mit µj > 0. Folglich ist x(1) eine Ecke von P . ⊓ ⊔
Wir untersuchen im Folgenden das LP max cT x. s.d. Ax = b x≥0
(24.21)
Wir k¨ onnen m ≤ n annehmen und dass A den Rang r(A) = m besitzt. Im Falle m > n w¨ aren m − r(A) Gleichungen u ussig. Sei P = {x | Ax = b, x ≥ 0} ¨berfl¨ der zul¨ assige Bereich von (24.21) und bezeichne a(i) die i-te Spalte von A. Sei x ∈ P und I = {i | xi > 0} die Menge aller Indizes i mit xi > 0. Die Menge
24.3 Der zul¨ assige Bereich und die Rolle der Ecken
335
{a(i) | i ∈ I} wird die zu x geh¨orende Basis von A genannt. F¨ ur die zu x geh¨ orende Basis von A gilt X xi a(i) = b. (24.22) i∈I
Satz 24.11. Ein Punkt x ∈ P ist eine Ecke von P genau dann, wenn die zu x geh¨orende Basis von A linear unabh¨angig ist. Beweis. Sei x ist eine Ecke von P und I = {i | xi > 0}. Angenommen, {a(i) | i ∈ I} w¨ are linear abh¨angig. gibt es Zahlen di , i ∈ I, die nicht P Dann (i) d a = 0. Setzen wir dj = 0 f¨ ur alle alle gleich Null sind, so dass i∈I i j ∈ {1, . . . , n} \ I, dann ist Ad = 0 f¨ ur d = (d1 , . . . , dn )T . Wir zeigen, dass y = x − θd und z = x + θd in P liegen, wobei xi | i ∈ I, di 6= 0 > 0. θ = min |di | Wegen Ad = 0 ist Ay = b = Az. Sei 1 ≤ i ≤ n. Ist i 6∈ I, dann ist di = 0 und somit yi = 0 = zi . Ist i ∈ I und di = 0, so ist yi = xi = zi . Ist i ∈ I und di 6= 0, dann ist θ|di | ≤ |dxii | · |di | = xi und deshalb yi = xi − θdi ≥ 0 und zi = xi + θdi ≥ 0. Also liegen y und z in P . Die Punkte y und z sind wegen θ > 0 uchlicherweise von x verschieden und es gilt x = 21 y + 12 z. Also ist x widerspr¨ keine Ecke von P . Umgekehrt sei {a(i) | i ∈ I} linear unabh¨angig. Angenommen, es w¨are x = λy + (1 − λ)z, wobei 0 < λ < 1 und y, z ∈ P . Nach Voraussetzung ist x die eindeutige L¨ osung des linearen Gleichungssystems Ax = b mit xi = 0 f¨ ur alle i 6∈ I. Da y der Gleichung Ay = b gen¨ ugt, gibt es einen Index i 6∈ I mit yi > 0. Wegen z ≥ 0 ist dann die i-te Komponente von λy + (1 − λ)z widerspr¨ uchlicherweise positiv. ⊓ ⊔ Jede Ecke von P hat also h¨ochstens m positive Koordinaten. Die Anzahl der Ecken von P ist somit endlich. Eine Ecke von P heißt nichtentartet, wenn sie m positive Koordinaten besitzt, andernfalls heißt sie entartet. Satz 24.12. Ist das LP (24.21) l¨osbar und sein zul¨assiger Bereich ein konvexes Polyeder, dann gibt es unter den optimalen L¨osungen eine Ecke. Beweis. Sei A = {x(1) , . . . , x(r) } die Menge aller Ecken von P und P = conv(A). Nach Satz 24.10 hat jedes x ∈ P die Form x=
r X
λi x(i)
mit λi ≥ 0,
i=1
Pr
i=1
λi = 1.
Sei x(k) eine Ecke mit cT x(k) = max{cT x(i) | 1 ≤ i ≤ r}. Dann folgt cT x =
r X i=1
(k)
Also ist x
(i)
λi cT xi ≤
r X
λi cT x(k) = cT x(k) .
i=1
eine optimale L¨osung des LP.
⊓ ⊔
336
24 Lineare Optimierung
Im obigen Satz wurde angenommen, dass der zul¨assige Bereich von (24.21) ein konvexes Polyeder bildet. Im Allgemeinen ist der zul¨assige Bereich eines LP gegeben durch eine Summe B = P + K = {x + y | x ∈ A, y ∈ K},
(24.23)
wobei P ein konvexes Polyeder und K = {x | Ax = 0, x ≥ 0} ein endlich erzeugter konvexer Kegel ist. Es kann gezeigt werden, dass der Satz 24.12 in dieser Verallgemeinerung g¨ ultig bleibt. Beispiel 24.13. Wir schreiben das LP (24.10) in Standardform max x1 + 3x2 s.d. −x1 + 3x2 + x3 = 6 3x1 + x2 + x4 = 12 xi ≥ 0 ∀i indem wir jede Ungleichung durch eine Schlupfvariable in eine Gleichung transformieren (x3 ≥ 0 und x4 ≥ 0). Die Ecken dieses LP lassen sich nach Satz 24.11 durch 42 = 6 Gleichungssysteme ermitteln −x1 + 3x2 = 6 3x1 + x2 = 12 x(1) = (3, 3, 0, 0)T −x1 =6 3x1 + x4 = 12 x(3) = (−6, 0, 0, 30)T 3x2 =6 x2 + x4 = 12 x(5) = (0, 2, 0, 10)T
−x1 + x3 = 6 3x1 = 12 x(2) = (4, 0, 10, 0)T 3x2 + x3 = 6 x2 = 12 x(4) = (0, 12, −30, 0)T x3 = 6 x4 = 12 x(6) = (0, 0, 6, 12)T
Die optimale L¨ osung ist x(1) = (3, 3, 0, 0)T mit dem Zielfunktionswert 12. Also T ist (3, 3) die optimale L¨ osung von (24.10).
24.4 Ganzzahlige Programmierung Ein ganzzahliges lineares Programm (ILP) hat die Form max cT x. s.d. Ax = b x≥0 xi ∈ Z ∀i
(24.24)
24.4 Ganzzahlige Programmierung
337
Wir relaxieren das Problem, indem wir reellwertige L¨osungen zulassen, und erhalten max cT x. s.d. Ax = b x≥0
(24.25)
Der zul¨ assige Bereich P = {x | Ax = b, x ≥ 0} dieses LP heißt ganzzahlig, wenn jede Ecke von P ganzzahlig ist. Wir entwickeln eine hinreichende Bedingung f¨ ur die Ganzzahligkeit von P . Eine quadratische Matrix A heißt modular, wenn A die Determinante ±1 hat. Eine ganzzahlige Matrix A heißt total unimodular, wenn jede nichtsingul¨ are quadratische Untermatrix von A modular ist. Eine total unimodulare Matrix besteht also nur aus Eintr¨agen 0, 1 und −1. Lemma 24.14. Ist A eine total unimodulare m × n-Matrix, dann sind folgende Matrizen ebenfalls total unimodular: −A, AT , (A | Im ) und (A | −A). Ebenso ist jede Matrix total unimodular, die durch Multiplikation einer Zeile oder Spalte von A mit −1 entsteht. Satz 24.15. Ist A eine total unimodulare m × n-Matrix und b ∈ Zm , dann ist P = {x | Ax = b, x ≥ 0} ganzzahlig. Beweis. Sei x eine Ecke P von P und {a(i) | i ∈ I} die zu x geh¨orende Basis ur die Komponenten dieses Gleivon A. Nach (24.22) ist i∈I xi a(i) = b. F¨ chungssystems gilt nach der Cramerschen Regel xi =
det(B (i) ) , det(B)
i ∈ I,
wobei B die aus den Spalten a(i) , i ∈ I, gebildete Matrix ist und B (i) aus B entsteht, indem die i-te Spalte durch b ersetzt wird. Da A total unimodular ist, folgt mit Satz 24.11 sofort det(B) = ±1. Nach Voraussetzung sind alle Eintr¨ age von B (i) ganzzahlig, sodass det(B (i) ) ganzzahlig ist. Folglich ist x ganzzahlig. ⊓ ⊔ Lemma 24.16. Die Inzidenzmatrix eines Graphen G ist total unimodular genau dann, wenn G bipartit ist. Beweis. Sei G nicht bipartit und A die Inzidenzmatrix von G. Nach Satz 21.19 enth¨ alt G einen einfachen Kreis ungerader L¨ange. Die zu diesem Kreis geh¨ orende quadratische Untermatrix von A hat die Determinante ±2.
338
24 Lineare Optimierung
Sei G = (V, E) bipartit mit der Knotenzerlegung V = V1 ∪ V2 und A die Inzidenzmatrix von G. F¨ ur jede einreihige Untermatrix von A ist die Aussage richtig, weil A nur Eintr¨ age 0 und 1 enth¨alt. Sei die Aussage f¨ ur t-reihige Untermatrizen von A schon bewiesen. Sei B eine (t + 1)-reihige Untermatrix von A. Wir unterscheiden drei F¨alle: • •
•
Die Matrix B enth¨ alt eine Nullspalte. Dann ist det(B) = 0. Die Matrix B enth¨ alt eine Spalte j mit genau einer Eins, also etwa aij = 1. Dann ist det(B) = 1 · det(B ′ ), wobei B ′ diejenige Matrix ist, die aus B durch Streichen der i-ten Zeile und j-ten Spalte entsteht. Mit der Induktionsannahme u ¨ber B ′ folgt die Behauptung. Ansonsten enth¨ alt B pro Spalte zwei Einsen, weil A eine Inzidenzmatrix ist. Da G bipartit ist, k¨ onnen die Zeilen von B in zwei Mengen { b(v) | v ∈ ′ ′ (v) V1 }, V1 ⊆ V1 , und { b | v ∈ V2′ }, V2′ ⊆ V2 , zerlegt werden. Dabei gilt X X b(v) . b(v) = v∈V1′
v∈V2′
Also ist det(B) = 0.
⊓ ⊔
Beispiel 24.17. Sei G = (V, E) ein bipartiter Graph mit der Inzidenzmatrix A = (av,e ). Nach den Lemmata 24.14 und 24.16 sind A und AT total unimodular. Also hat die Relaxation (24.16) des Problems, eine maximale Paarung in G zu finden, nach Satz 24.15 eine optimale ganzzahlige L¨osung x∗ . Ebenso hat die Relaxation (24.17) des Problems, eine minimale Knoten¨ uberdeckung von G zu finden, eine optimale ganzzahlige L¨osung y ∗ . Aufgrund der Nebenbedingungen ist x∗ ∈ {0, 1}|E| und y ∗ ∈ {0, 1}|V | . Also beschreibt x∗ eine maximale Paarung in G und y ∗ eine minimale Knoten¨ uberdeckung von G. Nach dem Dualit¨ atssatz haben die beiden relaxierten LP (24.16) und (24.17) den gleichen Zielfunktionswert, d. h., 1T x∗ = 1T y ∗ . Damit haben wir den Satz von K¨ onig-Egerv´ary mithilfe der linearen Optimierung bewiesen. Sei D = (V, E) ein Digraph. Die Inzidenzmatrix von D = (V, E) ist eine Matrix A = (av,e ), definiert durch 1 falls v = e− , av,e = −1 falls v = e+ , 0 sonst.
Jede Spalte von A enth¨ alt genau einen Eintrag 1 und −1, die restlichen Eintr¨ age sind 0. Lemma 24.18. Die Inzidenzmatrix eines Digraphen ist total unimodular.
Beweis. Sei D = (V, E) ein Digraph mit der Inzidenzmatrix A = (av,e ). F¨ ur jede einreihige Untermatrix von A ist die Aussage richtig, da A nur Eintr¨age 0, 1 und −1 enth¨ alt. Sei die Aussage f¨ ur t-reihige Untermatrizen von A schon bewiesen. Sei B eine (t + 1)-reihige Untermatrix von A. Wir unterscheiden drei F¨ alle:
24.4 Ganzzahlige Programmierung
• •
•
339
Die Matrix B enth¨ alt eine Nullspalte. Dann ist det(B) = 0. Die Matrix B enth¨ alt eine Spalte j mit genau einer Eins, also etwa aij = 1. Dann ist det(B) = 1 · det(B ′ ), wobei B ′ diejenige Matrix ist, die aus B durch Streichen der i-ten Zeile und j-ten Spalte entsteht. Mit der Induktionsannahme u ¨ber B ′ folgt die Behauptung. Ansosten enth¨ alt B pro Spalte eine 1 und eine -1. Dann ist die Summe der Zeilen von B gleich 0 und somit det(B) = 0. ⊓ ⊔
Beispiel 24.19. Sei N = (D, κ, q, s) ein Flussnetz und A = (av,e ) die Inzidenzmatrix von D. Sei A′ die durch Streichen der Zeilen q und s aus A entstehende Matrix. Dann lauten die zu Kirchhoffs Gesetz geh¨orenden Nebenbedingungen A′ x = 0. Sei wT die Zeile q von A und beschreibe c ≥ 0 die Kapazit¨at von N . Dann lautet das Problem, einen maximalen Fluss auf N zu finden, max wT x. s.d. A′ x = 0 x≤c x≥0
(24.26)
Die Koeffizientenmatrix A′ dieses LP ist total unimodular, weil A nach Lemma 24.18 total unimodular ist. Wegen Satz 24.15 hat dieses LP eine optimale ganzzahlige L¨ osung x∗ . Das duale Problem lautet min cT y. s.d. A′T z + y ≥ w y≥0
(24.27)
F¨ ur die Nebenbedingungen gilt ′T A I z w ≥ . 0 I y 0 Da A nach Lemma 24.18 total unimodular ist, ist auch diese Koeffizientenmatrix total unimodular. Also hat das duale Problem nach Satz 24.15 eine optimale ganzzahlige L¨ osung (y ∗ , z ∗ ). Wir erweitern den Vektor z ∗ um Komponenten q und s anhand −1 falls v = q, 0 falls v = s, zˆv∗ = ∗ zv sonst.
Die Menge S = {v ∈ V | zˆv∗ ≤ −1} ist definitionsgem¨aß einen Schnitt in N . Es gilt AT zˆ∗ + y ∗ = (A′T z ∗ − w) + y ∗ ≥ 0. Also gilt f¨ ur jede Kante vw ∗ ∗ die Ungleichung yvw + zˆv∗ − zˆw ≥ 0. Daraus erhellt sich f¨ ur jede Kante vw ∗ mit v ∈ S und w 6∈ S sofort yvw ≥ 1, woraus sich aus Optimalit¨atsgr¨ unden
340
24 Lineare Optimierung
∗ yvw = 1 ergibt. Weiter gilt f¨ ur jede Kante vw mit w ∈ S und v 6∈ S, dass ∗ ∗ ∗ ∗ yvw + zˆv∗ − zˆw ≥ yvw ≥ 0, mithin aus Optimalit¨atsgr¨ unden yvw = 0. Schließlich ∗ ist aus Optimalit¨ atsgr¨ unden yvw = 0 f¨ ur jede Kante mit v, w ∈ S oder v, w 6∈ S. Also definiert S einen minimalen Schnitt in N mit der Kapazit¨at cT y ∗ . Nach dem Dualit¨ atssatz haben die beiden relaxierten LP (24.26) und (24.27) den gleichen Zielfunktionswert, d. h., wT x∗ = cT y ∗ . Damit haben wir den Satz von Ford-Fulkerson mithilfe der linearen Optimierung gezeigt.
24.5 Das Simplex-Verfahren Wir betrachten das LP max cT x s.d. Ax = b x≥0
(24.28)
wobei A ∈ Rm×n , b ∈ Rm und c ∈ Rn mit m ≤ n und r(A) = m. Sei x(0) eine Ecke von P = {x | Ax = b, x ≥ 0} mit der Basis {a(i) | i ∈ I}. Dann gibt es eindeutig bestimmte Zahlen αij ∈ R, i ∈ I und j ∈ n, mit X a(j) = αij a(i) , 1 ≤ j ≤ n. (24.29) i∈I
(i)
Da {a | i ∈ I} eine Basis ist, folgt αii = 1 f¨ ur alle i ∈ I und αij = 0 f¨ ur alle i, j ∈ I mit i 6= j. Lemma 24.20. F¨ ur jedes x ∈ P gilt cT x = cT x(0) −
X
(dj − cj )xj ,
(24.30)
j6∈I
wobei dj =
X
j 6∈ I.
αij ci ,
(24.31)
i∈I
Beweis. F¨ ur die Ecke x(0) von P gilt mit (24.30) b=
n X
xj a(j) =
n X
X
xj
j=1
j=1
P
(0)
i∈I
αij a(i)
i∈I
!
(0)
Durch Koeffizientenvergleich erhellt sich xi f¨ ur alle i ∈ I. Somit folgt cT x =
n X j=1
cj xj =
X i∈I
ci xi +
X j6∈I
Damit ist die Aussage bewiesen.
cj xj =
=
X i∈I
=
X i∈I
xi a(i) = b. Andererseits folgt
Pn
j=1
(0)
ci xi
−
n X j=1
αij xj a(i) .
αij xj = xi +
P
j6∈I
αij xj
XX (αij ci − cj )xj . j6∈I i∈I
⊓ ⊔
24.5 Das Simplex-Verfahren
341
Satz 24.21. Unter den obigen Voraussetzungen gilt: 1. Sei dj ≥ cj f¨ ur alle j 6∈ I. Dann ist x(0) eine optimale L¨osung des LP (24.28). 2. Es gibt ein j 6∈ I mit dj < cj , so dass αij ≤ 0 f¨ ur alle i ∈ I. Dann ist das LP (24.28) nicht l¨osbar. 3. F¨ ur jedes j 6∈ I mit dj < cj gibt es ein i ∈ I mit αij > 0. Dann gibt es eine Ecke x(1) von P mit cT x(1) ≥ cT x(0) . Der Fall cT x(1) = cT x(0) kann nur eintreten, wenn x(0) entartet ist. Beweis. Sei dj ≥ cj f¨ ur alle j 6∈ I. Sei x ∈ P . Mit Lemma 24.20 und der Voraussetzung folgt cT x ≤ cT x(0) . Also ist x(0) optimal. Sei l 6∈ I mit dl < cl und αil ≤ 0 f¨ ur alle i ∈ I. Sei δ > 0. Wir definieren x ∈ Rn durch (0) xi − δαil falls i ∈ I xi = δ (24.32) falls i = l 0 sonst.
Aufgrund der Annahme ist x ≥ 0 und mit (24.29) gilt X Ax = xi a(i) + δa(l) i∈I
=
X
(0)
xi a(i) − δ
i∈I
=
X
X
αil a(i) + δa(l)
i∈I
(0) xi a(i)
− δa(l) + δa(l) = b.
i∈I
Also ist x ∈ P . Nach (24.30) gilt cT x = cT x(0) − (dl − cl )δ. Wegen dl < cl ist cT x ≥ cT x(0) . Da δ > 0 beliebig w¨ahlbar ist, wird cT x beliebig groß. Also ist das LP (24.28) nicht l¨ osbar. Seien i ∈ I und l 6∈ I mit dl < cl und αil > 0. Wir setzen (0)
δ = min{
xi | i ∈ I, αil > 0}. αil (0)
Sei x wie in (24.32) definiert. Sei k ∈ I mit δ = xk /αkl . F¨ ur jedes i ∈ I mit αil > 0 gilt (0)
xi = xi
(0)
−
(0)
xk x (0) αil ≥ xi − i αil = 0, αkl αil
also x ≥ 0. Wie im zweiten Fall folgt x ∈ P und cT x = cT x(0) − (dl − cl )δ.
342
24 Lineare Optimierung x
(0)
(0)
Wegen xk = xk − αkkl αkl = 0 liegt die zu x geh¨orige Basis in {a(i) | i ∈ (I \ {k}) ∪ {l}}. Angenommen, diese Menge w¨are linear abh¨angig. Dann ist X κi a(i) + κl a(l) = 0, i∈I,i6=k
wobei nicht alle Koeffizienten verschwinden. Da {a(i) | i ∈ I} eine Basis ist, folgt κl 6= 0 und somit X κi (l) a(i) . a = − κl i∈I,i6=k
Durch Koeffizientenvergleich mit (24.29) erhellt sich widerspr¨ uchlicherweise αkl = 0. Also ist obige Menge linear unabh¨angig. Nach Satz 24.11 ist der zugeh¨ orige Vektor x eine Ecke von P , der die gew¨ unschten Eigenschaften besitzt. ⊓ ⊔ Wir untersuchen den dritten Fall des obigen Satzes n¨aher. In ihm wird aus einer gegebenen Ecke x(0) durch einen Basiswechsel eine neue Ecke x(1) bestimmt. Dabei wird die Basis {a(i) | i ∈ I} von x(0) durch die Basis {a(i) | i ∈ I ′ } von x(1) mit I ′ = (I \ {k}) ∪ {l} ersetzt. Die dazu notwendigen Daten werden in einem so genannten Tableau angeordnet xi xj xk xl . . . xi xk .. .
(0) xi (0) xk
1 αij 0 αil 0 αkj 1 αkl
.. . cT x(0) 0 fj 0 fl . . .
(24.33)
wobei fi = di − ci f¨ ur alle 1 ≤ i ≤ n. F¨ ur den Basiswechsel spielt das so genannte Pivotelement αkl > 0 eine wichtige Rolle. Das Tableau zur neuen Basis wird anhand eines so genannten Austauschschritts erhalten, in den die k-te Zeile und l-te Spalte involviert sind xi xj xk xl . . . xi xl .. .
(1) xi (1) xl
1 α′ij α′ik 0 0 α′lj α′kl 1
(24.34)
.. . cT x(1) 0 fj′ fk′ 0 . . .
Nach (24.29) ist a
(k)
X αil 1 (l) a(i) + a = − αkl αkl i∈I,i6=k
(24.35)
24.5 Das Simplex-Verfahren
343
und folglich X
a(j) =
αij a(i) + αkj a(k)
i∈I,i6=k
X αkj (l) αil = αkj a(i) + a , αij − αkl αkl
j 6= l.
(24.36)
i∈I,i6=k
Sei Ai die i-te Zeile von A = (αij ) bzw. (24.33) und A′i die i-te Zeile von A = (α′ij ) bzw. (24.34). Mit (24.35) und (24.36) folgt ′
A′i =
(0)
(1)
il Ak falls i 6= l Ai − ααkl 1 A falls i = l. k αkl
(1)
(0)
(24.37)
(0)
il xk f¨ ur alle i ∈ I mit i 6= l. Weiter ist xl = α1kl xk und xi = xi − ααkl Also gilt (24.37) auch f¨ ur die Eckenspalte. Sei f = d − c, wobei di = 0 f¨ urPalle i ∈ I, und f ′ =P d′ − c, wobei d′i = 0 f¨ ur ′ ′ alle i ∈ I . Nach (24.31) ist d = i∈I ci Ai und d = i∈I ′ ci A′i . Mit (24.31) und (24.37) folgt X f′ = ci A′i − c
i∈I ′
1 αil Ak + cl Ak − c ci Ai − αkl αkl i∈I,i6=k X X αil ci cl Ak + Ak − c = ci Ai − αkl αkl i∈I,i6=k i∈I,i6=k ! X cl dl Ak − ck Ak + Ak − c = ci Ai − ck Ak − αkl αkl =
X
i∈I
fl Ak − c αkl fl =f− Ak . αkl =d−
(24.38) (0)
l Nach (24.30) gilt schließlich cT x(1) = cT x(0) −δfl = cT x(0) − αfkl xk . Also wird das Tableau (24.34) aus dem Tableau (24.33) durch die in (24.37) beschriebene Gauss-Elimination erhalten. Um das erste Tableau aufzustellen, werden zwei F¨alle unterschieden:
1. Sei ein LP in kanonischer Form vorgelegt max cT y. s.d. Ay ≤ b y≥0
(24.39)
344
24 Lineare Optimierung
Sei b ≥ 0. Dieses LP wird in Standardform transformiert max cT x, s.d. (A | Im ) x = b x≥0
(24.40)
wobei Im die m × m-Einheitsmatrix bezeichnet. Dieses LP besitzt x = (0, b)T als zul¨ assige L¨ osung. Nach Satz 24.11 ist x eine Ecke mit den Einheitsvektoren von Im als Basis. Daraus erhalten wir das Anfangstableau
xn+1 ... xn+m
x1 . . . xn xn+1 . . . xn+m b1 α11 . . . α1n 1 0 .. . bm αm1 . . . αmn 0 1 0 −c1 . . . −cn 0 . . . 0
(24.41)
2. Sei ein LP in Standardform gegeben max cT x s.d. Ax = b x≥0
(24.42)
O.B.d.A. sei b ≥ 0. Wir betrachten zuerst das LP min 1T y s.d. Ax + y = b x ≥ 0, y ≥ 0
(24.43)
Dieses LP hat wegen b ≥ 0 die zul¨assige L¨osung (x, y) = (0, b), die nach Satz 24.11 eine Ecke darstellt. Lemma 24.22. Das LP (24.42) hat eine zul¨assige L¨osung genau dann, wenn das LP (24.43) den optimalen Wert 0 hat. Beweis. Sei x zul¨ assig in (24.42). Dann ist y ∗ = b − Ax = 0 und somit (x, y ∗ ) eine optimale L¨ osung von (24.43). Sei umgekehrt (x∗ , y ∗ ) eine optimale L¨ osung von (24.43) mit 1T y ∗ = 0. Dann ist y ∗ = 0 und somit Ax∗ = Ax∗ + y ∗ = b. Also ist x∗ zul¨assig in (24.42). ⊓ ⊔ Das LP (24.43) kann mithilfe des weiter unten beschriebenen SimplexVerfahrens gel¨ ost werden. Ist 0 der optimale Wert, dann liefert die optimale L¨ osung (x∗ , y ∗ ) wegen Satz 24.11 eine (m¨oglicherweise entartete) Ecke x∗ von (24.42).
24.5 Das Simplex-Verfahren
345
¨ Der Simplex-Algorithmus fasst unsere Uberlegungen zusammen: 1. Stelle ein erstes Tableau auf. 2. Teste fj : a) Falls fj ≥ 0 f¨ ur alle j 6∈ I, dann ist die L¨osung optimal. b) Es gibt ein j 6∈ I mit fj < 0, so dass αij ≤ 0 f¨ ur alle i 6∈ I. Dann hat das LP keine optimale L¨osung. (0)
c) Sonst w¨ ahle ein l 6∈ I mit fl < 0 und bestimme ein k ∈ I mit (0) xi
xk αkl
≤
ur alle i ∈ I mit αil > 0. αil f¨ 3. Stelle ein neues Tableau auf, indem xk und xl vertauscht werden und gehe nach 2. Beispiel 24.23. Gegeben sei das kanonische LP max x1 + x2 . s.d. x1 + 2x2 ≤ 4 2x1 − x2 ≤ 3 x2 ≤1 xi ≥ 0 ∀i Dieses LP wird durch Einf¨ uhren von Schlupfvariablen transformiert in ein Standard-LP max x1 + x2 . s.d. x1 + 2x2 + x3 = 4 2x1 − x2 + x4 = 3 x2 + x5 =1 xi ≥ 0 ∀i Dieses LP besitzt x(0) = (0, 0, 4, 3, 1)T als Startecke. Das zugeh¨orige Anfangstableau lautet x1 x2 x3 x4 x5 x3 4 1 2 1 0 0 x4 3 2 −1 0 1 0 x5 1 0 1 0 0 1 0 −1 −1 0 0 0 Wir w¨ ahlen l = 1 und bestimmen k durch min{ 14 , 32 } = n¨ achstes Tableau ergibt sich x3 52 x1 32 x5 1 3 2
x1 x2 0 52 1 − 12 0 1 0 − 32
x3 x4 1 − 12 0 12 0 0 0 12
x5 0 0 1 0
3 2,
also k = 4. Als
346
24 Lineare Optimierung
Die n¨ achste Ecke ist x(1) = ( 32 , 0, 52 , 0, 1)T . Wir w¨ahlen l = 2 und bestimmen k anhand min{ 25 / 25 , 11 } = 1, also etwa k = 5. Das n¨achste Tableau lautet x3 0 x1 2 x2 1 3
x1 x2 0 0 1 0 0 1 0 0
x3 x4 x5 1 − 12 − 52 0 12 12 0 0 1 0 12 32
Als Ecke erhalten wir x(2) = (2, 1, 0, 0, 0)T . Diese L¨osung ist optimal. Das urspr¨ ungliche kanonische LP besitzt demnach die optimale L¨osung (2, 1)T . Es gibt lineare Programme, die das Simplex-Verfahren nur in exponentieller Laufzeit l¨ osen kann. Allerdings l¨asst sich mithilfe eines probabilistischen Modells zeigen, dass der Simplex-Algorithmus im Durchschnitt polynomiale Laufzeit besitzt. Andererseits gibt es polynomiale Verfahren, um lineare Programme zu l¨ osen. Dazu z¨ahlen die Algorithmen von Khachiyan und Karmarkar. Lineare Programmierung liegt also in der Klasse P. Demgegen¨ uber ist ganzzahlige lineare Programmierung NP-vollst¨andig. Wer allerdings glaubt, dass die polynomialen Verfahren in punkto Laufzeit besser sind als das Simplex-Verfahren, der irrt. Der Simplex-Algorithmus ist den polynomiellen Verfahren im Durchschnitt u ¨ berlegen.
Selbsttestaufgaben 24.1. Die Funktion
cT x = c1 x1 + . . . + cn xn
ist durch geeignete Wahl der Variablen x1 , . . . , xn zu maximieren unter Einhaltung der Nebenbedingungen a11 x1 + . . . + a1n xn = b1 .. . ak1 x1 + . . . + akn xn = bk a′11 x1 + . . . + a′1n xn ≤ b′1 .. . a′l1 x1 + . . . + a′ln xn ≤ b′l und der Vorzeichenbedingungen x1 ≥ 0,
...
, xr ≥ 0.
Zeige, dass diese Aufgabe in kanonische Form gebracht werden kann max cT x. s.d. Ax ≤ b x≥0
(24.44)
24.5 Das Simplex-Verfahren
347
Zeige, dass sich obige Aufgabe in Standardform bringen l¨ asst max cT x. s.d. Ax = b x≥0
(24.45)
24.2. Ein alkoholisches Getr¨ ank soll aus drei fl¨ ussigen Zutaten hergestellt werden, wobei hinsichtlich Anteil und Mischung der Zutaten Einschr¨ ankungen bestehen: Bestandteile Alkohol Zucker Aromastoffe A B C Preis/l
A 10 % 8 g/l 2E 1 0 0 7
Zutaten B C 15 % 5 % 10 g/l 22 g/l 6 E 10 E 0 0 1 0 0 1 5 3
Gehalt min max 11 % 12 % 10 g/l 16 g/l 2E 7E 20 % 40 % 50 %
24.3. Ein Tischler fertigt Tische und St¨ uhle. Er verkauft Tische f¨ ur 40 Euro und St¨ uhle f¨ ur 10 Euro. Der Tischler arbeitet 40 Stunden pro Woche. F¨ ur einen Tisch ben¨ otigt er 8 Stunden und f¨ ur einen Stuhl 4 Stunden. Er stellt mindestens drei Mal so viele St¨ uhle wie Tische her. Stelle ein zugeh¨ origes LP hinsichtlich Profitmaximierung auf und l¨ ose es. Wie lautet die optimale L¨ osung des zugeordneten ILP? 24.4. Beweise den Satz 24.8. 24.5. Zeige, dass der zul¨ assige Bereich P = {x | Ax = b, x ≥ 0} konvex ist. 24.6. Zeige, dass die Menge aller optimalen L¨ osungen eines LP konvex ist. 24.7. Sei A ⊆ Rn . Zeige • • •
A ⊆ conv(A). conv(A) ist konvex. Ist A′ ⊆ Rn konvex mit A ⊆ A′ , dann ist conv(A) ⊆ A′ .
24.8. Sei A ⊆ Rn eine konvexe Menge und f : Rn → Rn eine lineare Abbildung. Zeige, dass f (A) ebenfalls konvex ist. 24.9. L¨ ose das LP max 49x1 + 24x2 s.d. x1 + 2x2 ≤8 25x1 + 12x2 ≤ 67 xi ≥ 0 ∀i Zeige, dass die optimale L¨ osung des zugeh¨ origen ILP nicht durch Runden der optimalen L¨ osung des LP hervorgeht. 24.10. L¨ ose das folgende LP durch Inspektion der Ecken min x1 + 2x2 − x3 + x4 + 2x5 s.d. x1 − x2 + 5x3 − x4 + x5 =8 5x1 − 4x2 + 13x3 − 2x4 + x5 = 20 xi ≥ 0 ∀i
348
24 Lineare Optimierung
24.11. L¨ ose das folgende LP anhand des Simplex-Algorithmus’ max 2x1 + 3x2 s.d. x1 − x2 ≤ 2 −x1 + x2 ≤ 2 2x1 + x2 ≤ 8 x1 + 3x2 ≤ 12 x1 ≥0 x2 ≥0 24.12. Sei G = (V, E) ein Graph. Eine Kanten¨ uberdeckung von G ist eine Menge von Kanten E ′ ⊆ E, so dass jeder Knoten in G mit mindestens einer Kante in E ′ inzidiert. Eine minimale Kanten¨ uberdeckung von G ist eine Kanten¨ uberdeckung von G mit minimaler M¨ achtigkeit. Spezifiziere das Problem, eine minimale Kanten¨ uberdeckung von G zu finden, als ILP. Relaxiere dieses ILP und gib das zugeh¨ orige duale LP an. Restringiere die Variablen des dualen LP auf ganzzahlige Werte und interpretiere dieses Problem.
Teil VII
Kombinatorik
25 Abz¨ ahlende Kombinatorik
Die elementare Kombinatorik besch¨aftigt sich mit der Abz¨ahlung von Konfigurationen einer endlichen Menge von Objekten unter Nebenbedingungen. In diesem Kapitel wird die elementare Kombinatorik fortgesetzt, wobei die Nebenbedingungen durch Symmetrien auf den Konfigurationen beschrieben werden. Die Untersuchungen gipfeln im so genannten Abz¨ahlungstheorem von P´ olya. Abz¨ ahlen lassen sich damit unter anderem Graphen, Perlenketten, Schaltfunktionen, Inzidenzstrukturen und chemische Isomere.
25.1 Gruppenoperationen Sei X eine nichtleere Menge und G eine Gruppe. Eine Gruppe G operiert auf X, wenn es eine Abbildung G × X → X : (g, x) 7→ gx gibt mit folgenden Eigenschaften • •
(gh)x = g(hx) f¨ ur alle g, h ∈ G und x ∈ X, ex = x f¨ ur alle x ∈ X.
Es operiere G auf X. Zwei Elemente x, y ∈ X heißen G-¨aquivalent, kurz x ≡G y, wenn es ein Element g ∈ G gibt mit gx = y. ¨ Satz 25.1. Die Relation ≡G ist eine Aquivalenz auf X. Beweis. Seien x, y, z ∈ X. Wegen ex = x ist x ≡G x. Sei x ≡G y, also y = gx f¨ ur ein g ∈ G. Dann ist g −1 y = g −1 (gx) = (g −1 g)x = ex = x und somit y ≡G x. Seien x ≡G y und y ≡G z, also y = gx und z = hy f¨ ur gewisse g, h ∈ G. Dann folgt z = hy = h(gx) = (hg)x, mithin x ≡G z. ⊓ ⊔ ¨ Die Aquivalenzklassen G(x) = {gx | g ∈ G}, x ∈ X, heißen auch Bahnen von G auf X. F¨ ur die Menge aller Bahnen von G auf X schreiben wir XG = {G(x) | x ∈ X}.
(25.1)
352
25 Abz¨ ahlende Kombinatorik
Die Menge aller Bahnen von G auf X bildet nach Satz 5.5 eine Partition von X. Besteht diese Partition aus einer einzigen Bahn, d. h., XG = {X}, dann heißt die Gruppenoperation transitiv. Sei x ∈ X. Der Stabilisator von x in G ist die Menge Gx = {g ∈ G | gx = x}.
(25.2)
Lemma 25.2. Es operiere G auf X. F¨ ur jedes x ∈ X ist der Stabilisator Gx eine Untergruppe von G. Beweis. Seien g, h ∈ Gx , also gx = x = hx. Dann ist h−1 x = h−1 (hx) = (h−1 h)x = ex = x und somit h−1 ∈ Gx . Es folgt (gh−1 )x = g(h−1 x) = gx = x und mithin gh−1 ∈ Gx . Mit dem Untergruppenkriterium folgt die Behauptung. ⊓ ⊔ Satz 25.3. (Fundamentallemma) Es operiere G auf X. F¨ ur jedes x ∈ X gilt |G| = |G(x)| · |Gx |.
(25.3)
Beweis. F¨ ur die Abbildung G(x) → G/Gx : gx 7→ gGx gilt gx = hx
⇐⇒
(g −1 h)x ∈ Gx
⇐⇒
gGx = hGx ,
g, h ∈ G, x ∈ X.
¨ Wird diese Aquivalenz von links nach rechts gelesen, so folgt, dass die Zuordnung gx 7→ gGx rechtseindeutig und somit eine Abbildung ist. Wird diese ¨ Aquivalenz von rechts nach links gelesen, dann erhellt sich, dass die Zuordnung gx 7→ gGx injektiv ist. Diese Abbildung ist definitionsgem¨aß surjektiv und deshalb bijektiv. Mit dem Satz von Lagrange folgt die Behauptung. ⊓ ⊔ Satz 25.4. Es operiere G auf X. Die Abbildung ψ : G → SX : g 7→ g,
g : x 7→ gx,
(25.4)
ist ein Homomorphismus. Beweis. Sei g ∈ G. Die Abbildung g ist injektiv, denn f¨ ur x, y ∈ X folgt aus gx = gy per definitionem y = ey = (g −1 g)y = g −1 (gy) = g −1 (gx) = (g −1 g)x = ex = x. Die Abbildung g ist nach Satz 6.8 sogar bijektiv, also g ∈ SX . F¨ ur g, h ∈ G und x ∈ X gilt definitionsgem¨aß gh(x) = (gh)x = g(hx) = g(hx) = g(h(x)) = (g h)(x). Mithin ist ψ ein Homomorphismus. ⊓ ⊔ Der obige Homomorphismus ψ heißt Permutationsdarstellung von G auf X. Die Abbildung g : X → X wird als die von g induzierte Permutation auf X bezeichnet und die Gruppe G = ψ(G) heißt induzierte Permutationsgruppe von G auf X.
25.2 Das Lemma von Burnside
Beispiele 25.5. •
Die nat¨ urliche Operation von SX auf X ist SX × X → X : (π, x) 7→ π(x).
•
(25.5)
Die induzierte Permutation π : x 7→ π(x) stimmt mit der Permutation π u ¨ berein, d. h., die zugeh¨orige Permutationsdarstellung ist die identische Abbildung. Die Gruppe G operiert auf sich selbst durch G × G → G : (g, x) 7→ gx.
•
353
(25.6)
Nach Satz 15.21 ist diese Operation transitiv und der Stabilisator eines Gruppenelements ist die triviale Gruppe {e}. Die Permutationsdarstellung ψ : g 7→ g besteht aus allen Linksmultiplikationen g : h 7→ gh. Die Gruppe G operiert auf sich selbst verm¨oge G × G → G : (g, x) 7→ gxg −1 .
(25.7)
Die Bahnen dieser Operation sind die Konjugiertenklassen der Gruppenelemente G(x) = C G (x) = {gxg −1 | g ∈ G},
x ∈ X.
(25.8)
Die Stabilisatoren sind die Normalisatoren der Gruppenelemente Gx = CG (x) = {g ∈ G | gxg −1 = x},
•
x ∈ X.
(25.9)
Mit dem Fundamentallemma folgt |G| = |C G (x)| · |CG (x)|. Die Permutationsdarstellung ordnet jedem Gruppenelement g ∈ G die Konjugation g : x 7→ gxg −1 zu. Ist U eine Untergruppe von G, dann operiert G auf der Menge aller Linksnebenklassen G/U durch G × G/U → G/U : (g, xU ) 7→ gxU.
(25.10)
Diese Operation ist transitiv. Der Stabilisator von xU ist die zu U konjugierte Untergruppe xU x−1 .
25.2 Das Lemma von Burnside Es operiere G auf X. Sei XG = {O1 , . . . , Or } die Menge aller Bahnen von G auf X. Im Folgenden ben¨otigen wir die Menge aller Fixpunkte von g ∈ G unter der Operation, also Xg = {x ∈ X | gx = x}. Es gilt definitionsgem¨ aß x ∈ Xg genau dann, wenn g ∈ Gx .
(25.11)
354
25 Abz¨ ahlende Kombinatorik
Sei R ein kommutativer Ring, der den K¨orper der rationalen Zahlen als Unterring enth¨ alt. Sei w : X → R eine auf den Bahnen konstante Abbildung. Dann kann das Gewicht einer Bahn O ∈ XG durch einen beliebigen Bahnrepr¨ asent¨ anten festgelegt werden w(O) = w(x),
x ∈ O.
(25.12)
Satz 25.6. (Burnside) Operiert G auf X, dann gilt r X
w(Oi ) =
i=1
1 X X 1 X X w(x) = w(x). |G| |G| x∈X g∈G x∈X g∈G
g
(25.13)
g
Beweis. Es gilt X X
w(x) =
g∈G x∈Xg
X X
w(x) =
r X
w(Oi )
i=1
= |G|
X X
1=
x∈Oi g∈Gx r X
w(x)
i=1 x∈Oi g∈Gx
x∈X g∈Gx
=
r X X X r X
w(Oi )|G|
i=1
w(Oi ).
i=1
Dabei folgt die vorletzte Beziehung aus dem Fundamentallemma. Die zweite ⊓ ⊔ Gleichung ergibt sich anhand der Permutationsdarstellung ψ : G → G. Diese Aussage war offenbar schon Augustin Cauchy (1789-1857) sowie Georg Frobenius (1849-1917) bekannt, bevor sie William Burnside (1852-1927) wiederentdeckt hatte. Sie wird manchmal Cauchy-Frobenius-Lemma genannt, manchmal auch ”The lemma that is not Burnside’s!”. Die origin¨are Form von Burnsides Lemma ergibt sich f¨ ur R = Q und w(x) = 1 f¨ ur alle x ∈ X. Korollar 25.7. Es operiere G auf X. F¨ ur die Anzahl der Bahnen von G auf X gilt 1 X |Xg |. (25.14) |XG | = |G| g∈G
Die Anzahl der Bahnen von G auf X entspricht also der durchschnittlichen Anzahl der Fixpunkte der Elemente von G. Beispiel 25.8. Die Gruppe G operiert auf sich selbst durch Konjugation G × G → G : (g, x) 7→ gxg −1 . Nach Burnsides Lemma und 25.5 ist die Anzahl der Bahnen gleich der durchschnittlichen M¨achtigkeit der Zentralisatoren ZG (g) = {x ∈ G | gxg −1 = x} der Gruppenelemente |GG | =
1 X |ZG (g)|. |G| g∈G
(25.15)
25.3 F¨ arbungen
355
25.3 F¨ arbungen Seien X und Y Mengen. Eine Abbildung f : X → Y heißt im Folgenden eine F¨arbung der Objekte aus X mit den Farben aus Y . Jede Operation von G auf X kann auf X Y fortgesetzt werden. Lemma 25.9. Operiert G auf X, dann operiert G auf Y X folgendermaßen (gf )(x) = f (g −1 x),
g ∈ G, f ∈ Y X , x ∈ X.
(25.16)
Beweis. Seien g, h ∈ G, f ∈ Y X und x ∈ X. Es gilt (ef )(x) = f (e−1 x) = f (ex) = f (x) und ((gh)f )(x) = f ((gh)−1 (x)) = f ((h−1 g −1 )x) = f (h−1 (g −1 x)) = (hf )(g −1 x) = (g(hf ))(x). ⊓ ⊔ Die Bahnen der Operation von G auf Y X werden auch Musterklassen genannt. Beispiel 25.10. Wir betrachten Perlenketten mit zwei gr¨ unen und zwei roten Perlen. Sei X = {1, . . . , 4} die Menge der Knoten eines Quadrats (Abb. 21.5), also die Positionen der Perlen, und Y = {g, r} die Menge der Farben. Die F¨ arbungen werden im Folgenden als W¨orter notiert. Beispielsweise bezeichnet rrgr diejenige F¨arbung, bei der die Knoten 1, 2 und 4 rot und der Knoten 3 gr¨ un gef¨ arbt sind. Die Menge aller diesbez¨ uglichen F¨arbungen ist X Y = {gggg, gggr, ggrg, ggrr, grgg, grgr, grrg, grrr rggg, rggr, rgrg, rgrr, rrgg, rrgr, rrrg, rrrr}. Als Symmetriegruppe des Quadrats wird die Diedergruppe D4 betrachtet. Damit sind zwei F¨ arbungen D4 -¨aquivalent, wenn sie durch eine Drehung oder Spiegelung des Quadrats ineinander u ur f = grgr und π = (1234) ¨ bergehen. F¨ gilt πf = rgrg, denn π −1 = (1432) und somit (πf )(1) = f (π −1 (1)) = f (4) = r, (πf )(2) = f (π −1 (2)) = f (1) = g, (πf )(3) = f (π −1 (3)) = f (2) = r und (πf )(4) = f (π −1 (4)) = f (3) = g. Die zugeh¨origen Musterklassen lauten {gggg}, {grgr, rgrg}, {gggr, ggrg, grgg, rggg}, {ggrr, grrg, rggr, rrgg}, {grrr, rgrr, rrgr, rrrg}, {rrrr}.
356
25 Abz¨ ahlende Kombinatorik
25.4 Zykelindikatorpolynome Sei G eine Permutationsgruppe vom Grad n. Jede Permutation g ∈ G l¨asst sich nach Abs. 6.4 als Produkt disjunkter Zykeln darstellen. Sei l = l(g) die Anzahl der disjunkten Zykeln in dieser Darstellung von g sowie lk = lk (g) die Anzahl der disjunkten Zykeln von g der L¨ange k. Dann gilt l=
n X
lk
und
k=1
n X
k · lk = n.
(25.17)
k=1
Es operiere G auf X. Das Zykelindikatorpolynom von G auf X ist definiert durch |X| 1 X Y lk (g) zk , P (G, X; z1 , . . . , z|X| ) = |G|
(25.18)
g∈G k=1
wobei z1 , . . . , zn Unbestimmte u ¨ ber dem K¨orper der rationalen Zahlen seien. Im Folgenden sei G eine Permutationsgruppe vom Grad n, die in nat¨ urlicher Weise auf der Menge X = {1, . . . , n} operiere. Nach 25.5 ist dann g = g f¨ ur jedes g ∈ G. Aus Satz 10.17 erhellt sich sofort der folgende Satz 25.11. Das Zykelindikatorpolynom der symmetrischen Gruppe Sn lautet P (Sn , X; z1 , . . . , zn ) =
Y l 1 X n! Q zkk , l k n! k lk !k
(25.19)
k
wobei ¨ uber alle n-Tupel (l1 , . . . , ln ) nichtnegativer ganzer Zahlen mit der Eigenschaft (25.17) summiert wird. Satz 25.12. Das Zykelindikatorpolynom der zyklischen Gruppe Cn lautet P (Cn , X; z1 , . . . , zn ) =
1X n/k Φ(k)zk . n k
(25.20)
k|n
Beweis. Die Gruppe Cn enth¨alt Φ(k) Elemente der Ordnung k und jedes solche Element besteht aus n/k Zykeln der L¨ange k. ⊓ ⊔ Satz 25.13. Das Zykelindikatorpolynom der Diedergruppe Dn lautet P (Dn , X; z1 , . . . , zn ) =
1 P (Cn , X; z1 , . . . , zn ) 2(
+
(n−2)/2 1 n/2 + z12 z2 ) 4 (z2 (n−1)/2 1 2 z1 z2
falls n gerade (25.21) sonst.
25.4 Zykelindikatorpolynome
357
Beweis. Die Drehungen eines regul¨aren n-Ecks bilden eine zyklische Untergruppe der Ordnung n von Dn . Ist n ungerade, dann lassen die Spiegelungen jeweils einen Knoten fest. Die restlichen Knoten sind in Transpositionen ge(n−1)/2 paart. Jede solche Spiegelung liefert einen Beitrag zu z1 z2 und die Anzahl der Spiegelungen ist n. Ist n gerade, dann l¨asst eine Spiegelung entweder zwei oder null Knoten invariant, w¨ahrend die u ¨ brigen Knoten in Transpositionen zusammengefasst sind. Eine solche Spiegelungen liefert einen Beitrag zu n/2 (n−2)/2 z2 bzw. z12 z2 . Es gibt gleichviele Spiegelungen jeden Typs, also jeweils n/2. ⊓ ⊔ Beispiel 25.14. Die zyklische Gruppe C4 operiert in nat¨ urlicher Weise auf X = {1, . . . , 4}. F¨ ur das zugeh¨ orige Zykelindikatorpolynom gilt P (C4 , X; z1 , . . . , z4 ) =
1 4 z1 + z22 + 2z4 . 4
Das neutrale Element ist vom Typ 14 , die Zykeln (1234) und (1432)3 = (1234) sind vom Typ 41 und die Permutation (1234)2 = (13)(24) ist vom Typ 22 . Die Diedergruppe D4 operiert in nat¨ urlicher Weise auf X = {1, . . . , 4}. F¨ ur das diesbez¨ ugliche Zykelindikatorpolynom gilt P (D4 , X; z1 , . . . , z4 ) =
1 4 z1 + 2z12 z2 + 3z22 + 2z4 . 8
Die Spiegelungen (13) und (24) lassen jeweils zwei Knoten fest und sind vom Typ 12 21 , w¨ ahrend die Spiegelungen (12)(34) und (14)(23) keinen Knoten invariant lassen und vom Typ 22 sind. Satz 25.15. Sei G eine Permutationsgruppe, die auf einer Menge X operiere. Die Anzahl der Musterklassen der Operation von G auf Y X ist gleich P (G, X; |Y |, . . . , |Y |). Q|X| Beweis. In P (G, X; |Y |, . . . , |Y |) liefert g ∈ G den Beitrag k=1 |Y |lk (g) = |Y |l(g) . Sei f ∈ Y X . Die Bedingung gf = f besagt, dass alle Elemente von X, die zum selben Zykel von g geh¨oren, die gleiche Farbe tragen. Es gibt |Y | M¨ oglichkeiten, einen Zykel in g zu f¨arben. Da l(g) die Anzahl der Zykel von g bezeichnet, ist die Anzahl der F¨arbungen f mit gf = f gleich |Y |l(g) . Mit dem Lemma von Burnside folgt die Behauptung. ⊓ ⊔ Beispiel 25.16. Nach 25.14 gilt P (D4 , X; m, . . . , m) =
1 m4 + 2m3 + 3m2 + 2m . 8
Im Falle m = 2 resultieren sechs Musterklassen, wie schon in 25.10 gezeigt.
358
25 Abz¨ ahlende Kombinatorik
25.5 Der Satz von P´ olya Seien X und Y Mengen und G eine Gruppe, die auf X operiert. Sei R ein kommutativer Ring, der den K¨orper der rationalen Zahlen als Unterring enth¨alt, und W : Y → R eine Abbildung. Das W -Gewicht der F¨arbungen in Y X ist die Abbildung Y w : Y X → R : f 7→ W (f (x)). (25.22) x∈X
Lemma 25.17. Jedes W -Gewicht W : Y → R ist konstant auf den Musterklassen von G auf Y X . Beweis. F¨ ur f ∈ Y X und g ∈ G gilt Y Y Y w(f ) = W (f (x)) = W (f (g −1 x)) = W ((gf )(x)) = w(gf ), x∈X
x∈X
x∈X
weil mit x auch g −1 x alle Elemente von X durchl¨auft.
⊓ ⊔
Sei {O1 , . . . , Or } die Menge aller Musterklassen der Operation von G auf Y X . Nach Lemma 25.17 kann das W -Gewicht einer Musterklasse O durch einen beliebigen Repr¨ asentanten festgelegt werden w(O) = w(f ),
f ∈ O.
(25.23)
Der W -Mustervorrat von G auf Y X ist die Summe der W -Gewichte aller Musterklassen P (G, X; W ) =
r X
w(Oi ).
(25.24)
i=1
Wir wenden uns der zentralen Aussage dieses Kapitels, dem Satz von George P´ olya (1887-1985), zu. Er besagt, dass der Mustervorrat mithilfe des Zykelindikatorpolynoms berechnet werden kann. Satz 25.18. (P´ olya) Es operiere eine Gruppe G auf einer Menge X. F¨ ur den W -Mustervorrat von G auf Y X gilt P (G, X; W ) = P (G, X; s1 , . . . , s|X| ), wobei sk die k-te W -Gewichtssume bezeichnet X sk = W (y)k , 1 ≤ k ≤ |X|. y∈Y
(25.25)
(25.26)
25.5 Der Satz von P´ olya
359
Beweis. Nach dem Lemma von Burnside gilt P (G, X; W ) =
r X
w(Oi ) =
i=1
1 X |G|
X
w(f ).
(25.27)
g∈G f ∈(Y X )g
Eine F¨ arbung f : X → Y liegt in (Y X )g genau dann, wenn f konstant auf den Zykeln von g ist. Schreiben wir also g = γ1 . . . γl als Produkt disjunkter Zykeln, dann folgt X
X
w(f ) =
l Y
W (yk )|γk | ,
(25.28)
(y1 ,...,yl )∈Y l k=1
f ∈(Y X )g
wobei |γk | die L¨ ange des Zykels γk bezeichnet. Enth¨alt g genau lk Zykeln der L¨ ange k, dann ergibt sich X
w(f ) =
|X| Y
k=1
f ∈(Y X )g
Damit ist der Satz bewiesen.
X
y∈Y
lk
k
W (y)
=
|X| Y
slkk
(25.29)
k=1
⊓ ⊔
Die Farben k¨ onnen als Unbestimmte u ¨ ber Q aufgefasst werden, also W : Y → Q[Y ] : y 7→ y,
(25.30)
wobei Q[Y ] den Polynomring u ¨ ber QQin den Unbestimmten aus Y bezeichnet. Somit ist das W -Gewicht w(f ) = x f (x) einer F¨arbung f ein Monom in Q[Y ]. Der Inhalt einer F¨arbung f ∈ Y X ist die Abbildung c(f, −) : Y → N0 : y 7→ |f −1 (y)|.
(25.31)
Die Zahl c(f, y) gibt die Vielfachheit an, mit der f den Wert y annimmt. F¨ ur jede F¨ arbung f ∈ Y X gilt Y Y Y −1 w(f ) = f (x) = y |f (y)| = y c(f,y) . (25.32) x∈X
y∈Y
y∈Y
Damit erhellt sich der folgende Satz 25.19. Es operiere eine Gruppe G auf einer Menge X. Die Anzahl der Musterklassen von G auf Y X , deren Elemente den gleichen InhaltQwie eine F¨arbung f ∈ Y X besitzen, ist durch den Koeffizienten des Monoms y y c(f,y) im W -Mustervorrat von G auf Y X gegeben.
360
25 Abz¨ ahlende Kombinatorik
Beispiel 25.20. Wir betrachten die nat¨ urliche Operation der Diedergruppe D4 auf der Menge X = {1, . . . , 4}. Nach 25.14 gilt f¨ ur das zugeh¨orige Zykelindikatorpolynom P (D4 , X; z1 , . . . , z4 ) =
1 4 z1 + 2z12 z2 + 3z22 + 2z4 . 8
Seien g und r Unbestimmte u ¨ber Q. Dann liefern die Gewichte W (g) = g und W (r) = r den W -Mustervorrat P (D4 , X; W ) 1 (g + r)4 + 2(g + r)2 (g 2 + r2 ) + 3(g 2 + r2 )2 + 2(g 4 + r4 ) = 8 = g 4 + g 3 r + 2g 2 r2 + gr3 + r4 . Die Musterklassen entsprechen den unter Drehung und Spiegelung wesentlich verschiedenen Perlenketten mit vier Perlen und zwei Farben. Aus dem Polynom P (D4 , X; W ) l¨ asst sich ersehen, dass es eine Perlenkette gibt mit vier gr¨ unen Perlen (g 4 ), eine Perlenkette mit drei gr¨ unen Perlen und einer roten Perle (g 3 r), zwei Perlenketten mit zwei gr¨ unen Perlen und zwei roten Perlen (2g 2 r2 ), eine Perlenkette mit einer gr¨ unen Perle und drei roten Perlen (gr3 ) und eine Perlenkette mit vier roten Perlen (r4 ). Die Anzahl der Musterklassen kann nach Satz 25.15 anhand der Gewichte W (g) = W (r) = 1 berechnet werden 1 P (C4 , X; W ) = (24 + 2 · 22 · 2 + 3 · 22 + 2 · 2) = 6. 8
25.6 Anwendungen Wir behandeln einige wichtige Anwendungen des Satzes von P´ olya. Die Mustervorr¨ ate in den Beispielen wurden mit dem Computeralgebrasystem Maple V berechnet. Perlenketten Wir betrachten Perlenketten mit n Perlen und m Farben. Sei X = {1, . . . , n} die Menge der Perlen und Y = {1, . . . , m} die Menge der Farben. Die Perlen k¨ onnen als Knoten eines regul¨aren n-Ecks aufgefasst werden. Zwei F¨ arbungen in Y X sollen gleichwertig sein, wenn sie durch Drehung oder Spiegelung ineinander u ¨ bergehen. In diesem Fall operiert die Diedergruppe Dn auf Y X . Beispiel 25.21. Wir betrachten Perlenketten mit vier Perlen und drei Farben: blau (b), gr¨ un (g) und rot (r). Das Zykelindikatorpolynom von D4 auf X lautet 1 P (D4 , X; z1 , . . . , z4 ) = (z14 + 3z22 + 2z12 z2 + 2z4 ). 8
25.6 Anwendungen
361
Seien b, g und r Unbestimmte u ¨ ber Q. Setzen wir W (b) = b, W (g) = g und W (r) = r, dann ergibt sich als W -Mustervorrat P (D4 , X; W ) = b4 + b3 g + b3 r + 2b2 g 2 + 2b2 r2 + 2b2 gr + bg 3 + 2bg 2 r +2bgr2 + br3 + g 4 + g 3 r + 2g 2 r2 + gr3 + r4 . Zwei F¨ arbungen in Y X sollen ¨aquivalent sein, wenn sie durch Drehung zur Deckung gebracht werden k¨onnen. In diesem Fall operiert die zyklische Gruppe Cn auf Y X . Beispiel 25.22. Wir betrachten wiederum Perlenketten mit vier Perlen und drei Farben: blau (b), gr¨ un (g) und rot (r). Das Zykelindikatorpolynom von C4 auf X lautet P (C4 , X; z1 , . . . , z4 ) =
1 4 (z + z22 + 2z4 ). 4 1
Seien b, g und r Unbestimmte u ¨ ber Q. Wir setzen W (b) = b, W (g) = g und W (r) = r und erhalten als W -Mustervorrat P (C4 , X; W ) = b4 + b3 g + b3 r + 2b2 g 2 + 2b2 r2 + 3b2 gr + bg 3 + 3bg 2 r +3bgr2 + br3 + g 4 + g 3 r + 2g 2 r2 + gr3 + r4 . Beispielsweise gibt es unter C4 drei in¨aquivalente Perlenketten mit zwei blauen Perlen sowie einer gr¨ unen und einer roten Perle (3b2 gr), w¨ahrend es unter D4 nur zwei derartige in¨ aquivalente Perlenketten gibt (2b2 gr). Graphen Wir betrachten Graphen mit der Knotenmenge V = {1, . . . , n}. Jeder solche Graph G kann als eine Abbildung von V2 nach {0, 1} aufgefasst werden, wobei diejenigen 2-Teilmengen {u, v}, die auf 1 abgebildet werden, die Kanten in G bilden. Setzen wir X = V2 und Y = {0, 1}, dann korrespondiert die Menge aller Graphen mit der Knotenmenge V zu den F¨arbungen in Y X . Die Graphen in Y X werden markiert genannt, weil die Knoten durch die Elemente in V spezifiziert sind. Die symmetrische Gruppe Sn operiert in nat¨ urlicher Weise auf V und somit auf V2 verm¨ oge V V Sn × → : (π, {u, v}) 7→ {πu, πv}. (25.33) 2 2 Folglich operiert Sn auf der Menge aller markierten Graphen mit n Knoten. Die Bahnen dieser Operation sind die Isomorphismenklassen und die Stabilisatoren sind die Automorphismengruppen dieser Graphen. Diese Bahnen werden auch als unmarkierte Graphen mit n Knoten bezeichnet. Nach dem Fundamentallemma ist die Anzahl der Graphen, die zu einem Graphen G mit der Knotenmenge V isomorph sind, durch n!/|Aut(G)| gegeben, wobei Aut(G) die Automorphismengruppe von G bezeichnet.
362
25 Abz¨ ahlende Kombinatorik
Beispiel 25.23. Das Zykelindikatorpolynom von S4 auf V = {1, . . . , 4} lautet 1 z 4 + 6z12 z2 + 8z1 z3 + 3z22 + 6z4 . 24 1
P (S4 , V ; z1 , . . . , z4 ) =
Im Folgenden wird aber das Zykelindikatorpolynom von S4 auf X = ben¨ otigt P (S4 , X; z1 , . . . , z6 ) =
V 2
1 z16 + 9z12 z22 + 8z32 + 6z2 z4 . 24
Beispielsweise induziert die Permutation π = (12) ∈ S4 die Permutation π auf X, die {1, 2} und {3, 4} invariant l¨asst sowie {2, 3} auf {1, 3} und {2, 4} auf {1, 4} abbildet. Es folgt π = ({1, 2})({3, 4})({2, 3}, {1, 3})({2, 4}, {1, 4}). Also ist π vom Typ 12 22 . Die Anzahl der unmarkierten Graphen mit vier Knoten ist nach Satz 25.15 gleich P (S4 , X; 2, . . . , 2) = 11. Seien b und r Unbestimmte u ¨ber Q. Setzen wir W (0) = b und W (1) = r, dann ergibt sich als W -Mustervorrat P (S4 , X; W ) = b6 + b5 r + 2b4 r2 + 3b3 r3 + 2b2 r4 + br5 + r6 . Mit den Gewichten W (0) = 1 und W (1) = r erhellt sich eine einfachere erzeugende Funktion P (S4 , X; W ) = 1 + r + 2r2 + 3r3 + 2r4 + r5 + r6 . Der Koeffizient des Monoms rm gibt die Anzahl der unmarkierten Graphen mit vier Knoten und m Kanten an (Abb. 25.1). r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r @ r
r @ @r
r r @ @ r @r
r r @ @ r @r
r r @ @ @r r
r r @ @ r @r
Abb. 25.1. Die unmarkierten Graphen mit vier Knoten.
25.6 Anwendungen
363
Schaltfunktionen Eine n-stellige Schaltfunktion ist eine Abbildung f : {0, 1}n → {0, 1}. Die symmetrische Gruppe Sn operiert auf X = {0, 1}n durch Stellenvertauschung Sn × {0, 1}n → {0, 1}n : (g, (v1 , . . . , vn )) 7→ (vg−1 (1) , . . . , vg−1 (n) ).(25.34) Mit Y = {0, 1} operiert Sn auf der Menge aller n-stelligen Schaltfunktionen. Beispiel 25.24. Wir betrachten die Operation der kleinsche Vierergruppe auf der Menge aller vierstelligen Schaltfunktionen. Die kleinsche Vierergruppe ist eine Permutationsgruppe V4 = {(1), (12)(34), (13)(24), (14)(23)} vom Grad 4. Das Zykelindikatorpolynom von V4 auf X = {0, 1}4 lautet P (V4 , X; z1 , . . . , z16 ) =
1 16 z + 3z14 z26 . 4 1
Das neutrale Element ist vom Typ 116 , w¨ahrend die drei u ¨ brigen Permutationen vom Typ 14 26 sind. Beispielsweise induziert die Permutation π = (12)(34) ∈ V4 die Permutation π auf X, die 0000, 0011, 1100 und 1100 invariant l¨ asst und alle u ¨ brigen Elemente von X in Transposititionen zusammenfasst, n¨ amlich 0100 und 1000, 0010 und 0001, 1010 und 0101, 1001 und 0110, 1110 und 1101 sowie 1011 und 0111. Die Anzahl der vierstelligen, V4 symmetrischen Schaltfunktionen ist nach Satz 25.15 gleich P (V4 , X; 2, . . . , 2) = 17152. Sei y eine Unbestimmte u ¨ber Q. Setzen wir W (0) = 1 und W (1) = y, dann resultiert als W -Mustervorrat P (V4 , X; W ) = 1 + 7y + 39y 2 + 161y 3 + 494y 4 + 1155y 5 + 2089y 6 + 2965y 7 +3330y 8 + 2965y 9 + 2089y 10 + 1155y 11 + 494y 12 + 161y 13 +39y 14 + 7y 15 + y 16 . Der Koeffizient des Monoms y m gibt die Anzahl der Bahnen von Schaltfunktionen an, die m-mal die Ausgabe 1 liefern. Inzidenzstrukturen Wir betrachten Inzidenzstrukturen, die durch Punkte und Geraden gebildet werden. Sei P = {1, . . . , p} eine Menge von Punkten und L = {1, . . . , l} eine Menge von Geraden in der euklidischen Ebene. Eine Inzidenzstruktur ist eine p × l-Matrix M = (mij ), wobei mij = 1, falls der Punkt pi auf der Geraden lj liegt, und mij = 0 sonst. Setzen wir X = P × L und Y = {0, 1}, dann korrespondieren die Inzidenzstrukturen mit der Punktmenge P und der Geradenmenge L zu den F¨ arbungen in Y X .
364
25 Abz¨ ahlende Kombinatorik
Die symmetrischen Gruppen Sp und Sl operieren in nat¨ urlicher Weise auf P bzw. L. Also operiert das direkte Produkt Sp × Sl auf dem kartesischen Produkt X = P × L anhand (Sp × Sl ) × (P × L) → P × L : ((g, h), (x, y)) 7→ (gx, hy).
(25.35)
Damit operiert Sp × Sl auch auf der Menge aller Inzidenzstrukturen mit p Punkten und l Geraden, wobei Sp bzw. Sl die Zeilen bzw. Spalten der p × lInzidenzmatrizen permutiert. Beispiel 25.25. Das Zykelindikatorpolynom von G = S3 × S2 auf X lautet P (G, X; z1 , . . . , z6 ) =
1 z 6 + 3z12 z22 + 4z23 + 2z32 + 2z6 . 12 1
Beispielsweise induziert die Permutation π = ((13)(2), (1)(2)) ∈ G die Permutation π auf X, die (1, 1) auf (3, 1) sowie (1, 2) auf (3, 2) abbildet und (2, 1) sowie (2, 2) invariant l¨ asst. Also ist π = ((1, 1)(3, 1))((1, 2)(3, 2))((2, 1))((3, 1)) vom Typ 12 22 . Nach Satz 25.15 ist die Anzahl der Inzidenzstrukturen mit drei Punkten und zwei Geraden gleich P (G, X; 2, . . . , 2) = 13. Sei y eine Unbestimmte u ¨ber Q. Setzen wir W (0) = 1 und W (1) = y, so ergibt sich als W -Mustervorrat P (G, X; W ) = 1 + y + 3y 2 + 3y 3 + 3y 4 + y 5 + y 6 . Der Koeffizient des Monoms y m beschreibt die Anzahl der Bahnen von Inzidenzstrukturen mit m Beziehungen “Punkt liegt auf Gerade”. Isomere Chemische Verbindungen k¨onnen bei gleicher Summenformel unterschiedliche Molekularstruktur aufweisen. Solche Verbindungen werden Isomere genannt. Beispiel 25.26. Benzol ist ein aromatischer Kohlenwasserstoff mit der Summenformel C6 H6 . Die Kohlenstoffatome sind in Form eines regul¨aren Sechsecks angeordnet und jedes Kohlenstoffatom ist mit einem Wasserstoffatom verbunden (Abb. 25.2). Wir betrachten die Operation der Diedergruppe D6 auf der HH H H
H H HHH HH Abb. 25.2. Benzol.
25.6 Anwendungen
365
Menge X = {1, . . . , 6} der Ecken des regul¨aren Sechsecks. Das zugeordnete Zykelindikatorpolynom lautet P (D6 , X; z1 , . . . , z6 ) =
1 6 (z + z22 + 2z32 + z61 + 3z23 + 3z12 z22 ). 12 1
Isomere von Benzol entstehen etwa dadurch, indem einige Wasserstoffatome durch Chloratome ersetzt werden. Dies entspricht einer F¨arbung der Knoten des regul¨ aren Sechsecks mit zwei Farben. Seien c und w Unbestimmte u ¨ ber Q. Dann liefern die Gewichte W (c) = c und W (w) = w den W -Mustervorrat P (D4 , X; W ) = c6 + c5 w + 3c4 w2 + 3c3 w3 + 3c2 w4 + cw5 + w6 . Also gibt es etwa drei Isomere von Benzol, die zwei Chloratome enthalten (3c2 w4 ).
Selbsttestaufgaben 25.1. Diskutiere die Operation (g, x) 7→ x + gv der additiven Gruppe G = R auf der euklidischen Ebene X = R2 , wobei v ∈ R2 ein fester Vektor sei. 25.2. Betrachte die Operation (g, z) 7→ eig z der additiven Gruppe G = R auf X = C. 25.3. Untersuche die Operation ((a, b), (x, y)) 7→ (a + x, b + y) der additiven Gruppe G = Z × Z auf der euklidischen Ebene X = R2 . 25.4. Ein W¨ urfel ist ein Graph mit acht Ecken und acht Kanten. Berechne die Ordnung der Automorphismengruppe des W¨ urfels anhand des Fundamentallemmas. 25.5. Sei G eine Gruppe und U eine Untergruppe von G. Betrachte die Operation (h, Y ) 7→ hY h−1 von G auf X = {gU g −1 | g ∈ G}. Zeige, dass die Anzahl der konjugierten Untergruppen von U gleich dem Index des Normalisators von U in G ist. 25.6. Betrachte Perlenketten mit zwei gr¨ unen und zwei roten Perlen. Berechne die Musterklassen unter der durch die zyklische Gruppe C4 gegebenen Symmetrie. Vergleiche das Ergebnis mit Beispiel 25.10. 25.7. Zeige, dass f¨ ur das Zykelindikatorpolynom der alternierenden Gruppe An gilt P (An , X; z1 , . . . , zn ) =
1 X n![1 + (−1)l2 +l4 +... ] Y lk Q zk , lk n! k lk !k k
wobei u ¨ber alle n-Tupel (l1 , . . . , ln ) nichtnegativer ganzer Zahlen mit der Eigenschaft (25.17) summiert wird.
366
25 Abz¨ ahlende Kombinatorik
25.8. Stelle das Zykelindikatorpolynom von C4 , D5 , S4 und A4 auf. 25.9. Bestimme die Musterklassen von Perlenketten mit f¨ unf Perlen und zwei Farben. 25.10. Ermittle alle unmarkierten Graphen mit f¨ unf Knoten. 25.11. Berechne die Musterklassen der vierstelligen, C4 -symmetrischen Schaltfunktionen. 25.12. Ermittle die Musterklassen der Inzidenzstrukturen mit drei Punkten und drei Geraden. 25.13. Naphthalin ist ein weißer Feststoff mit der Summenformel C10 H8 (Abb. 25.3). Tetramethylnaphthalin entsteht aus Naphthalin, indem vier Wasserstoffatome von Naphtalene durch Methylgruppen (CH3 ) ersetzt werden. Wie viele Isomere von Tetramethylnaphthalin gibt es? Wie viele Isomere von Naphthalin gibt es, in denen zwei Wasserstoffatome durch Hydroxylgruppen (OH) und zwei Wasserstoffatome durch Carboxylgruppen (COOH) substituiert werden? 6
5
H H HH HH H H4 7
3 H HH H H H
8H H
1
2
Abb. 25.3. Naphthalin.
26 Existenzielle Kombinatorik
Zu den grundlegenden Werkzeugen der existenziellen Kombinatorik geh¨ort das Schubfachprinzip. Dieses Prinzip erf¨ahrt in der so genannten RamseyTheorie eine kombinatorische Verallgemeinerung. Wir beleuchten einige wichtigste Resultate der Ramsey-Theorie und behandeln eine Anwendung in der Kommunikationstechnik.
26.1 Schubfachprinzip Wir greifen das Schubfachprinzip aus Abs. 9.3 nochmals auf. Proposition 26.1. (Taubenschlagprinzip) Wenn k + 1 Tauben in k Taubenschl¨age fliegen, dann gibt es mindestes einen Taubenschlag, in den zwei oder mehr Tauben fliegen. Wenn n + 1 Zahlen aus der Menge {1, . . . , 2n} gezogen werden, dann gibt es wenigstens zwei Zahlen, deren Summe 2n + 1 ist. Beweis. Die Zahlen in {1, . . . , 2n} werden so gepaart, so dass die Summe jedes Paares 2n+1 ist, n¨ amlich (1, 2n), (2, 2n−1), . . . , (n, n+1). Bei n+1 gezogenen Zahlen bilden nach dem Taubenschlagprinzip wenigstens zwei Zahlen ein Paar. ⊓ ⊔ Es gibt eine nat¨ urliche Zahl, deren Dezimaldarstellung aus Einsen besteht und die durch 1999 teilbar ist. 2000
z }| { Beweis. In der Zahlenfolge 1, 11, . . . , 11 . . . 1. gibt es nach dem Taubenschlagprinzip wenigstens zwei Zahlen, die bei Division durch 1999 denselben Rest lassen. Die Differenz dieser Zahlen ist durch 1999 teilbar und hat die Form 11 . . . 1 · 10k f¨ ur ein k ≥ 1. Da 10k , k ≥ 1, und 1999 teilerfremd sind, ist der erste Faktor die gesuchte Zahl. ⊓ ⊔
368
26 Existenzielle Kombinatorik
Proposition 26.2. (Verallgemeinertes Taubenschlagprinzip) Wenn m Tauben in k Taubenschl¨age fliegen, dann gibt es einen Taubenschlag, in den mindestens ⌊ m−1 k ⌋ + 1 Tauben fliegen. Beweis. Angenommen, in jeden Taubenschlag w¨ urden h¨ochstens ⌊ m−1 k ⌋ Tauben fliegen. Dann ist die Anzahl der Tauben widerspr¨ uchlicherweise k⌊ m−1 k ⌋≤ m − 1. ⊓ ⊔ In einer Gruppe von 37 Menschen gibt es mindestens vier, die im gleichen Monat geboren sind. Beweis. Nach dem verallgemeinerten Taubenschlagprinzip gilt ⌊(37−1)/12⌋+ 1 = 4. ⊓ ⊔
26.2 Klassische Ramsey-Theorie Die Ramsey-Theorie liefert eine kombinatorische Verallgemeinerung des Taubenschlagprinzips. Sie wurde nach ihrem Begr¨ under, Frank Ramsey (19031930), benannt. Sei G ein Graph. Eine 2-F¨arbung von G ist eine Abbildung, die jeder Kante in G eine von zwei Farben zuordnet (Abb. 26.1). Im Folgenden werden bei 2-F¨ arbungen die Farben rot und blau verwendet. Ein Graph G heißt rot bzw. blau, wenn jede Kante in G rot bzw. blau ist.
r BHH B Hr r Q AQ B B Q AQ QBr r A Abb. 26.1. Eine 2-F¨ arbung (dicke und d¨ unne Kanten) von K5 .
Seien p und q nat¨ urliche Zahlen. Die Ramsey-Zahl R(p, q) ist die kleinste nat¨ urliche Zahl n ≥ 1, so dass jede 2-F¨arbung von Kn einen roten Kp oder einen blauen Kq enth¨alt. Im Folgenden wird p, q ≥ 2 vorausgesetzt und angenommen, dass jeder K1 sowohl rot als auch blau ist. Satz 26.3. (Ramsey) Zu jedem Paar nat¨ urlicher Zahlen p, q ≥ 2 gibt es eine nat¨ urliche Zahl n mit R(p, q) = n. Diese Aussage wird mithilfe der S¨atze 26.5 und 26.10 bewiesen. Satz 26.4. Die Ramsey-Zahl R(p, q) ist die kleinste nat¨ urliche Zahl n, so dass jeder Graph G der Ordnung n eine Clique der Ordnung p oder eine unabh¨angige Knotenmenge der M¨achtigkeit q besitzt.
26.2 Klassische Ramsey-Theorie
369
Satz 26.5. F¨ ur alle nat¨ urlichen Zahlen p, q ≥ 2 gilt R(p, q) = R(q, p) und R(2, p) = p = R(p, 2). Beweis. Die erste Aussage folgt aus der Definition. Jeder 2-gef¨arbte Graph Kp enth¨ alt entweder eine rote Kante, also einen roten K2 , oder ist blau. Somit ist R(p, 2) ≤ p. Andererseits ist definitionsgem¨aß R(p, 2) ≥ p. ⊓ ⊔ Die Ramsey-Zahl R(3, 3) beschreibt die kleinste Anzahl von Leuten dergestalt, dass sich entweder drei Leute untereinander kennen oder drei Leute untereinander fremd sind. Satz 26.6. Es gilt R(3, 3) = 6. Beweis. Die 2-F¨ arbung von K5 in Abb. 26.1 enth¨alt keinen roten bzw. blauen K3 . Also ist R(3, 3) > 5. Wir betrachten eine 2-F¨arbung von K6 und w¨ahlen einen Knoten v in K6 . Nach dem Taubenschlagprinzip gibt es mindestens drei mit v inzidierende Kanten, die rot bzw. blau sind. O.B.d.A. nehmen wir an, dass mindestens drei dieser Kanten rot sind. Seien vw, vx und vy rote Kanten in K6 . Ist der von den Knoten w, x und y aufgespannte Teilgraph blau, dann sind wir fertig. Andernfalls gibt es eine rote Kante, die zwei der Knoten w, x und y verbindet. O.B.d.A. sei die Kante wx rot. Dann ist der von v, w und x aufgespannte Teilgraph rot. ⊓ ⊔ Die Ramsey-Zahlen sind schwer zu berechnen. Hier ist die Liste der bis dato bekannten Ramsey-Zahlen R(2, p) = p, p ≥ 2, R(3, 3) = 6, R(3, 4) = 9, R(3, 5) = 14, R(3, 6) = 18, R(3, 7) = 23, R(3, 8) = 28, R(3, 9) = 36, R(4, 4) = 18, R(4, 5) = 25.
(26.1)
Es wird berichtet, dass Paul Erd¨os (1913-1996) u ¨ ber die Schwierigkeit, Ramsey-Zahlen zu berechnen, in einem Gleichnis referierte: Wenn Aliens auf die Erde k¨ amen und die Herausgabe der Zahl R(5, 6) verlangten oder die Menschheit ausgel¨ oscht w¨ urde, dann sollte die Menschheit alles daran setzen, R(5, 6) zu berechnen. Wenn die Aliens aber die Herausgabe der Zahl R(6, 6) verlangten, dann sollte die Menschheit alles daran setzen, die Aliens zu vernichten. Satz 26.7. F¨ ur alle nat¨ urlichen Zahlen p, q ≥ 3 gilt R(p, q) ≤ R(p − 1, q) + R(p, q − 1).
(26.2)
Beweis. Seien R(p − 1, q) und R(p, q − 1) endlich, der Beweis hierf¨ ur wird in Satz 26.10 erbracht. Sei n = R(p − 1, q) + R(p, q − 1). Wir betrachten eine 2-F¨ arbung von Kn . Sei v ein Knoten in Kn . Da v mit n − 1 Kanten inzidiert, befinden sich darunter entweder mindestens n1 = R(p − 1, q) rote Kanten oder mindestens n2 = R(p, q − 1) blaue Kanten. O.B.d.A. nehmen wir an, dass es mindestens n1 rote Kanten gibt, die mit v inzidieren. Wir betrachten
370
26 Existenzielle Kombinatorik
denjenigen Teilgraphen von Kn , der von diesen n1 zu v adjazenten Knoten aufgespannt wird. Dieser Kn1 enth¨alt definitionsgem¨aß einen blauen Kq oder einen roten Kp−1 , wobei letzterer mit v einen roten Kp bildet. Also folgt R(p, q) ≤ n. ⊓ ⊔ Korollar 26.8. Seien p, q ≥ 3 nat¨ urliche Zahlen. Sind R(p, q − 1) und R(p − 1, q) gerade, dann gilt R(p, q) ≤ R(p − 1, q) + R(p, q − 1) − 1.
(26.3)
Beweis. Sei n = R(p − 1, q) + R(p, q − 1) − 1. Es wird angenommen, dass Kn weder einen roten Kp noch einen blauen Kq enth¨alt. Dann ist jeder Knoten v in Kn mit den u ¨ brigen n − 1 Knoten durch R(p − 1, q) − 1 rote Kanten und R(p, q−1)−1 blaue Kanten verbunden. Angenommen, es g¨abe einen Knoten v, der mit mindestens m = R(p − 1, q) roten Kanten inzidiert. Dann betrachten wir denjenigen Graphen, der von allen zu v durch eine rote Kante adjazenten Knoten aufgespannt wird. Dieser Km enth¨alt definitionsgem¨aß einen roten Kp−1 , der widerspr¨ uchlicherweise mit v einen roten Kp in Kn bildet. F¨ ur die blauen Kanten verl¨ auft das Argument analog. Also ist die Gesamtzahl der roten Kanten gleich n(R(p−1, q)−1)/2 und die Gesamtzahl der blauer Kanten gleich n(R(p, q − 1) − 1)/2. Da beide Zahlen ganz sind, k¨onnen R(p − 1, q) und R(p, q − 1) nicht beide gerade sein. Mit der Kontraposition folgt die Behauptung. ⊓ ⊔ Satz 26.9. Es gilt R(3, 4) = 9. Beweis. Der Graph der Ordnung 8 in Abb. 26.2 enth¨alt weder einen K3 noch eine 4-elementige unabh¨ angige Menge. Nach Satz 26.4 ist also R(3, 4) ≥ 9. Andererseits folgt mit den S¨atzen 26.5, 26.6 und 26.8, dass R(3, 4) ≤ R(3, 3)+ R(2, 4) − 1 = 9. ⊓ ⊔
r r L @ L @ @r r L aa ! ! L aa !! aL ! ! a ! L a !! L aaa r! r L @ L @ Lr @r Abb. 26.2. Ein Graph G, der der Bedingung R(3, 4) ≥ 9 gen¨ ugt.
26.3 Untere Schranken
Satz 26.10. F¨ ur alle nat¨ urlichen Zahlen p, q ≥ 3 gilt p+q−2 R(p, q) ≤ . p−1
371
(26.4)
Beweis. Die Ungleichung gilt f¨ ur p = 2 oder q = 2. Seien p, q ≥ 3 und die Ungleichung (26.4) gelte f¨ ur nat¨ urlichen Zahlen p′ und q ′ mit p′ , q ′ ≥ 2 und ′ ′ p + q < p + q. Dann folgt mit den S¨atzen 10.2 und 26.7 R(p, q) ≤ R(p − 1, q) + R(p, q − 1) p+q−3 p+q−3 p+q−2 ≤ + = . p−2 p−1 p−1 ⊓ ⊔
26.3 Untere Schranken Untere Schranken f¨ ur Ramsey-Zahlen werden anhand eines aus der Theorie der Zufallsgraphen entlehnten, probabilistischen Ansatzes hergeleitet. p Satz 26.11. Sind p ≥ 2 und n ≥ p nat¨ urliche Zahlen mit np 21−(2) < 1, dann gilt R(p, p) > n. Beweis. Es wird eine zuf¨ allige 2-F¨arbung von Kn betrachtet, wobei die Farbe jeder Kante durch einen fairen M¨ unzwurf bestimmt wird. F¨ ur die Wahrscheinlichkeit, dass eine Kante uv rot ist, gilt also P {uv ist rot} =
1 . 2
(26.5)
Es wird angenommen, dass die Zufallsexperimente f¨ ur die F¨arbung der Kanten n voneinander unabh¨ angig sind. Es gibt 2( 2 ) derartige F¨arbungen von Kn und n ur jede p-elementige jede solche F¨ arbung hat die Wahrscheinlichkeit 2−( 2 ) . F¨ Knotenteilmenge U von Kn bezeichne EU das Ereignis, dass der von U aufgespannte vollst¨ andige Teilgraph entweder rot oder blau ist. F¨ ur die Wahrscheinlichkeit von EU gilt P {EU } =
p 2 = 21−(2) , p 2( 2 )
(26.6)
weil es zwei monochromatische F¨arbungen des Teilgraphen gibt und die p Gesamtzahl aller F¨ arbungen des Teilgraphen 2(2) ist. Dass irgendeine pelementige Kantenteilmenge von Kn entweder rot oder blau ist, wird durch S ur die Wahrscheinlichkeit dieses Ereigdas Ereignis |U|=p EU beschrieben. F¨ nisses gilt
372
26 Existenzielle Kombinatorik
P{
[
EU } ≤
X
P {EU } =
|U|=p
|U|=p
n 1−(p2) 2 < 1. p
(26.7)
wobei die erste Ungleichung eine grundlegende wahrscheinlichkeitstheoretische Identit¨ at ist und die letzte Ungleichung durch vollst¨andige Induktion folgt. Diese Ungleichung impliziert, dass es eine 2-F¨arbung von Kn gibt, die im Komplement des obigen Ereignisses liegt. Diese 2-F¨arbung enth¨alt keinen monochromatischen Kp , woraus R(p, p) > n folgt. ⊓ ⊔ Diese untere Schranke ist nicht scharf. Beispielsweise liefert obige Schranke R(5, 5) > 11, w¨ ahrend bekannt ist, dass R(5, 5) zwischen 43 und 49 liegt. Satz 26.12. Seien p, q ≥ 2 nat¨ urliche Zahlen. Gibt es eine Zahl l mit 0 ≤ l ≤ 1 und q n (p2) n l + (1 − l)(2) < 1, (26.8) p q dann gilt R(p, q) > n. Beweis. Der Beweis verl¨ auft wie im Satz 26.11, wobei (26.5) ersetzt wird durch P {uv ist rot} = l.
(26.9)
F¨ ur jede p-elementige Knotenteilmenge U von Kn bezeichne RU bzw. BU das Ereignis, dass der von U aufgespannte vollst¨andige Teilgraph rot bzw. blau ist. Dann folgt [ [ [ [ BV } RU } + P { BV } ≤ P { RU ∪ P{ |U|=p
|V |=q
|U|=p
|V |=q
≤
X
|U|=p
P {RU } +
X
P {BV }
|V |=q
q n (p2) n = l + (1 − l)(2) < 1. p q Diese Ungleichung impliziert, dass es eine 2-F¨arbung von Kn gibt, die im Komplement des obigen Ereignisses liegt. Diese 2-F¨arbung enth¨alt weder einen roten Kp noch einen blauen Kq . Folglich ist R(p, q) > n. ⊓ ⊔
26.4 Verallgemeinerte Ramsey-Theorie Die Ramsey-Theorie wird dahingehend verallgemeinert, dass r-Teilmengen einer Menge, r ≥ 1, betrachtet werden. Seien p, q und r nat¨ urliche Zahlen. F¨ ur jede endliche Menge X bezeichne X (r) die Menge aller r-Teilmengen von X. Eine 2-F¨arbung von X (r) ist eine
26.4 Verallgemeinerte Ramsey-Theorie
373
Abbildung, die jedem Element von X (r) eine von zwei Farben, rot oder blau, zuordnet. In einer 2-F¨ arbung von X (r) heißt eine Teilmenge Y von X rot bzw. blau, wenn jedes Element von Y (r) rot bzw. blau ist. Die Ramsey-Zahl R(p, q; r) sei die kleinste nat¨ urliche Zahl n, so dass es eine n-elementige Menge X mit der Eigenschaft gibt, dass jede 2-F¨arbung von X (r) eine rote p-Teilmenge oder eine blaue q-Teilmenge von X enth¨alt. Aus den Definitionen ergibt sich f¨ ur alle nat¨ urlichen Zahlen p, q ≥ 2 R(p, q) = R(p, q; 2).
(26.10)
Satz 26.13. F¨ ur alle nat¨ urlichen Zahlen p und q gilt R(p, q; 1) = p + q − 1.
(26.11)
Beweis. Sei X eine aus p+q−1 Elementen bestehende Menge. Wird die Menge aller 1-Teilmengen von X in disjunkte Mengen Y und Z zerlegt, dann folgt entweder |Y | ≥ p oder |Z| ≥ q. Somit ist R(p, q; 1) ≤ p + q − 1. Andererseits sind die 1-Teilmengen einer Menge mit p + q − 2 Elementen in disjunkte Teilmengen Y und Z mit |Y | = p − 1 und |Z| = q − 1 zerlegbar. Folglich ist R(p, q; 1) ≥ p + q − 1. ⊓ ⊔ Diese Aussage verdeutlicht, dass die Ramsey-Theorie das Taubenschlagprinzip verallgemeinert. Satz 26.14. F¨ ur alle nat¨ urlichen Zahlen p, q und r mit p ≥ r und q ≥ r gilt R(p, r; r) = p
und
R(r, q; r) = q.
(26.12)
Beweis. Wir betrachten eine beliebige 2-F¨arbung einer p-elementigen Menge X. Entweder ist X rot oder X (r) enth¨alt ein blaues Element. Dieses blaue Element Y ist eine r-Teilmenge von X, f¨ ur die Y (r) = {Y } gilt. Somit besitzt X eine blaue r-Teilmenge Y . ⊓ ⊔ Satz 26.15. Seien p, q und r nat¨ urliche Zahlen mit 1 < r < min{p, q}. Dann ist R(p, q; r) endlich und es gilt R(p, q; r) ≤ R(R(p − 1, q; r), R(p, q − 1; r); r − 1) + 1.
(26.13)
Beweis. Sei X eine Menge mit R(R(p−1, q; r), R(p, q −1; r); r−1)+1 Elementen. Wir betrachten eine beliebige 2-F¨arbung von X (r) , w¨ahlen ein beliebiges x ∈ X und erkl¨ aren eine 2-F¨arbung der (r − 1)-Teilmengen von Y = X \ {x} dadurch, dass µ ∈ Y (r−1) mit der Farbe von {x}∪µ ∈ X (r) gef¨arbt wird. Da Y aus R(R(p−1, q; r), R(p, q −1; r); r −1) Elementen besteht, kann angenommen werden, dass Y eine rote R(p − 1, q; r)-Teilmenge Z besitzt. Die obige 2-F¨ arbung von X (r) liefert wegen X (r) ⊇ Z (r) eine 2-F¨arbung (r) von Z . Birgt Z eine blaue q-Teilmenge, dann sind wir fertig. Andernfalls enth¨ alt Z eine rote (p − 1)-Teilmenge Z ′ , so dass per definitionem Z ′ ∪ {x} eine rote p-Teilmenge von X ist.
374
26 Existenzielle Kombinatorik
Wir k¨ onnen annehmen, dass die Ramsey-Zahlen R(p, q; r−1), R(p−1, q; r) und R(p, q − 1; r) f¨ ur alle p und q endlich sind. Dann zeigt die Ungleichung (26.13), dass auch R(p, q; r) endlich ist. ⊓ ⊔ Es gibt eine weitere Verallgemeinerung der klassischen Ramsey-Theorie. Sei G ein Graph und t eine nat¨ urliche Zahl. Eine t-F¨arbung von G ist eine Abbildung, die jeder Kante in G eine von t Farben zuordnet. Seien p1 , . . . , pt ≥ 2 nat¨ urliche Zahlen. Die Ramsey-Zahl R(p1 , . . . , pt ) ist die kleinste nat¨ urliche Zahl n, so dass es zu jeder t-F¨arbung von Kn einen Index i, 1 ≤ i ≤ t, derart gibt, dass Kn einen in der Farbe i gef¨arbten alt. Es kann gezeigt werden, dass die Ramsey-Zahlen Teilgraphen Kpi enth¨ R(p1 , . . . , pt ) existieren. Satz 26.16. Es gilt R(3, 3, 3) = 17. Beweis. Es gibt eine 3-F¨ arbung von K16 , die keinen monochromatischen K3 enth¨ alt. Also ist R(3, 3, 3) ≥ 17. Wir betrachten eine beliebige 3-F¨arbung von K17 . Sei v ein Knoten in K17 . Nach dem Taubenschlagprinzip gibt es mindestens sechs mit v inzidierende Kanten, die dieselbe Farbe tragen. Seien die Kanten vvi , 1 ≤ i ≤ 6, rot. Ist eine der Kanten vi vj ebenfalls rot, dann besitzt K17 einen roten K3 . Andernfalls weisen nach dem Taubenschlagprinzip wenigstens drei der f¨ unf Kanten v1 vi , 2 ≤ i ≤ 6, dieselbe Farbe auf. Seien die Kanten v1 v2 , v1 v3 und v1 v4 blau. Ist eine der Kanten v2 v3 , v2 v4 oder v3 v4 ebenfalls blau, dann birgt K17 einen blauen K3 . Andernfalls sind diese Kanten gr¨ un und K17 enth¨alt einen gr¨ unen K3 . ⊓ ⊔ Diese beiden Verallgemeinerungen der klassischen Ramsey-Theorie legen eine gemeinsame Generalisierung nahe, in der Ramsey-Zahlen R(p1 , . . . , pt ; r) definiert werden. Es kann gezeigt werden, dass diese Ramsey-Zahlen existieren.
26.5 Graphische Ramsey-Theorie Die graphische Ramsey-Theorie ist eine weitere Verallgemeinerung der klassischen Ramsey-Theorie. Seien G und H Graphen. Die Ramsey-Zahl R(G, H) ist die kleinste nat¨ urliche Zahl n, so dass jede 2-F¨arbung von Kn einen zu G isomorphen, roten ¨ Teilgraphen oder einen zu H isomorphen, blauen Teilgraphen enth¨alt. Uber die graphischen Ramsey-Zahlen ist so wenig bekannt wie u ¨ber die klassischen Ramsey-Zahlen. Aus den Definitionen ergibt sich f¨ ur alle nat¨ urlichen Zahlen p, q ≥ 2 R(p, q) = R(Kp , Kq ).
(26.14)
26.6 Anwendung in der Kommunikationstechnik
375
Satz 26.17. Ist G ein Graph der Ordnung p und H ein Graph der Ordnung q, dann gilt R(G, H) ≤ R(p, q).
(26.15)
Beweis. Sei n = R(p, q). Wir betrachten eine beliebige 2-F¨arbung von Kn . Definitionsgem¨ aß enth¨ alt Kn einen roten Kp oder einen blauen Kq . Nach Voraussetzung ist G ein Teilgraph von Kp und H ein Teilgraph von Kq . Also ist G rot oder H blau, woraus R(G, H) ≤ n folgt. ⊓ ⊔ Beispiel 26.18. Sei L3 eine Kette der Ordnung 3 (siehe Abb. 26.4). Mit 26.6 und 26.17 sowie (26.14) folgt R(L3 , L3 ) ≤ 6. Jede 2-F¨arbung von K3 enth¨alt einen monochromatischen L3 , woraus sich R(L3 , L3 ) ≤ 3 ergibt. Andererseits ist sicherlich R(L3 , L3 ) ≥ 3, mithin R(L3 , L3 ) = 3. Satz 26.19. F¨ ur alle Graphen G und H gilt R(G, H) ≥ (χ(G) − 1)(α(H) − 1) + 1,
(26.16)
wobei α(H) die M¨achtigkeit der gr¨oßten Zusammenhangskomponente von H bezeichnet. Beweis. Wir setzen m = χ(G)− 1 und n = α(H)− 1. Der Graph Kmn besteht aus m Kopien von Kn . Wir betrachten eine 2-F¨arbung von Kmn , in der in jeder Kopie von Kn alle Kanten rot seien. Alle u ¨ brigen Kanten seien blau. In jedem blauen Teilgraphen von Kmn sind die Knoten mit m Farben (im Sinne einer Knotenf¨ arbung) f¨ arbbar. Wegen m < χ(G) kann ein solcher Teilgraph keine blaue Kopie von G beinhalten. In jedem roten Teilgraphen von Kmn hat die gr¨ oßte Zusammenhangskomponente h¨ochstens n Knoten. Wegen n < α(H) kann ein derartiger Teilgraph keine rote Kopie von H enthalten. ⊓ ⊔ Die graphischen Ramsey-Zahlen lassen sich ebenfalls verallgemeinern. Seien G1 , . . . , Gt Graphen und sei t eine nat¨ urliche Zahl. Die Ramsey-Zahl R(G1 , . . . , Gt ) ist die kleinste nat¨ urliche Zahl n, so dass es zu jeder t-F¨arbung von Kn einen Index i, 1 ≤ i ≤ t, dergestalt gibt, dass Kn einen zu Gi isomorphen Teilgraphen enth¨ alt, der mit der Farbe i gef¨arbt ist. Es kann gezeigt werden, dass die Ramsey-Zahlen R(G1 , . . . , Gt ) existieren.
26.6 Anwendung in der Kommunikationstechnik ¨ Wir untersuchen die Ubertragung von Nachrichten durch einen gest¨orten Kanal (Abb. 17.1). Einem solchen Kanal ist ein Konfusionsgraph zugeordnet, ¨ dessen Knoten den Buchstaben des Ubertragungsalphabets Σ entsprechen. Die Kanten eines Konfusionsgraphen verbinden zwei Buchstaben, wenn durch ¨ einen Ubertragungsfehler der eine gesendet und der andere empfangen wer¨ den kann. Um Ubertragungsfehler auszuschließen, wird ein unzweideutiges
376
26 Existenzielle Kombinatorik
Alphabet gesucht. Ein solches Alphabet korrespondiert zu einer unabh¨angigen Knotenmenge im Konfusionsgraphen. Die M¨achtigkeit einer maximalen unabh¨ angigen Knotenmenge in einem Graphen G wird mit β(G) bezeichnet. Beispielsweise zeigt die Abb. 26.3 einen Konfusionsgraphen G, in dem ¨ das Zeichen a bei der Ubertragung durch einen gest¨orten Kanal in das Zeichen b oder e umgewandelt werden kann (und umgekehrt). Eine maximale unabh¨ angige Knotenmenge in G ist etwa {a, c}, also ist β(G) = 2. d
r H HHr r e c A A Ar r a
b
Abb. 26.3. Ein Konfusionsgraph G.
Ein gr¨ oßeres unzweideutiges Alphabet wird anhand von Bigrammen des ¨ Ubertragungsalphabets erhalten. Der zugeh¨orige Konfusionsgraph erweist sich dabei als das Normalprodukt des urspr¨ unglichen Konfusionsgraphen. Seien G = (V, E) und H = (W, F ) Graphen. Das Normalprodukt von G und H ist ein Graph G · H mit der Knotenmenge V × W , in dem Knoten (v1 , w1 ) und (v2 , w2 ) adjazent sind, wenn eine der folgenden Bedingungen erf¨ ullt ist (Fig. 26.4) • • •
v1 v2 ∈ E und w1 w2 ∈ F , v1 = v2 und w1 w2 ∈ F , v1 v2 ∈ E und w1 = w2 .
r
r
r
r
r
r r r @ @ @ @ r @r @r
Abb. 26.4. Die Ketten L3 und L2 und das Normalprodukt L3 · L2 .
¨ Als Ubertragungsalphabet werden Bigramme u unglichen ¨ ber dem urspr¨ ¨ Ubertragungsalphabet Σ betrachtet. Im Konfusionsgraphen in Abb. 26.3 liefern die vier Bigramme aa, ac, ca und cc ein unzweideutiges Alphabet, weil sie eine unabh¨ angige Menge in G · G bilden. Ist G der Konfusionsgraph ei¨ nes gest¨ orten Kanals f¨ ur das Ubertragungsalphabet Σ, dann ist G · G der 2 Konfusionsgraph f¨ ur Σ .
26.6 Anwendung in der Kommunikationstechnik
377
Satz 26.20. F¨ ur beliebige Graphen G und H gilt β(G · H) ≤ R(β(G) + 1, β(H) + 1) − 1.
(26.17)
Beweis. Sei n = R(β(G) + 1, β(H) + 1). Angenommen, es w¨are β(G · H) ≥ n. Sei U eine n-elementige, unabh¨angige Knotenmenge in G · H. Seien (v1 , w1 ) und (v2 , w2 ) Knoten in U . Da U unabh¨angig ist, gilt entweder v1 6= v2 und v1 v2 6∈ E oder w1 6= w2 und w1 w2 6∈ F . Wir betrachten den vollst¨andigen Graphen der Ordnung n, der durch die Knoten in U aufgespannt wird. Auf diesem Kn wird eine 2-F¨ arbung definiert, so dass eine mit (v1 , w1 ) und (v2 , w2 ) inzidierende Kante rot bzw. blau sei, wenn die erste bzw. zweite Bedingung gilt. Definitionsgem¨ aß birgt Kn einen roten Kp , p = β(G) + 1, oder einen blauen Kq , q = β(H) + 1. Wir nehmen an, dass Kn einen roten Kp enth¨alt. Dann ist die Menge aller Knoten v dergestalt, dass (v, w) ein Knoten in Kp ist, unabh¨ angig in G. Diese Menge hat widerspr¨ uchlicherweise p = β(G) + 1 ¨ Knoten. Ahnliches gilt f¨ ur den blauen Kq . ⊓ ⊔ F¨ ur den Konfusionsgraphen G in Abb. 26.3 gilt nach den S¨atzen 26.6 und 26.20 β(G · G) ≤ R(3, 3) − 1 = 5. Andererseits bilden die Bigramme aa, bc, ce, db und ed eine unabh¨angige Knotenmenge in G · G, woraus β(G · G) = 5 folgt.
Selbsttestaufgaben 26.1. Wie viele Leute sind n¨otig, damit mindestens zwei davon am selben Tag eines Jahres Geburtstag haben? 26.2. Ein M¨ obelhersteller baut mindestens einen Schrank pro Tag u ¨ber eine Periode von 30 Tagen. Er stellt nicht mehr als 1.5 Schr¨anke pro Tag her. Zeige, dass er an mindestens 14 konsekutiven Tagen genau einen Schrank baut. 26.3. Sei G = (V, E) ein Graph. Zeige, dass β(G) =
|V | , χ(G)
wobei β(G) die M¨ achtigkeit einer maximalen unabh¨angigen Knotenmenge in G bezeichne. 26.4. (Erd¨ os, Szekeres) Sei x = (x1 , . . . , xn ) eine Folge ganzer Zahlen. Eine Teilfolge der L¨ange m von x ist eine Folge (xi1 , . . . , xim ) mit 1 ≤ i1 < . . . < im ≤ n. Zeige, dass es in einer Folge von n2 + 1 verschiedenen, ganzen Zahlen entweder eine aufsteigende Teilfolge der L¨ange n + 1 oder eine absteigende Teilfolge der L¨ ange n + 1 gibt.
378
26 Existenzielle Kombinatorik
26.5. Wie viele 2-F¨ arbungen von K4 gibt es? 26.6. Seien p, p′ , q, q ′ ganze Zahlen mit 2 ≤ p′ ≤ p und 2 ≤ q ′ ≤ q. Zeige, dass R(p′ , q ′ ) ≤ R(p, q). 26.7. Zeige, dass R(3, 5) = 14. 26.8. Finde obere Schranken f¨ ur R(5, 5) und R(5, 6). 26.9. Zeige, dass p1 + . . . + pt . R(p1 + 1, . . . , pt + 1; 2) ≤ p 1 , . . . , pt 26.10. Bestimme R(L3 , L4 ) und R(L4 , L4 ). 26.11. Sei Tm ein Baum der Ordnung m. Zeige, dass R(Tm , Kn ) = 1 + (m − 1)(n − 1). 26.12. Sei Cn ein einfacher Kreis der Ordnung n. Zeige, dass R(C4 , C4 ) = 6. 26.13. Eine Menge von Punkten in der euklidischen Ebene sind in allgemeiner Lage, wenn keine drei Punkte auf einer Geraden liegen. Zeige, dass es unter f¨ unf Punkten in allgemeiner Lage stets vier Punkte gibt, die ein konvexes Rechteck aufspannen. 26.14. Seien m Punkte der euklidischen Ebene in allgemeiner Lage dergestalt, dass je vier dieser Punkte ein konvexes Viereck bilden. Zeige, dass alle m Punkte ein konvexes m-Eck bilden. 26.15. (Erd¨ os, Szekeres) Sei m ≥ 4. Zeige, dass es eine Zahl Nm gibt, sodass, falls n ≥ N (m) Punkte der euklidischen Ebene in allgemeiner Lage gegeben sind, dann m dieser Punkte ein konvexes m-Eck bilden.
Literaturverzeichnis
1. Aigner, A.M.: Diskrete Mathematik. Vieweg, Braunschweig (2004) 2. Betten, A., Fripertinger, H., Kerber, A., Wassermann, A., Zimmermann, K.-H.: Codierungstheorie. Springer, Berlin (1998) 3. Beutelspacher, N.: Das ist o.B.d.A. trivial. Vieweg, Braunschweig (2004) 4. Blachman, N., Mossinghoff, M.J.: Maple griffbereit. Vieweg, Braunschweig (1994) 5. Biggs, N.: Discrete Mathematics. Oxford Univ. Press, London (2002) 6. Davenport, H.: The Higher Arithmetic. Cambridge Univ. Press, Cambridge (1999) 7. Dean, N.: Diskrete Mathematik im Klartext. Pearson, London (2003) 8. Hachenberger, D.: Mathematik f¨ ur Informatiker. Pearson, M¨ unchen (2005) 9. Harris, J.M., Hirst, J.L., Mossinghoff, M.J.: Combinatorics and Graph Theory. Springer, New York (2000) 10. Hellwich, K.-H.: Stereochemie – Grundbegriffe. Springer, Berlin (2002) 11. Ihringer, T.: Diskrete Mathematik. Heldermann, Lemgo (2002) 12. Kasch, F., Pareigis, B.: Grundbegriffe der Mathematik. Fischer Verlag, M¨ unchen (1991) 13. Lidl, R., Niederreiter, H.: Introduction to Finite Fields and Their Applications. Cambridge Univ. Press, Cambridge (1997) 14. Lipschutz, S., Lipson, M.L.: 2000 Solved Problems in Discrete Mathematics. McGraw-Hill, New York (1992) 15. Lorenzen, A.M., Schwemmer, Y.V.: Konstruktive Logik, Ethik und Wissenschaftstheorie. BI Wissenschaftsverlag, Mannheim (1982) 16. Meyberg, K.: Algebra 1, Hanser, M¨ unchen (1980) 17. Meyberg, K.: Algebra 2, Hanser, M¨ unchen (1976) 18. Radziszowski, S.P.: Small Ramsey numbers. Electronic J. Combinatorics, Dynamical Survey DS1, 1-48, (2004) 19. Roberts, F.S.: Applied Combinatorics. Prentice Hall, Englewood Cliffs, NJ (1984) 20. Williamson, S.G.: Combinatorics for Computer Science. Computer Science Press, Rockville, MA (1985)
Sachverzeichnis
Abbildung, 55 bijektive, 57 identische, 55 injektive, 57 konstante, 55 monomiale, 194 surjektive, 57 Abbildungsdiagramm kommutatives, 57 Abbildungsvorschrift, 55 abgeschlossene Kugel, 188 Abk¨ uhlungsplan, 316 Ableitung, 178 Ableitungsregeln, 178 Absorption, 7, 27 Abstand, 277, 287 Addierwerk, 269 Addition, 73, 121 Additionsprinzip, 89 adjazent, 273 Adjazenzliste, 284 Adjazenzmatrix, 283 algebraisch, 214 allgemeine Lage, 378 Allquantor, 11 aufl¨ osen, 19 Allrelation, 39 Anfangstemperatur, 316 Antinomie, 31 ¨ Aquivalenz, 48 logische, 3 ¨ Aquivalenzklasse, 49 assoziiert, 165
Atom, 257 Aufrufbaum, 308 aufz¨ ahlende Form, 23 Ausdruck, 77 einfacher, 15 Aussage, 3 duale, 240, 257 erf¨ ullbare, 5 g¨ ultige, 5 Aussageform, 4 aquivalente, 6 ¨ Aussagenbegriff, 3 Aussagenvariable, 4 Austauscheigenschaft, 320 Austauschschritt, 342 Automorphismengruppe Code, 193, 212 Graph, 276 auswerten, 169 Automorphismus, 125, 192, 275 Axiom, 31 Backtracking, 308 Bahn, 351 Basis, 320, 335 Basiswechsel, 182 Baum, 278 BCH-Schranke, 231 Begriff, 248 Bell-Zahl, 111 Bergauf-Methode, 314 Berlekamp-Algorithmus, 227 Beweis
382
Sachverzeichnis
direkter, 19 einer Existenzaussage, 19 indirekter, 19 konstruktiver, 19 Beweisbegriff, 240 Beweistechnik, 18–20 beschreibende Form, 24 bin¨ are Suche, 70 Bildmenge, 40 Binomialsatz, 127 Binomialzahl, 97 Block, 31 Blockcode, 182 Boltzmann-Gewicht, 318 Boltzmann-Wahrscheinlichkeit, 318 boolesche Algebra, 256 Bounding-Funktion, 310 Breitensuche, 284 Brouwer-Zimmermann, 200 Br¨ ucke, 279 Bubble-Sort, 67 Buchstabe, 60 Burnsides Lemma, 354 Charakeristik, 213 Chiffrierung, 160 chinesischer Restesatz, 141, 174 chromatische Zahl, 322 Clique, 306 Code (M, n)-, 182 [n, k]-, 182 [n, k, d]-, 188 s-Fehler-erkennender, 189 t-Fehler-korrigierender, 188 abstandshomogener, 211 BCH-, 230 dualer, 183 erweiterter, 207 Hamming-, 203 isomorph, 192, 211 Lochstreifen-, 182 MDS-, 201 Paritatskontroll-, 182 perfekter, 203 punktierter, 208 Reed-Solomon-, 232 selbstdualer, 183 Simplex-, 205
trivialer, 202 Wiederholungs-, 182 zyklischer, 233 Codevektor, 182 Codetabelle, 210 Codewort, 182 Codierer, 181 linearer, 182 systematischer, 183 Datenbank, 43–44 De Morgan, 7, 27, 256 Dechiffrierung, 160 Decodierer, 181 Maximum-Likelihood (ML), 185 Definition, 18 induktive, 73 Definitionsbereich, 40 Diagonalmethode erste, 83 zweite, 84 Diagramm, 47, 273 ebenes, 280 Diedergruppe, 156 Differenz, 122 Digraph, 47 direktes Produkt, 38 Disjunktion, 3 Disjunktionsschluss, 20 Divisionssatz, 129 Divisionsschieberegister, 176 Divisionstheorem, 165 doppelte Verneinung, 7 Dreiecksungleichung, 187 Dualit¨ atsprinzip, 240, 257 Dualit¨ atssatz, 331 Durchschnittsmenge, 26, 30, 32, 33 Ecke, 333 entartete, 335 Einheit, 147, 151 Einheitsbasis, 194 Eins, 122, 254 Einsfunktion, 260 Element, 23, 31 gr¨ oßtes, 241 kleinstes, 241 Elementaroperation, 67 Elferprobe, 144
Sachverzeichnis Endknoten, 276 Endomorphismus, 125 Entscheidungsproblem, 305 Entwurfsabstand, 230 Epimorphismus, 125 Erf¨ ullbarkeitsproblem, 306 euklidischer Algorithmus, 167 erweiterter, 132, 168 eulersche Φ-Funktion, 149 eulersche Polyederformel, 280 Existenzquantor, 12 Faktorgruppe, 158 Faktorraum, 211 Familie, 59 F¨ arbung, 355 2-, 368 t-, 374 Fehlervektor, 185 Fermat-Zahl, 133 Fibonacci-Folge, 74 Filter, 320 Fixpunkt, 353 Fl¨ ache, 280 Fluss, 294 0-1-, 300 maximaler, 295 Flussnetz, 293 Flusswert, 295 Folge endliche, 60 L¨ ange einer, 60 unendliche, 60 formale Begriffsanalyse, 246 Frobenius-Automorphismus, 225 Fundamentalkreis, 292 Fundamentallemma, 352 Fundamentalsatz der Algebra, 171 Fundamentalsatz der Arithmetik, 134 Funktion, 55 Funktionenring, 123 Galoisgruppe, 226 Galoisfeld, 221 ganze Zahlen, 120 Ganzzahligkeitssatz, 298 Gatter, 8, 260 genetischer Algorithmus, 318 Generatormatrix, 182
383
kanonische, 183 Ger¨ ust, 278 Geschlecht, 201 Gewicht, 354 Gleichheitsaxiom, 32 Gleichheitsprinzip, 89 Gleichheitsrelation, 39 gleichm¨ achtig, 82 Gleichverteilungsprinzip, 212 Glied, 60 konstantes, 163 G¨ odelisierung, 135 goldener Schnitt, 74 Grad, 163 Gradfolge, 274 Gradformel K¨ orper-, 218 Polynom-, 164 Graph k-regul¨ arer, 274 bipartiter, 279 vollst¨ andiger, 282 blauer, 368 endlicher, 273 eulerscher, 286 farbb¨ arer, 322 gerichteter, 47 komplement¨ arer, 306 kreisfreier, 278 markierter, 361 planarer, 280 roter, 368 selbstkomplement¨ arer, 286 ungerichteter, 273 unmarkierter, 361 vollst¨ andiger, 281 Greedy-Algorithmus, 319 Gr¨ oße, 273 gr¨ oßter gemeinsamer Teiler, 130, 167 gr¨ oßtes Element, 52 Grundmenge, 28 Gruppe, 152 abelsche, 153 alternierende, 155 endliche, 153 monomiale, 194 Ordnung einer, 153 symmetrische, 154 vom Grad n, 154
384
Sachverzeichnis
zyklische, 156 Gruppenoperation, 351 nat¨ urliche, 353 transitive, 352 Halbaddierer, 266 Halbordnung, 51 hamiltonscher Kreis, 312 Hamming-Abstand, 187 Hamming-Gewicht, 187 Handschlagslemma, 274 Hasse-Diagramm, 51 Hauptideal, 178 Heiratssatz, 303 Heuristik, 314 heuristischer Algorithmus, 313 Hoare-Tripel, 17 g¨ ultiges, 17 Homomorphiesatz, 158 Homomorphismus, 125, 158, 191, 244, 245 Hom¨ oomorphie, 282 Horner-Schema, 140 H¨ ulle, 247 konvexe, 333 lineare, 248 H¨ ullenoperator, 247 Ideal, 127 Idempotenzgesetze, 240 imaginare Einheit, 172 Implikation, 3 Index, 157 Indexmenge, 59 Induktion fundierte, 76 vollst¨ andige, 72 Induktionsanfang, 72 Induktionsannahme, 72 Induktionsaxiom, 72 Induktionsschluss, 72 Infimum, 241 Informationsmenge, 197 Informationsrate, 182 Inhalt, 248, 359 Inklusion, 24 Inklusionsabbildung, 55 Integrit¨ atsring, 152 Interpolation, 175
Interpolator, 175 Inverses, 122, 147, 151 Inverter, 261 invertierbar, 147, 151 Involutionsgesetz, 256 inzident, 47 Inzidenzmatrix, 283, 338 Inzidenzstruktur, 363 isoliert, 274 Isomere, 364 Isometrie, 192 Isomorphie, 125 Isomorphismus, 125, 192, 245 Isthmus, 279 Iteration, 77 Junktor, 4 Kanal, 185 kanonische Form, 346 Kante, 47, 273 Kanten¨ uberdeckung, 348 Kapazit¨ at, 293 Rucksack, 308 Schnitt, 295 kartesisches Produkt, 38 Kern, 125 kirchhoffsche Bedingung, 294 Klassentheorie, 31 kleinstes Element, 52 kleinstes gemeinsames Vielfaches, 133, 167 Knoten, 47, 273 adjazente, 47 innere, 293 Knotenf¨ arbung, 322 Knoten¨ uberdeckung, 302 minimale, 302 Koatom, 257 Koeffizient, 59 Kombination, 97 Komplement, 254, 286 Komplement¨ armenge, 26, 28, 32 Komposition, 41 Komponente, 277 Konfiguration, 193 Konfusionsgraph, 375 Kongruenz mod n, 138 Konjugation, 353
Sachverzeichnis Konjugierte, 178 Konjugiertenklasse, 353 Konjunktion, 3 Konjunktionsschluss, 20 Kontext, 246 Kontraposition, 19 Kontrollmatrix, 184 kanonische, 184 Kontrollstelle, 183 konvexes Polyeder, 333 K¨ orper, 152, 161, 217 K¨ orpererweiterung, 169 algebraische, 234 endliche, 216 K¨ orpergrad, 216 Kosten, 290 Kreis, 276 einfacher, 48, 276 Kreisteilungspolynom, 215 Kreuzung, 319 K¨ urzungsregel, 127, 152, 253 Laufzeit, 305 Lehmer-Code, 66 Leitkoeffizient, 163 Lemma von Farkas, 330 Lin-2-Opt-Schritt, 313 Linearcode, 182 lineares Programm, 328 duales, 328 ganzzahliges, 336 l¨ osbares, 328 primales, 328 Linearkombination, 248 konvexe, 333 Linksnebenklasse, 157 Literal, 265 L¨ osung, 307 optimale, 307, 328 zul¨ assige, 328 M¨ achtigkeit, 81 Matrix, 60 monomiale, 194 transponierte, 41 Matrizenring, 124 Matroid, 320 graphisches, 320 lineares, 320
uniformes, 320 maximales Element, 52 Maxterm, 265 Mehrfachkante, 273 Menge, 23, 31 abgeschlossene, 247 abz¨ ahlbare, 82 disjunkte, 28 endliche, 24, 81 fundierte, 76 halbgeordnete, 51 h¨ oherer Ordnung, 29 konvexe, 333 leere, 25 u ahlbare, 82 ¨ berabz¨ unabh¨ angige, 306, 320 unendliche, 24, 81 wohlgeordnete, 79 Mengengleichheit, 24, 32 Mengensystem, 29 Mengen¨ uberdeckung, 325 Mersenne-Zahl, 134 Metrik, 187 Minimalabstand, 188 minimales Element, 52 Minimalgewicht, 188 Minimalpolynom, 215 Minimalvektor, 190 Minterm, 265 M¨ obius-Funktion, 223 M¨ obius-Inversion, 224 modular, 337 Modulus, 138 Modus Ponens, 20, 240 monomial, 211 Multimenge, 61 Multinomialsatz, 127 Multinomialzahl, 105 Multiplikation, 73, 121 Multiplikationsprinzip, 91 Musterklasse, 355 Mutation, 318 Nachbarschaft, 313 Nachbedingung, 17 Nachfolger, 72 Nachricht, 182 Negation, 3 Neunerprobe, 141
385
386
Sachverzeichnis
neutrales Element, 152 Normalformensatz disjunktiver, 258, 264 konjunktiver, 259, 264 Normalisator, 353 Normalprodukt, 376 Normalteiler, 158 NP-hart, 307 NP-vollst¨ andig, 306 Null, 122, 254 Nullfunktion, 260 Nullpolynom, 163 Nullrelation, 39 Nullspalte, 192 Nullstelle, 170 Nullteiler, 148 Oberbegriff, 248 Obermenge, 24 Operation, 55 Optimum globales, 314 lokales, 314 Ordnung, 273 Element-, 156 lineare, 52 Paar, 37 Paarmenge, 38 Paarung, 302 maximale, 302 vollst¨ andige, 303 Parit¨ atsbit, 182 Partition, 31 k-, 109 uniforme, 316 Perlenkette, 360 Permutation, 62 k-, 101 gerade, 64 induzierte, 352 vom Grad n, 62 Permutationsdarstellung, 352 Permutationsgruppe, 155 induzierte, 352 permutationsisomorph, 197 Permutationsmatrix, 193 Petersen-Graph, 286 Pfeildiagramm, 40
Pivotelement, 342 Plotkin-Summe, 209 Polynom, 163 chromatisches, 325 irreduzibles, 172 konstantes, 163 lineares, 163 normiertes, 163 primitives, 220 Polynomabbildung, 169 polynomiale Transformation, 306 Polynomring, 164 Population, 318 Potenz, 75 Potenzgesetze, 123 Potenzmenge, 29, 33 Potenzmengenaxiom, 33 prim, 133 Primfaktordarstellung kanonische, 135 primitives Element, 220 Primk¨ orper, 214 Primzahl, 133 Prinzip der doppelten Abz¨ ahlung, 90 Prinzip der Inklusion-Exklusion, 92 Produktmenge 38 Produktordnung, 54 Produktring, 124 Produktverband, 240 Projektion, 44, 192, 265 Quellmenge, 55 Quotient, 130, 166 Quotientenmenge, 49 Ramsey-Zahl, 368, 373–375 rationaler Nullstellentest, 171 Relation n-te Potenz einer, 75 antisymmetrische, 51 heterogene, 39 homogene, 39 inverse, 39 linkseindeutige, 57 linkstotale, 55 rechtseindeutige, 55 rechtstotale, 57 reflexive, 48, 51 symmetrische, 48
Sachverzeichnis transitive, 48, 51 relativ prim, 134 relatives Produkt, 41 Repetition, 100 Rest, 130, 166 Restegesetz, 130 Restklasse modulo n, 139 Restklassenring, 127, 139 Ring, 121 einfacher, 161 entgegengesetzter, 127 euklidischer, 178 kommutativer, 122 Ringschluss, 59 RSA-Verfahren, 159 R¨ uckkopplungspolynom, 176 Rucksack, 308 rationaler, 310 Rucksack-Problem, 308 rationales, 310 R¨ uckw¨ artskante, 296 Rundreise, 312 Rundreise-Problem, 312 Satz, 31 Bezout, 132, 168 Cayley, 290 Dijkstra, 289 Euler, 150 Fermat, 150 Floyd-Warshall, 289 Ford-Fulkerson, 296 Hall, 303 K¨ onig-Egerv´ ary, 302 Kruskal, 291 Kuratowski, 282 Menger, 300, 301 P´ olya, 358 Schaltalgebra, 263 Schaltfunktion, 260, 363 Schaltkreis kombinatorischer, 259 Schaltungsb¨ undel, 266 Schaltungsentwurf, 8–10 Schedule kausaler, 126 Schleifeninvariante, 77 Schlinge, 47, 273 Schlupfvariable, 336
Schl¨ ussel offentlicher, 160 ¨ privater, 160 Schnitt, 295 minimaler, 295 Schranke Gilbert-Varshamov, 205 Griesmer-, 203 Hamming-, 202 obere, 241 Singleton-, 201 untere, 241 Schubfachprinzip, 91 Sehne, 292 Selektion, 43, 318 Semantik, 8 Siebformel, 93 Signum, 64 Simplex-Algorithmus, 345 Simulated Annealing, 316 simuliertes Ausgl¨ uhen, 316 Spannbaum, 278 minimaler, 290 SQL, 43 Stabilisator, 352 Standardarray, 191 Standardbilinearform, 183 Standardform, 347 Startknoten, 276 Startpunkt, 314 steilster Aufstieg, 314 Stirling-Zahlen, 102, 103, 111 Stonescher Darstellungssatz, 259 Summe, 208 Supremum, 241 Symbolfehlerwahrscheinlichkeit, 185 Syndrom, 190 Syntax, 8 Tableau, 342 Taubenschlagprinzip, 367 verallgemeinertes, 368 Tautologie, 5 Teilbarkeitsrelation, 166 Teiler, 130 teilerfremd, 134 Teilgraph, 274 Teill¨ osung, 309 Teilmenge, 24
387
388
Sachverzeichnis
n-, 24 leere, 25 Teilmengenaxiom, 32 Temperatur, 316 Tiefensuche, 284 total unimodular, 337 Tr¨ ager, 263 Transzendente, 214 trennende Kantenmenge, 300 trennende Knotenmenge, 300 Tupel, 38 Turing-Reduktion, 307 Typ Abbildung, 105 Partition, 110 Umfang, 248, 281 Unbestimmte, 163 Universum, 307 Unterbegriff, 248 Untergruppe, 154 konjugierte, 353 triviale, 155 Untergruppenkriterium, 154 Unterraum affiner, 190 Unterraumverband, 248 Unterring, 125 Unterteilung, 282 Unterverband, 244 Urbildmenge, 40 Variable freie, 14 gebundene, 14 Variation, 104 Verband, 239 Aussagen-, 239 distributiver, 253 dualer, 240 endlicher, 239 isomorph, 244 komplement¨ arer, 254 Potenzmengen-, 239 Produkt-, 240 Teiler-, 239 Unterraum-, 239 Verbindbarkeit, 277 Verbund, 44
Vereinigungsmenge, 26, 30, 33, 34 Vereinigungsmengenaxiom, 33, 34 Verschmelzungsgesetze, 239 Vertretersystem, 50, 304 Vietascher Wurzelsatz, 234 Volladdierer, 267 Vorbedingung, 17 schw¨ achste, 17 Vorw¨ artskante, 296 W -Gewicht, 358 W -Gewichtssumme, 358 W -Mustervorrat, 358 Wahrheitstafel, 4 Wahrscheinlichkeit, 99 Wald, 278 Weg, 276 einfacher, 48, 276 eulerscher, 286 gerichteter, 48 k¨ urzester, 287 Wegl¨ ange, 276 Wegenetz, 287, 290 Wertebereich, 40 Wohldefiniertheit, 120 Wort, 60 (n, k)-Wort, 99 charakteristisches, 99 leeres, 60 streng monotones, 97 wachstumsbeschr¨ anktes, 109 Wurzel, 170 Wurzelsatz, 170 Zahl algebraische, 86 zusammengesetzte, 133 Zahlk¨ orper, 217 Zahlpartition geordnete, 113 ungeordnete, 115 Zeichenvorrat, 60 Zentralisator, 354 Zielfunktion, 307 Zielmenge, 55 zul¨ assiger Bereich, 328 ganzzahliger, 337 zusammenh¨ angend, 277 Zusammenhangszahl, 304
Sachverzeichnis Zustand, 5, 16 Zuweisung, 16 Semantik einer, 17 Zykel, 62 n-, 62
disjunkte, 63 Zykeldarstellung, 62 Zykelindikatorpolynom, 356 Zykell¨ ange, 62 Zykeltyp, 103
389
Diskrete Mathematik Errata Karl-Heinz Zimmermann June 23, 2009
• Beispiel 1.3: bedeutet ((P ∧ (Q ∨ R)) ⇒ ((¬Q) ∧ P ). • Selbsttestaufgabe 1.6. Vereinfache die Aussageform (P ⇒ Q)) ∧ (P ∧ ¬Q). • Selbsttestaufgabe 4.13. A wird als Menge vorausgesetzt. • Selbsttestaufgabe 7.2. 12 + 22 + · · · + n2 =
n(n + 1)(2n + 1) . 6
• Satz 8.8 (Beweis): Dann ist die Abbildung f : B → N0 , • 13.4 G¨odelisierung: g(claire) = 23 312 51 79 115 • Satz 14.3 Restegesetz: a ≡ b mod n
⇐⇒
a mod n = b mod n.
• Satz 14.12 (Beweis): • Seite 194, Zeile 1: Die Komposition einer Permutation und einer Konfiguration liefert... = (πn1 (a), . . . , πnr (a)) + (πn1 (b), . . . , πnr (b)),
Definition Addition
• 21.1 Grundbegriffe (Teilgraphen): Ein Teilgraph von G ist ein Graph G′ = (V ′ , E ′ ) mit V ′ ⊆ V ′ und E ′ ⊆ E ∩ V2 . • Beweis zu Satz 22.23: |U | = |U1 | + |U2 | ≥ |U1 | + |V1 \ U2 | = |V1 |.
1
• Beispiel 23.19: v a b c d f (v) 1 2 1 2 {a} {b} {c} F • Beispiel 24.2: Das zugeh¨orige duale LP lautet s.d.
min 6y1 + 12y2 −y1 + 3y2 ≥ 1 3y1 + y2 ≥ 3 yi ≥ 0 ∀i
Danksagung an Alexander Sagel f¨ur eine kritische Durchsicht.
2
Diskrete Mathematik ¨ Losungen zu den Selbsttestaufgaben
Karl-Heinz Zimmermann 15. Mai 2007
1
1
Aussagenlogik
1. ¬P ∧ Q heißt “Susi ist arm, aber gesund”, ¬P ∧ ¬Q heißt “Susi ist weder reich noch gesund”, ¬P ∨ (P ∧ ¬Q) heißt “Susi ist arm oder aber reich und krank”. 2. Wahrheitstafel
P Q P ∨ ¬Q w w w w w f f w f w f f
3. Es gilt: P ∨ ¬(P ∧ Q) gdw. P ∨ (¬P ∨ ¬Q) (de Morgan) gdw. (P ∨ ¬P ) ∨ (P ∨ ¬Q) (Distributivgesetz) gdw. w ∨ (P ∨ ¬Q) gdw. w. 4. “Ihre Mutter ist keine Britin und ihr Vater ist kein Deutscher”. 5. Die Aussage hat die Form K ⇒ (M ∧ ¬T ), ihre Negation ist K ∧ (¬M ∨ T ), also “Es ist kalt ¨ ein T-Shirt oder keinen Mantel”. und er tragt 6. Der Zustand (P, Q) = (w, f ) liefert f . 8. Wahrheitstafel: P Q ¬(P ∨ Q) ¬P ∧ Q ¬(P ∨ Q) ∨ (¬P ∧ Q) ¬P w w f f f f w f f f f f f w w w f w f f w f w w Umformung: ¬(P ∨ Q) ∨ (¬P ∧ Q) gdw. (¬P ∧ ¬Q) ∨ (¬P ∨ Q) gdw. (¬P ∨ ¬P ) ∧ (¬P ∨ Q) ∧ (¬P ∨ ¬Q) ∧ (¬Q ∨ Q) gdw. ¬P ∧ (¬P ∨ Q) ∧ (¬P ∨ ¬Q) gdw. ¬P . 9. Schaltkreis in Abb. 1.
P Q
r
r
r r
s(P, Q)
Abbildung 1: Logischer Schaltkreis.
2
2
¨ Pradikatenlogik
1. ∀x ∈ M [S(x)], ∃x ∈ S [G(x)], ∀x ∈ M [K(s, x)], ∀x ∈ M ∃y ∈ M [L(x, y)]. 2. ∀x ∈ M [¬P (x) ∧ ¬Q(x)], ∀x ∈ M [Q(x) ⇒ P (x)]. ¨ ¨ 3. P (x) sei das Pradikat ”x ist schlank” und Q(x) sei das Pr adikat ”x ist groß”. 4. x, y frei, x gebunden und y frei, x, y gebunden, u, n, k gebunden und a frei. 5. f, w, w, f. 6. x+7+y > 20, (x−1)2 +2(x−1) = 3, ((x−1)+1)((x−1)−1) = 0, x+y = x, x+y = x+(x+y). 7. {x − y = X ∧ y = Y } x := x − y {x = X ∧ y = Y }, {x − (x − y) = X + Y ∧ x − y = Y } y := x−y {x−y = X ∧y = Y }, {y = X +Y ∧(x+y)−y = Y } x := x+y {y = X +Y ∧x−y = Y }, also Vorbedingung x = Y ∧ y = X + Y .
3
Mengen
1. {x | ∃y ∈ N0 [x = 2y ]}, {x | ∃x ∈ Z ∧ 10 ≤ x ≤ 30 ∧ ¬3|x ∧ ¬5|x}, {x | ∃y ∈ Z [x = 2y + 1]}. 2. Die erste und vierte sowie die zweite und dritte Menge stimmen uberein. ¨ 3. (1) A und B sind disjunkt. (2) A und B sind nicht disjunkt: (2a) A ist in B enthalten oder umgekehrt. (2b) A und B “uberlappen” ¨ sich: A \ B 6= ∅ 6= B \ A. 5. A = B = C. 7. Sei x ∈ A \ B. Dann x ∈ A und x 6∈ B. Also sind A \ B und B disjunkt. Klar sind A \ B und B Teilmengen von A ∪ B und somit A \ B ∪ B ⊆ A ∪ B. Sei x ∈ A ∪ B. Liegt x in B, dann auch in A \ B ∪ B. Liegt x nicht in B, dann liegt x in A \ B. Also gilt die Gleichheit. 8. Nein im Falle C ⊆ A oder A ⊆ C. 12. f, f, w, w, w, w. 13. Setze B = {1, 2, 3}, C = {1, 2} und D = {4, 5}: P (A) = {∅, {B}, {C}, {D}, {B, C}, {B, D}, {C, D}, {B, C, D}}. 14. N, ∅, N. 15.
S
M = 5,
T
M = {2}.
3
4
Relationen
2. Kartesisches Produkt: A × B × C = {(1, a, 1), (1, a, 3), (1, b, 1), (1, b, 3), (1, c, 1), (1, c, 3), (2, a, 1), (2, a, 3), (2, b, 1), (2, b, 3), (2, c, 1), (2, c, 3)}. 4. Wegen der Monotonie des direkten Produkts gilt: B ∩ C ⊆ B ⇒ A × (B ∩ C) ⊆ A × B B ∩ C ⊆ C ⇒ A × (B ∩ C) ⊆ A × C. Da A × (B ∩ C) in beiden Kreuzproduktmengen enthalten ist, muss es eine Teilmenge der Schnittmenge dieser beiden Mengen sein. Da aber B ∩ C die gesamte Schnittmenge ¨ ist A × (B ∩ C) genau gleich der von B und C und nicht eine Teilmenge von ihr enth alt, Schnittmenge der rechten Ausdrucke. ¨ Analog geht der Beweis fur ¨ die Vereinigung. 5. A × B hat 3 · 2 = 6 Elemente. Also gibt es 2 6 = 64 Teilmengen von A × B und somit 64 Relationen von A nach B. 6. R−1 = {(1, a), (2, a), (2, b)}. 7. dom(R) = {1, 3, 4}, ran(R) = {x, y, z}. 8. {(10, 1), (7, 2), (4, 3), (1, 4)}. 9. R({1, 3}) = {a, b, d}, R −1 ({b}) = {1, 3, 4}. 10. Elternteil: K −1 , Tante: S ◦ V ∪ S ◦ M , Geschwister: B ∪ S, Schwiegermutter: M ◦ (F ∪ E), Cousin oder Cousine: K ◦ B ◦ V ∪ K ◦ B ◦ M ∪ K ◦ S ◦ V ∪ K ◦ S ◦ M . 11. Pfeildiagramm, siehe Abb. 2. A
1 r
R
B
S
C
a - r r x * : br r 2 H : H HH HH H H c HH HH - r y r r 3 XXX HH H XX H XXXH HH Hj XX j H r H dr z X r z 4
Abbildung 2: Pfeildiagramm zu Aufgabe 11.
4
5
Homogene Relationen
1. R reflexiv, transitiv, symmetrisch, antisymmetrisch. S symmetrisch. T transitiv, antisymmetrisch. ¨ a + b gerade und b + c gerade impliziert (a + b) + (b + c) = a + c + 2b gerade. 2. Transitivitat: Wegen 2b gerade, ist dann auch a + c gerade. Quotientenmenge R besteht aus 0 (gerade naturliche ¨ Zahlen) und 1 (ungerade naturliche ¨ Zahlen). 3. Gleiche Buchstabenanzahl: W = {{iso}, {auto, mori, omni, otto}, {motto}}. Gleicher erster Buchstabe: W = {{auto}, {iso}, {mori, motto}, {omni, otto}}. ¨ a2 −b2 teilbar durch 3 und b2 −c2 teilbar durch 3, dann a2 −c2 = (a2 −b2 )+(b2 −c2 ) 4. Transitivitat: teilbar durch 3. 5. w, f, w, f. ¨ 6. Reflexivitat: x v1 x ∧ y v2 y ⇐⇒ (x, y) v (x, y) ¨ Transitivitat: (x1 , y1 ) v (x2 , y2 ) ∧ (x2 , y2 ) v (x3 , y3 ) ⇐⇒ x1 v1 x2 ∧ y1 v2 y2 ∧ x2 v1 x3 ∧ y2 v2 y3 =⇒ x1 v1 x3 ∧ y1 v2 y3 ⇐⇒ (x1 , y1 ) v (x3 , y3 ) Antisymmetrie: (x1 , y1 ) v (x2 , y2 ) ∧ (x2 , y2 ) v (x1 , y1 ) ⇐⇒ x1 v1 x2 ∧ x2 v1 x1 ∧ y1 v2 y2 ∧ y2 v2 y1 =⇒ x1 = x2 ∧ y1 = y2 ⇐⇒ (x1 , y1 ) = (x2 , y2 ) 7. Hasse-Diagramm (siehe Abb. 3). 1 ist das kleinste Element, die maximalen Elemente sind 18 und 24. 8. R2 = {(1, 4), (2, 1), (3, 4), (3, 1)}, R 3 = {(2, 1), (3, 1), (4, 4)}, R 4 = {(2, 4), (3, 4), (4, 1)}. R + ist Vereinigung von Ri , 1 ≤ i ≤ 4.
5
24r
@ @
r
8@@
@r @
@r @
4@
r
12 @
@r 2@
18@ @r 6@
@
@
@
@r
9 @r
3 @r
1
Abbildung 3: Hasse-Diagramm zu Aufgabe 7.
6
6
Abbildungen
1. {(a, d), (c, d), (d, a), (c, d), (b, a)} ist eine Abbildung, obgleich das Paar (c, d) zweimal vorkommt. {(d, b), (a, b), (c, a), (d, d)} ist nicht linkstotal, da b kein Bild besitzt. {(d, b), (c, b), (b, b), (a, b)} ist eine konstante Abildung. {(d, a), (c, d), (a, b), (b, a), (a, a)} ist nicht rechtseindeutig, weil a erste Komponente zweier verschiedener Paare ist. 2. (f g)(x) = f (g(x)) = f (x2 + 2) = 3(x2 + 2) − 1 = 3x2 + 5 und (gf )(x) = g(f (x)) = g(3x − 1) = (3x − 1)2 + 2 = 9x2 − 6x + 3. 3. Weil das Diagramm kommutativ ist, liefern alle gerichteten Wege von A nach E dieselbe Abbildung h1 ◦ h2 . Diese sind h1 ◦ f2 ◦ g2 , f1 ◦ g1 ◦ h2 , f1 ◦ g1 ◦ f2 ◦ g2 und f1 ◦ k ◦ g2 . 4. f (x) = 2x ist injektiv, aber nicht surjektiv. g(x) = x 3 ist bijektiv. h(x) = x3 − x ist surjektiv, aber nicht injektiv, weil h(−1) = h(0) = h(1) = 0. 6. Die Elemente von A sind paarweise disjunkt, weil eine Abbildung rechtseindeutig ist. Die ¨ nicht die leere Menge, weil eine Vereinigung der Elemente von A ergibt A und A enth alt Abbildung linkstotal ist. 8. Inverse Permutation 1 2 3 4 5 6 7 8 9 5 1 6 2 7 3 8 4 9
!
bzw. in Zykelgestalt (157842)(36)(9). 9. Fur ¨ π = (1357)(246)(89) und ρ = (1248)(35)(6)(79) gilt: ρπρ−1 = [(1248)(35)(6)(79)][(1357)(246)(89)][(1842)(35)(6)(79)] = [(1248)(35)(6)(79)][(19)(23786)(4)(5)] = (17)(2539)(486). 10. Sei p(n) = am nm + am−1 nm−1 + . . . + a1 n + a0 ein Polynom mit reellwertigen Koeffizienten. Fur ¨ alle n ∈ N gilt: p(n) ≤ |am |nm + |am−1 |nm−1 + . . . + |a1 |n + |a0 | ≤ (|am | + |am−1 | + . . . + |a1 | + |a0 |)nm = O(nm ). 11. O(log m).
7
Die naturlichen ¨ Zahlen
1. Parameterverschiebung: n 7→ n + n0 , n ≥ 0.
7
2. Korrektur: 12 + 2 2 + . . . + n 2 =
n(n + 1)(2n + 1) . 6
2 2 2 2 Per Induktion nach n. Im Falle n = 1 gilt 1 2 = 1 = 1·2·3 6 . Weiter: 1 +2 +. . .+n +(n+1) = n(n+1)(2n+1) + (n + 1)2 nach Induktionsannahme. Umformen ergibt (n+1)(n+2)(2(n+1)+1) . 6 6
3. Sei A wohlgeordnet. Seien x, y ∈ A. Dann hat {x, y} ein kleinstens Element, etwa x. Also gilt x kleiner gleich y. 6. Per Induktion nach n. Klar fur ¨ n = 0. Es gilt (n + 1)! = (n + 1) · n!. Mit der Induktionsannahme Qn n! = i=1 i folgt die Beh.
7. Per Induktion nach n. Fur ¨ n = 3 gilt: 3! = 6 > 4 = 2 3−1 . Weiter (n + 1)! = (n + 1) · n! > n−1 (n + 1)2 nach Induktionsannahme. Aber (n + 1)2 n−1 ≥ 2n . ¨ 8. Per Induktion nach der Weglange n. Sei n = 0, also u = v. Dann ist die Aussage klar. ¨ Angenommen, es gibt einen Weg der Lange n + 1 von u nach v. Auf diesem Weg gibt es ¨ einen zu v adjazenten Knoten w. Also gibt es einen Weg von u nach w von der L ange ¨ dieser n. Nach Induktionsannahme gibt es einen einfachen Weg von u nach v. Enth alt Weg den Knoten v, dann gibt es einen einfachen Weg von u nach v. Ansonsten ist der einfache Weg von u nach w und der Weg (Kante) von w nach v einfach.
8
Unendliche Mengen
1. Per Induktion nach n. Klar fur ¨ n = 1. Betrachte A n+1 = An × A. Nach Induktionsannahme n ¨ ¨ ist A abzahlbar. Mit dem ersten Cantorschen Verfahren folgt, dass auch A n+1 abzahlbar ist. 2. O.E. seien die beteiligten Mengen paarweise disjunkt. Sei A i = {ai1 , . . . , aimi }, i ≥ 1. Q ¨ Abzahlende Funktion f (aij ) = i−1 k=1 mk + j − 1. 3. Verwende erstes Cantorsches Verfahren, wobei die Elemente von A i in der i-ten Zeile stehen. 4. Jedes Polynom ist als endliche Folge von ganzen Zahlen darstellbar. Mit Satz 8.9 folgt die Behauptung. 5. Siehe Aufgabe 4.
8
9
¨ Zahlprinzipien
¨ 1. Doppelte Abzahlung liefert 4 · n = 3 · 8, also n = 6. ¨ 2. Nein, doppelte Abzahlung liefert 3 · n = 5 · 8. 3. Schubfachprinzip: n Personen und jede Person hat i Freunde unter diesen, 0 ≤ i ≤ n − 1. ¨ wie Basketball-Problem. Lose 4. Betrachte {1, 8}, {2, 7}, {3, 6} und {4, 5}. Die Summe der Zahlen in jeder Menge ergibt ¨ werden, dann mindestens 2 in einer Menge. jeweils 9. Wenn 5 Zahlen ausgewahlt 5. Sei Ai die Anzahl der Vielfachen von i im Bereich 1 bis 1000, 1 ≤ i ≤ 100. Dann A 5 = 200, A12 = 83 und A20 = 50. Weiters A[5,12] = A60 = 33, A[5,20] = A20 = 50, A[12,20] = A60 = 33 und A[5,12,20] = A60 = 33. Mit dem Siebprinzip folgt die Behauptung.
n n-1 1 0
ppp p
r
ppp p
7. A 0 1
pppp pppp
pppp pppp
ppp p
Br B’r ppp p
ppp p
m-1 m m+1
Abbildung 4: Modell zu Aufgabe 7. ¨ 7. Auf einem Weg von A nach B durchlauft man m Kanten nach rechts und n Kanten nach ¨ oben, insgesamt also m+n Kanten. Somit l asst sich jeder Weg eindeutig charakterisieren ¨ durch ein Tupel der Lange m + n mit m Komponenten gleich r fr das Durchlaufen einer Kante nach rechts und n Komponenten gleich o fur ¨ das Durchlaufen einer Kante nach oben. Die Anzahl solcher Tupel und damit die Anzahl verschiedener Wege von A nach B, ¨ daher m+n . die stets nach rechts oder oben gehen, betr agt m
Wird dieses Gitter um eine Spalte erweitert, so ist die Anzahl der Wege von A nach B’ . Die Wege von A nach B’ lassen sich aber auch hinsichtlich der Stufe gleich m+n+1 m+1 des oben aufgezeichneten Rechtecks unterscheiden, auf welcher (k = 0, . . . , n) der letzte Schritt nach rechts gemacht wird. Da auf den letzten Schritt nach rechts nur noch ¨ ¨ Schritte nach oben folgen konnen, ist die Anzahl an moglichen Wegen fr die Kategorie k m+k ¨ analog vorheriger Uberlegung gegeben durch m . Summieren liefert die Behauptung: m+n+1 m+1
=
n P
i=0
m+i m .
8. P bzw. F sei die Anzahl der Haushalte, die Papier bzw. Flaschen sammeln. Es gilt: |P ∩F | = |P | + |F | − |P ∪ F | = 30 + 14 − 32 = 12 sammeln Papier und Flaschen, |P \ F | = |P | − |P ∩ F | = 30 − 12 = 18 sammeln nur Papier und |F \ P | = |F | − |F ∩ P | = 14 − 12 = 2 sammeln nur Flaschen.
9
10 1. 2. 3.
Kombinationen und Permutationen 6 5 8 3 3 4
= 14 000.
8 6
= 28,
5 6 2 2
=
= 10 · 15 = 150. 8 2
5 3
= 10,
5 3 5 1
+
5 3 4 2
= 3 + 15 = 18.
¨ 5. Die moglichen Anordnungen sind von der Form MMJJJ, JMMJJ, JJMMJ, JJJMM, also gibt ¨ es 4 · 3! · 2! = 48 Moglichkeiten. 6. (9)4 = 3024. 7. 5 · 7 · 6 · 4 = 840. 8. 3! · (5! · 4! · 3!) = 103 680. 10. Reihenfolge/Wiederholung: mit/mit n k , mit/ohne (n)k , ohne/mit
n+k−1 , k
ohne/ohne
n k .
¨ 11. Alle Worter, die ICH bzw. DU enthalten, haben die Form ICHXXX, XICHXX, XXICHX und XXXICH bzw. DU XXXX, XDU XXX, XXDU XX, XXXDU X und XXXXDU , wobei X fur ¨ jeden der restlichen Buchstaben steht. Also ist A ICH = 4 · 3! = 24 bzw. ¨ ADU = 5 · 4! = 120 die Anzahl der Worter, die ICH bzw. DU als Teilwort enthalten. Alle ¨ ¨ Worter, die ICH und DU als Teilworter besitzen, sind ICHDU A, ICHADU , AICHDU , DU ICHA, DU AICH und ADU ICH. Also liefert das Prinzip der Inklusion-Exklusion: 6! − (24 + 120) + 5 = 581. 12. Multinomialkoeffizient: HU GEN OT T EN ist vom Typ 1 4 23 , mit dem Bigramm T T : 15 22 .
11
Partitionen
¨ 2. Sechzehn Falle: f beliebig ¨ n Kugeln gefarbt ¨ ¨ r Facher gefarbt ¨ n Kugeln gefarbt ¨ r Facher einfarbig n Kugeln einfarbig ¨ ¨ r Facher gefarbt n Kugeln einfarbig ¨ r Facher einfarbig
rn Pr
k=1 S(n, k) ] n-Repet. von r
Pr
r+n−1 n
k=1
P (n, k)
f injektiv ] n-Terme von r r(r-1)..(r-n+1) 0, falls n>r 1, falls n≤r ] n-Komb. von r r n
0, falls n>r 1, falls n≤r
10
f surjektiv ] surj. Abb. v. n auf k r! · S(n, r) ] r-Mengenpart. v. n S(n, r) surj. r-Repet. von n p(n, r) = n−1 r−1 ] ungeord. r-Zahlpart. von n= P (n, r)
f bijektiv Perm. von n = r r! = n! 1 1 1
12
Die ganzen Zahlen
1. Seien a, b, c ganze Zahlen mit a ≤ b. Dann gibt es eine ganze Zahl z mit a + z = b. Also a + c + z = b + c und somit a + c ≤ b + c. 2. Seien a, b, c ganze Zahlen mit a 6= 0 und ab = ac. Dann a(b−c) = 0. Angenommen, b−c 6= 0. O.E. sei b < c und a > 0. Dann ab < ac. Widerspruch. 3. Potenzgesetze: (1) Induktionsanfang: n bel., m = 0: a) na + ma = na + 0 · a = (n + 0)a = (n + m)a b) n(ma) = n · 0 = 0 = 0 · a = (nm)a c) m(a + b) = 0(a + b) = 0 = 0 · a + 0 · b = ma + mb Induktionsschluss; a) la + (m + 1)a = la + ma + a = (l + m + 1)a b) l((m + 1)a) = l(ma + a) = lma + la = (lm + l)a = (l(m + 1))a c) (m + 1)(a + b) = ma + a + mb + b = (m + 1)a + (m + 1)b (2) Induktionsanfang: n bel., m = 0: a) an · a0 = an · 1 = an+0 b) (an )0 = 1 = a0 = an·0 Induktionsschluss: a) an · am+1 = an · am · a = an+m · a = an+m+1 b) (an )m+1 = (an )m · an = an·m · al = an(m+1) (3) Induktionsanfang: m = 0: (a · b)0 = 1 = a0 · b0 Induktionsschluss: (a · b)m+1 = a · b(a · b)m = a · b · am · bm = am+1 · bm+1 . 4. Induktionsanfang: (a+b)0 = 0 = 0i=0 ai bn−i . Induktionsschluss: (a+b)n+1 = (a+b)n (a+b) = P ( 0i=0 ai bn−i )(a + b). Weiteres Umformen liefert mit Satz 10.2 die Behauptung. P
6. Sei φ : R → S ein Homomorphismus. Setze I = {r ∈ R | φ(r) = 0}. Fur ¨ i, j ∈ I gilt φ(i+j) = φ(i) + φ(j) = 0, also i + j ∈ I. Weiters fur ¨ r ∈ R und i ∈ I gilt φ(ri) = φ(r)φ(i) = 0, also ri ∈ I. 7. Ring-Gesetze nachprufen. ¨ 8. Ring-Gesetze nachprufen. ¨ 9. Teilmengen-Eigenschaft klar. Ring-Gesetze nachprufen. ¨ 10. Verwende (AB)T = B T AT .
11
13
Teilbarkeitslehre
1. Es gilt 315 = 1 · 308 + 7 und 308 = 44 · 7 + 0. Folglich 7 = 1 · 315 + (−1) · 308. 5. Seien a und b 6= 0 ganze Zahlen. Dann gibt es ganze Zahlen q und r mit a = qb + r mit 0 ≤ r < |b|. Also ist jeder gemeinsame Teiler von a und b auch ein Teiler von b und r, und umgekehrt. 7. Es gilt a|a und a|[a, b]. Also ist a ein Teiler von (a, [a, b]). Sei c ein Teiler von a und [a, b]. Dann ist c ein Teiler von a und somit a = (a, [a, b]). 8. Zeige (a, b) =
n Q
i=1
min(ai ,bi )
pi
=: d
Fur ¨ 1 ≤ i ≤ n gilt min(ai , bi ) ≤ ai und min(ai , bi ) ≤ bi . Daraus folgt, daß das Produkt der minimalen Primfaktoren d die Zahlen a und b teilt. Weiters sei c eine ganze Zahl mit c|a und c|b. Nach dem Hauptsatz der Arithmetik hat c eine eindeutige Primfaktorzerlegung c=
n Q
i=1
pci i . Also folgt ci ≤ ai und ci ≤ bi fur ¨ 1 ≤ i ≤ n, mithin ci ≤ min(ai , bi ) fur ¨ 1 ≤ i ≤ n.
Also ist c Teiler von d. Fur ¨ das kgV gilt der Beweis analog mit dem Maximum. ¨ I mit a auch −a. Also gibt es eine 9. Sei I 6= 0 ein Ideal in Z. Wegen (−1)a = −a enth alt kleinste positive Zahl b in I. Per Definition ist bZ ⊆ I. Sei a ∈ I. Dann gibt es ganze Zahlen q und r mit a = qb + r mit 0 ≤ r < b. Wegen a − qb = r liegt auch r in I. Es folgt r = 0, also a = qb und somit I ⊆ bZ, mithin I = bZ.
14
Restklassenringe
1. (1.323.744 · 101.657) mod 10 = ((1.323.744 mod 10) · (101.657 mod 10)) mod 10 = (7 · 4) mod 10 = 28 mod 10 = 8 mod 10. 2. Sei a =
m P
ai 10i ∈ N. Wegen 10 ≡ −1 mod 11 gilt a ≡
m P
ai (−1)i mod 11. Die Testzahl durch
i=0
i=0
11 dividierbar, weil 3 − 3 + 1 − 0 + 4 − 7 + 8 − 9 + 5 − 4 + 1 − 0 + 1 = 0. 3. Einsetzen von y = −2x = 5x in x + 3y = 4 ergibt x + 3 · 5x = 4, also 2x = 4 und somit x = 2, mithin y = 3. 4. Es gilt 57 = 3 · 17 + 3 und 33 ≡ (−1) mod 17. Also mit dem Kleinen Fermat: (−1) 57 ≡ (−1)3+3 mod 17. Mithin 3357 = 1 in Z17 . ¨ 5. x = 121. Losungsmenge {121 + k · n | k ∈ Z}, n = 8432. 6. Es gilt 180 = 22 · 32 · 5, also Z180 ' Z4 × Z9 × Z5 . 7. In Z3 gilt x + 2y = 2 und 2x = 2, also x = 1 und y = 2. In Z 7 gilt 6x + 4y = 0 und 5x + 6y = 5, ¨ x ≡ 1 mod 3, x ≡ 4 mod 7, sowie y ≡ 2 mod 3, x ≡ 1 mod 7. also x = 4 und y = 1. Lose
12
15
Einheiten in Restklassenringen
¨ 2. Zp ist ein Korper. Zpn ist ein Ring mit den Einheiten (a, p n ) = (a, p) = 1. Es gilt Zpq ' Zp × Zq . 3. In Z20 sind Einheiten 1, 3, 7, 9, 11, 13, 17 und 19. Alle anderen von Null verschiedenen Elemente sind Nullteiler. 4. Wohldefiniertheit der Addition a −b b a
!
!
c −d d c
+
a + c −b − d b+d a+c
=
!
≡
e −f f e
!
und der Multiplikation a −b b a
!
c −d d c
·
!
ca − db −cb − da cb + da ca − db
=
!
e −f f e
≡
!
¨ Korpereigenschaften: Die neutralen Elemente sind bekanntlich Null- und Einheitsmatrix. ! −a b Additives Inverses . Die Matrizenaddition basiert auf der Addition der einzel−b −a ¨ der Multiplinen Koeffizienten, ist also kommutativ und assoziativ. Fur ¨ die Kommutativit at kation gilt: ! ! ! a −b c −d ca − db −cb − da · = b a d c cb + da ca − db =
!
ac − bd −bc − ad bc + ad ac − bd
=
c −d d c
!
·
a −b b a
!
¨ und fur ¨ die Assoziativitat: (
=
a −b b a
!
·
c −d d c
ca − db −cb − da cb + da ca − db
(ca − db)e + (−cb − da)f (cb + da)e + (ca − db)f
= =
!
)·
!
·
e −f f e
!
e −f f e
!
(ca − db)(−f ) − (−cb − da)e (cb + da)(−f ) + (ca − db)e
a(ce − df ) − b(−cf + de) b(−ce − df ) + a(de − cf ) a(de + cf ) − b(df − ce) b(−cf − de) + a(ce − df ) = .. =
a −b b a
!
·(
c −d d c
!
·
e −f f e
!
!
!
)
Gultigkeit ¨ der Distributivgesetze ebenfalls durch schlichtes Ausrechen. ¨ 5. Sei x ≡ x−1 mod p, also x · x ≡ x · x−1 mod p, d.h., x2 ≡ 1 mod p Damit lasst sich x2 so (x−1)(x+1) 2 darstellen: x = 1 + k · p, mit = k. Nur fur ¨ x = ±1 ist k eine ganze Zahl (und p zwar 0), d.h., die Gleichung ist nur fur ¨ diese Zahlen erfullt. ¨ Also sind nur ±1 zu sich selbst invers. 13
6. Sei I ein von Null verschiedenes Ideal in K n×n . Sei A = (aij ) ∈ I von Null verschieden. Dann gibt es einen Eintrag aij 6= 0. Sei Eij die Matrix aus Kn×n , die im Schnittpunkt der i-ten Zeile mit der j-ten Zeile den Eintrag 1 hat und sonst lauter Nullen. Fur ¨ 1 ≤ l ≤ n gilt −1 Eli AEjl = aEll , mithin aEll ∈ I und somit auch aEll a Ell = Ell ∈ I. Folglich liegt die P Einheitsmatrix E = l Ell in I, also I = Kn×n .
¨ ¨ 7. Losung in mehreren Schritten: Bei der Relation handelt es sich um eine Aquivalenzrelation: ∼ ist reflexiv, denn wegen ab = ba ist (a, b) ∼ (a, b). ∼ ist transitiv, denn aus (a, b) ∼ (c, d) und (c, d) ∼ e, f ), d.h. ad = bc und cf = de, folgt (af )c = a(cf ) = a(de) = (ad)e = (bc)e = (be)c, woraus sich mit der Kurzungsregel ¨ af = be, also (a, b) ∼ (e, f ), ergibt. ∼ ist symmetrisch, denn aus (a, b) ∼ (c, d), d.h. ad = bc, also cb = da, folgt (c, d) ∼ (a, b). Wir zeigen zuerst, dass ∼ eine Kongruenzrelation bzgl. der angegebenen Addition und 0 0 Multiplikation ist, d.h. Addition und Multiplikation wohldefiniert sind. Sei ab = ab0 und dc = dc0 , also (a, b) ∼ (a0 , b0 ) und (c, d) ∼ (c0 , d0 ), d.h. ab0 = ba0 und cd0 = dc0 . Erstens ist (ad + bc)b0 d0 = ab0 dd0 + bb0 cd0 = ba0 dd0 + bb0 c0 d = (a0 d0 + b0 c0 )bd, ad+bc bd
also (ad+bc, bd) ∼ (a0 d0 +b0 c0 , b0 d0 ), d.h.
=
a0 d0 +b0 c0 b 0 d0 ,
also per Definition ab + dc =
a0 c0 b 0 + d0 .
Zweitens ist acb0 d0 = ab0 cd0 = a0 bc0 d = a0 c0 bd, also (ac, bd) ∼ (a0 c0 , b0 d0 ), d.h.
ac bd
=
a0 c 0 b 0 d0 ,
also per Definition
a b
·
c d
=
a0 b0
·
c0 d0 .
Mit den Regeln der Bruchrechnung zeigt man die Assoziativ-, Kommutativ- sowie Distributivgesetze. Auerdem ist 0 = 10 das Nullelement und 1 = 11 das Einselement. Also ist Q ein kommutativer Ring. Schließlich ist jedes von Null verschiedene Element ab von Q eine ¨ Einheit, das Inverse ist ab . Demnach ist Q ein Korper. Die Abbildung ι : Z → Q : a 7→
a 1
ist ein Homomorphismus. Denn fur ¨ alle a, b ∈ Z gilt:
ι(a + b) =
a+b a b = + = ι(a) + ι(b), 1 1 1
ι(ab) =
ab ab = = ι(a)ι(b) 1 11
und ι(1) = 11 = 1. Also ist ι(Z) ein Unterring von Q. Weiterhin ist ι injektiv, denn aus ¨ ι(a) = ι(b), also a1 = 1b , d.h. (a, 1) ∼ (b, 1), folgt a = b. Schr ankt man das Ziel Q von ι auf das Bild ι(Z) ein, so ist a ι : Z → ι(Z) : a 7→ 1 trivialerweise ein Isomorphismus. Also sind Z und ι(Z) isomorph. Mit der Identifizierung von Z und ι(Z) gilt a a 1 = · = ι(a)ι(b)−1 = ab−1 . b 1 b 14
¨ ¨ Fur Es sei K ein Korper, der Z als Unterring enthalt. ¨ jedes 0 6= b ∈ Z ist dann b−1 ∈ K, −1 und fur ¨ jedes weitere a ∈ Z ist ab ∈ K. Mit unserer Identifizierung ist dann Q = {ab −1 | a, b ∈ Z ∧ b 6= 0} ⊆ K. ¨ 9. Sei G eine zyklische Gruppe mit Erzeuger g und U 6= 1 eine Untergruppe von G. W ahle ein g b ∈ U mit b 6= 0 minimal. Verfahre wie in Aufgabe 12.8. 11. Sei ν : G → H ein Homomorphismus. Sei K = {g ∈ G | ν(g) = 1}. Es gilt 1 ∈ K. Mit g, h ∈ K ergibt sich wegen ν(gh) = ν(g)ν(h) = 1 sofort gh ∈ K. Ebenso gilt ν(g −1 ) = ν(g)−1 = 1, also g −1 ∈ K. Mit g ∈ G und h ∈ K gilt ν(ghg −1 ) = ν(g)ν(h)ν(g)−1 = ν(g)ν(g)−1 = 1, also ghg −1 ∈ K. D.h., K ist ein Normalteiler von G. 13. Der kanonische Epimorphismus π : G → G/V : g 7→ gV hat die Restriktion π 0 : U → G/V mit Bild π0 (U ) = {uV | u ∈ U } = {uvV | u ∈ U } = U V /V , wegen vV = V fur ¨ alle v ∈ V . Der Kern von π0 ist {u ∈ U | uV = V } = {u ∈ U | u ∈ V } = U ∩ V , weil V das neutrale Element in G/V ist und gV = V gdw. g ∈ V . Mit dem Homomorphiesatz folgt die Behauptung. 14. Betrachte den Homomorphismus ν : G/U → G/V : gU 7→ gV . Sei gU = hU . Dann ist gh−1 ∈ U ⊆ V , also auch gV = hV , und somit die Abbildung wohldefiniert. Offenbar ist ν ein Homomorphismus, dessen Bild G/V und dessen Kern {gU | gV = V } = V /U ist. Mit dem Homomorphiesatz folgt die Behauptung.
15
19
¨ Verbande
1. ∀x, y, z ∈ V [(x u y) t z = (x u z) t (y u z)]. 2. Siehe Skizze nach Satz 19.2. 3. Fur ¨ die Mengen {6} und {3, 6} ist {6, 12, 18} die Menge der oberen Schranken. Fur ¨ die Mengen {6}, {6, 12}, {6, 18}, {12, 18} und {6, 12, 18} ist {3, 6} die Menge der unteren Schranken. 4. Fur ¨ die Menge {4, 5, 7} gilt: o.S.: 1,2,3, u.S.: 8, sup 3, inf 8. Fur ¨ die Menge {2, 3, 6} gilt: o.S.: 2, u.S.: 6,8, sup: 2, inf: 6. Fur ¨ die Menge {1, 2, 4, 7} gilt: o.S.: ∅, u.S.: 8, sup ex. nicht, inf: 8. ¨ W2 bildet einen Verband. 5. W1 bildet keinen Verband, da [3, 4] = 12 nicht zu W 1 gehort. 6. Nein, da die Menge {d, e} kein Infimum hat; untere Schranken sind a, b, c, aber es gibt kein ¨ großtes Element. ¨ u v k fur 8. Sei k das kleinste Element von W . Einerseits gilt definitionsgem aß ¨ jede untere Schranke u von W , andererseits ist k als kleinstes Element von W selber eine untere Schranke von W , so dass k das Infimum von W ist. ¨ ¨ 9. Die Unterverbande von “Fahne” mit mehr als zwei Elementen: (1) Alle Ketten der L ange ≥ 3. (2) {a, b, c, 1}, (3) die “Fahne” selber. 10. Alle Abbildungen f : A → B mit a|b impliziert f (a) ≤ f (b). 11. Die Abbildung ν : V1 → V2 mit ν(a) = r, ν(b) = s, ν(c) = t und ν(d) = u ist ein Isomorphismus. Die Abbildung ρ : V1 → V3 mit ν(a) = x, ν(b) = y, ν(c) = y und ν(d) = z ist ein Ordnungsepimorphismus, aber kein Verbandsepimorphismus. Betrachte dazu ρ(b u c) = ρ(a) = x und ρ(b u c) = ρ(b) u ρ(c) = y.
20
¨ Boolesche Verbande
¨ 1. Sei U ein 1-dim. Unterraum eines 2-dim. R-Vektorraums V , also U = g R. W ahle eine Gerade 0 0 0 ¨ zu U . g , die nicht parallel zu g ist. Dann ist der 1-dim. Unterraum U = g R komplementar Aber das Komplement ist nicht eindeutig bestimmt. ¨ aber distributiv, da er nicht isomorph ist zu ”Pentagon” oder 2. ”Fahne” ist nicht komplementar, ”Diamant”. ¨ ¨ aber distributiv, da er nicht isomorph ist zu ”Pentagon” 3. ”Anhanger” ist nicht komplementar, oder ”Diamant”. ¨ da die Zahl 6 kein Komplement besitzt. 4. Der Verband ist distributiv, aber nicht komplement ar, 5. (a t 0) t (1 t a) = 1.
16
¨ ¨ 6. Erweiterung des Dualitatsprinzips fur ¨ Verbande. ¨ 7. Komponentenweise Fortsetzung der Distributivit at. ¨ 8. Komponentenweise Fortsetzung der Komplementarit at. 9. Atome 3, 5, 7, 11 und Koatome 385, 231, 165, 105. 11. Der Isomorphismus ist definiert durch die Zuordnung A 7→ χ A , wobei χA das charakteristische Wort von A ist. 12. Die Ideale in Z sind von der Form nZ, n ∈ N 0 , und bilden einen Verband mit den Operationen: [n, m]Z = nZ + mZ und (m, n)Z = mZ ∩ nZ. ¨ da der naturliche ¨ Der Verband ist nicht komplementar, ¨ Teilerverband nicht komplement ar ¨ ist und beide Verbande dual zueinander sind. 13. Die Zuordnung n 7→ nZ liefert einen Anti-Isomorphismus, wobei m|n gdw. nZ ⊆ mZ. ¨ 14. Ein ODER-Gatter kann vermoge De Morgan durch UND-Gatter und Inverter dargestellt werden. 15. Sei b ∈ Bn . Im Falle bn = 1 gilt bn f (b1 , . . . , bn−1 , 1) + bn f (b1 , . . . , bn−1 , 0) = f (b1 , . . . , bn−1 , 1) = f (b), und im Falle bn = 0 ergibt sich bn f (b1 , . . . , bn−1 , 1) + bn f (b1 , . . . , bn−1 , 0) = f (b1 , . . . , bn−1 , 0) = f (b).
21
Graphen
1. Sei G = (V, E) ein Graph. Betrachte die Inzidenzrelation R ⊆ V × E mit vRe gdw. v ∈ e. ¨ Die zugehorige Inzidenzmatrix MR hat 2 Einsen pro Spalte und d(v) Einsen pro Zeile. Mit ¨ doppelter Abzahlung folgt die Behauptung. 2. Nein, die Gradsumme musste ¨ gerade sein nach dem Handschlagslemma. 3. Kreis. 4. Der Petersen-Graph ist nicht planar. 5. Die Gradsumme ist 3 · 3 + 4 · 2 + k · 1 = k + 17. Die Anzahl der Knoten ist n = 3 + 4 + k = k + 7. Nach dem Handschlagslemma ist k + 17 = 2m. Da es sich um einen Baum handelt, muss m = n − 1 sein, also k + 17 = 2(k + 7 − 1), d.h., k = 5, mithin n = 12 und m = 11. 6. Nimm einen bipartiten Graphen mit je 32 Knoten, die weißen Felder auf der einen Seite und ¨ die schwarzen Felder auf der anderen. Zwei Knoten sind verbunden, wenn die zugeh origen Felder durch einen Dominostein uberdeckt ¨ werden, d.h., ein weißes Feld wird mit einem schwarzen Feld verknupft. ¨ Schneidet man zwei schwarze Felder heraus, dann gibt ¨ keine Uberdeckung mehr. 17
7. Seien φ, ψ Automorphismen von G. Dann ist φψ eine Bijektion und es gilt uv ∈ E gdw. ψ(v)ψ(v) ∈ E gdw. φ(ψ(u))φ(ψ(v)) ∈ E. 9. Sei G der Graph mit V = {1, 2, 3, . . .} und E = {12, 23, . . .}. Betrachte den Subgraphen G0 mit V 0 = {2, 3, 4, . . .} und E = {23, 34, . . .}. Dann ist G isomorph zu G 0 unter dem Isomorphismus ϕ : V → V 0 : n 7→ n + 1. 10. Isomorph sind F und T, sowie K und X. 12. Der K4 hat 4 Knoten und ist |P (6)| = 26 = 64.
4 2
= 6 Kanten. Die Anzahl der Teilgraphen von K 4 mit 4 Knoten
¨ 4 Knoten und 4 − 1 = 3 Kanten. Die Anzahl der Teilgra14. Jeder Spannbaum von K4 enthalt ¨ phen von K4 mit 4 Knoten und 3 Kanten ist 63 = 20. Darunter gibt es 16 Spannbaume von K4 . 15. Per Induktion nach n. 17. Jeder Knoten in Kn hat den Grad n − 1. Also ist Kn eulersch gdw. n ungerade. Jeder Knoten in Km,n hat den Grad n bzw. m. Also ist Km,n eulersch gdw. m und n gerade sind.
18