Mathematik für Informatiker B, SS 2012 Dienstag 17.4 $Id: modul.tex,v 1.11 2012/04/16 19:15:39 hk Exp $ $Id: gruppen.tex,v 1.11 2012/04/17 10:30:56 hk Exp $ §1 Modulare Arithmetik 1.3 Restklassen Wir waren gerade damit beschäftigt eine Beispiele zum Rechnen mit Restklassen durchzugehen, und dies wollen wir nun fortsetzen. 6. Als nächstes Beispiel wollen wir uns die Teilbarkeitsregeln im Hexadezimalsystem überlegen. Die Teilbarkeitsregeln für die Teilbarkeit durch 3 oder 9 im Dezimalsystem funktionierten weil 10 ≡ 1 mod 3 und 10 ≡ 1 mod 9 gelten. Im Hexadezimalsystem ist die Basis 16 statt 10. Wegen 16 ≡ 1 mod 3 und 16 ≡ 1 mod 5 können wir uns genau wie beim Dezimalsystem klarmachen, dass eine Hexadezimalzahl genau dann durch 3 beziehungweise 5 teilbar ist, wenn ihre Quersumme dies ist. Ebenso ist 16 ≡ −1 mod 17, zur Teilbarkeit durch 17 = 0x11 hat man also eine Teilbarkeitsregel über die alternierende Quersumme. 7. Wir kommen zu einem allerletzten Beispiel. Heute ist der 17te April 2012. Diese Vorlesung findet im Steinitz-Hörsaal statt, und der damit gemeinte Steinitz hat 1894 in Breslau promoviert. Wir wollen uns jetzt überlegen welcher Wochentag der 17te April im Jahr 1894 war. Überlegen wir uns zunächst einmal was der 17te April letztes Jahr war. Ein Jahr hat 365 Tage und eine Woche hat 7 Tage, die Wochentage wiederholen sich also alle 7 Tage und uns interessiert nur der Rest von 365 modulo 7. Dieser ist 365 ≡ 1 mod 7, also haben wir in einem Jahr eine Verschiebung um einen Wochentag. Allerdings ist 2012 eine Ausnahme da es sich um ein Schaltjahr handelt und der Februar schon durch ist, also sind tatsächlich 366 ≡ 2 mod 7 Tage vergangen, der 17.4.2011 war also ein Sonntag. Zwischen 2012 und 1894 liegen 2012 − 1894 = 118 ≡ 6 mod 7 Jahre, also haben wir in diesem Zeitraum eine Verschiebung von 6 Wochentagen, und wären bei Mittwoch. Es gibt aber wieder die kleine Komplikation der Schaltjahre, alle vier Jahre haben wir ein Schaltjahr mit 366 Tagen. Wegen 118/4 = 29, 5 und da 2012 selbst ein Schaltjahr ist gab es zwischen 1894 und 2012 gerade 30 ≡ 2 mod 7 Schaltjahre, und wir wären bei Montag. Das ist aber noch immer nicht wahr, alle 100 Jahre fällt das Schaltjahr aus, aber alle 400 Jahre ist es doch da, d.h. wir haben ein Schaltjahr im Jahr 1900 zuviel gerechnet, und somit war der 17.4.1894 tatsächlich ein Dienstag. 3-1 Mathematik für Informatiker B, SS 2012 §2 Dienstag 17.4 Gruppen In diesem Kapitel beginnen wir mit der Untersuchung der algebraischen Grundstrukturen, und starten dabei mit den Gruppen. Um an das vorige Kapitel anzuschliessen, beginnen wir mit unseren Restklassen. Es sei m ∈ N∗ gegeben. Dann bezeichne Zm wieder die Menge aller Restklassen modulo m, also explizit Zm = {[0], [1], . . . , [m − 1]}. Die Menge Zm ist eine endliche Menge mit m Elementen. Je zwei Elementen a, b ∈ Zm hatten wir eine Summe a ⊕ b ∈ Zm und ein Produkt a b ∈ Zm zugeordnet. Diese Addition“ und Multiplikation“ erfüllen einige einfache Rechenregeln: ” ” 1. Es gilt das sogenannte Assoziativgesetz der Addition dies bedeutet a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c für alle a, b, c ∈ Zm . Schreiben wir nämlich a = [k], b = [l] und c = [n] mit k, l, n ∈ Z, so haben wir a ⊕ (b ⊕ c) = [k] ⊕ ([l] ⊕ [n]) = [k] ⊕ [l + n] = [k + (l + n)] = [(k + l) + n] = [k + l] ⊕ [n] = ([k] ⊕ [l]) ⊕ [n] = (a ⊕ b) ⊕ c da die gewöhnliche Addition ganzer Zahlen das Assoziativgesetz erfüllt. 2. Analog haben wir auch das Assoziativgesetz der Multiplikation, also a (b c) = (a b) c für alle a, b, c ∈ Zm . 3. Addition und Multiplikation erfüllen auch das sogenannte Kommutativgesetz a ⊕ b = b ⊕ a und a b = b a für alle a, b ∈ Zm . 4. Die Restklasse [0] ∈ Zm wirkt als sogenannte neutrales Element der Addition, dies bedeutet a ⊕ [0] = [0] ⊕ a = a für alle a ∈ Zm . Entsprechend ist die Restklasse [1] ein neutrales Element der Multiplikation, wir haben a [1] = [1] a = a für alle a ∈ Zm . 3-2 Mathematik für Informatiker B, SS 2012 Dienstag 17.4 5. Die Addition in Zm erlaubt es auch mit Minus“ zu rechnen, setzen wir für ” a = [k] ∈ Zm −a = −[k] := [−k] ∈ Zm , so haben wir (−a) ⊕ a = a ⊕ (−a) = [0] Der Begriff ist eine Verallgemeinerung dieser Situation. Wir haben nicht mehr speziell die Restklassen modulo einer Zahl m sondern eine völlig beliebige Menge G auf der eine zweistellige Verknüpfung (oder Operation) ∗ definiert ist, die gewisse Bedingungen erfüllt. Wir verwenden hier das neutrale Symbol ∗“ weil die Verknüpfung sowohl ” Addition als auch Multiplikation oder etwas völlig anderes sein kann. Unter einer Verknüpfung auf der Menge G versteht man dabei einfach eine Abbildung ∗ : G × G → G, d.h. je zwei Elementen a, b ∈ G wird von ∗ ein Produkt in G zugeordnet, das normalerweise in Infix-Notation als a ∗ b geschrieben wird. Neben den Gruppen selbst definieren wir auch noch zwei Abschwächungen des Gruppenbegriffs. Definition 2.1: Sei G eine Menge versehen mit einer zweistelligen Verknüpfung ∗ : G × G → G. (a) Das Paar (G, ∗) heißt eine Halbgruppe wenn ∗ das Assoziativgesetz (a ∗ b) ∗ c = a ∗ (b ∗ c) für alle a, b, c ∈ G erfüllt. (b) Das Paar (G, ∗) heißt ein Monoid wenn (G, ∗) eine Halbgruppe ist und es ein Element e ∈ G mit e ∗ a = a ∗ e = a für alle a ∈ G gibt. Ein solches Element e heißt dann ein neutrales Element von (G, ∗). (c) Das Paar (G, ∗) heißt eine Gruppe wenn (G, ∗) ein Monoid mit neutralen Element e ∈ G ist und es für jedes a ∈ G ein zu a inverses Element inv(a) ∈ G mit a ∗ inv(a) = e gibt. Eine Halbgruppe (G, ∗) heißt kommutativ oder abelsch, wenn in ihr das Kommutativgesetz a∗b=b∗a für alle a, b ∈ G gilt. Mit diesen Bezeichnung ist (Zm , ⊕) für jedes m ∈ N∗ eine kommutative Gruppe mit neutralen Element e = [0] und inversen Elementen inv(a) = −a für a ∈ Zm . Dagegen ist (Zm , ) nur ein kommutatives Monoid mit neutralen Element e = [1], da beispielsweise a = [0] für m > 1 kein multiplikatives Inverses hat. Wir gehen noch einige weitere Beispiele durch. 3-3 Mathematik für Informatiker B, SS 2012 Dienstag 17.4 Das Paar (Q, +) ist eine kommutative Gruppe mit neutralen Element e = 0 und für jedes a ∈ Q ist inv(a) = −a das zu a inverse Element. Dagegen ist (Q, ·) nur ein kommutatives Monoid mit neutralen Element e = 1. Es handelt sich um keine Gruppe da a = 0 kein multiplikatives Inverses hat. Nehmen wir die Null weg, so wird (Q∗ , ·) aber eine kommutative Gruppe, denn für jedes a ∈ Q∗ haben wir das multiplikative Inverse inv(a) = 1/a. Für (Zm , ) funktioniert derselbe Trick leider nicht. Ist beispielsweise m = 10, so haben wir [2], [5] ∈ Z∗10 mit [2] [5] = [10] = [0] ∈ / Z∗10 . Damit ist die Multiplikation von Restklassen nicht einmal eine Verknüpfung auf der Menge Z∗10 . Im vorigen Beispiel (Q, ·) trat dieses Problem nicht auf, da das Produkt zweier von Null verschiedener Zahlen wieder von Null verschieden ist. Als ein Beispiel einer Verknüpfung die nicht einmal eine Halbgruppe, also nicht assoziativ ist, haben wir etwa die Substraktion auf den ganzen Zahlen, also das Paar (Z, −). Für alle a, b, c ∈ Z mit c 6= 0 sind (a − b) − c 6= (a − b) + c = a − (b − c), Subtraktion ist also nicht assoziativ. Es gibt auch Beispiele von Halbgruppen die keine Monoide sind. Beispielsweise ist das Paar (N∗ , +) eine Halbgruppe da die Addition assoziativ ist, aber kein Monoid da die Null nicht in N∗ liegt. Als abschließendes Beispiel kommen wir zu den Restklassen zurück. Sei m ∈ N∗ . Wir haben bereits gesehen, dass (Zm , ) im Allgemeinen keine Gruppe ist, und das es auch nicht hilft die Null zu entfernen. Es gibt aber einen guten Fall in dem dieses Phänomen nicht auftritt. Das Problem war ja das sich beispielsweise 10 = 2 · 5 als ein Produkt zweier kleinerer Zahlen schreiben läßt, wann immer m diese Eigenschaft hat, so kann (Z∗m , ) sicher keine Gruppe sein da es sich nicht einmal um eine Verknüpfung handelt. Chancen haben wir also nur für diejenigen m, die sich nicht als ein solches Produkt schreiben lassen, d.h. für die Primzahlen. Eine Primzahl ist dabei definiert als eine Zahl m ∈ N mit m > 1 die sich nicht als ein Produkt zweier von 1 verschiedener natürlicher Zahlen schreiben läßt. Für unsere Zwecke ist die folgende gleichwertige Definition wichtig Es ist m > 1 und für alle a, b ∈ Z m ∈ N ist Primzahl ⇐⇒ mit m|ab ist stets m|a oder m|b. Wir wollen uns diese Tatsache kurz überlegen. Sei also m ∈ N mit m > 1 gegeben. ”=⇒” Sei m eine Primzahl und seien a, b ∈ Z mit m|ab, d.h. es gibt ein q ∈ Z mit ab = qm. Der größte gemeinsame Teiler von a und m ist eine natürliche Zahl die m teilt, also muss ggt(a, m) = 1 oder ggt(a, m) = m sein. Im Fall ggt(a, m) = m ist m|a und wir sind bereits fertig. Ist andererseits ggt(a, m) = 1, so gibt es nach §1.Satz 6 zwei Zahlen α, β ∈ Z mit αa + βm = 1, und dann ist b = 1 · b = (αa + βm)b = αab + βmb = αqm + βbm = (αq + βb)m, also haben wir m|b und sind wieder fertig. 3-4 Mathematik für Informatiker B, SS 2012 Dienstag 17.4 ”⇐=” Nun nehme umgekehrt an, dass aus m|ab für alle a, b ∈ Z stets m|a oder m|b folgt. Angenommen m wäre keine Primzahl, d.h. es gibt natürliche Zahlen a, b ∈ N mit a, b > 1 und m = ab. Dann ist aber auch m|ab, also m|a oder m|b, im Widerspruch zu a < m und b < m. Dieser Widerspruch zeigt, dass m tatsächlich eine Primzahl sein muss. Damit ist diese Kennzeichnung der Primzahlen bewiesen. Sei jetzt m eine Primzahl. Wie gerade gesehen folgt dann aus [a], [b] ∈ Z∗m stets auch [a][b] = [ab] ∈ Z∗m . Folglich ist (Z∗m , ) zumindest ein Monoid mit neutralen Element e = [1]. Tatsächlich ist (Z∗m , ) sogar eine Gruppe. Sei nämlich a ∈ Z mit [a] 6= [0], also m - a, gegeben. Wie im obigen Beweis ist dann ggt(m, a) = 1. Die Wechselsummendarstellung des größten gemeinsamen Teilers §1.Satz 6 liefert uns ganze Zahlen α, β ∈ Z mit αm + βa = 1. Dies bedeutet aber [1] = [αm + βa] = [αm] ⊕ [βa] = [0] ⊕ [aβ] = [aβ] = [a] [β], d.h. inv([a]) = [β] ∈ Z∗m ist ein multiplikatives Inverses zu [a]. Damit ist (Z∗m , ) eine Gruppe. Die Inversen können wir tatsächlich explizit berechnen. Die Zahlen α und β konnten ja über den euklidischen Algorithmus wirklich berechnet werden, und wie gesehen ist die Restklasse von β dann das gesuchte multiplikative Inverse. Nehmen wir beispielsweise einmal die Primzahl m = 17 und wir suchen das multiplikative Inverse von [6]. Führen wir den euklidischen Algorithmus durch 17 = 2 · 6 + 5, 5 = 17 − 2 · 6 6 = 1 · 5 + 1, 1 = 6 − 5 = 6 − (17 − 2 · 6) = 3 · 6 − 17, so ergibt sich das Inverse inv([6]) = [3]. Zum Abschluß der Gruppenbeispiele wollen wir uns noch kurz die Möglichkeiten zur expliziten Beschreibung von Gruppen anschauen. Eine solche haben wir jetzt reichlich gesehen, nämlich die Definition einer Gruppe durch geeignete explizite Formeln. Für kleine, endliche Gruppen gibt es weiter die Beschreibung durch sogenannte Gruppentafeln. Dies hat in Wahrheit nichts mit Gruppen zu tun, solche Tafeln kann man für beliebige zweistellige Operationen auf einer endlichen Menge einführen. Nehmen wir einmal an, wir hätten eine solche endliche Menge M und eine zweistellige Operation ∗ auf M . Dann listen wir die Elemente von M in irgendeiner Reihenfolge auf, etwa a, b, . . . , c. Dann konstruieren wir eine Tafel, also ein rechteckiges Schema, indem a, b, . . . , c als Beschriftung der Zeilen und Spalten verwendet werden, und der Eintrag der Tafel in der mit x ∈ M beschrifteten Zeile und der mit y ∈ M beschrifteten Spalte sei x ∗ y. Also zum Beispiel auf der Menge M = Z5 der Restklassen modulo 5: ⊕ 0 1 2 3 4 0 0 1 2 3 4 1 1 2 3 4 0 2 2 3 4 0 1 3 3 4 0 1 2 0 1 2 3 4 4 4 0 1 2 3 3-5 0 0 0 0 0 0 1 0 1 2 3 4 2 0 2 4 1 3 3 0 3 1 4 2 4 0 4 3 2 1 Mathematik für Informatiker B, SS 2012 Dienstag 17.4 Hier sind links die Addition auf Z5 und rechts die Multiplikation auf Z5 gezeigt. Schauen wir uns die linke Tafel an, so können wir sofort einige wichtige Beobachtungen machen. Zunächst kommt in jeder Zeile und in jeder Spalte der Gruppentafel jedes der Elemente 0, . . . 4 genau einmal vor. Eine Tafel mit dieser Eigenschaft nennt man auch ein lateinisches Quadrat. Als eine Aufgabe werden Sie einsehen, dass überhaupt jede Gruppentafel ein lateinisches Quadrat ist. Lateinische Quadrate müssen aber umgekehrt keine Gruppen sein, das Assoziativgesetz läßt sich an der Gruppentafel nur schlecht sehen. Die zweite Beobachtung ist, dass aufeinanderfolgende Zeilen der Tafel durch zyklisches Verschieben auseinander hervorgehen. Man spricht davon das Z5 eine sogenannte zyklische Gruppe ist, diesen Begriff werden wir später noch genauer einführen. Schauen wir uns noch kurz die rechte Tafel an. Hier handelt es sich um kein lateinisches Quadrat, zum Beispiel stehen in der ersten Zeile nur Nullen. Wenn wir allerdings die erste Zeile und die erste Spalte streichen, so ergibt sich doch wieder ein lateinisches Quadrat. Dieses ist gerade die Gruppentafel der Gruppe (Z∗5 , ), hieran sieht man auch das die Zeilen einer Gruppentafel in der Regel nicht durch zyklisches Verschieben auseinander hervorgehen. Wenn durch Weglassen einiger Zeilen und Spalten einer Gruppentafel wieder eine Gruppentafel entsteht, so spricht man allgemein von einer Untergruppe. Diesen Begriff kann man dann allgemeiner auch für unendliche Gruppen einführen, und erhält: Definition 2.2: Eine Teilmenge U ⊆ G einer Gruppe (G, ∗) heißt Untergruppe von G, wenn e ∈ U ist, a ∗ b ∈ U für alle a, b ∈ U gilt und auch inv(a) ∈ U für jedes a ∈ U ist. Ist U eine Untergruppe von G, so können wir die Verknüpfung von G auf U einschränken und dann wir (U, ∗) selbst zu einer Gruppe. Dabei kann die Forderung e ∈ U auch durch die gleichwertige Bedingung U 6= ∅ ersetzt werden. Haben wir nämlich eine Teilmenge ∅ 6= U ⊆ G mit a ∗ b ∈ U und inv(a) ∈ U für alle a, b ∈ U , so können wir wegen U 6= ∅ ein a ∈ U wählen und dann sind auch inv(a) ∈ U und e = a ∗ inv(a) ∈ U . In der Gruppentafel lassen sich Untergruppen leicht erkennen, es handelt sich um Teiltafeln die für sich genommen ein lateinisches Quadrat bilden. Bevor wir zu Beispielen kommen, wollen wir aber noch zwei allgemeine Tatsachen über Gruppen festhalten. Beachte das wir in der Definition eines inversen Elements nur gefordert haben, dass a ∗ inv(a) = e gilt, aber nicht gefordert wird das auch bei der Multiplikation mit inv(a) von links wieder das neutrale Element herauskommt. Wir werden zeigen, dass dies tatsächlich aus den anderen Gruppenaxiomen folgt. Ebenso hätte es für das neutrale Element e ausgereicht a ∗ e = a für alle a zu fordern, aber dies soll hier nicht vorgeführt werden. Ein zweites Lemma wird sich auf die Eindeutigkeitsfrage von neutralen und inversen Elementen beziehen. Zunächst wäre es denkbar, dass es mehrere verschiedene neutrale Elemente gibt oder das ein Element der Gruppe mehrere inverse Elemente zuläßt. Dass dies nicht möglich ist, werden Sie als eine Übungsaufgabe zeigen. Lemma 2.3: Sei (G, ∗) eine Gruppe. Dann gilt für jedes Element a ∈ G auch inv(a) ∗ a = e, 3-6 Mathematik für Informatiker B, SS 2012 Dienstag 17.4 wobei e das neutrale Element der Gruppe bezeichnet. Beweis: Sei a ∈ G. Dann haben wir inv(a) ∗ a = (inv(a) ∗ a) ∗ e = (inv(a) ∗ a) ∗ (inv(a) ∗ inv(inv(a))) = ((inv(a) ∗ a) ∗ inv(a)) ∗ inv(inv(a)) = (inv(a) ∗ (a ∗ inv(a))) ∗ inv(inv(a)) = (inv(a) ∗ e) ∗ inv(inv(a)) = inv(a) ∗ inv(inv(a)) = e. Lemma 2.4 (Eindeutigkeit neutraler und inverser Elemente) In einer Gruppe (G, ∗) gibt es nur ein neutrales Element und zu jedem a ∈ G auch nur ein inverses Element. Beweis: Dies ist wie bereits bemerkt eine Übungsaufgabe. Eine nützliche Folgerung aus diesen beiden Lemmata ist die für alle a ∈ G gültige Gleichung inv(inv(a)) = a. Denn die Aussage inv(a) ∗ a = e aus Lemma 3 können wir so interpretieren, dass a ein inverses Element zu inv(a) ist, und die Eindeutigkeit des Inversen gemäß Lemma 4 liefert dann inv(inv(a)) = a. Wir schauen uns nun einige Beispiele von Untergruppen an. 1. Die Gruppe (Z, +) eine Untergruppe von (Q, +). 2. Dagegen ist (N, +) keine Untergruppe von (Z, +), da ja zum Beispiel 1 ∈ N aber inv(1) = −1 ∈ / N ist. 3. Als ein etwas komplizierteres Beispiel wollen wir uns jetzt die Untergruppen von (Z, +) anschauen. Wir behaupten das für jede natürliche Zahl a ∈ N die Menge aller Vielfachen von a, also Ua := {qa|q ∈ Z} ⊆ Z eine Untergruppe von (Z, +) ist. Gehen wir also die drei definierenden Bedingungen einer Untergruppe durch. Zunächst ist 0 = 0 · a ∈ Ua , also enthält Ua das neutrale Element 0 von (Z, +). Sind weiter q, q 0 ∈ Z, so sind auch qa + q 0 a = (q + q 0 )a ∈ Ua und − qa = (−q) · a ∈ Ua , d.h. Ua ist wirklich eine Untergruppe von (Z, +). Tatsächlich sind die Ua bereits alle Untergruppen von (Z, +), dies wollen wir hier aber nicht weiter ausführen. 3-7