WS 2008/09 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0809 Kapitel V – Algebraische Strukturen • Algebraische Strukturen – Grundlagen – Gruppen – Endliche Körper • Zahlenkörper • Polynomkörper 2 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Definition: Eine Algebra A S, , mit zwei zweistelligen Operatoren und heißt Ring, falls R1. S, ist eine abelsche Gruppe mit neutralem Element 0 S. R2. S, ist ein Monoid mit neutralem Element 1 S. R3. a (b c) (a b) (a c) (b c) a (b a) (c a) 3 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München a, b,c S a, b,c S Kapitel V – Algebra; Körper • Definition: Eine Algebra A S , , mit zwei zweistelligen Operatoren und heißt Körper, falls K1. S , ist ein abelscher Gruppe mit neutralem Element 0 S. K2. S \ 0 , ist eine abelsche Gruppe mit neutralem Element 1 S. K3. a (b c) (a b) (a c) a,b,c S (Das Rechts-Distributivgesetz folgt aus den übrigen Eigenschaften.) 4 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Beispiele (wobei im weiteren Verlauf häufig und ⊙ durch ersetzt werden) durch + , , : kommutativer (in Bezug auf ) Ring n , n , n n ,n 1: kommutativer Ring , , , , , : Körper 2 , 2 ,2 : Körper 5 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Beispiel: Setzt man K = {0,1,a,b} und definiert eine Addition und Multiplikation wie folgt: 6 0 1 a b ⊙ 0 1 a b 0 0 1 a b 0 0 0 0 0 1 1 0 b a 1 0 1 a b a a b 0 1 a 0 a b 1 b b a 1 0 b 0 b 1 a so bildet K,⊕,⊙ einen Körper. Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Endliche Körper sind in der Kryptographie und in der Computer-Algebra sehr nutzlich. • Frage: wie findet man endliche Körper? • Wir werden eine erste Antwort durch diesen Satz geben: Satz: Bezeichnet man mit +n und n die Addition bzw. Multiplikation Modulo n, so gilt: ℤn, +n, n ist ein Körper n ist Primzahl. • Zur Vorbereitung brauchen wir einige Grundeigenschaften des größten gemeinsamen Teilers zweier Zahlen. 7 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Größter gemeinsamer Teiler Definition: Seien a, b ℕ. Der größte gemeinsame Teiler von a und b ist die größte natürliche Zahl, die sowohl a als auch b teilt, d.h. ggT(a, b) := max{k ℕ | k|a und k|b} wobei k|m eine Abkürzung für „k teilt m“ ist. Sind a1,…, an ℕ, n 3, dann definieren wir ggT(a1,…, an) := ggT(ggT(a1,…, an-1), an). 8 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Größter gemeinsamer Teiler Satz: Seien x, y 2 N mit x · y : 1. Wenn y mod x = 0 dann ggT(x,y) = x 2. Wenn y mod x > 0 dann ggT(x,y) = ggT(x,y mod x) Beweis: 1. Klar. Zu 2. : Es gilt y = (y mod x) + by/xc x. Daraus folgt für alle z 2 N: (z|x und z|y) gdw. (z|x und z|(y mod x)). Damit haben (x,y) und (x, y mod x) dieselben gemeinsamen Teiler, und so ggT(x, y) = ggT(x, y mod x). 9 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Größter gemeinsamer Teiler Der Satz führt zum Euklidischen Algorithmus zur Berechnung vom ggT zweier Zahlen: Procedure ggT (x, y ℕ mit x y) if y mod x = 0 then return x else return ggT(y mod x, x) (Euklid von Alexandria, ca. 325–265 v. Chr.) 10 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Größter gemeinsamer Teiler Satz: Seien x, y 2 N. Es gibt a, b 2 Z mit ggT(x,y) = a x + b y Beweis: Durch Induktion über max{x,y}. Basis: max{x,y}=1. Dann x=1=y und ggT(x,y) = 1 = 1 x + 0 y. Schritt: max{x,y} > 1. O.b.d.A. sei x · y. Wir betrachten zwei Fälle. Fall 1. y mod x = 0. Dann ggT(x,y) = x = 1 x + 0 y. 11 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Größter gemeinsamer Teiler Fall 2. y mod x > 0. In diesem Fall gelten x < y und ggT(x, y) = ggT(y mod x, x). Wir haben max{y mod x, x} = x < y · max{x,y} und so (Induktionsannahme) gibt es a´, b´ 2 Z mit ggT(x,y) = ggT(y mod x, x) = a´ (y mod x) + b´ x Mit y mod x = y - by/xc x erhalten wir ggT(x,y) = a´ (y -by/xc x) + b´ x = (b´-by/xc a´) x + a´ y. 12 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Größter gemeinsamer Teiler Der Beweis des Satzes führt zu einem Algorithmus für die Berechnung der Zahlen a und b, dem Erweiteten Euklidischen Algorithmus: Procedure ErwggT(Zahlen x,y ℕ mit x y) if y mod x = 0 then return (1, 0) else (a´, b´) Ã ErwggT(y mod x, x); (a , b) Ã (b´-by/xc a´ , a´); return (a, b) 13 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Größter gemeinsamer Teiler Beispiel mit x= 45, y = 63. ggT(45,63) = ggT(18,45) = ggT( 9,18) = 9 9 = (1 – b63/45c· (-2)) · 45 + (-2) · 63 = 3 · 45 + (-2) · 63 9 = (0 – b45/18c· 1) · 18 + 1 · 45 = -2 · 18 + 1 · 45 9 = 1 · 9 + 0 · 18 14 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Eigenschaften von Körpern Satz: In jedem Körper K gilt für alle a K : a 0=0 a=0 Beweis: Es sei a ein beliebiges Element aus K. Dann folgt aus den Axiomen: 0 + (a 0) = a 0 = a (0 + 0) = (a 0) + (a 0). Die Kürzungsregel ergibt 0 = a 0 □ 15 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Eigenschaften von Körpern Satz: In jedem Körper K gilt für alle a,b 2 K: a b = 0 a = 0 oder b = 0. (Körper sind nullteilerfremd) Beweis: Seien a,b mit a b = 0. Falls a 0, so existiert ein multiplikatives Inverses a−1 von a. Unter Verwendung des Satzes auf der letzten Seite folgt damit: b = 1 b = a−1 a b = a−1 0 = 0. 16 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Eigenschaften von Körpern Satz: ℤn, +n, n ist ein Körper , n ist Primzahl. Beweis: ()): Wir beweisen die Kontraposition. Sei n 2 N eine zusammengesetzte Zahl (also keine Primzahl). Dann gibt es Zahlen a,b, mit 1 < a · b < n und a b = n. Insbesondere gilt a 0 b. Aus a b = n folgt a n b = 0. Damit gilt a 0 b und a n b = 0. Aus dem Satz auf der vorigen Seite folgt, dass ℤn, +n, n kein Körper ist. 17 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Eigenschaften von Körpern Satz: ℤn, +n, n ist ein Körper , n ist Primzahl. Beweis: ((): Sei n 2 N beliebig. ℤn, +n ist eine abelsche Gruppe. Darüber hinaus ist n assoziativ und kommutativ mit neutralem Element 1. Die Distributivgesetze gelten. Wir zeigen: Wenn n eine Primzahl ist, dann hat jedes Element von ℤn ein inverses Element. 18 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel V – Algebra; Körper • Eigenschaften von Körpern Beweis (Forts.): Sei n Primzahl. Zu zeigen ist : für jedes x ℤn gibt es ein y ℤn mit (x n y) 1. Sei x ℤn beliebig. Mit n Primzahl gilt ggT(x,n) = 1. Es existieren also Zahlen a, b 2 Z mit a · x + b · n = 1 (Erweiterter Euklidischer Algorithmus). Damit gilt (a n x) +n (b n n) ´ 1. Aus (b n n) ´ 0 folgt (a n x) ´ 1. Wähle y := a. 19 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München