Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 11 30. Januar 2008 Diskrete Strukturen Hausaufgabe 1 (5 Punkte) Wir gehen von dem in der Tutoraufgabe 1 von Übungsblatt 10 gegebenen Graphen aus, der die Entfernung zwischen bestimmten Städten beschreibt. Bestimmen Sie mit dem Algorithmus von Kruskal einen minimalen Spannbaum dieses Graphen. Lösungsvorschlag Wir konstruieren einen Spannbaum T = (V, ET ) mit der vorgegebenen Knotenmenge V , bestehend aus den 10 Städten und einer Kantenmenge ET mit minimaler Summe der Kantengewichte. Wir beginnen mit ET = ∅ und fügen sukzessive zu ET Kanten mit minimalem Gewicht hinzu, die T kreisfrei belassen. e1 e2 e3 e4 e5 e6 e7 e8 e9 = = = = = = = = = {Mannheim, Karlsruhe}, {Stuttgart, Karlsruhe}, {Köln, Dortmund}, {Mannheim, Frankfurt}, {Stuttgart, Ulm}, {Ulm, München}, {Dortmund, Kassel}, {München, Nürnberg}, {Köln, Frankfurt}, w(e1 ) w(e2 ) w(e3 ) w(e4 ) w(e5 ) w(e6 ) w(e7 ) w(e8 ) w(e9 ) = = = = = = = = = 68 , 82 , 83 , 88 , 92 , 139 , 165 , 167 , 189 . Hausaufgabe 2 (5 Punkte) Wir gehen wieder von dem in der Tutoraufgabe 1 von Übungsblatt 10 gegebenen Graphen aus, der die Entfernung zwischen bestimmten Städten beschreibt. Wir nehmen zusätzlich an, dass durch einen Unfall die Verbindung von Nürnberg nach München in beiden Richtungen gesperrt ist. Bestimmen Sie nun nach dem Algorithmus von Dijkstra die durch den entsprechend modifizierten Verbindungsgraphen gegebene Entfernung zwischen München und Köln. Ulm Stuttgart München Mannheim Nürnberg Köln Kassel Karlsruhe Frankfurt Dortmund Lösungsvorschlag Wir modifizieren die Tabelle der direkten Entfernungen entsprechend der Angabe. Dortmund - 165 83 Frankfurt 189 228 88 - 294 Karlsruhe – 68 82 Kassel 165 - 465 83 189 Köln 228 - 167 Nürnberg Mannheim 88 68 167 - 139 München Stuttgart 82 92 294 - 465 - 139 92 Ulm Dortmund 165 83 Frankfurt 189 228 88 Karlsruhe – 68 165 Kassel Köln 83 189 Nürnberg 228 Mannheim 88 68 München 769 433 313 604 622 661 381 Stuttgart Ulm - 294 82 - 465 - - - Ulm Stuttgart München Mannheim Nürnberg Köln Kassel Karlsruhe Frankfurt Dortmund Mit dem Algorithmus von Dijkstra berechnet man sukzessive die Entfernungen u1 , u2 , . . . vom Startknoten s aus zu Knoten k1 , k2 , . . . beginnend bei dem zum Startknoten nächststehenden Knoten. In jedem Schritt i berechnet man für alle Nachbarn des gerade berechneten Knotens ki eine neue Entfernung als Länge eines kürzesten Pfades über s, k1 , k2 , . . . , ki . Wir protokollieren alle Zwischen- und Endergebnisse in der Spalte bzw. Zeile des Startknotens. (Dafür haben wir in der Zeile für München etwas Raum gelassen, der eventuell benötigt wird, wenn Ergebnisse überschrieben werden müssen.) = 433 294 = 313 82 = 604 465 = 622 u4 = 381 231 139 u5 u3 u6 u7 u2 = 231 u1 = 139 92 92 - Ergebnis: Die Entfernung zwischen München und Köln beträgt nun 622 Kilometer. Es ist nicht nötig, die Entfernung München – Dortmund oder München – Nürnberg ebenfalls zu berechnen, denn dadurch kann sich die Entfernung München – Köln nicht mehr ändern. 2 Hausaufgabe 3 (5 Punkte) Sei S 0 = hS, ◦i eine Halbgruppe. Dann nennen wir ein Element x ∈ S vertauschbar in S 0 , falls gilt (∀a ∈ S) [ a ◦ x = x ◦ a]. Es sei V (S 0 ) die Menge aller in S 0 vertauschbarer Elemente von S. Zeigen Sie, dass V (S 0 ) eine Unterhalbgruppe von S 0 erzeugt. Lösungsvorschlag Seien x, y ∈ V (S 0 ). Zu zeigen ist (∀a ∈ S) [a ◦ (x ◦ y) = (x ◦ y) ◦ a]. Es gilt a ◦ (x ◦ y) = = = = = (a ◦ x) ◦ y (x ◦ a) ◦ y x ◦ (a ◦ y) x ◦ (y ◦ a) (x ◦ y) ◦ a) . Hausaufgabe 4 (5 Punkte) Sei M = hS, ◦i ein Monoid mit neutralem Element 1. Wir nehmen an, dass für alle x ∈ S gilt x ◦ x = 1. Zeigen Sie, dass M abelsch ist, d. h., es gilt ∀x, y ∈ S : x ◦ y = y ◦ x . Lösungsvorschlag x◦y = 1◦x◦y◦1 = (y ◦ y) ◦ x ◦ y ◦ (x ◦ x) = y ◦ ((y ◦ x) ◦ (y ◦ x)) ◦ x = y ◦ 1 ◦ x = y ◦ x. 3 Hinweis: Die im Folgenden als Vorbereitung bezeichneten Aufgaben werden nicht bewertet und dienen der häuslichen Vorbereitung der Tutoraufgaben, die ebenfalls nicht bewertet werden. Die Abgabe einer Bearbeitung der Vorbereitungsaufgaben zusammen mit der Bearbeitung der Hausaufgaben wird empfohlen. Tutoraufgaben werden in den Übungsgruppen bearbeitet. Vorbereitung 1 Ganze Zahlen a, b ∈ Z nennt man kongruent modulo m, mit m ∈ N, i. Z. a ≡ b (mod m), falls sich a und b um ein ganzzahliges Vielfaches von m unterscheiden, d. h., falls es ein k ∈ Z gibt, so dass a = b + k ·m gilt. Genau dann wenn a ≡ b (mod m) und gleichzeitig 0 ≤ b < m gilt, dann gilt b = a mod n. Diesen Zusammenhang kann man der Definition der Operation mod zugrunde legen. In enger Beziehung zur mod-Operation steht die ganzzahlige Division a div m zweier Zahlen a ∈ Z, m ∈ N. Es gilt a = (a div m)·m + (a mod m) . 1. Zeigen Sie: (i) 5 div 2 = 2, (−5) div 2 = −3. (ii) 2. Zeigen Sie: Für alle a ∈ Z, m ∈ N gilt a div m = max{k ∈ Z | k·m ≤ a} . 3. Zeigen Sie die folgende, für den Beweis von Gleichungen modulo einer natürlichen Zahl m nützliche Kennzeichnung der Gleichheit von Zahlen x, y. Für alle ganzen Zahlen x, y mit 0 ≤ x, y < m gilt: x=y ⇐⇒ x ≡ y (mod m) . Lösungsvorschlag 1. Wir verwenden die Formel für div. (i) Seien a = 5 und m = 2. Dann gilt (5 div 2) · 2 = = = 5 div 2 = (5 − (5 mod 2)) (5 − 1) 4 , und es folgt 2. (ii) Seien a = −5 und m = 2. Dann gilt ((−5) div 2) · 2 = = = = (−5) div 2 = 4 (−5 − ((−5) mod 2)) (−5 − ((−5 + 3 · 2) mod 2)) (−5 − 1) −6 , und es folgt −3 . 2. Wir zeigen für k := (a div m) i. k · m ≤ a. ii. (k + 1) · m 6≤ a. i.: Wegen 0 ≤ a mod m folgt k · m = (a div m) · m ≤ (a div m) · m + a mod m = a . ii.: Wegen m > a mod m folgt (k + 1) · m = k · m + m > k · m + a mod m = (a div m) · m + a mod m = a . 3. Die behauptete Äquivalenz ist gleichbedeutend mit der folgenden Kennzeichnung. Für alle ganzen Zahlen x, y mit 0 ≤ x, y < m gilt: x=y ⇐⇒ (∃k ∈ Z) [y = x + k · m] . ⇒ : Sei x = y. Für k = 0 folgt dann y = x + k · m. ⇐ : Sei y = x + km. Aus 0 ≤ x, y < m folgt einerseits y − x < m − x ≤ m, und mithin y − x < m. Andererseits folgt analog x − y < m. D. h. also |y − x| < m. Wir erhalten m > |y − x| = |k · m|. Aus der letzten Ungleichung folgt k = 0, d. h. x = y. Vorbereitung 2 Zeigen Sie für alle a, b ∈ Z und m ∈ N: a ≡ a mod m (mod m) , (a + b) mod m = [(a mod m) + (b mod m)] mod m . Lösungsvorschlag 1. Die Kongruenz modulo m ist definiert durch x ≡ y (mod b) :⇐⇒ (∃k ∈ Z) [ x = y + k·b ] . Nach Definition von a mod b gilt für ein bestimmtes k ∈ Z gilt d. h. a = a mod b + k 0 ·b , a mod b = a + k·b , mithin a ≡ a mod b (mod b) . 2. Wir setzen nun x := (a + b) mod m , y := [(a mod m) + (b mod m)] mod m . 5 Es gilt 0 ≤ x, y < m und x y (a mod m) (b mod m) = = = = a + b + kx · m , (a mod m) + (b mod m) + ky · m , a + ka · m , b + kb · m für gewisse ka , kb , kx , ky ∈ Z. Nun folgt y = = = = a + ka · m + b + kb · m + k y · m x − kx · m + ka · m + kb · m + ky · m x + (ka + kb + ky − kx ) · m x + k · m. Mit der in Vorbereitungsaufgabe 1 gegebenen Kennzeichnung folgt x = y. Vorbereitung 3 Zeigen Sie, dass im Folgenden Algebren A = hS, ◦i definiert werden, die bezüglich dem binären Operator ◦ eine Gruppe bilden. 1. Sei S = R \ {−1} und für alle x, y ∈ S x ◦ y = x + y + xy. 2. Sei S gleich der Potenzmenge P(X) (= 2X ) einer beliebigen Menge X und sei ◦ gegeben durch A ◦ B = (A ∪ B) \ (A ∩ B). 3. Sei 1 < n ∈ N und S = Zn∗ = {p ∈ Zn | ggT(p, n) = 1}. ◦ sei gleich der Multiplikation ganzer Zahlen modulo n. Lösungsvorschlag 1. (a) Zunächst ist zu prüfen, ob durch die Gleichung x ◦ y = x + y + x · y tatsächlich eine Abbildung von S × S in S definiert ist. Seien x, y ∈ R \ {−1}. Es gilt offenbar x ◦ y ∈ R, denn wir können zeigen, dass −1 = x + y + x · y einen Widerspruch ergibt und deswegen x, y ∈ R \ {−1} gelten muss. −1 = x + y + x · y ⇒ −1 − y = x(1 + y) −1 − y ⇒ x= 1+y ⇒ x = −1 . 6 (b) Wir zeigen die Assoziativität von ◦. x ◦ (y ◦ z) = = = = = = x + (y ◦ z) + x · (y ◦ z) x + (y + z + y · z) + x · (y + z + y · z) x+y+z+y·z+x·y+x·z+x·y·z (x + y + x · y) + z + (x + y + x · y) · z (x ◦ y) + z + (x ◦ y) · z (x ◦ y) ◦ z . (c) x = 0 ist das Einselement bezüglich (x ◦ y). 0◦y = 0+y+0·y = y. Das linke Einselement ist offensichtlich auch rechtes Einselement, d. h. Einselement. (d) Wir zeigen, dass zu einem Element x ∈ S das Inverse gegeben ist durch x x−1 = − 1+x . Es gilt x◦y =0 ⇔ x+y+x·y =0 x ⇔ y=− . 1+x Die Existenz eines linken Inversen ist damit bewiesen. Allein schon aus der offensichtlichen Kommutativität folgt hier, dass jedes linke auch rechtes Inverses ist. Es sei aber bemerkt, dass die Beziehung zwischen linken und rechten Inversen auch ohne Kommutativität ganz allgemein in Gruppen untersucht werden kann. Es genügt, allein die Existenz des linken Inversen nachzuweisen. Damit ist der Nachweis erbracht, dass G eine Gruppe ist. 2. Die Mengenoperation, die hier betrachtet wird, nennt man die Bildung der symmetrischen Mengendifferenz. Wir führen zunächst die Bildung der einfachen Mengendifferenz auf die Komplementbildung innerhalb X zurück, d. h. A \ B = A ∩ B mit Y = X \ Y . Dies hat den Vorteil, die De Morganschen Gesetze anwenden zu können. Es gilt A◦B = = = = (A ∪ B) ∩ (A ∩ B) (A ∪ B) ∩ (A ∪ B) (A ∩ A) ∪ (A ∩ B) ∪ (B ∩ A) ∪ (B ∩ B) (A ∩ B) ∪ (B ∩ A) , und folglich A ◦ B = (A ∩ B) ∪ (A ∩ B) . (a) Offensichtlich ist durch die Gleichung A ◦ B = (A ∪ B) \ (A ∩ B) eine Abbildung von S × S in S definiert, denn die gesamte Potenzmenge von X ist als Bildbereich der Verknüpfung zugelassen. 7 (b) Die Bildung einer mehrfachen symmetrischen Mengendifferenz läßt sich mit drei Mengen A, B, C gut veranschaulichen. Es werden genau jene Elemente erhalten, die entweder in genau einer der Mengen A, B, C sind oder die im Durchschnitt aller 3 Mengen enthalten sind. Dies wird durch folgende Rechnung bestätigt zum Nachweis der Assoziativität: (A ◦ B) ◦ C = (A ◦ B) ∩ C ∪ (A ◦ B) ∩ C = [(B ∩ A) ∪ (A ∩ B)] ∩ C ∪ [(A ∩ B) ∪ (B ∩ A)] ∩ C = (A ∩ B ∩ C) ∪ (B ∩ A ∩ C) ∪ (C ∩ A ∩ B) ∪ (A ∩ B ∩ C). Substituiert man B für A, C für B und A für C, dann erhält man einerseits den Ausdruck (B ◦ C) ◦ A und andererseits die gleiche Formel wie oben, denn die Formel ist invariant gegenüber der genannten Permutation von Variablen. Also gilt (A ◦ B) ◦ C = (B ◦ C) ◦ A = A ◦ (B ◦ C) . (c) Das Einselement der symmetrischen Mengendifferenz ist offensichtlich die leere Menge. A ◦ ∅ = (A ∪ ∅) \ (A ∩ ∅) = A . (d) Die Inverse von A ist A selbst. Es gilt A ◦ A = (A ∪ A) \ (A ∩ A) = A \ A = ∅ . Damit ist der Nachweis erbracht, dass G eine Gruppe ist. 3. (a) Zunächst ist zu zeigen, dass das Produkt p ◦ q zweier Elemente p, q ∈ Z∗n wieder in Z∗n liegt. Es ist also zu zeigen ggT(p, n) = 1 ∧ ggT(q, n) = 1 =⇒ ggT((p · q) mod n, n) = 1 , wobei ggT((p · q) mod n, n) = 1 gleichbedeutend ist mit ggT(p · q, n) = 1. Die folgende Überlegung ist elementar. Falls x|(p·q) und x|n, dann gilt x = x1 · x2 mit x1 |p und x2 |q, und natürlich x1 |n, x2 |n. Mithin gilt x1 = 1, x2 = 1, falls p und q zu n teilerfremd sind. Damit muss ggT(p · q, n) = 1 gelten. (b) Die Assoziativität von ◦ wird von der Multiplikation modulo n geerbt. (c) Die 1 ist das Einselement der Multiplikation. (d) Nun ist die Existenz von Inversen zu zeigen, also, dass für alle a ∈ Z∗n ein x ∈ Z∗n existiert, so dass a ·n x = 1 gilt. Gesetzt den Fall wir hätten ein x und ein y, welche die Gleichung x·a+y ·n = 1 erfüllen. Dann wäre x mod n das Inverse zu a, denn aus x · a + y · n = 1 folgt offenbar ((x mod n) · a) mod n = (x mod n) ·n a = 1 , wobei klar ist, dass ggT(x, n) = 1 und damit ggT(x mod n, n) = 1 , d. h. x mod n ∈ Z∗n . 8 Die Existenz des Inversen für ein a ∈ Z∗n folgt also aus (∃x, y ∈ Z) [ x · a + y · n = 1 ] , was aber eine Konsequenz aus ggT(a, n) = 1 ist, wie folgendermaßen gezeigt wird. Sei U = {xa + yn | x, y ∈ Z}. Offenbar ist U eine Untergruppe von Z, d. h. U = k · Z für ein bestimmtes k ∈ N0 (den Beweis dazu überlassen wir der Hausaufgabe auf Blatt 12). Daraus folgt aber, dass sowohl a als auch n Vielfache von k sind. Also gilt k | ggT(a, n). Es folgt k = 1. Mithin ist 1 ∈ U , d. h. 1 = xa + yn für bestimmte x, y ∈ Z. 9 Tutoraufgabe 1 Die folgenden Aufgaben stützen sich auf die entsprechenden Vorbereitungsaufgaben. 1. Zeigen Sie für alle a, b ∈ Z und m ∈ N (a · b) mod m = [(a mod m) · (b mod m)] mod m . 2. Berechnen Sie (1017 + 523 − 30100 ) mod 3 ! 3. Bestimmen Sie 27346790100 mod 12 ! Lösungsvorschlag 1. Wir setzen x := (a · b) mod m , y := [(a mod m) · (b mod m)] mod m . Es gilt 0 ≤ x, y < m und x y (a mod m) (b mod m) = = = = a · b + kx · m , (a mod m) · (b mod m) + ky · m , a + ka · m , b + kb · m für gewisse ka , kb , kx , ky ∈ Z. Nun folgt y = = = = (a + ka · m) · (b + kb · m) + ky · m x − kx · m + ka · m · b + a · kb · m + ka · m · k b · m + ky · m x + (ka · b + kb · a + ka · kb · m + ky − kx ) · m x + k · m, . Also folgt x ≡ y(mod m), und mit der in Vorbereitung 1.3 gegebenen Kennzeichnung folgt x = y. 2. Wir benützen die schon bewiesenen Rechenregeln und erhalten (1017 +523 −30100 ) mod 3 = = = = = [(10 mod 3)17 +(5 mod 3)23 −(30 mod 3)100 ] mod 3 [117 + 223 − 0100 ] mod 3 (1 + 411 · 2) mod 3 (1 + (4 mod 3)11 · 2) mod 3 (1 + 2) mod 3 = 0 . 3. Die Potenzen 2k müssen sich modulo 12 wiederholen. Man rechnet z. B. sofort 22 ≡ 24 (mod 12). Also lassen sich die Potenzen n ≥ 4 von 2 gleichwertig um 2 verringern, d. h. für alle k ∈ N0 24+k ≡ 22+k (mod 12) . Für gerade, positive Potenzen n = 2 + 2k von 2 ergibt sich per Induktion 2n ≡ 22 (mod 12) . Mithin folgt 27346790100 mod 12 = 4 . 10 Tutoraufgabe 2 Zeigen Sie: Die Menge aller Elemente endlicher Ordnung in einer abelschen Gruppe bildet eine Untergruppe. Lösungsvorschlag Sei U die Menge aller Elemente endlicher Ordnung einer abelschen Gruppe hG, +, 0i, d. h. U = {x ∈ G | (∃n ∈ N) [n · x = 0]}. Wir zeigen 1. Abgeschlossenheit von U unter +: Seien x, y ∈ U , d. h. mx = 0, ny = 0 für gewisse m, n ∈ N. Es folgt mn(x + y) = 0, d. h. x + y ∈ U . 2. Neutrales Element in U : Wegen z. B. 1 · 0 = 0 gilt 0 ∈ U . 3. Abgeschlossenheit gegen Inversenbildung: Sei x ∈ U , d. h. nx = 0 für ein n ∈ N0 . Dann gilt auch nx + n(−x) = 0, also n(−x) = 0, mithin −x ∈ U . Tutoraufgabe 3 Beweisen Sie die folgenden Aussagen. 1. Jede zyklische Gruppe ist kommutativ. 2. In jeder zyklischen additiven Gruppe mit ungerader Ordnung ist die Summe aller Elemente gleich ihrem neutralen Element 0. 3. Es gibt keine zyklische additive Gruppe mit gerader Ordnung, in der die Summe aller Elemente gleich dem neutralen Element 0 ist. 4. Es gibt keine Gruppe der Ordnung 13, die eine echte Untergruppe enthält, i. e. eine Untergruppe weder von der Ordnung 13, noch von der Ordnung 1. 5. Ist jede Gruppe der Ordnung 13 kommutativ? Begründung! Hinweis : Eine Gruppe nennt man additiv/multiplikativ, wenn man die Verknüpfung als Summe/Produkt bezeichnen will. Inhaltlich gibt es keinen Unterschied zwischen additiven und multiplikativen Gruppen. Lösungsvorschlag 1. Sei b ein Generator der zyklischen Gruppe G = hS, ◦i, d. h. S = {bi | i ∈ Z}. Für alle x, y ∈ S gibt es dann n, m ∈ N0 , so dass x = bn und y = bm . Damit gilt x ◦ y = bn ◦ bm = bn+m = bm+n = bm ◦ bn = y ◦ x . 2. Vorbemerkung : Der einfachste Beweis der Teilaufgaben 2 und 3 benutzt die Tatsache, dass jede zyklische Gruppe endlicher Ordnung isomorph ist zu hZn , +n i. In hZn , +n i aber gilt n−1 X n(n − 1) 0 : n ungerade, ( i) mod n = mod n = n : n gerade. 2 2 i=0 11 Wir beweisen die Aufgaben nun direkt ohne Benutzung des Isomorphiesatzes. Für jedes Element a einer Gruppe G gilt, dass U = {0, a, a2 , . . . , aord(a)−1 } eine Untergruppe von G der Ordnung ord(U ) = ord(a) ist. Falls G eine zyklische Gruppe der Ordnung n ist mit erzeugendem Element a, dann gilt also ord(a) = n. Wir schreiben die Gruppe additiv, entsprechend schreiben wir n · a anstelle von an . Dann gilt G = {0, a, 2a, 3a, . . . , (n − 1)a} mit |G| = n. Zur Summation der Gruppenelemente benutzen wir eine Überlegung von Gauß, indem wir für alle i mit 1 ≤ i < n die Summation ia + (n − i)a = na durchführen. Wegen n = ord(a) gilt stets ia + (n − i)a = na = 0. Für ungerades n gilt damit n−1 X i=0 n−1 ia = 2 X (ia + (n − i)a) = 0 . i=1 3. Wir setzen die Überlegung von Teilaufgabe 2 fort und nehmen nun an, dass n gerade ist. Wir zerlegen nun die Summation wie folgt. n −1 n−1 2 X X n n ia = (ia + (n − i)a) + a = a . 2 2 i=0 i=1 Da n 2 < ord(a) gilt, folgt n2 a 6= 0 mithin Pn−1 i=0 ia 6= 0 . 4. Eine Untergruppe U einer Gruppe G ist echt, wenn sie nicht nur aus dem neutralen Element (Einselement) besteht (einelementige Untergruppe) und nicht gleich G ist. Also ist die Ordnung einer echten Untergruppe nicht 1 und nicht gleich der Ordnung von G. Nach dem Satz von Lagrange ist ord(U ) · ind(U ) = ord(G). Da ord(G) = 13 eine Primzahl ist, folgt ord(U ) = 1 oder ord(U ) = ord(G), d. h. U ist nicht echte Untergruppe. 5. Jede Gruppe G mit Primzahlordnung ist zyklisch, weil für alle a ∈ G die Menge {ai | i ∈ Z} eine Untergruppe von G bildet, die aber bei Primzahlordnung von G nicht echt ist. Für a 6= 1 folgt {ai | i ∈ G} = G, d. h. G ist zyklisch und damit nach Teilaufgabe 1 kommutativ. 12