105
Diskrete Mathematik otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘, insbesondere endliche Ob- jekte und Strukturen. Der Name betont den Gegensatz zu den kontinuier- lichen Ans¨ atzen und Methoden in der Mathematik. Die Grenzwertbetrach- tungen der Analysis treten in den Hintergrund, wichtig sind Prozeduren, die nach endlich vielen Schritten zu einem Resultat f¨ uhren, also Algorithmen. Die Diskrete Mathematik verdankt ihren Aufschwung auch den Computer- wissenschaften, f¨ ur die sie eine wichtige Rolle spielt. Die Theoretische Infor- matik ist besonders an effizienten Algorithmen interessiert, w¨ ahrend f¨ ur die Kryptographie algorithmisch schwere Probleme von Bedeutung sind. Literatur M. Aigner (1994): Diskrete Mathematik, Vieweg L. Childs (1979): A Concrete Introduction to Higher Algebra, Springer T. Ihringer (1993): Diskrete Mathematik, Teubner D.E. Knuth (1973,1981): The Art of Computer Programming, Vol. I,II, Addison-Wesley N. Koblitz (1994): A Course in Number Theory and Cryptography, Springer J.H. van Lint (1992): Introduction to Coding Theory, Springer C. Papadimitriou (1994): Computational Complexity, Addison Wesley 1

Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Embed Size (px)

Citation preview

Page 1: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Diskrete Mathematik

Gotz Kersting, SS 2005

Die Diskrete Mathematik behandelt ,diskrete‘, insbesondere endliche Ob-jekte und Strukturen. Der Name betont den Gegensatz zu den kontinuier-lichen Ansatzen und Methoden in der Mathematik. Die Grenzwertbetrach-tungen der Analysis treten in den Hintergrund, wichtig sind Prozeduren, dienach endlich vielen Schritten zu einem Resultat fuhren, also Algorithmen.Die Diskrete Mathematik verdankt ihren Aufschwung auch den Computer-wissenschaften, fur die sie eine wichtige Rolle spielt. Die Theoretische Infor-matik ist besonders an effizienten Algorithmen interessiert, wahrend fur dieKryptographie algorithmisch schwere Probleme von Bedeutung sind.

Literatur

M. Aigner (1994): Diskrete Mathematik, Vieweg

L. Childs (1979): A Concrete Introduction to Higher Algebra, Springer

T. Ihringer (1993): Diskrete Mathematik, Teubner

D.E. Knuth (1973,1981): The Art of Computer Programming, Vol. I,II,Addison-Wesley

N. Koblitz (1994): A Course in Number Theory and Cryptography, Springer

J.H. van Lint (1992): Introduction to Coding Theory, Springer

C. Papadimitriou (1994): Computational Complexity, Addison Wesley

1

Page 2: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Inhaltsverzeichnis

1 Der Euklidische Algorithmus 41.1 Großte gemeinsame Teiler und der Euklidische Algorithmus . . 41.2 Laufzeit des Euklidischen Algorithmus . . . . . . . . . . . . . 81.3 Ein binarer Algorithmus . . . . . . . . . . . . . . . . . . . . . 91.4 Der Euklidische Algorithmus fur Polynome . . . . . . . . . . . 101.5 Euklidische Ringe . . . . . . . . . . . . . . . . . . . . . . . . . 121.6 Eine geometrische Sicht . . . . . . . . . . . . . . . . . . . . . . 15

2 Kongruenzen und modulares Rechnen 222.1 Der Restklassenring Zm . . . . . . . . . . . . . . . . . . . . . 222.2 Der Chinesische Restsatz . . . . . . . . . . . . . . . . . . . . . 242.3 Ein probabilistischer Gleichheitstest . . . . . . . . . . . . . . . 262.4 Exakte Losung ganzzahliger Gleichungssysteme . . . . . . . . 272.5 Ein allgemeiner Chinesischer Restsatz . . . . . . . . . . . . . . 292.6 Prime Restklassen . . . . . . . . . . . . . . . . . . . . . . . . . 332.7 Ein probabilistischer Primzahltest . . . . . . . . . . . . . . . . 352.8 Offentliche Chiffriersysteme . . . . . . . . . . . . . . . . . . . 362.9 Zero-Knowledge Beweise . . . . . . . . . . . . . . . . . . . . . 392.10 Faktorzerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . 452.11 Gruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3 Fehlerkorrigierende Kodes 553.1 Der Hamming–Kode . . . . . . . . . . . . . . . . . . . . . . . 553.2 Die mittlere Fehlerzahl des Hamming-Kodes . . . . . . . . . . 583.3 Lineare Kodes . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.4 Zyklische Kodes . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4 Endliche Korper 704.1 Eine algebraische Version des Hamming-Kodes . . . . . . . . . 704.2 Die Struktur endlicher Korper . . . . . . . . . . . . . . . . . . 724.3 Konstruktion von endlichen Korpern . . . . . . . . . . . . . . 76

2

Page 3: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

4.4 BCH-Kodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.5 Spezielle Falle von BCH-Kodes . . . . . . . . . . . . . . . . . 824.6 Elliptische Kurven uber endlichen Korpern . . . . . . . . . . . 84

5 Lineares Programmieren 905.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.2 Dualitat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.3 Eckpunkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945.4 Ganzzahliges Programmieren . . . . . . . . . . . . . . . . . . . 965.5 Der Simplex-Algorithmus . . . . . . . . . . . . . . . . . . . . . 102

3

Page 4: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Kapitel 1

Der Euklidische Algorithmus

1.1 Großte gemeinsame Teiler und der Eukli-

dische Algorithmus

Der Euklidische Algorithmus gehort zu den altesten Rechenverfahren, er warschon Eudoxus (375 v.Chr.) bekannt. Er ist grundlegend und kommt in vielenRechenprozeduren zur Anwendung. Der Algorithmus dient zur Bestimmungvon großten gemeinsamen Teilern. Wir betrachten zunachst den Ring Z derganzen Zahlen. Zur Notation: Man schreibt a | b fur ganze Zahlen a, b, fallsa Teiler von b ist, d.h., falls es ein ganze Zahl c gibt, so dass ac = b.

Definition 1.1. d ∈ Z heißt großter gemeinsamer Teiler, kurz ggT derganzen Zahlen a1, . . . , an 6= 0, falls gilt:

i) d | a1, . . . , d | an,

ii) Gilt z | a1, . . . , z | an fur eine ganze Zahl z, so folgt z | d.

Wir schreiben dann d = ggT(a1, . . . , an). Gilt 1 = ggT(a1, . . . , an), so sagtman, a1, . . . , an sind relativ prim oder teilerfremd.

Aus z | d folgt |z| ≤ |d| (wegen a1, . . . , an 6= 0 ist d = 0 ausgeschlossen).In diesem Sinne ist d am großten unter allen Teilern von a1, . . . , an. Ist d′

ein weiterer ggT fur a1, . . . , an, so teilen sich d und d′ gegenseitig, so dass|d′| = |d|, also d′ = ±d folgt. Der ggT von a1, . . . , an ist daher bis auf dasVorzeichen eindeutig bestimmt.

Etwas weniger evident ist, dass immer ein großter gemeinsamer Teilerexistiert – etwa fur zwei naturliche Zahlen a und b. Man kann Gebrauchmachen davon, dass sich ganze Zahlen in eindeutiger Weise in Primfaktorenzerlegen lassen. Seien p1, . . . , pr die Primzahlen, die in a oder b als Teiler

4

Page 5: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

enthalten sind. Dann gilt a = pe11 · · · per

r und b = pf1

1 · · · pfrr mit ganze Zahlen

e1, . . . , er, f1, . . . , fr ≥ 0 (ei = 0 bedeutet, dass pi kein Teiler von a ist),und die gemeinsamen Teiler von a und b haben die Gestalt z = ±ph1

1 · · · phrr

mit hi ∈ {0, 1, . . . , gi}, gi := min(ei, fi). Die beiden großten gemeinsamenTeiler von a und b sind folglich d = ±pg1

1 · · · pgrr . – Fur explizite Rechnungen

ist dieses Vorgehen nicht geeignet, denn die Zerlegung einer Zahl in ihrePrimfaktoren ist sehr rechenaufwendig.

Wir gehen hier anders vor und klaren die Existenzfrage, indem wir einRechenverfahren angeben, dass großte gemeinsame Teiler liefert. Es beruhtauf einer grundlegenden Eigenschaft ganzer Zahlen, der Division mit Rest:Zu ganzen Zahlen a, b 6= 0 gibt es ganze Zahlen m, r, so dass

a = mb + r und 0 ≤ r < |b|.

Die Idee des Euklidischen Algorithmus ist es, aus zwei Zahlen den ggT schritt-weise herauszudividieren (durch ,Wechselwegnahme‘ zu gewinnen).

Euklidischer Algorithmus.

Eingabe: ganze Zahlen a, b 6= 0.

Ausgabe: rj−1 = ggT(a, b).

Verfahren: Setze r−1 = a, r0 = b. Bestimme durch Division mit Rest suk-zessive ganze Zahlen r1, . . . , rj−1 mit |b| > r1 > · · · > rj−1 > rj = 0, biskein Rest mehr bleibt. ri sei also der Rest, der bei Division von ri−2 durchri−1 entsteht:

r−1 = m1r0 + r1,r0 = m2r1 + r2,

...ri−2 = miri−1 + ri,

...rj−3 = mj−1rj−2 + rj−1,rj−2 = mjrj−1,

mit ganzen Zahlen m1, . . . ,mj. 2

Da die Divisionsreste ri strikt fallen, bricht das Verfahren nach endlich vielenSchritten ab. Es ist korrekt: rj−1 teilt der Reihe nach rj−2, rj−3, . . . , r0 = bund r−1 = a, wie sich sukzessive aus den Gleichungen ri−2 = miri−1 + ri

ergibt. Teilt umgekehrt z sowohl a wie b, so teilt z der Reihe nach r1, . . . , rj−1,wie aus den Gleichungen ri = ri−2 −miri−1 folgt.

5

Page 6: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Beispiel. Fur a = 1736, b = 1484 ergibt das Verfahren

1736 = 1 · 1484 + 2521484 = 5 · 252 + 224252 = 1 · 224 + 28224 = 8 · 28 (+0).

Also28 = ggT(1736, 1484).

Liest man die Gleichungen von unten nach oben, so erkennt man: 28 | 224,28 | 252, 28 | 1484, 28 | 1736. Liest man von oben nach unten, so ist klar,dass jeder Teiler von 1736 und 1484 auch 28 teilt. 2

Weiter liefert der Algorithmus eine Darstellung des ggT als Linearkombi-nation: Aus der Gleichung rj−3 = mj−1rj−2 + rj−1 laßt sich rj−2 mittelsrj−2 = rj−4 − mj−2rj−3 eliminieren. Genauso lassen sich der Reihe nachrj−3, . . . , r1 eliminieren, und wir erhalten rj−1 als ganzzahlige Linearkom-bination von a und b. Im Beispiel sieht das so aus:

28 = 252− 224 = 6 · 252− 1484 = 6 · 1736− 7 · 1484.

Damit haben wir im Fall n = 2 den folgenden Satz von Bezout bewiesen(Den Fall n > 2 folgt per Induktion, Ubung).

Satz 1.2. Fur d = ggT(a1, . . . , an) gibt es ganze Zahlen z1, . . . , zn, so dass

d = z1a1 + · · ·+ znan.

Durch Erweiterung des Euklidischen Algorithmus kann man mit dem ggTzweier Zahlen a und b gleichzeitig seine Darstellung nach dem Satz vonBezout gewinnen. Man bestimme dazu ganze Zahlen s−1, . . . , sj−1, t−1, . . . ,tj−1 rekursiv aus den Gleichungen

s−1 = 1, s0 = 0, t−1 = 0, t0 = 1,si−2 = misi−1 + si, ti−2 = miti−1 + ti,

unter Benutzung der vom Euklidischen Algorithmus gewonnenen ganzen Zah-len m1, . . . ,mj. Dann gilt

ggT(a, b) = rj−1 = asj−1 + btj−1.

Beweis. Es gilt sogar ri = asi +bti fur alle −1 ≤ i < j, wie sich per Induktionnach i ergibt: Fur i = −1, 0 folgt dies nach Wahl von s−1, s0, t−1 und t0, undder Induktionsschritt folgt aus

ri = ri−2 −miri−1

= asi−2 + bti−2 −mi(asi−1 + bti−1)

= asi + bti.

6

Page 7: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Beispiel. a=1736, b=1484.

i ri−1 ri mi+1 si−1 si ti−1 ti0 1736 1484 1 1 0 0 11 1484 252 5 0 1 1 -12 252 224 1 1 -5 -1 6

3 224 28 8 -5 6 6 -7

Also28 = 6 · 1736− 7 · 1484. 2

Eine andere Verwendung des Euklidischen Algorithmus besteht darin,rationale Zahlen als Kettenbruche auszudrucken. Dazu formen wir die Divi-sionen ri−2 = miri−1 + ri des Algorithmus um zu den Gleichungen

ri−2

ri−1

= mi +

(ri−1

ri

)−1

. (1.1)

Diese Ausdrucke lassen sich ineinander einsetzen, und es entsteht ausgehendvon r−1/r0 = a/b die Kettenbruchdarstellung

a

b= m1 +

(r0

r1

)−1

= m1 +1

m2 +

(r1

r2

)−1 = . . . (1.2)

Zum Beispiel ist1736

1484= 1 +

1

5 +1

1 +1

8Allgemein schreiben wir

a

b= m1 +

1

m2+

1

m3+· · · 1

mj−1+

1

mj

(1.3)

unter Verwendung der Notation

m1 +1

m2+

1

m3+· · · 1

mj−1+

1

mj

:= m1 +1

m2 +1

m3 +1

...

mj−1 +1

mj

7

Page 8: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Fur die Berechnung der Kettenbruche braucht man nicht auf den Eukli-dischen Algorithmus zuruckzugreifen. Wir formen (1.1) um zu der Gleichung

αi = mi + α−1i+1, i = 1, . . . , j − 1, mit αi :=

ri−2

ri−1

.

Da die Reste ri strikt fallen, gilt αi+1 > 1 fur i ≥ 1, und es folgt

mi = [αi], αi+1 = (αi −mi)−1.

Ausgehend vom Startwert α1 = a/b kann man so m1, m2, . . . rekursiv berech-nen. Diese Prozedur heißt Kettenbruchalgorithmus.

1.2 Laufzeit des Euklidischen Algorithmus

Der Euklidische Algorithmus fuhrt sehr schnell zum Resultat, die Anzahlder benotigten Divisionen hat eine Große, die nur logarithmisch von denEingabedaten a und b abhangt. Dies zeigt eine worst-case Analyse des Algo-rithmus. Besonders ungunstige Falle erhalt man mit den Fibonacci–Zahlen0,1,1,2,3,5,8,13,21,34,55,. . .

Definition 1.3. Die Fibonacci–Zahlen F0, F1, . . . sind rekursiv definiertals F0 := 0, F1 := 1 und Fi := Fi−1 + Fi−2 fur i ≥ 2.

Bei der Wahl a = Fj+2, b = Fj+1 ergeben sich fur den Euklidischen Algorith-mus folgende j Divisionen

a = b + Fj,b = Fj + Fj−1,

...Fj−i+3 = Fj−i+2 + Fj−i+1,

...F4 = F3 + F2,F3 = 2F2,

denn abgesehen von F1 = F2 = 1 sind die Fibonacci–Zahlen strikt wachsend,so dass Fi = Fi−1 +Fi−2 die Division von Fi durch Fi−1 mit Rest ist. Es folgt1 = ggT(Fj+2, Fj+1). Im vorliegenden Fall gilt m1 = · · · = mj−1 = 1, mj = 2und rj−1 = 1, und dies sind die minimal moglichen Werte, denn mj = 1 istbeim Euklidischen Algorithmus in der letzten Division ausgeschlossen.

8

Page 9: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Fur die Fibonacci-Zahlen gilt die bemerkenswerte Formel

Fi =1√5

[(1 +

√5

2

)i

−(

1−√

5

2

)i ].

Der Beweis ergibt sich leicht per Induktion. Die Falle i = 0 und 1 pruft mandirekt nach. Außerdem erfullt der angegebene Ausdruck fur Fi die rekursivenGleichungen der Fibonacci-Zahlen. Dies liegt daran, dass die Zahlen

φ1 :=1 +

√5

2, φ2 :=

1−√

5

2

die Gleichung φ2 = φ + 1 und folglich φi = φi−1 + φi−2 erfullen.

Satz 1.4. Der Euklidische Algorithmus benotigt bei der Eingabe a > b > 0

hochstens c ln(b√

5) Divisionen, mit c =(ln 1+

√5

2

)−1 ≈ 2, 08.

Beweis. Fur die Divisionsreste gilt ri ≥ Fj−i+1, i ≤ j − 1, wie man perInduktion von i = j−1 bis i = −1 zeigt: Es gilt rj−1 ≥ 1 = F2, rj−2 ≥ 2 = F3,sowie im Induktionsschritt

ri−1 = mi+1ri + ri+1 ≥ Fj−i+1 + Fj−i = Fj−i+2.

Insbesondere folgt b = r0 ≥ Fj+1. Aus obiger Formel fur Fj erhalt man

1√5

(1 +

√5

2

)j

= Fj +1√5

(1−

√5

2

)j

≤ Fj + 1 ≤ b

(es gilt φ2 ≈ −0, 618) bzw.

j ln1 +

√5

2≤ ln(b

√5).

2

Der Beweis zeigt: Fur jedes Paar a > b > 0 von Zahlen, fur das derEuklidische Algorithmus genau j Divisionen braucht, gilt b ≥ Fj+1 und a ≥Fj+2.

1.3 Ein binarer Algorithmus

Fur den Computer ist Euklids Algorithmus in den ganzen Zahlen nicht dasgunstigste Verfahren. Divisionen mit Rest sind vergleichsweise rechenaufwen-dig. Der folgende Algorithmus benotigt nur Divisionen durch 2, sie sind auf

9

Page 10: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

einem Rechner besonders schnell zu realisieren, da er Zahlen in Dualdarstel-lung verarbeitet. Die Idee ist, a und b schrittweise zu verkleinern auf eineArt, dass sich der ggT in kontrollierbarer Weise verandert. Im ersten Schrittnimmt man aus a und b den gemeinsamen geraden Anteil hinaus, gemaß derRegel

a, b gerade, d = ggT(a, b) ⇒ d = 2 · ggT(a/2, b/2).

Anschließend verkleinert man a und b schrittweise, ohne den ggT noch zuverandern. Ist a gerade und b ungerade, so ersetzt man a durch a/2 und laßtb unverandert. Der ggT andert sich nicht, denn

a gerade, b ungerade, d = ggT(a, b) ⇒ d = ggT(a/2, b).

Der Fall a ungerade, b gerade ist analog. Sind a und b beide ungerade, sobenutzen wir die Regel

d = ggT(a, b) ⇒ d = ggT(a− b, b).

Wir ziehen dann die kleinere der Zahlen von der großeren ab. Diese Regelnkommen abwechselnd zu Zuge, wie das folgende Beispiel zeigt.

ggT(1736, 1484) = 4 · ggT(434, 371) = 4 · ggT(217, 371)

= 4 · ggT(217, 154) = 4 · ggT(217, 77) = 4 · ggT(140, 77)

= 4 · ggT(35, 77) = 4 · ggT(35, 42) = 4 · ggT(35, 21)

= 4 · ggT(14, 21) = 4 · ggT(7, 21) = 4 · ggT(7, 14)

= 4 · ggT(7, 7) = 28.

1.4 Der Euklidische Algorithmus fur Polyno-

me

Der binare Algorithmus ist an die Computerarithmetik angepaßt und benutztspezielle Eigenschaften der ganzen Zahlen. Die Starke des Euklidischen Al-gorithmus besteht darin, dass er sich auch in anderen Rechenbereichen alsdem der ganzen Zahlen anwenden laßt. Wir betrachten nun Polynome inder Variablen x mit rationalen Koeffizienten (oder allgemeiner mit Koeffizi-enten in einem Korper K). Ein rationales Polynom ist gegeben durch einenAusdruck der Gestalt

f(x) = anxn + an−1x

n−1 + · · ·+ a1x + a0

mit n ∈ N und ai ∈ Q, i = 0, . . . , n. Glieder aixi mit dem Koeffizienten ai = 0

durfen aus der Summe weggelassen bzw. zur Summe beliebig hinzugefugtwerden. Wir betrachten also zwei Polynome als identisch, falls sie dieselbenGlieder haben, abgesehen von Summanden mit dem Koeffizienten 0.

10

Page 11: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Bemerkung. Es ist hier weder notig noch angemessen, sich Polynome wiein der Analysis als Funktionen vorzustellen. Wir fassen Polynome als for-male Ausdrucke auf. Dieser Unterschied in der Auffassung macht sich zwarfur rationale Polynome nicht bemerkbar, sehr wohl jedoch fur Polynome mitKoeffizienten in anderen Korpern. So gilt f(0) = f(1) = 0 fur das Polynomf(x) = x(x + 1) = x2 + x mit Koeffizienten aus dem Korper Z2 = {0, 1},es nimmt nur den Wert 0 an. Dennoch ist dieses Polynom vom Nullpolynomverschieden. 2

Mit Polynomen kann man rechnen wie mit ganzen Zahlen. Zwei Polynomef(x) = anx

n + · · ·+ a0 und g(x) = bmxm + · · ·+ b0 lassen sich addieren undmultiplizieren:

(f + g)(x) := (an + bn)xn + · · ·+ (a0 + b0)

(o.E.d.A. kann man m = n annehmen) und

(fg)(x) := cm+nxm+n + · · ·+ c0, mit ci :=

∑j+k=i

ajbk.

Es bereitet keine Muhe, die bekannten Rechenregeln fur Zahlen auf Polynomezu ubertragen, Assoziativitat, Kommutativitat, Distributivitat. Die Rolle derZahl 0 ubernimmt das Nullpolynom, dessen Koeffizienten alle verschwin-den. Insgesamt haben wir den Ring Q[x] der rationalen Polynome konstruiert(zur Definition eines Ringes vergleiche den folgenden Abschnitt).

Um eine Division mit Rest fur Polynome einzufuhren, definieren wir denGrad deg(f) eines vom Nullpolynom verschiedenen Polynoms f(x) = anx

n+· · · + a0. Er ist die großte Zahl i, so dass ai 6= 0. Das zugehorige ai heißtAnfangskoeffizient von f .

Seien nun f, g 6= 0 Polynome vom Grade n und m, mit Anfangskoeffizi-enten an und bm. Falls n ≥ m, konnen wir g aus f hinausdividieren, also dasPolynom

h(x) = f(x)− anb−1m xn−mg(x)

bilden. Offenbar hat h einen kleineren Grad als f . Gilt deg(h) ≥ m, so kanng aus h ein weiteres Mal hinausdividiert werden. Dies laßt sich fortsetzen, bisein Polynom r vom Grade kleiner m oder aber das Nullpolynom ubrigbleibt.Wir erhalten wie fur die ganzen Zahlen eine Division mit Rest: Zu ratio-nalen Polynomen f(x), g(x) 6= 0 existieren rationale Polynome m(x), r(x), sodass

f(x) = m(x)g(x) + r(x), mit deg(r) < deg(g) oder r(x) = 0.

11

Page 12: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Der Euklidische Algorithmus laßt sich nun auch auf rationale Polynomeanwenden. Da sich der Grad der Restpolynome bei jeder Division verkleinert,bricht er nach endlich vielen Schritten ab, seine Laufzeit ist durch den Graddes Polynoms g beschrankt. Wie fur ganze Zahlen konnen wir also feststellen:Zwei rationale Polynome f(x), g(x) 6= 0 besitzen einen ggT d(x), und es gibtrationale Polynome s(x) und t(x), so dass

d(x) = s(x)f(x) + t(x)g(x).

Beispiel. Seien a > b > 0 naturliche Zahlen. Wir wollen den ggT von xa−1und xb− 1 berechnen. Sei a = mb + r die Division von a durch b mit Rest r.Fur die Division von xa − 1 durch xb − 1 erhalten wir

xa − 1 =(xa−b + xa−2b + · · ·+ xa−mb

)(xb − 1

)+ xr − 1.

Der Rest ist xr−1, er verschwindet genau dann, wenn r = 0 ist, und ist sonstvon demselben Typ wie die beiden Polynome, von denen wir ausgegangensind. Der Euklidische Algorithmus, angewandt auf xa − 1 und xb − 1, lauftdaher parallel ab zum Euklidischen Algorithmus, angewandt auf a und b.Insbesondere folgt

xggT(a,b) − 1 = ggT(xa − 1, xb − 1).2

Diese Uberlegungen gelten nicht nur fur rationale Polynome, die Koeffizien-ten konnen genauso gut reelle oder komplexe Zahlen sein. Fur die Divisionmit Rest langt es, dass die Koeffizienten einem Korper K angehoren, dennin Korpern kann man wie in den reellen Zahlen addieren, multiplizieren unddividieren (die Definition eines Korpers wiederholen wir im nachsten Ab-schnitt). Spater werden insbesondere endliche Korper wichtig.

Dagegen hat man im Ring Z[x] aller Polynome f(x) = anxn + · · · + a0,

deren Koeffizienten ai ganze Zahlen sind, im allgemeinen keine Division mitRest, denn der Kehrwert b−1

m des Anfangskoeffizienten von g(x) laßt sich inden ganzen Zahlen nur bilden, falls bm = ±1 ist.

1.5 Euklidische Ringe

Eine Division mit Rest hat man nicht nur fur die ganzen Zahlen und furPolynome. Allgemein nennt man die Bereiche, in denen eine Division mit Restmoglich ist, Euklidische Ringe. Wir rekapitulieren kurz diese Terminologieaus der Algebra.

12

Page 13: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Sei G eine Menge mit einer binaren Verknupfung. Je zwei Elementena, b aus G seien also ein Element ab (ihr ,Produkt‘) zugeordnet. Gilt Asso-ziativitat (ab)c = a(bc), so heißt G (zusammen mit der Verknupfung) eineHalbgruppe. Ein neutrales Element e ∈ G ist durch die Eigenschafta = ea = ae fur alle a ∈ G gekennzeichnet. G kann hochstens ein neutralesElement besitzen, denn fur neutrale Elemente e, e′ folgt e = ee′ = e′. Gibt eszu a ∈ G ein b ∈ G, so dass ab = ba = e, so heißt b das inverse Elementvon a. Ist auch b′ invers zu a, so folgt b′ = b′(ab) = (b′a)b = b, das inverseElement ist also eindeutig. Man schreibt b = a−1. Enthalt eine HalbgruppeG ein neutrales Element, und besitzt jedes a ∈ G ein inverses Element, sonennt man G eine Gruppe. Es gilt dann (ab)−1 = b−1a−1. Ist in G zusatzlichnoch Kommutativitat ab = ba fur alle a, b gegeben, so heißt G eine abelscheGruppe.

Sei nun R eine Menge, die wie die ganzen Zahlen mit zwei binaren Ope-rationen a + b und ab (,Addition‘ und ,Multiplikation‘) versehen ist. Dannheißt R (zusammen mit + und ·) ein Ring, falls gilt:

i) R ist in Bezug auf die Addition eine abelsche Gruppe, mit neutralemElement 0. Jedes a ∈ R besitzt also ein ,entgegengesetztes‘ Element −a,so dass a + (−a) = 0 (das inverse Element bzgl. der Addition).

ii) R ist in Bezug auf die Multiplikation eine Halbgruppe.

iii) Es gilt Distributivitat: a(b + c) = ab + ac, (a + b)c = ac + bc.

Man schreiben a − b fur a + (−b) und a | b, wenn es ein c ∈ R mit ac = bgibt. Es gilt

a · 0 = 0 · a = 0

(beachte a · 0 + a · a = a(0 + a) = a · a), ein Produkt ist also 0, falls einFaktor 0 ist. Die Umkehrung ist im Allgemeinen nicht richtig, wir werdenRinge kennenlernen, in denen ab = 0 gelten kann fur zwei Elemente a, b 6= 0.a und b heißen dann Nullteiler. Ringe ohne Nullteiler haben den Vorteil,dass man in ihnen kurzen darf: Aus ac = bc folgt (a − b)c = 0 und damita = b, sofern c kein Nullteiler ist.

Wir werden uns nur mit Ringen befassen, die ein Einselement enthalten.Ein Einselement 1 ∈ R − {0} in einem Ring R ist ein neutrales Elementbzgl. der Multiplikation in R − {0}, es erfullt also 1a = a1 = a fur allea 6= 0. Diejenigen a ∈ R − {0}, die bzgl. der Multiplikation ein Inverses a−1

besitzen, heißen die Einheiten des Ringes. Die Menge R∗ aller Einheiten isteine Gruppe: Fur a, b ∈ R∗ ist b−1a−1 invers zu ab.

In manchen Ringen ist das Kommutativitatsgesetz verletzt. Ist die Mul-tiplikation kommutativ, ab = ba, so spricht man von einem kommutativen

13

Page 14: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Ring. Ein kommutativer Ring ohne Nullteiler mit Einselement heißt Inte-gritatsbereich. Besitzt jedes Element a 6= 0 eines Integritatsbereiches R einInverses a−1, gilt also R∗ = R− {0}, so nennt man R einen Korper.

Beispiel. Sei R ein Ring. Dann ist auch die Menge aller Polynome f(x) =anx

n+ · · ·+a1x+a0 mit ai ∈ R ein Ring, der Polynomring R[x]. Zwei Poly-nome gelten als gleich, wenn sie sich nur um Summanden unterscheiden, derenKoeffizienten 0 sind. Addition und Multiplikation werden wie in Abschnitt1.4 definiert. R ist in R[x] durch die Polynome vom Grad 0 eingebettet. EinEinselement in R ist auch Einselement in R[x], und es gilt R[x]∗ = R∗. Mansagt, R[x] entsteht aus R durch Adjunktion der Unbestimmten x. 2

Definition 1.5. Ein Integritatsbereich R heißt Euklidischer Ring, fallsjedem a ∈ R − {0} eine nicht-negative ganze Zahl g(a) zugeordnet ist, undfalls zu beliebigen a, b ∈ R − {0} Ringelemente m, r existieren, so dass gilt:a = mb + r und entweder r = 0 oder g(r) < g(b).

Unsere Uberlegungen uber großte gemeinsame Teiler ubertragen sich voll-standig auf Euklidische Ringe. Man hat erneut den Euklidischen Algorithmuszur Verfugung, daher existieren großte gemeinsame Teiler im Sinne der De-finition 1.1, und es gilt der Satz von Bezout: Fur a, b 6= 0 und d = ggT(a, b)gibt es s, t ∈ R, so dass

d = sa + tb.

Man uberzeugt sich leicht, dass großte gemeinsame Teiler bis auf Einheiteneindeutig bestimmt ist.

Beispiele.

1) Z ist ein Euklidischer Ring, mit g(a) := |a|.

2) Sei K ein Korper (etwa Q, R, C oder Z2 = {0, 1}). Dann ist der Polynom-ring K[x] ein Euklidischer Ring, mit g(f) := deg(f) (vergleiche Abschnitt1.4).

3) Die ganzen Gaußschen Zahlen, also die komplexen Zahlen z = x + iy mitx, y ∈ Z, bilden bzgl. der komplexen Addition und Multiplikation einenEuklidischen Ring, mit g(z) := |z|2 = x2 + y2 (Ubung). 2

14

Page 15: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

1.6 Eine geometrische Sicht

Seien a, b teilerfremde ganze Zahlen. Nach dem Satz von Bezout gibt es dannganze Zahlen s, t, so dass as+bt = 1 gilt, bzw. (nach Wechsel von Vorzeichen)ganze Zahlen a′, b′, so dass

ab′ − ba′ = ±1

gilt. In diesem Abschnitt liefern wir einen geometrischen Kontext.Wir betrachten das 2-dimensionale Gitter

G = {(x, y) : x, y ∈ Z}

aller Tupel (x, y) mit ganzzahligen Komponenten. Jeder Gitterpunkt v =(x, y) hat die Darstellung v = xe + ye′ mit

e := (1, 0) , e′ := (0, 1)

und x, y ∈ Z. Man sagt, e, e′ bilden eine Gitterbasis. Allgemeiner heißenGitterpunkte

g = (a, b) , g′ = (a′, b′)

eine Gitterbasis, falls fur alle v ∈ G ganze Zahlen x, y gibt, so dass

v = xg + yg′

gilt. Diese Darstellung ist dann nach der Linearen Algebra notwendigerweiseeindeutig. Wir fragen, wann g, g′ eine Gitterbasis bilden. Dazu ist es offenbarnotwendig wie hinreichend, dass es ganze Zahlen x, y, x′, y′ gibt, so dass

e = xg + yg′ , e′ = x′g + y′g′

gilt, oder in Matrix–Schreibweise( 1 00 1

)=( x y

x′ y′

)·( a b

a′ b′

).

Mit anderen Worten: Notwendig und hinreichend ist, dass die aus a, b, a′, b′

gebildete Matrix eine Inverse besitzt, deren Eintrage zudem ganzzahlig sind.Fur die Determinanten folgt 1 = (xy′ − yx′)(ab′ − ba′), so dass wir die Be-dingung ab′− ba′ = ±1 als notwendig erkennen. Sie ist auch hinreichend, wieman der Gleichung( a b

a′ b′

)−1

=1

ab′ − ba′

( b′ −b−a′ a

)entnimmt. Wir halten fest: g und g′ bilden genau dann eine Gitterbasis, wenn

ab′ − ba′ = ±1

gilt.

15

Page 16: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Bemerkung. Bekanntlich ist ab′ − ba′ der (orientierte) Flacheninhalt desvon g und g′ in der Ebene aufgespannten Parallelogramms. g und g′ bildenalso genau dann eine Gitterbasis, wenn dieser Flacheninhalt gleich ±1 ist. 2

Eine notwendige Bedingung, g ∈ G zu einer Gitterbasis erganzt zu konnen,ist offenbar, dass a und b relativ prim sind. In diesem Fall nennt man g sicht-bar, denn dann befindet sich auf der Verbindungsstrecke zwischen g und demGitterursprung 0 := (0, 0) kein weiterer Gitterpunkt (und ein Beobachter imUrsprung kann g sozusagen sehen).

Der Satz von Bezout besagt, dass die Bedingung auch hinreichend ist:Jeder sichtbare Gitterpunkt g lasst sich zu einer Gitterbasis g, g′ erganzen(die Aussage gilt analog fur hoherdimensionale Gitter). Wir konnen den Satznun auch auf geometrische Art beweisen.

Dazu stellen wir ein weiteres Kriterium auf dafur, dass Gitterpunkte eineGitterbasis bilden und definieren das von g, g′ aufgespannte Dreieck als

∆[g, g′] := {λg + λ′g′ : λ ≥ 0 , λ′ ≥ 0 , λ + λ′ ≤ 1} .

Wir behaupten: g, g′ bilden eine Gitterbasis, falls ∆[g, g′] nicht entartet istund von den Gitterpunkten nur 0, g und g′ (also seine Eckpunkte) enthalt.Ist namlich g, g′ Gitterbasis, so durchlauft xg+yg′, x, y ∈ Z alle Gitterpunkteund in ∆[g, g′] genau die Eckpunkte. Ist andererseits g, g′ keine Gitterbasis, soist entweder g, g′ uberhaupt keine Basis im gewohnlichen Sinne der LinearenAlgebra - dann entartet ∆[g, g′] zu einer Linie - oder es gibt einen Gitterpunktv = (x + λ)g + (y + λ′)g′ mit x, y ∈ Z, λ, λ′ ∈ [0, 1), so dass λ und λ′

nicht gleichzeitig 0 sind. Dann sind auch λg + λ′g′ = v − xg − yg′ und(1− λ)g + (1− λ′)g′ = (x + 1)g + (y + 1)g′ − v Gitterpunkte, und einer vonbeiden liegt in ∆[g, g′], ohne Eckpunkt zu sein.

Man kann den Satz von Bezout nun folgendermaßen begrunden: Ist gsichtbarer Gitterpunkt und v weiterer Gitterpunkt. Wahle in ∆[g, v] einenGitterpunkt g′ 6= g, 0, der moglichst nahe an der Strecke von 0 nach g liegt.Dann enthalt ∆[g, g′] keinen zusatzlichen Gitterpunkt, und g, g′ ist Gitter-basis.

Beispiel. Die Farey–Reihe. Wir betrachten zu vorgegebener naturlicherZahl n alle Bruche a/b in gekurzter Form mit

0 ≤ a ≤ b ≤ n .

In aufsteigender Folge 0 = a1/b1 < a2/b2 < · · · < ak/bk = 1 heißen sie dieFarey–Reihe Fn. Zum Beispiel ist F5

0

1,

1

5,

1

4,

1

3,

2

5,

1

2,

3

5,

2

3,

3

4,

4

5,

1

1.

16

Page 17: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Die zugehorigen Gitterpunkte (bi, ai) durchlaufen alle sichtbaren Gitterpunk-te im Dreieck ∆[(n, 0), (n, n)], mit wachsender Steigung geordnet. Fur zweibenachbarte Bruche a/b und a′/b′ in einer Farey–Reihe enthalten damit dieDreiecke ∆[(b, a), (b′, a′)] keine weiteren Gitterpunkte, und es folgt

ab′ − ba′ = ±1 .2

Ein Euklidischer Algorithmus in der Ebene. Wir betrachten nun dieFrage, wie man eine Zahl α > 0 moglichst genau durch Bruche a/b annahernkann. Der Ansatz ist geometrisch: Gesucht werden Gitterpunkte v = (b, a),die besonders nahe an der durch die Gleichung y = αx gegebenen Geradenliegen, so dass also

d(v) := |a− αb|besonders klein wird (bzw. d(v)/

√1 + α2, der Abstand zwischen v und der

Geraden).

-

6

r r r r rr r r r rr r r r rr r r r rh

h

v

d(v)

y = αx

##

##

##

##

##

###

Dazu betrachten wir einerseits die konvexe Hulle Ko ⊂ R2+ aller Gitter-

punkte ungleich 0 oberhalb der Geraden im positiven Quadranten (also diekleinste konvexe Menge, die all diese Gitterpunkte enthalt),

Ko := kH{(b, a) ∈ G : a ≥ αb , a > 0}

sowie die analoge konvexe Menge unterhalb der Geraden,

Ku := kH{(b, a) ∈ G : αb ≥ a , b > 0} .

Der Rand von Ko oberhalb der Geraden ist ein konvexer Streckenzug ∂o mitEckpunkten, den Extremalpunkten von Ko, die wir mit g0 = (0, 1), g2 =(b2, a2), g4 = (b4, a4), . . . bezeichnen, und der Rand von Ku ist ein konka-ver Streckenzug ∂u mit den Eckpunkten g−1 = (1, 0), g1 = (b1, a1), g3 =(b3, a3), . . .

17

Page 18: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

-

6

rr r r

rr

r

p p p p p p p pp p p p p p p pp p p p p p p pp p p p p p p pp p p p p p p p

∂o ∂u

...............................................................................................................................................................................................................................................................................................................

..............................

..............................

..............................

..............................

..............................

..............................

......

...........................................................................................

..................................

..................................

..................................

..............................

..............................

..............................

..............................

..............................

..............................

..............................

..............................

..............................

..............................

........................

Diese Folge der Eckpunkte bieten sich an als Kandidaten fur Bruche ai/bi, dieα besonders gut approximieren. Es ist geometrisch klar, dass die Eckpunktesichtbare Gitterpunkte sind, dass es sich also um gekurzte Bruche handelt.

Bemerkenswerterweise lassen sich die Eckpunkte nach Art des Euklidi-schen Algorithmus bestimmen. Wir betrachten dazu folgende geometrischeKonstruktion.

Konstruktion. v1 = (b1, a1), v2 = (b2, a2) seien zwei Punkte in R2+, die

nicht auf derselben Seite der Geraden y = αx liegen, also

a1

b1

< α <a2

b2

odera1

b1

> α >a2

b2

.

Setze v3 = v1 + mv2, wobei m die großte ganze Zahl sei, so daß v3 noch aufderselben Seite der Geraden liegt wie v1. Dann gilt

d(v1) = md(v2) + d(v3), 0 ≤ d(v3) < d(v2).

Im Falle d(v1) ≥ d(v2), also m ≥ 1, gilt

a1

b1

<a3

b3

≤ α bzw.a1

b1

>a3

b3

≥ α.2

d(v3) berechnet sich also aus d(v1) und d(v2) nach demselben Schema wie beider Division mit Rest fur die ganzen Zahlen. Die beiden letzten Ungleichun-gen ergeben sich daraus, daß die Steigung des Vektors v3 zwischen α und derSteigung von v1 liegt. Das folgende Bild verdeutlicht die Situation im Falla1/b1 < α < a2/b2.

18

Page 19: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

-

6

,,

,,

,,

,,

,,

,,

,

����������

,,

,,

,

v1

v2

v3 = v1 + 2v2

d(v1) = 2d(v2) + d(v3)

y = αx

����

��������:�������

����

Durch wiederholte Anwendung der Konstruktion entsteht aus den Startwer-ten (1, 0) und (0, 1) eine ganze Folge von Gitterpunkten.

Euklidischer Algorithmus in der Ebene.

Eingabe: α > 0

Ausgabe: v1 = (b1, a1), v2 = (b2, a2), . . .

Verfahren: Setze v−1 = (1, 0), v0 = (0, 1). Bestimme m1, m2, . . . ∈ N0,r1, r2, . . . ≥ 0 und v1 = (b1, a1), v2 = (b2, a2) . . . ∈ N2

0 rekursiv aus denGleichungen

d(vi−2) = mid(vi−1) + ri, 0 ≤ ri < d(vi−1) und

vi = mivi−1 + vi−2,

i = 1, 2 . . . Gilt rj = 0, so beende die Prozedur. 2

Wegen d(v−1) = α und d(v0) = 1 ist m1 = [α] und v1 = (1, [α]). Fur ganz-zahliges α bricht das Verfahren bereits ab. Andernfalls ergibt sich die Un-gleichung d(v0) = 1 > d(v1) = α− [α], und unsere Konstruktion kommt zumZuge. Es folgt schrittweise d(vi+1) = ri+1 < d(vi), und folglich nach unsererKonstruktionsvorschrift m2, m3, . . . ≥ 1. Die zugehorigen Naherungsbruchenahern sich α und liegen abwechselnd oberhalb und unterhalb von α,

a1

b1

<a3

b3

<a5

b5

< · · · ≤ α ≤ · · · <a4

b4

<a2

b2

.

Das Verfahren bricht ab, falls rj = d(vj) = 0 fur ein j, also aj/bj = α. Furirrationales α ist dies nicht moglich, dann entstehen unendlich viele Nahe-rungsbruche. Im rationalen Fall α = a/b mit a, b ∈ N sind bd(vi) = |bai−abi|

19

Page 20: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

ganzzahlig, und die Gleichungen bd(vi−2) = mibd(vi−1) + bd(vi) sind Divisio-nen mit Rest, wie sie beim Euklidischen Algorithmus in den ganzen Zahlenauftreten. Daher bricht im rationalen Fall unser Verfahren genau wie derEuklidische Algorithmus ab.

Wir zeigen nun, dass der Algorithmus genau die Eckpunkte von ∂o und∂u erzeugt.

Behauptung. Es gilt vi = gi fur alle i = −1, 0, . . .

Beweis. Die Verbindungsstrecken zwischen v0, v2, . . . entstehen durch Abtra-gen von Vielfachen von v−1, v1, . . . und haben daher wachsende Steigung. Des-wegen ist der Streckenzug durch v0, v2, . . . konvex, und analog der Strecken-zug durch v−1, v1, . . . konkav. Dazwischen liegt die Gerade y = αx, daherlangt es zu zeigen, dass zwischen den beiden Streckenzugen keine Gitter-punkte liegen. Wir zerlegen den Bereich in die Dreiecke ∆i mit Eckpunktenvi−1, vi, vi+1 und zeigen, dass in ∆i hochstens auf der Verbindungslinie vonvi−1 nach vi+1 Gitterpunkte liegen.

Dazu stellen wir fest, dass vi−1, vi fur alle i ≥ 0 Gitterbasis ist: Furi = 0 liegt das Einheitsgitter vor, und mit vi−1, vi ist offenbar auch vi, vi+1 =vi−1 + mi+1vi Gitterbasis. Betrachten wir also auf ∆i die lineare Funktion

(a, b) 7→ `(a, b) := abi − bai,

so gilt `(vi−1) = `(vi+1) = ±1 sowie `(vi) = 0. Daher hat ` auch auf derStrecke zwischen vi−1 und vi+1 den Wert ±1. Sonst kann ` auf ∆i keineganzzahligen Werte annehmen, deswegen liegen dort keine Punkte mit ganz-zahligen Koordinaten. Dies ergibt unsere Behauptung. 2

Erganzungen.

1) Da vi, vi+1 Gitterbasis ist, gilt

ai+1bi − bi+1ai = ±1.

2) Die Approximationsgute. Da α zwischen ai/bi und ai+1/bi+1 liegt,folgt wegen ai+1bi − bi+1ai = ±1 und bi+1 > mi+1bi∣∣∣α− ai

bi

∣∣∣ ≤ ∣∣∣ai+1

bi+1

− ai

bi

∣∣∣ =1

bi+1bi

<1

mi+1b2i

(1.4)

und damit der Satz von Lagrange∣∣∣α− ai

bi

∣∣∣ <1

b2i

.

20

Page 21: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

3) Eine Umformung des Euklidischen Algorithmus. Algorithmisch ge-sehen ist folgende Vorgehensweise gunstig: Wir formen die Gleichungend(vi−2) = mid(vi−1) + d(vi) um zu

αi = mi + α−1i+1, mit αi :=

d(vi−2)

d(vi−1).

Da d(vj) fur j ≥ 0 strikt fallt , ist αi+1 > 1, also

mi = [αi], αi+1 = (αi −mi)−1.

Unter Beachtung von α1 = α lassen sich aus diesen Gleichungen diem1, m2, . . . rekursiv bestimmen.

4) Kettenbruchdarstellung der Naherungsbruche. Es gilt

aj

bj

= m1 +1

m2+

1

m3+· · · 1

mj−1+

1

mj

.

Zum Beweis betrachten wir auch die Gerade y = βx mit β = aj/bj. Sieverlauft zwischen ∂o und ∂u, bis sie vj erreicht. Deswegen ergibt der Eukli-dische Algorithmus, nun auf β angewandt, bis dahin dieselben Vielfachenm1, . . . ,mj, dann bricht er ab. Mit den entsprechenden Abstande d′(vi)folgt wie eben

βi = mi + β−1i+1 mit βi :=

d′(vi−2)

d′(vi−1).

Nun gilt β1 = β = aj/bj und β−1j+1 = 0. Die Behauptung folgt also durch

sukzessives Einsetzen wie fruher bei (1.2).

Diese Darstellung der Naherungsbruche als Kettenbruche motiviert furirrationale Zahlen α die Schreibweise

α = m1 +1

m2+

1

m3+· · · .

Beispielsweise gilt (Ubung)

√2 = 1 +

1

2+

1

2+

1

2+· · · .

Die Kettenbruchentwicklung von π = 3, 14159265 . . . ergibt sich als

π = 3 +1

7+

1

15+

1

1+

1

292+

1

1+· · ·

Wegen m5 = 292 ist die Naherung 3+ 17+

115+

11

= 3+ 16113

= 3, 14159292 . . .fur π besonders gut (vgl. die Abschatzung (1.4)). 2

21

Page 22: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Kapitel 2

Kongruenzen und modularesRechnen

2.1 Der Restklassenring Zm

Beim Rechnen mit ganzen Zahlen ist es haufig von Vorteil, nicht mit denZahlen selbst zu operieren, sondern mit den Resten, die beim Teilen der Zah-len durch ein fest vorgegebenes m ∈ Z ubrigbleiben. m wird dann als Modulbezeichnet. Entscheidend ist, daß man mit den Resten genauso rechnen kannwie mit den Zahlen selbst, die Rechenregeln bleiben zu einem wesentlichenTeil bestehen. Der Vorteil des Rechnens mit Resten liegt auf der Hand: DieReste sind im allgemeinen viel kleiner als die Zahlen selbst.

Definition 2.1. Sei m ∈ N und a, b ∈ Z.

i) a und b heißen kongruent modulo m, falls m | b− a, falls also a undb denselben Rest bei Division durch m haben. Man schreibt dann

a ≡ b mod m.

ii) Die Menge a := {a + zm : z ∈ Z} = a + mZ heißt Restklasse vona modulo m. Eine andere Schreibweise fur die Restklasse ist a mod m.Die Menge aller Restklassen wird mit Z/mZ oder Zm bezeichnet.

Es gilt a ≡ b mod m ⇔ a = b. Die Kongruenz ist also eine Aquivalenzre-lation, und Z zerfallt modulo m in m disjunkte Restklassen. Der folgendeSatz prazisiert die Aussage, daß sich das Rechnen mit ganzen Zahlen imwesentlichen auf die Restklassen ubertragt.

22

Page 23: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Satz 2.2. Es gilt

a ≡ a′, b ≡ b′ mod m ⇒ a + b ≡ a′ + b′, ab ≡ a′b′ mod m,

so daß a + b := a + b, a · b := ab wohldefinierte Verknupfungen in Zm sind.Damit wird Zm zu einem kommutativen Ring mit Einselement.

Beweis. m | (a− a′) und m | (b− b′) implizieren m | (a + b− (a′ + b′)) und,wegen ab− a′b′ = a(b− b′) + (a− a′)b′, auch m | (ab− a′b′). Dies ergibt dieerste Behauptung. Die Rechenregeln ubertragen sich von Z unmittelbar aufZm, z.B.

a + (b + c) = a + b + c = a + (b + c)

= (a + b) + c = a + b + c = (a + b) + c.

Das Nullelement ist 0, das Einselement 1. 2

Beispiel. Seien a =∑

ai10i, b =∑

bi10i ganze Zahlen in Dezimaldarstel-lung und c =

∑ci10i ihr Produkt. Dann gilt wegen 10 ≡ 1 mod 9∑

ai

∑bi ≡ ab ≡ c ≡

∑ci mod 9.

Die Neunerprobe zur Kontrolle von Multiplikationen (bei der eine Zahldurch die Summe der Ziffern aus ihrer Dezimaldarstellung ersetzt wird) be-ruht auf dieser Feststellung. 2

Zm heißt Restklassenring modulo m. Diese Ringe haben Besonderheiten,wie man sie von Z nicht kennt:

Nullteiler. Haben a und m einen gemeinsamen Teiler d, also a = cd undm = bd, so folgt a · b = cdb = cm = 0. Ist a, b 6= 0, so heißen a, b Nullteiler.Zum Beispiel gilt 2 · 3 = 0 in Z6, jedoch 2, 3 6= 0. Anders als Z enthalt Zm

Nullteiler, abgesehen von dem Fall, daß m eine Primzahl ist.In Ringen mit Nullteilern kann man im allgemeinen nicht kurzen. So gilt

4 · 2 = 4 · 5, aber 2 6= 5 in Z6.

Einheiten. Seien nun a und m teilerfremd. Dann gibt es Zahlen s undt, so daß as + mt = 1, also 1 = a · s + mt = a · s + 0 = a · s. Es istalso a eine Einheit in Zm und s = a−1. Inverse Elemente lassen sich mitdem (erweiterten) Euklidischen Algorithmus berechnen. In Z7 gilt 2

−1= 4,

3−1

= 5 und 6−1

= 6.

23

Page 24: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Eine besondere Rolle spielen die Restklassenringe modulo einer Primzahl p.In Zp besitzt jede Restklasse ungleich 0 eine inverse Restklasse, es gilt alsoder folgende Satz.

Satz 2.3. Ist p eine Primzahl, so ist Zp ein Korper.

2.2 Der Chinesische Restsatz

Es ist eine allgemeine Strategie zur Bewaltigung von umfangreichen Rechnun-gen, das Problem in kleinere, vom Rechenaufwand her uberschaubare Teilezu zerlegen (,divide et impera‘). Dazu hat sich das Rechnen mit Restklassenals wirksam erwiesen. In der modularen Arithmetik wird eine ganze Zahla durch ein Zahlentupel (a1, . . . , ak) ersetzt. Man gibt sich paarweise teiler-fremde Moduln m1, . . . ,mk vor und bestimmt die ai als die Reste, die beiDivision von a durch mi ubrigbleiben. Im letzten Abschnitt haben wir gese-hen, daß sich das Rechnen mit a in kanonischer Weise auf die ai ubertragt.Gerechnet wird daher soweit wie moglich mit den Resten modulo mi.

Diese Strategie setzt voraus, daß man a aus (a1, . . . , ak) wieder zuruckge-winnen kann. Sei also a′ eine weitere ganze Zahl, die bei Division durch mi

die Reste ai ergibt. Dann gilt mi | (a − a′) fur alle i. Wegen der Eindeutig-keit der Primfaktorzerlegung in den ganzen Zahlen folgt m | (a − a′) bzw.a ≡ a′ mod m, mit m = m1 · · ·mk, denn die mi sind als paarweise teilerfremdangenommen. Ist daher −m/2 < a ≤ m/2, so ist a durch (a1, . . . , ak) ein-deutig festgelegt. Man wird also die mi so wahlen, daß m ausreichend großist.

Beispiel. Modulares Multiplizieren. Wir bilden 21 · 45, indem wir erstmodulo 9,10 und 11 multiplizieren, und dann die Resultate zusammenfassen.Es gilt 23 · 45 ≡ 0 mod 9, 21 · 45 ≡ 5 mod 10, 21 · 45 ≡ −1 mod 11. Zusam-mensetzen ergibt 23 · 45 ≡ 945 mod 990. 2

Es ergibt sich also die Frage, wie man am Ende der Rechnung a aus denResten ai wieder rekonstruiert. Dazu muß man das System von Kongruenzen

x ≡ a1 mod m1, x ≡ a2 mod m2, . . . , x ≡ ak mod mk

in der Unbekannten x losen. Unsere bisherigen Uberlegungen zeigen, daßdieses Gleichungssystem modulo m eindeutig losbar ist, d.h. zwei Losungena und a′ zu derselben Restklasse modulo m gehoren.

Um eine Losung zu finden, konstruieren wir Basislosungen ei, i = 1, . . . , k.ei soll das Gleichungssystem in dem speziellen Fall ai = 1, aj = 0 fur j 6= i

24

Page 25: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

losen. Setzem′

i :=∏j 6=i

mj = m/mi.

Da die Modulen m1, . . . ,mk paarweise teilerfremd sind, gilt 1 = ggT(mi, m′i).

Mit dem erweiterten Euklidischen Algorithmus gewinnt man ganze Zahlensi, ti, so daß

1 = misi + m′iti.

Wir setzen nunei := 1−misi = m′

iti.

Dann gilt nach Definition von m′i wie gewunscht

ei ≡{ 1 mod mi

0 mod mj fur j 6= i.

Aus den Basislosungen konnen wir eine Losung

a =∑

i

aiei

fur das ursprungliche Kongruenzensystem zusammensetzen. Insgesamt er-halten wir den Chinesischen Restsatz (der in einem speziellen Fall bereitsSun Tsu etwa 300 n.Chr. bekannt war).

Satz 2.4. Seien m1, . . . ,mk paarweise teilerfremde naturliche Zahlen undseien a1, . . . , ak ganze Zahlen. Dann existiert eine Losung a des Systems vonKongruenzen

x ≡ a1 mod m1, x ≡ a2 mod m2, . . . , x ≡ ak mod mk,

und sie ist modulo m = m1 · · ·mk eindeutig. Mit anderen Worten: Es gibteine ganze Zahl a, so daß das Gleichungssystem aquivalent ist zu der Glei-chung

x ≡ a mod m.

In Restklassen ausgedruckt bedeutet der Satz, daß die Zuordnung

a mod m 7→ (a mod m1, . . . , a mod mk)

eine Bijektion zwischen Zm und Zm1×· · ·×Zmkdefiniert. Die Eindeutigkeits-

aussage bedeutet Injektivitat der Abbildung, die Existenzaussage Surjekti-vitat. Da beide Mengen m = m1 · · ·mk Elemente enthalten, bedingen sichInjektivitat und Surjektivitat gegenseitig. So gesehen ist die Existenzaussagedes Chinesischen Restsatzes eine Folgerung aus seiner Eindeutigkeitsaussage,und umgekehrt.

25

Page 26: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Beispiel. Gesucht ist eine Losung des Systems

x ≡ 2 mod 3, x ≡ 3 mod 5, x ≡ 4 mod 7.

Es gilt m′1 = 5 · 7 = 35, m′

2 = 3 · 7 = 21,m′3 = 3 · 5 = 15. Aus

1 = ggT(3, 35) = 12 · 3− 1 · 351 = ggT(5, 21) = −4 · 5 + 1 · 211 = ggT(7, 15) = −2 · 7 + 1 · 15

erhalten wir das Basissystem e1 = −35, e2 = 21, e3 = 15. Es ist also

−2 · 35 + 3 · 21 + 4 · 15 = 53,

Losung, und das Gleichungssystem ist aquivalent zu x ≡ 53 mod 105. 2

2.3 Ein probabilistischer Gleichheitstest

Zwei Personen an den Enden eines Nachrichtenkanals wollen zwei naturlicheZahlen a, b < 210.000 auf Gleichheit hin uberprufen. Um Ubertragungsfehlerzu vermeiden, mochten sie die Zahlen nicht vollstandig ubermitteln. Dasfolgende Verfahren erlaubt einen Vergleich der beiden Zahlen, dabei werdenanstelle der 10.000 Bits einer Zahl nur k · 101 Bits gesendet. Wir werdensehen, daß schon fur k = 1 das Verfahren hochste Sicherheit garantiert.

Probabilistischer Gleichheitstest.

Ausgabe: ,a = b‘ oder ,a 6= b‘

Verfahren: Wahle zufallig Primzahlen p1, . . . , pk zwischen 2100 und 2101.Ubertrage a modulo pi fur alle i = 1, . . . , k. Falls a 6≡ b mod pi fur ein i,gilt ,a 6= b‘. Andernfalls treffe die Entscheidung ,a = b‘. 2

Das Verfahren setzt voraus, daß man sich die benotigten Primzahlen leichtverschaffen kann. Darauf kommen wir spater zuruck.

Wir schatzen nun die Wahrscheinlichkeit ab, daß das Verfahren zu einerFehlentscheidung fuhrt. Nehmen wir dazu zunachst an, daß es 100 verschie-dene Primzahlen q1, . . . , q100 > 2100 gibt, fur die alle a ≡ b mod qi gilt. Nachdem chinesischen Restsatz folgt a ≡ b mod m, mit m = q1 · · · q100. Es giltm > (2100)100 = 210.000, nach Annahme folgt daher a = b. In diesem Fall istein Ubertragungsfehler ausgeschlossen.

26

Page 27: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Eine Fehlentscheidung ist also nur moglich, falls es weniger als 100 Prim-zahlen q > 2100 mit der Eigenschaft a ≡ b mod q gibt, und eine Fehlentschei-dung tritt nur dann ein, wenn das Verfahren zufalligerweise nur derartigePrimzahlen auswahlt. Nach dem beruhmten Primzahlsatz gilt fur die An-zahl π(x) aller Primzahlen q < x die asymptotische Formel π(x) ∼ x/ ln x.Zwischen 2100 und 2101 gibt es daher approximativ

π(2101)− π(2100) ≈ 2101

ln 2101− 2100

ln 2100≈ 2100

100 ln 2≈ 9, 90 · 1027

Primzahlen. Bei k-facher unabhangiger Wahl einer Primzahl ist die Fehler-wahrscheinlichkeit also hochstens(

99

9, 90 · 1027

)k

= 10−26·k.

Schon fur k = 1 ist dies verschwindend klein.

2.4 Exakte Losung ganzzahliger Gleichungs-

systeme

Wir losen nun lineare Gleichungsysteme mit modularer Arithmetik. Sei A =(aij) eine ganzzahlige n × n Matrix mit det A 6= 0, und sei b = (b1, . . . , bn)t

ein ganzzahliger Vektor. Dann ist das lineare Gleichungssystem

Ax = b

mit x = (x1, . . . , xn)t eindeutig in den rationalen Zahlen losbar. Das bekann-teste Losungsverfahren ist das Gaußsche Eliminationsverfahren. Es kann inden Zwischenrechnungen zu so großen Werten fuhren, daß es nicht mehr inexakter Weise gelingt. Bei Verwendung von Gleitkomma-Arithmetik kann essehr ungenaue Ergebnisse liefern.

Es liegt daher nahe, das Gaußsche Verfahren in modularer Arithmetikdurchzufuhren. Der Hauptanteil der arithmetischen Operationen kann so mitkleinen Zahlen vollzogen werden. Unser Ausgangspunkt ist die CramerscheRegel, nach der die Losung durch

xj = (det A)−1∑

i

bi det Aij

gegeben ist; dabei bezeichnet Aij die Matrix, die aus A durch Streichen deri-ten Zeile und der j-ten Spalte entsteht. Es genugt daher, det A und den

27

Page 28: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

ganzzahligen Vektor y = det A ·x zu bestimmen. Man erhalt y als eindeutigeganzzahlige Losung des Gleichungssystems

Ay = det A · b.

Das Verfahren besteht aus mehreren Schritten.

1) Wahle Primzahlen p1, . . . , pk (und zwar an der Grenze der verfugbarenZahlen: Hat der Computer Wortlange 64, so wahle man die pi zwischen263 und 264).

2) Lose des Gleichungssystems modulo pi. Bringe dazu die erweiterte Koef-fizientenmatrix (A, b) modulo pi auf obere Dreiecksform:

(A, b) 7→ (A′i, b

′i) =

a′11 a′12 . . . a′1n b′10 a′22 . . . a′2n b′2...

. . . . . ....

...0 . . . 0 a′nn b′n

Dies laßt sich erreichen, indem man das Gaußsche Eliminationsverfahrenmodulo pi durchfuhrt. Das Verfahren besteht bekanntlich aus der Additi-on von Vielfachen einer Matrixzeile zu einer anderen Zeile und dem Aus-tausch von Zeilen. Diese Operationen lassen sich in Vektorraumen mit be-liebigem Skalarbereich durchfuhren. In unserem Fall ist der Skalarbereichder Korper Zpi

. Die Addition einer Zeile zu einer anderen laßt det A un-verandert, wahrend Zeilenvertauschungen das Vorzeichen von det A wech-seln. Fur den Rest di von a′11a

′22 · · · a′nn modulo pi folgt also

±di ≡ det A mod pi

(+ bei einer geraden, – bei einer ungeraden Anzahl von Zeilenvertauschun-

gen). Eine Losung y(i) = (y(i)1 , . . . , y

(i)n ) des Gleichungssystems modulo pi

erhalt man nun schrittweise aus den Gleichungen

y(i)n ≡ ±dib

′n/a

′nn mod pi

...

y(i)1 ≡ (±dib

′1 −

n∑j=2

a′1jy(i)j )/a′11 mod pi

Fur die Divisionen werden die inversen Elemente von a′nn, . . . , a′11 in Zpi

benotigt. Sie existieren, falls di 6≡ 0 mod pi. Der Ausnahmefall di ≡ 0 modpi tritt nur fur Primteiler pi von det A ein, man verwerfe dann pi.

28

Page 29: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

3) Nur in diesem Schritt sind Rechnungen mit großen Zahlen erforderlich.Setze m = p1 · · · pk. Bestimme nach dem Chinesischen Restsatz ganzeZahlen d und y′1, . . . , y

′n zwischen −m/2 und m/2, so daß fur alle i

d ≡ di mod pi und y′j ≡ y(i)j mod pi.

Dann folgt

±d ≡ det A mod m und y′ ≡ det A · b mod m,

4) Die Zahl ±d und der Vektor y′ sind Kandidaten fur det A und y. Mit demprobabilistischen Gleichheitstest aus Abschnitt 3.3 kann man dies uber-prufen. Man wahlt dazu zufallig eine weitere Primzahl pk+1 und testet,ob Ay′ ≡ ±d · b mod pr+1 gilt. Bestehen ±d und y′ diesen Test, so wirddie Prozedur mit der

Ausgabe: x = ±d−1 · y′

beendet. Andernfalls wird die Prozedur mit der erweiterten Primzahlfol-ge p1, . . . , pk+1 wiederholt. Die Fehlerwahrscheinlichkeit dieses Tests istvernachlassigbar klein, ahnlich wie die des Gleichheitstests im letzten Ab-schnitt.

2.5 Ein allgemeiner Chinesischer Restsatz

Die Grundidee der letzten Abschnitte war es, die ganzen Zahlen so in Klas-sen aufzuteilen, daß man mit diesen Klassen in ahnlicher Weise wie mit denZahlen rechnen kann. Man muß nur darauf achten, daß sich die Klassenbil-dung mit der Addition und Multiplikation ganzer Zahlen vertragt, im Sinnevon Satz 2.2. Diese einfache Idee bewahrt sich auch in anderen Rechenberei-chen. Fur Polynomringe wird sie sich spater als nutzlich erweisen, in diesemAbschnitt betrachten wir Restklassenbildung in beliebigen Ringen.

Sei ≡ eine Aquivalenzrelation in einem Ring R. Die Aquivalenzklasse, inder a liegt, bezeichnen wir wieder mit a. Wir setzen voraus, daß sich dieRelation mit Addition und Multiplikation vertragt, daß also

a1 ≡ a2, b1 ≡ b2 ⇒ a1 + b1 ≡ a2 + b2, a1b1 ≡ a2b2 (2.1)

gilt. Dann konnen wir erneut durch a + b := a + b, a · b := ab in wohldefi-nierter Weise Addition und Multiplikation von Aquivalenzklassen einfuhren.Die Aquivalenzklassen bilden einen Ring R. Es ist offensichtlich, daß sichAssoziativ-, Distributiv- und Kommutativgesetze von R auf R ubertragen,

29

Page 30: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

wir haben dies bereits fur den Restklassenring Zm festgestellt. Das Null-element in R ist die Restklasse 0, denn a + 0 = a, und aus a ≡ b folgt−a ≡ (−a) + b + (−b) ≡ (−a) + a + (−b) ≡ −b, so daß −a := −a wohldefi-niert ist. Besitzt R ein Einselement 1, so ist 1 Einselement in R.

Wir wollen nun die Aquivalenzrelationen charakterisieren, die (2.1) erful-len. Es gilt a ≡ b genau dann, wenn a−b ≡ 0, daher ist die Aquivalenzrelationbereits durch die Teilmenge I := 0 von R eindeutig gekennzeichnet. AlsNullelement von R hat I folgende Eigenschaften:

a, b ∈ I ⇒ a + b ∈ I, denn a ≡ 0, b ≡ 0 ⇒ a + b ≡ 0 + 0 = 0,a ∈ I ⇒ −a ∈ I, denn a ≡ 0 ⇒ −a ≡ −0 = 0,a ∈ I, b ∈ R ⇒ ab, ba ∈ I, denn a ≡ 0 ⇒ ab ≡ 0b = 0.

Definition 2.5. Eine nichtleere Teilmenge I eines Ringes R heißt Ideal,falls gilt:

a, b ∈ I ⇒ a + b ∈ I,

a ∈ I ⇒ −a ∈ I

a ∈ I, b ∈ R ⇒ ab, ba ∈ I.

Ist umgekehrt I ein Ideal, so wird, wie man leicht nachpruft, in R durcha ≡ b :⇔ a− b ∈ I eine Aquivalenzrelation erklart. Wir schreiben dann

a ≡ b mod I

und nennen a und b kongruent modulo I. Die Relation ist mit Additionund Multiplikation vertraglich, denn aus a1−b1, a2−b2 ∈ I folgt a1+a2−(b1+b2) ∈ I und a1a2−b1b2 = a1(a2−b2)+(a1−b1)b2 ∈ I. Insgesamt erkennen wir,daß eine eineindeutige Beziehung besteht zwischen Idealen und denjenigenAquivalenzrelationen, die (2.1) erfullen. Die Aquivalenzklassen nennt manRestklassen. Sie sind gegeben durch a = a+I, a ∈ R, wir schreiben sie auchals a mod I. Der Ring der Restklassen wird als Faktorring R/I bezeichnet.Speziell erhalten wir bei der Wahl R = Z und I = mZ den RestklassenringZm.

Die Abbildung a 7→ a von R nach R/I ist, wie wir gesehen haben, mitAddition und Multiplikation vertraglich. Man spricht von einem Homomor-phismus.

Definition 2.6. Seien R,R′ Ringe. Eine Abbildung φ : R → R′ heißt Ring-Homomorphismus, falls φ(a+ b) = φ(a)+φ(b) und φ(ab) = φ(a) ·φ(b) furalle a, b ∈ R gilt. Ist φ bijektiv, so spricht man von einem Isomorphismusund schreibt R ∼= R′.

30

Page 31: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Ein Homomorphismus φ von R nach R′ induziert seinerseits in R eine Aquiva-lenzrelation: a ≡ b :⇔ φ(a) = φ(b). Hier entsprechen Restklassen Elementenaus R′, das zugehorige Ideal ist ker(φ) := {a ∈ R : φ(a) = 0}, der Kern derAbbildung. Wir erhalten so den Homomorphiesatz fur Ringe.

Satz 2.7. Sei φ : R → R′ ein Homomorphismus, dann ist ker(φ) ein Idealund R/ker(φ) ∼= bild(φ) := {φ(a) : a ∈ R}.

Wir beweisen nun eine allgemeine Version des Chinesischen Restsatzes. Dazuvereinbaren wir die folgende Sprechweise: Zwei Ideale I1, I2 heißen teiler-fremd, falls

R = I1 + I2

gilt, mit I1 + I2 := {r + s : r ∈ I1, s ∈ I2}.

Satz 2.8. Sei R ein Ring mit Einselement 1 und seien I1, . . . , Ik ⊂ R paar-weise teilerfremde Ideale. Dann gibt es zu a1, . . . , ak ∈ R ein a ∈ R, so daßdas Kongruenzensystem

x ≡ a1 mod I1, . . . , x ≡ ak mod Ik

aquivalent ist zu der Kongruenz

x ≡ a mod I.

Dabei bezeichnet I das Ideal I1 ∩ . . . ∩ Ik.

Beweis. Wir gehen wie im ganzzahligen Fall vor. Da nach VoraussetzungIi + Ij = R fur i 6= j, gibt es bij ∈ Ii, cij ∈ Ij, so daß bij + cij = 1. Setze

ei :=∏j 6=i

cij =∏j 6=i

(1− bij).

Dann gilt ei ≡ 0 mod Ij fur i 6= j und ei ≡ 1 mod Ii. Folglich lost a =∑i aiei das Gleichungssystem. Ist a′ eine weitere Losung des Systems, so gilt

a′ − a ∈ Ii fur alle i, d.h. a′ − a ∈ I bzw. a′ ≡ a mod I. 2

Der Satz laßt sich zu einer Isomorphieaussage von Ringen umformulieren.Wir benotigen dazu den Begriff des direkten Produktes von Ringen. SeienR1, . . . , Rk Ringe und R = R1×· · ·×Rk ihr kartesisches Produkt. Durch dieVereinbarung

(a1, . . . , ak) + (b1, . . . , bk) := (a1 + b1, . . . , ak + bk),

(a1, . . . , ak) · (b1, . . . , bk) := (a1b1, . . . , akbk)

31

Page 32: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

wird R zum Ring. R heißt das direkte Produkt von R1, . . . , Rk.Wir betrachten nun die Abbildung

a mod I 7→ (a mod I1, . . . , a mod Ik)

von R/I nach R/I1× · · ·×R/Ik. Sie ist wohldefiniert, denn a mod I = b modI bzw. b − a ∈ I impliziert b − a ∈ Ii bzw. a mod Ii = b mod Ii fur allei. Umgekehrt folgt a mod I = b mod I aus a mod Ii = b mod Ii fur alle i,die Abbildung ist also injektiv. Nach dem letzten Satz gibt es zu a1, . . . , ak

ein a, so daß (a1 mod I1, . . . , ak mod Ik) = (a mod I1, . . . , a mod Ik). Daherist die Abbildung surjektiv. Schließlich ist sie offenbar mit Addition undMultiplikation vertraglich. Wir konnen daher den Chinesischen Restsatz auchals Aussage uber die Isomorphie von Ringen ansehen,

R/k⋂

i=1

Ii∼= R/I1 × · · · ×R/Ik.

Zum Abschluß gehen wir auf den Begriff Hauptideal ein.

Definition 2.9. Sei R ein Integritatsbereich. Ein Ideal I heißt Hauptideal,wenn es ein m ∈ R gibt, so daß I = mR := {mr : r ∈ R}. Dieses von merzeugte Ideal wird mit (m) bezeichnet. Ist jedes Ideal in R ein Hauptideal,so heißt R Hauptidealring.

Fur ein Hauptideal I = mR gilt a ≡ b mod I genau dann, wenn m | b− a,dies entspricht vollig der Situation in Z.

Proposition 2.10. Jeder Euklidische Ring R ist ein Hauptidealring.

Beweis. Das Nullideal {0} = 0 ·R ist ein Hauptideal. Sei also I ⊂ R ein Idealungleich {0}. Wahle m ∈ I − {0} derart, daß g(m) auf I − {0} minimal ist.Fur jedes b ∈ I gibt es dann s, r ∈ R, so daß b = sm + r, mit r = 0 oderg(r) < g(m). Es folgt r ∈ I, nach Wahl von m kann also nur r = 0 gelten.Daher gilt b = sm und I = mR. 2

Von einem algebraischen Standpunkt unterscheiden sich Hauptidealringe nichtwesentlich von Euklidischen Ringen. So existieren in einem HauptidealringR zu Elementen a und b immer ein großter gemeinsamer Teiler. Zum Beweisbilden wir das Ideal

I := {as + bt : s, t ∈ R}.

Nach Annahme ist es von der Gestalt I = dR fur ein d ∈ R. Wegen a, b ∈ Iist d Teiler von a und b. Andererseits gibt es s, t ∈ R, so daß d = as + bt.Jeder Teiler von a und b teilt daher auch d. d ist also ein großter gemeinsamer

32

Page 33: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Teiler von a und b. Dieser Beweis bestatigt auch die Gultigkeit des Satzesvon Bezout in Hauptidealringen. Ist d′ ein weiterer ggT von a und b, sogibt es e, e′ ∈ R, so daß d = e′d′ und d′ = ed. Es folgt d = e′ed unddurch Kurzen 1 = e′e. Daher sind e und e′ Einheiten. Ein ggT ist alsobis auf Einheiten eindeutig festgelegt. Schließlich stellen wir noch fest, daßR = aR + bR genau dann gilt, wenn 1 = ggT(a, b), wenn also a und bteilerfremd sind. Teilerfremdheit von Idealen, wie oben eingefuhrt, hat inHauptidealringen daher die ubliche Bedeutung.

Von einem algorithmischen Standpunkt sind dagegen Euklidische Ringeund Hauptidealringe wesentlich verschieden. Der Euklidische Algorithmussteht in Hauptidealringen nicht zur Verfugung.

2.6 Prime Restklassen

Wie wir fruher festgestellt haben, ist eine Restklassen a in Zm entwederEinheit oder Nullteiler. Wir untersuchen nun die Gruppe der Einheiten.

Definition 2.11. Sei a ∈ Z. Die Restklasse a ∈ Zm − {0} heißt primeRestklasse modulo m, falls 1 = ggT(a, m). Die Menge der primen Rest-klassen modulo m wird mit Z∗

m bezeichnet, ihre Anzahl mit φ(m). φ heißtEulersche φ-Funktion.

Es gilt Z∗m = Zm − {0} und φ(m) = m − 1 genau dann, wenn m prim ist.

Wir zeigen nun, daß Z∗m bzgl. der Restklassenmultiplikation eine Gruppe ist.

Satz 2.12.

i) a, b ∈ Z∗m ⇒ a · b ∈ Z∗

m.

ii) Jedes a ∈ Z∗m besitzt ein inverses Element a−1 ∈ Z∗

m.

iii) Die Gleichung a · x = b ist in Z∗m eindeutig losbar.

Beweis. Zu i): Aus 1 = ggT(a, m) = ggT(b, m) folgt 1 = ggT(ab, m). Zu ii):Wegen 1 = ggT(a, m) gibt es nach dem Satz von Bezout ganze Zahlen r, s,so daß ar+ms = 1. Es folgt 1 = ggT(r, m) und ar ≡ 1 mod m, also r = a−1.Zu iii): x = a−1 · b. 2

Von fundamentaler Bedeutung ist das Theorem von Euler. Wir schreibenwie ublich

an = a · · · a︸ ︷︷ ︸n-mal

.

33

Page 34: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Satz 2.13. Fur alle a ∈ Z∗m gilt

aφ(m) = 1.

Anders ausgedruckt: a−1 = aφ(m)−1.

Beweis. Seien a1, . . . , aφ(m) alle Restklassen in Z∗m. Dann durchlaufen auch

a · a1, . . . , a · aφ(m) alle Restklassen in Z∗m, denn aus a · ai = a · aj folgt durch

Multiplikation mit a−1 die Gleichung ai = aj und damit i = j. Daher gilt

a1 · · · aφ(m) = aφ(m) · a1 · · · aφ(m)

und, indem wir mit a−1i , i = 1, . . . , φ(m), multiplizieren,

aφ(m) = 1.2

Im Fall eines primen Moduls geht diese Aussage auf Fermat zuruck.

Korollar 2.14. (Theorem von Fermat) Sei p eine Primzahl. Dann giltfur jede ganze Zahl a

ap ≡ a mod p.

Beweis. Fur a ≡ 0 mod p ist die Aussage offensichtlich, und fur a 6≡ 0 giltwegen φ(p) = p− 1

ap−1 ≡ 1 mod p.2

Die Eulersche φ-Funktion laßt sich leicht berechnen, vorausgesetzt wir kennendie Primfaktorzerlegung von m.

Proposition 2.15. Seien p1, . . . , pk die unterschiedlichen Primteiler von m.Dann gilt

φ(m) = m

k∏i=1

(1− 1

pi

).

Beweis. Ist m = pr mit primem p, so sind genau die Zahlen 0, p, 2p, . . . ,(pr−1 − 1)p Vertreter von Restklassen, die nicht zu Z∗

m gehoren. Also:

φ(pr) = pr − pr−1 = pr

(1− 1

p

).

34

Page 35: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Sei nun m = m1 · · ·mk mit paarweise teilerfremden Zahlen m1, . . . ,mk. Danngilt 1 = ggT(a, m) genau dann, wenn 1 = ggT(a, mi) fur alle i. Nach demChinesischen Restsatz ist daher

a mod m 7→ (a mod m1, . . . , a mod mk)

eine Bijektion von Z∗m nach Z∗

m1× · · · × Z∗

mk. Es folgt

φ(m) = φ(m1) · · ·φ(mk).2

2.7 Ein probabilistischer Primzahltest

Fur den probabilistischen Gleichheitstest in Abschnitt 2.3 wie fur Anwen-dungen der modularen Arithmetik in den folgenden Abschnitten benotigtman ein effektives Verfahren zur Gewinnung großer Primzahlen. Nach demPrimzahlsatz ist in dem Intervall [n, 2n] im Mittel jede (ln n)-te Zahl einePrimzahl. Durch zufallige Wahl von Zahlen aus dem Intervall wird man alsoausreichend oft auf Primzahlen treffen. Um sie zu erkennen, benotigt maneinen effektiven Primzahl-Test. Das folgende probabilistische Verfahren te-stet, ob die Zahl m die Fermatsche Identitat am−1 ≡ 1 mod m erfullt. Nachdem Fermatschen Theorem genugen Primzahlen dieser Identitat, sie sindaber nicht die einzigen Zahlen.

Definition 2.16. Die ganze Zahl m heißt Carmichael-Zahl, falls m nichtprim ist, und falls fur alle a ∈ Z∗

m gilt

am−1 ≡ 1 mod m.

Die kleinste Carmichael-Zahl ist 561 = 3 ·11 ·17. Computerberechnungen ha-ben gezeigt, daß sie sehr viel seltener sind als Primzahlen. Lehmer und Pou-let haben festgestellt, daß es unter den ersten 100.000.000 Zahlen 5.761.455Primzahlen gibt, aber nur 252 Carmichael-Zahlen. – Zahlen die weder primnoch Carmichael-Zahlen sind, lassen sich mit ausreichender Sicherheit erken-nen.

Proposition 2.17. Ist m weder prim noch Carmichael-Zahl, so gilt

card {a ∈ Z∗m : am−1 ≡ 1 mod m} ≤ φ(m)/2.

Beweis. Seien a1, . . . , ak alle Elemente aus Z∗m mit am−1

i ≡ 1 mod m. NachVoraussetzung gibt es ein b ∈ Z∗

m mit bm−1 6≡ 1 mod m. Dann gilt fur bi = bai

bm−1i = am−1

i bm−1 6≡ 1 mod m,

es gibt daher mindestens ebenso viele Elemente in Z∗m, die die Fermatsche

Identitat nicht erfullen. Also gilt k ≤ φ(m)/2. 2

35

Page 36: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Ein probabilistischer Primzahltest.

Eingabe: Eine naturliche Zahl m.

Ausgabe: ,m ist prim‘ oder ,m ist nicht prim‘.

Verfahren: Wahle rein zufallig Zahlen a1, . . . , ak < m, die teilerfremd zu msind. Gilt am−1

i ≡ 1 mod m fur alle i = 1, . . . , k, so entscheide ,m ist prim‘.Andernfalls gilt ,m ist nicht prim‘. 2

Dieser Test erkennt sicher Primzahlen. Ein Zahl, die weder prim noch Car-michal-Zahl ist wird mit ausreichender Sicherheit erkannt, die Fehlerwahr-scheinlichkeit ist kleiner als 2−k. Nur Carmichael-Zahlen bleiben unerkannt.Praktisch ist dies fur das Verfahren bedeutungslos, weil Carmichael-Zahlenso uberaus selten auftreten. – Ein raffinierteres Verfahren von Rabin besei-tigt diese letzte Unsicherheit (vgl. die Monographie von Knuth Vol. II, 3.Ausgabe, S. 395).

2.8 Offentliche Chiffriersysteme

Die Kryptographie ist die Lehre von den Chiffriersystemen. Stellen wir unsvor, daß eine Person A eine geheime Nachricht an die Person B ubermittelnmochte. A kodiert sie deswegen mittels einer bijektiven Kodierabbildung

κ : N → K.

Anstelle der Nachricht a ∈ N im Klartext sendet A die chiffrierte Nachrichtκ(a). Der Empfanger dekodiert mittels der inversen Abbildung

κ−1 : K → N .

Ein bekanntes Verfahren beruht auf der Addition modulo 2. Wir nehmenan, daß die Nachrichten als 01-Folgen der Lange n vorliegen, wahlen alsoN = K = {0, 1}n. Wir fassen die Folgen als Vektoren der Lane n uber demKorper Z2 auf. Zum Kodieren wird ein 01-String k = k1k2 . . . kn verwendet.Wir setzen

κ(a) := a + k,

die beiden 01-Folgen a und k werden also komponentenweise modulo 2 ad-diert. Es gilt κ−1 = κ, denn k + k ist die nur aus Nullen bestehende Folge.Nachrichten werden daher nach demselben Verfahren dekodiert. Dieses klas-sische Verfahren hat den Namen ,One-time-pad‘. Es gilt a+κ(a) = k, gelingtes daher, eine kodierte Nachricht k(a) zu entschlusseln, so kennt man k und

36

Page 37: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

damit bereits die vollstandige Kodier- und Dekodiervorschrift. Dies bedeutet,daß das Verfahren sicher ist, man hat keine Chance, eine Nachricht zu de-chiffrieren, wenn man auf k keinen Zugriff hat. Ist k rein zufallig aus {0, 1}n

gewahlt, so gilt dies auch fur κ(a).

Das RSA-Schema

Fur die klassischen Chiffrierverfahren besteht ein Sicherheitsproblem darin,daß man nicht nur die Dekodiervorschrift κ−1 geheimhalten muß, sondernauch das Kodierverfahren κ. Wie das Beispiel des One-time-pad zeigt, las-sen sich die Nachrichten mit Hilfe der Chiffrier- wie der Dechiffriervorschriftleicht entschlusseln. Diffie und Hellman haben daher 1976 einen (damals be-herzten) Vorschlag gemacht: Man solle Kodierabbildungen κ benutzen, furdie b = κ(a) aus a leicht berechnet werden kann, umgekehrt aber die Berech-nung von a = κ−1(b) aus b typischerweise mit einem immensen Rechenauf-wand verbunden ist, der praktisch nicht bewaltigt werden kann (selbst wenneinem die Abbildung κ bekannt ist!). In dieser asymmetrischen Situation darfman das Chiffrierverfahren offentlich bekannt machen, ohne die Sicherheit zugefahrden. Dies ist die Grundidee der modernen, computergestutzten offent-lichen Kodiersysteme. Theoretisch ist es schwer zu begrunden, daß sol-che Abbildungen κ, man spricht von Einweg- (one-way) Abbildungen,wirklich existieren. Fur praktische Zwecke haben sich jedoch verschiedeneAbbildungen als brauchbar erwiesen. Wir werden Abbildungen betrachten,bei denen das Dekodieren erst dann praktisch durchfuhrbar ist, wenn manuber einen zusatzlichen ,Schlussel‘ verfugt. Dann spricht man von Falltur-(trapdoor) Abbildungen.

Zum Beispiel kann man schnell modulo m potenzieren:

a20 = a16+4 = (((a2)2)2)2 · (a2)2.

Allgemein berechnet man ac modulo m, indem man den Exponenten alsbinare Zahl darstellt, c = d0 + d1 · 2 + · · · + dk · 2k mit di ∈ {0, 1}, ink Schritten rekursiv die Potenzen a2i

= (a2i−1)2 modulo m berechnet und

schließlich diejenigen Potenzen modulo m multipliziert, fur die di = 1 gilt.Die Anzahl der Operationen ist von der Ordnung O(k) = O(log c). – Eineallgemeine Methode, mit der man schnell (schneller als Durchprobieren) dieGleichung b ≡ ax mod m nach x auflost (,diskreter Logarithmus‘), kennt mandagegen nicht.

Wir beschreiben nun das bekannteste offentliche Chiffriersystem, das vonRivest, Shamir und Adleman 1978 vorgeschlagene RSA-System. Es bautdarauf auf, daß es schwer ist, eine Zahl m in ihre Primfaktoren zu zerlegen.

37

Page 38: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

• Als Nachrichtenmenge N = K wird Zm gewahlt. Dabei sei m = pq dasProdukt zweier sehr großer Primzahlen p und q. Wir gehen also davonaus, daß die Nachricht als naturliche Zahl a < m dargestellt ist.

• Zum Kodieren wird eine naturliche Zahl s < φ(m) gewahlt, die teiler-fremd zu φ(m) ist. Die Kodierung der Nachricht a ∈ N ist dasjenigeκ(a) ∈ N , so daß

κ(a) ≡ as mod m.

• Zum Dekodieren benotigt man einen Schlussel, eine naturliche Zahlt < φ(m) mit der Eigenschaft

s · t ≡ 1 mod φ(m).

bzw. st = 1 + kφ(m) = 1 + k(p− 1)(q − 1) fur eine naturliche Zahl k.Eine solche Zahl t existiert, denn nach Wahl von s gilt s ∈ Z∗

φ(m). Gilt

nun a 6≡ 0 mod p, so folgt nach dem Satz von Euler ap−1 ≡ 1 mod p,also

(as)t ≡ a · (ap−1)k(q−1) ≡ a mod p.

Offenbar gilt die Behauptung auch fur a ≡ 0 mod p. Genauso folgt(as)t ≡ a mod q fur alle a. Nach dem chinesischen Restsatz folgt

(as)t ≡ a mod m

fur alle a, und es folgt

κ−1(b) ≡ bt mod m. 2

Man darf dieses Verfahren so einrichten, daß die Nachrichtenmenge N , dieZahl s und auch die kodierte Nachricht κ(a) offentlich zuganglich sind. Nurder Schlussel t muß geheim bleiben. Bei Kenntnis von φ(m) laßt sich tnaturlich muhelos mit Euklids Algorithmus aus s errechnen. Daher muß dafurgesorgt sein, daß φ(m) praktisch nicht berechenbar ist. Diese Aufgabe istaber im wesentlichen so aufwendig wie das Zerlegen von m in seine beidenPrimfaktoren. Einerseits gilt namlich

φ(m) = (p− 1)(q − 1),

andererseits kann man m bei Kenntnis von φ(m) sofort faktorisieren: p undq erhalt man aus den Gleichungen

p + q = m− φ(m) + 1,

p− q = ±√

(p + q)2 − 4pq

= ±√

(m− φ(m) + 1)2 − 4m.

38

Page 39: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Das RSA-System steht und fallt damit, daß die Primfaktoren p und qgeheim bleiben. Die Erfahrung zeigt, daß die Faktorisierung von m einenhohen Rechenaufwand erfordert und praktisch nicht mehr gelingt, wenn pund q ausreichend groß sind. Dies ist ein Grundpostulat der Kryptographie:Man geht davon aus, daß es keinen schnellen Algorithmus zum Zerlegen einerZahl in seine Primfaktoren gibt. Man nennt deshalb in der Kryptographie einChiffriersystem ,beweisbar sicher‘, wenn es letztlich auf die Faktorisierunggroßer Zahlen zuruckgefuhrt werden kann.

Signatur von Nachrichten

Das RSA-Schema eignet sich gut zum geheimen Austausch von Nachrichteninnerhalb einer Gruppe von Teilnehmern. Jeder Teilnehmer A erhalt von einerZentrale einen offentlichen Schlussel (m(A), s(A)) und seinen personlichen ge-heimen Schlussel t(A). A teilt B eine geheime Nachricht a als b := κB(a) ≡as(B) mod m(B) mit, B dekodiert mittels κ−1

B (b) ≡ bt(B) mod m(B). Ein vor-heriger Kontakt zwischen A und B ist nicht erforderlich, A braucht lediglichden offentlich zuganglichen Schlussel s(B) von B. Ein wichtiger Vorteil desSystems ist, daß es den Teilnehmern erlaubt, Mitteilungen falschungssicherzu signieren (,Unterschriftensystem‘). A beglaubigt eine offentliche Nachrichta durch die offentliche Mitteilung von c = κ−1

A (a) ≡ at(A) mod m(A). Alle an-deren Teilnehmer konnen verifizieren, daß a ≡ cs(A) mod m(A) gilt.

Randomisiertes RSA

Um ein einzelnes bit a = 0 oder 1 geheim zu ubertragen, muß man dasRSA-Schema modifizieren. Dann gilt as = a, und die Nachricht bleibt unver-schlusselt. Stattdessen kann man so vorgehen: Man wahle rein zufallig einegerade Zahl 2u aus {0, 1, . . . , (m− 1)} und ubertragt anstelle von a mit demRSA-Schema die Zahl 2u + a, die verschlusselte Nachricht ist also (2u + a)s.Der Empfanger kann mit seinem geheimen Schlussel die Nachricht als 2u+ adekodieren und a als das letzte bit dieser Nachricht zuruckgewinnen. Alexi,Chor, Goldreich und Schnorr haben gezeigt, daß dieses Verfahren genausosicher wie das RSA-Schema ist.

2.9 Zero-Knowledge Beweise

Eine Person mochte beweisen (und sich dadurch ausweisen), daß sie ein Ge-heimnis (eine Geheimzahl) kennt, ohne von ihrem Wissen irgend etwas preis-zugeben. Wie ist das moglich?

39

Page 40: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Um die Idee des Verfahrens zu erlautern, betrachten wir das folgendeSzenario: Die Person A mochte einer zweiten Person B demonstrieren, daßsie den Schlussel zu einer Geheimtur G besitzt, die zwei Raume verbindet.Den Schlussel mochte A nicht vorzeigen, ja nicht einmal einen Blick in dieRaume gestatten. Deswegen einigen sich A und B auf folgendes Vorgehen: Ageht durch den Vorraum V und dann rein zufallig entweder durch die Tur Rin den rechten Raum, oder die Tur L in den linken Raum.

V

L R

G

Nun betritt B den Vorraum. Sie weiß nicht, in welchem der beiden Raumesich A befindet. Sie wahlt zufallig eine der Turen R oder L aus und fordertA auf, durch diese Tur wieder herauszukommen. Dies ist A immer moglich,wenn sie die Geheimtur offnen kann. Andernfalls besteht sie den Test nur mitWahrscheinlichkeit 1/2, und bei r-facher unabhangiger Wiederholung sogarnur mit Wahrscheinlichkeit 2−r. Auch fur kleines r bietet dieses Verfahrenschon hohe Sicherheit.

Der Fiat-Shamir-Algorithmus

Nach einem verwandten Muster funktioniert der Algorithmus, den Fiat undShamir 1988 vorgeschlagen haben, und bei dem der Schlussel eine geheimeZahl ist. Der Algorithmus beruht darauf, daß es sehr aufwendig ist, die Wur-zel eines quadratischen Restes modulo einem Primzahlprodukt m = pq zuberechnen. Zuerst erlautern wir diesen Sachverhalt. a heißt quadratischerRest modulo m , falls die Kongruenz

x2 ≡ a mod m (2.2)

eine Losung b besitzt, wenn also die Restklassengleichung b2

= a gilt. bnennen wir dann Wurzel von a.

Beispiel. Z∗15 = {1, 2, 4, 7, 8, 11, 13, 14} enthalt die quadradischen Reste 1

und 4:1

2= 4

2= 11

2= 14

2= 1,

22

= 72

= 82

= 132

= 4.

40

Page 41: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Die quadratischen Reste sind 1 und 4, sie besitzen beide vier verschiedeneWurzeln. 2

Wir zeigen nun, daß allgemein quadratische Reste vier verschiedene Wur-zeln haben fur Moduln m = pq mit zwei Primzahlen p, q > 2. Die Gleichung

x2 = a = b2

in Z∗m ist dann aquivalent zu der Aussage pq | (x − b)(x + b).

Daher teilt p entweder x − b oder x + b, und ebenso q entweder x − b oderx + b. Es sind vier Falle moglich:

x ≡ b mod p, x ≡ b mod q, oderx ≡ −b mod p, x ≡ −b mod q, oderx ≡ b mod p, x ≡ −b mod q, oderx ≡ −b mod p, x ≡ b mod q.

Nach dem Chinesischen Restsatz sind alle Falle eindeutig losbar, und dieLosungen sind voneinander verschieden. Die beiden ersten Kongruenzen ha-ben offenbar die Losungen b und −b, die beiden anderen Kongruenzen fuhrenzu weiteren Losungen c und −c. b und c unterscheiden sich nicht nur durchdas Vorzeichen, sie heißen wesentlich verschiedene Losungen.

Wir begrunden nun, daß es genauso rechenintensiv ist, (2.2) im Fallm = pq zu losen (selbst wenn bekannt ist, daß a quadratischer Rest ist), wiem in seine Primfaktoren zu zerlegen. Nehmen wir an, daß wir uber einen Al-gorithmus verfugen, der zu jedem quadratischen Rest modulo m eine Wurzelberechnet. Wir konnen dann auch leicht zwei wesentlich verschiedene Wur-zeln eines quadratischen Restes finden. Dazu wahle man rein zufallig ein b aus

Z∗m und bilde daraus den quadratischen Rest a = b

2. Mit dem Algorithmus

erhalten wir eine Wurzel c von a, die mit Wahrscheinlichkeit 1/2 wesentlichverschieden von b ist (im gegenteiligen Fall wahle zufallig ein neues b). In Z∗

m

gilt dann (b + c)(b− c) = 0, d.h. pq | (b + c)(b− c). Sind b und c wesentlichverschieden, so konnen p und q nicht gleichzeitig b + c teilen, und auch nichtgleichzeitig b− c teilen. Es gilt also ggT(m, b+ c) = p oder ggT(m, b+ c) = q.Daher laßt sich p oder q mit dem Euklidischen Algorithmus berechnen undm problemlos faktorisieren.

Das Fazit ist: Das Ziehen von Quadratwurzeln in Z∗m ist genauso rechenin-

tensiv wie das Faktorisieren von m. Ist es ausgeschlossen, m in Primfaktorenzu zerlegen, so kann man auch keine Quadratwurzeln modulo m berechnen.

Dies macht sich der Fiat-Shamir Algorithmus zu Nutzen. Verschiedene Per-sonen konnen sich beteiligen. Wir stellen uns vor, daß eine Zentrale gehei-me Schlussel verteilt. Sie wahlt zwei Primzahlen p und q und veroffentlichtm = pq. Die Faktoren p und q bleiben geheim und mussen deswegen so

41

Page 42: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

groß sein, daß sich m praktisch nicht in seine Primteiler zerlegen laßt. DieZentrale weist jedem Teilnehmer eine geheime Zahl b zu, die zu einer pri-

men Restklasse modulo m gehort. Gleichzeitig wird die Restklasse a = b2

veroffentlicht.Die Person A mochte nun sein Gegenuber B davon uberzeugen, daß sie

die Geheimzahl b kennt. Dazu fuhren A und B den folgenden ,Dialog‘:

• A wahlt rein zufallig r ∈ Z∗m und bildet s = r 2. A ubermittelt s an B.

• B wahlt rein zufallig die Zahl t = 0 oder 1. Falls t = 0, fragt er A nacheiner Wurzel w von s, andernfalls fragt er nach einer Wurzel w von a ·s.

• Ist t = 0, so gibt A an B die Antwort w = r, ist dagegen t = 1, so gibtA als Antwort w = b · r.

• B uberpruft die Antwort: r 2 = s im Falle t = 0, und (b · r) 2 = a · s imFalle t = 1.

Kennt A die Geheimzahl, so hat sie mit ihrem Teil des Dialogs kein Pro-blem. Kennt A die Geheimzahl dagegen nicht, so wird sie hochstens eine derFragen von B beantworten konnen. Sonst hatte A namlich (wie immer siesich auch s verschafft haben mag) sowohl eine Wurzel x von s als auch eineWurzel y von a · s zur Verfugung, die sich zu einer Wurzel x −1y von a zu-sammensetzen ließen. Das Ziehen von Wurzeln quadratischer Reste modulom ist aber, wie wir gesehen haben, genau so schwer wie das Faktorisierenvon m. Ein Schwindler A wird daher r Dialogrunden mit dem Verifizierer Bhochstens mit Wahrscheinlichkeit 2−r bestehen.

Schießlich wird in dem Dialog keine Information uber b preisgegeben. Wiekann man dies einsehen? Protokolliert B den Dialog, so kann das Protokollnur die Zahlen s, t, w enthalten. Sie haben die folgenden Eigenschaften:

• s ist Quadrat eines rein zufalligen Elements aus Z∗m, ein rein zufalliger

quadratischer Rest modulo m.

• t ist rein zufallig aus {0, 1} gewahlt.

• w 2 = s oder a · s, je nachdem, ob t = 0 oder 1 ist.

Solch ein Protokoll kann nun B aber auch ohne die Hilfe von A simulieren,namlich so:

• B wahlt rein zufallig t ∈ {0, 1} und ein w ∈ Z∗m. B bildet daraus s = w 2

bzw. s = w 2 · a−1, je nachdem, ob t = 0 oder 1 ist.

• B erstellt das Protokoll (s, t, w).

42

Page 43: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Dieses Protokoll ist ohne Kenntnis von b erstellt und hat dieselben Eigen-schaften wie das Protokoll aus dem Dialog zwischen A und B. Deswegen kannauch der Dialog keine Informationen uber b tragen. Man sagt, der Dialog be-sitzt die Zero-Knowledge Eigenschaft.

Auf den ersten Blick konnte man meinen, dass auch ein verkurzter Dia-log, in dem nur nach der Wurzel von a · s gefragt wird und demzufolge keinzufalliges bit t generiert wird, brauchbar ist. Er ist jedoch ungeeignet: Wohlhat er dann die Zero-Knowledge Eigenschaft, jedoch kann einen solchen Dia-log auch ein Schwindler A bestehen, der b gar nicht kennt. A konnte dannetwa so vorgehen:

• A wahlt rein zufallig w und berechnet s = w2a−1. A ubermittelt s anB.

• A teilt w mit. B uberpruft: w2 = a · s.

B kann diesen Dialog nicht von dem vorigen im Fall t = 1 unterscheiden.

Zero-Knowledge Beweis fur ein NP-vollstandiges Problem

Wir betrachten nun ein Entscheidungsproblem, von dem man gute Grundehat anzunehmen, daß es zu den Problemen zahlt, die den hochsten Rechen-aufwand erfordern. Es handelt sich darum zu entscheiden, ob ein gegebenerendlicher Graphen G 3-farbbar ist, d.h. ob man seine Ecken so mit drei ver-schiedenen Farben anmalen kann, daß benachbarte Ecken immer verschiedengefarbt sind.

Ein Graph G = (E, K) besteht bekanntlich aus einer Menge E, denEcken, und einer Menge K ⊂ {{a, b} : a, b ∈ E}, den Kanten, die jeweilszwei Ecken verbinden. Ecken a 6= b heißen benachbart, falls sie durch eineKante verbunden sind, falls also {a, b} ∈ K gilt. Fur E = {1, 2, 3, 4, 5} undK = {{1, 2}, {1, 3}, {2, 4}, {2, 5}, {3, 4}, {4, 5}, {5, 5}} ergibt sich das folgen-de Bild

rr

rr

mr�

����

HHHHH

���������

1 2

3 4

5

Ob ein Graph 2-farbbar ist, laßt sich schnell feststellen, man probiert es,ausgehend von einer Ecke, einfach aus. Nur ganz am Anfang steht einem dieWahl der Farbe offen. Bei 3 Farben ist dies anders, man muß beim Farbender Ecken immer wieder zwischen Alternativen entscheiden, und fuhrt ein

43

Page 44: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Versuch nicht zum Erfolg, so bedeutet dies noch nicht, daß der Graph nicht3-farbbar ist. Es stellt sich heraus, daß die 3-Farbbarkeit von Graphen einNP-vollstandiges Entscheidungsproblem ist, also zur Klasse der Entschei-dungsprobleme gehort, die nach heutigem Kenntnisstand den großten Re-chenaufwand erfordern.

Wir beschreiben nun, wie eine Person A eine andere Person B mit belie-big hoher Sicherheit davon uberzeugen kann, daß sie eine 3-Farbung einesGraphen G kennt, ohne von ihrem Wissen irgend etwas zu verraten. DieserDialog erfordert von A eine sorgfaltige Vorbereitung.

• Fur jede Ecke e ∈ E des Graphen erzeugt A eine RSA-Kodierungme = peqe, se, te. Sie gibt ihrem Gegenuber me und se fur alle e bekannt.

• Weiter generiert A eine zufallige Permutation der drei Farben und da-mit eine neue zufallige 3-Farbung des Graphen. Die permutierte Farbejeder Ecke e laßt sich durch 2 bits beb

′e beschreiben. A kodiert die-

se bits mit dem randomisierten RSA-Schema und gibt sie kodiert alsye ≡ (2u + be)

se bzw. y′e ≡ (2u′ + b′e)se modulo me bekannt.

• Nun wahlt B zufallig zwei benachbarte Ecken e(1), e(2), zu denen A ihmdie Schlussel te(1) und te(2) uberlaßt. B kann dann die Farben be(1)b

′e(1)

und be(2)b′e(2) dekodieren und feststellen, ob sie, wie von A behauptet,

verschieden sind.

Hat A eine 3-Farbung des Graphen, so kann sie die Frage von B immer beant-worten. Dagegen wird ein Schwindler, der keine 3-Farbung kennt, mit einerWahrscheinlichkeit von mindestens k−1 uberfuhrt, wobei k die Anzahl derKanten bezeichne. r unabhangige Runden ubersteht er nur mit Wahrschein-lichkeit (1− k−1)r ≤ e−r/k.

B lernt aus diesem Dialog nichts. Er erfahrt von A ein zufalliges Paar vonverschiedenen Farben, das zudem Runde fur Runde unabhangig ist. SolchePaare kann er sich auch verschaffen, ohne eine 3-Farbung des Graphen zukennen. Folglich tragt der Dialog keine Information uber die 3-Farbung.

44

Page 45: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

2.10 Faktorzerlegung

Wir kommen nun auf Anwendungen des modularen Rechnens auf die Zerle-gung von ganzen Zahlen und Polynomen zu sprechen. Ein Integritatsbereich,in dem sich jedes Element (bis auf Einheiten) eindeutig in irreduzible Elemen-te (Primelemente) zerlegen last, heißt faktorieller Ring. In der Algebra wirdgezeigt, dass jeder Hauptidealring R faktoriell ist und auch jeder Polynom-ring R[x] mit Koeffizienten in einem faktoriellen Ring R. Die Beweise gebenjedoch keinen Hinweis, wie man im Einzelnen effizient faktorisiert. Wir be-trachten hier zwei Methoden, Fermats Methode zur Zerlegung ganzer Zahlenund den Berlekamp-Algorithmus zum Zerlegen von ganzzahligen Polynomenmodulo einer Primzahl p.

Fermats Methode

Die Methode von Fermat fuhrt das Faktorisieren einer Zahl n zuruck auf ihreDarstellung als Differenz zweier Quadratzahlen. Sei n = a · b eine ungeradeZahl. Dann sind auch a und b ungerade, und wir konnen die Zahlen

s =a− b

2, t =

a + b

2

bilden. Es folgtn = t2 − s2.

Umgekehrt erhalten wir aus dieser Darstellung die Zerlegung

n = (t + s)(t− s).

Dies fuhrt zu folgendem Algorithmus: Bilde die Zahlen t0 = [√

n] + 1, t1 =[√

n]+2, . . . und uberprufe der Reihe nach, ob t20−n, t21−n, . . . Quadratzahlensind.

Beispiel. Fur n = 1767 ist t20 − n = 432 − 1767 = 82 keine Quadrat-zahl und t21 − n = 442 − 1767 = 169 = 132. Wir erhalten die Zerlegung1767 = (44 + 13) · (44− 13) = 57 · 31. 2

Das Verfahren findet zuerst die großen Teiler von n und fuhrt schnell zumZiel, wenn sich n in zwei ahnlich große Faktoren zerlegen laßt.

Schon Fermat gestaltete seine Methode effizienter, indem er die Uber-prufung auf Quadratzahl modular durchfuhrte. Man wahlt dazu teilerfremdeModuln m1, . . . ,mk und betrachtet zunachst t2i−n als Rest modulo mj. Liegtkein quadratischer Rest vor, so kann t2i − n keine Quadratzahl sein. Nur in

45

Page 46: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

dem Fall, daß es sich fur jeden Modul m1, . . . ,mk um einen quadratischenRest handelt, muß man nachprufen, ob man auf eine Quadratzahl gestoßenist.

In der praktischen Durchfuhrung stellt man eine Liste (ein ,Sieb‘) derquadratischen Reste auf. Knuth faktorisiert in seiner Monographie auf dieseWeise die Zahl n = 8.616.460.799 (von der der englische Okonom und LogikerW.S. Jevons 1874 unvorsichtigerweise behauptet hat, daß man sie niemalswird zerlegen konnen, vgl. Knuth Vol. II, S. 388). Er stellt dazu die folgendeTabelle auf:

mi t mod mi t2 mod mi (t2 − n) mod mi

3 0, 1, 2 0, 1, 1 1, 2, 25 0, 1, 2, 3, 4 0, 1, 4, 4, 1 1, 2, 0, 0, 27 0, 1, 2, 3, 4, 5, 6 0, 1, 4, 2, 2, 4, 1 5, 6, 2, 0, 0, 2, 68 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 4, 1, 0, 1, 4, 1 1, 2, 5, 2, 1, 2, 5, 211 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 4, 9, 5, 3, 3, 5, 10, 0, 3, 8, 4, 2, 2, 4,

8, 9, 10 9, 4, 1 8, 3, 0

Ein Vergleich der beiden letzten Spalten zeigt, daß nur dann t2 − n eineQuadratzahl sein kann, falls gilt

t ≡ 0 mod3t ≡ 0, 2 oder 3 mod5t ≡ 2, 3, 4 oder 5 mod7t ≡ 0 oder 4 mod8t ≡ 1, 2, 4, 7, 9 oder 10 mod11.

Die Suche nach einem passenden t wird so erheblich eingeschrankt. Nach denBedingungen modulo 3 und modulo 8 muß t ein Vielfaches von 3 ·4 = 12 sein.Das kleinste t großer als [

√n] + 1 = 92825 mit dieser Eigenschaft ist 92832.

Es hat modulo 5 den Rest 2, modulo 7 den Rest 5 und modulo 11 den Rest3. Die Liste zeigt, daß dieses t kein Kandidat zum Faktorisieren ist. Erhohenwir t um den Betrag 12, so andert sich sein Residuum jeweils um 2 modulo5, um 5 modulo 7 und um 1 modulo 11. Wie eine kurze Rechnung zeigt, istdas erste t, daß alle aufgestellten Bedingungen erfullt, gleich 92880. Es folgt928802 − n = 10233601 = 31992. Wir haben also eine Losung s = 3199, t =92880 gefunden und konnen n zerlegen:

8.616.460.799 = (t− s)(t + s) = 89681 · 96079.

Allgemein gesprochen wird zum Faktorisieren von n mit den Modulnm1, . . . ,mk eine Siebtabelle s(i, t), 1 ≤ i ≤ k, 0 ≤ t < mi aufgestellt. Esist s(i, t) = 1 oder 0, je nachdem ob q = t2 − n quadratischer Rest modulomi ist oder nicht.

46

Page 47: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Faktorisieren mit Sieben.

Eingabe: n und Moduln m1, . . . ,mk.

Ausgabe: Ein Teiler m von n.

Verfahren: Stelle die Siebtafel auf. Berechne sukzessive modulo m1, . . . ,mk

die Zahlen qt = t2−n, t > [√

n] (also qt+1 = qt +2t+1). Bestimme mit derSiebtafel das kleinste t, so das qt fur alle j quadratischer Rest modulo mj

ist. Teste, ob qt eine Quadratzahl s2 ist. In diesem Fall ist m = t− s Teilervon n. Andernfalls setze die Suche nach einem geeigneten t fort. 2

Faktorisieren in Zp[x]

Will man ein ganzzahliges Polynom in seine irreduziblen Anteile zerlegen,so ist es im Allgemeinen gunstig, das Polynom zunachst modulo m, d.h. inZm[x] zu zerlegen. Haufig gelingt es, dann auf die Zerlegung in Z[x] zuruck-zuschließen. Sei etwa f(x) ∈ Z[x] ein normiertes Polynom, ein Polynommit Anfangskoeffizient 1,

f(x) = xn + an−1xn−1 + · · ·+ a0.

Dann hat f(x) auch als Polynom in Zm[x] (ai wird zur Restklasse ai mod m)unverandert den Grad n. Gibt es eine Zerlegung f(x) = g(x)h(x), so konnenwir auch g(x) und h(x) als normiert annehmen, und die Zerlegung bleibt inZm[x] gultig. Anders ausgedruckt: Ist das normierte Polynom f(x) in Zm[x]irreduzibel, so ist f(x) auch in Z[x] irreduzibel. Die Erfahrung zeigt, daß sichauf diese Weise Irreduzibilitat haufig feststellen laßt.

Beispiel. Das Polynom f(x) = x8 +x6− 3x4− 3x3 +8x2 +2x− 5 zerfalltin Z2[x] und Z13[x] in die irreduziblen Faktoren

f(x) ≡ (x6 + x5 + x4 + x + 1)(x2 + x + 1) mod 2f(x) ≡ (x4 + 2x3 + 3x2 + 4x + 6)(x3 + 8x2 + 4x + 12)(x + 3) mod 13,

wie man mit der gleich beschriebenen Berlekamp-Methode findet. Eine Fak-torisierung von f(x) in Z[x] mußte mit diesen beiden Zerlegungen vereinbarsein, was offenbar nicht moglich ist. Zerfiele f(x) etwa in irreduzible Fakto-ren vom Grad 6 und 2, so mußten diese Faktoren modulo 13 weiter zerfallen.Ein irreduzibler Teiler vom Grad 4 modulo 13 kann dabei nicht entstehen.Folglich ist f(x) in Z[x] irreduzibel. 2

47

Page 48: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Wir behandeln nun die Faktorisierung von Polynomen in Zp[x] fur einePrimzahl p. Die Situation unterscheidet sich deutlich vom Zerlegen ganzerZahlen. Das Faktorisieren ganzer Zahlen ist mit den heutigen Methoden imwesentlichen ein mehr oder weniger geschicktes Suchen nach Teilern, am An-fang ist schwer abzusehen, wie schnell man fundig wird. Fur Polynome gibtes andersartige Verfahren.

Irreduzible Faktoren vom Grade 1 erhalt man mittels Nullstellen.

Proposition 2.18. Sei f(x) ein Polynom mit Koeffizienten aus einem be-liebigen Korper K. Dann teilt das Polynom x− s genau dann f(x), wenn sNullstelle von f(x) ist.

Beweis. Wir teilen f(x) durch x− s mit Rest,

f(x) = m(x)(x− s) + r

mit r ∈ R. Durch Einsetzen von s folgt f(s) = r. Es teilt also x − s genaudann f(x), wenn r = f(s) = 0 gilt. 2

Polynome in Zp[x] lassen sich mit der Methode von Berlekamp (1967)in ganz systematischer Weise zerlegen. Wir benotigen dazu folgende Polynom-Identitaten.

Proposition 2.19. Sei p eine Primzahl und seien h(x) und k(x) Polynomein Zp[x]. Dann gilt

(h(x) + k(x))p = h(x)p + k(x)p,

h(xp) = h(x)p,

h(x)p − h(x) = h(x)(h(x)− 1)(h(x)− 2) · · · (h(x)− p + 1).

Beweis. Der Binomialkoeffizient(

pk

)= p(p−1)···(p−k+1)

1·2···k ist fur primes p und0 < k < p ein Vielfaches von p, daher gilt

(h(x) + k(x))p = h(x)p +

(p

1

)h(x)p−1k(x) + · · ·+ k(x)p

≡ h(x)p + k(x)p mod p.

Dies ist die erste Behauptung. Zusammen mit dem Fermatschen Theoremimpliziert sie die zweite Behauptung,

h(x)p = (∑

i

aixi)p =

∑i

api x

ip =∑

i

ai(xp)i = h(xp).

48

Page 49: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Zum Beweis der letzten Aussage verwenden wir die Identitat

xp − x ≡ x(x− 1) · · · (x− p + 1) mod p .

Sie ergibt sich aus Proposition 2.18 und der Beobachtung, dass nach demSatz von Fermat xp − x die Nullstellen 0, 1, . . . , p − 1 hat. Die Behauptungfolgt, indem wir in der Identitat x durch h(x) ersetzen. 2

Quadratische Anteile eines Polynoms lassen sich mithilfe seiner (formalen)Ableitung identifizieren. Die Ableitung eines Polynoms f(x) = anx

n + · · ·+a1x + a0 ist definiert als

f ′(x) := n · an xn−1 + (n− 1) · an−1 xn−2 + · · ·+ 2 · a2 x + a1.

Dabei benutzen wir fur ein Element a aus dem Koeffizientenbereich und einenaturliche Zahl n die Schreibweise

n · a := a + a + . . . + a︸ ︷︷ ︸n−mal

.

Diese Definition einer Ableitung macht Sinn in beliebigen Polynomringen.Die aus der Analysis bekannte Interpretation einer Ableitung als Steigunglaßt sich naturlich nicht mehr aufrechterhalten. Wesentlich ist, daß die be-kannten Rechenregeln fur Ableitungen erhalten bleiben. Es gilt (Ubung)

f(x) = h(x) + k(x) ⇒ f ′(x) = h′(x) + k′(x),

f(x) = h(x)k(x) ⇒ f ′(x) = h′(x)k(x) + h(x)k′(x).

Proposition 2.20. Sei p prim und sei f(x) ∈ Zp[x]. Dann gilt:

i) f ′(x) = 0 ⇒ f(x) = h(x)p fur ein h(x) ∈ Zp[x],

ii) f ′(x) 6= 0 ⇒ f(x) = [ggT(f(x), f ′(x))]2h(x), mit einem h(x) ∈ Zp[x],das keine quadratischen Teiler mehr enthalt.

Beweis. Zu i): Die Koeffizienten i · ai von f ′(x) verschwinden genau dann furalle i, falls ai = 0 fur alle i 6≡ 0 mod p. Dann gibt es offenbar ein Polynomh(x), so daß f(x) = h(xp). Die Behauptung folgt nun aus Proposition 2.19.

Zu ii): Gilt f(x) = s(x)2t(x), so teilt s(x) auch

f ′(x) = 2s(x)s′(x)t(x) + s(x)t′(x).

Sei umgekehrt s(x) ein Teiler von f(x) und f ′(x). Wir nehmen an, daß s(x)irreduzibel in Zp ist, so daß nach i) s′(x) 6= 0 gilt. Aus f(x) = s(x)k(x) folgt

49

Page 50: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

f ′(x) = s′(x)k(x) + s(x)k′(x), folglich teilt s(x) auch s′(x)k(x). Da s′(x) 6= 0einen Grad kleiner als s(x) besitzt, muß s(x) bereits k(x) teilen. Folglich istsogar s(x)2 Teiler von f(x). Insgesamt konnen wir feststellen, daß s(x) genaudann f(x) und f ′(x) teilt, falls s(x)2 ein Teiler von f(x) ist. Dies ergibt diezweite Behauptung. 2

Da sich großte gemeinsame Teiler problemlos mit dem Euklidischen Algo-rithmus berechnen lassen, konnen quadratische Anteile eines Polynoms mitKoeffizienten in Zp leicht ermittelt werden. Es bleibt die Aufgabe, ein Poly-nom zu zerlegen, dessen irreduzible Teiler alle verschieden sind. Dazu ist diefolgende Aussage nutzlich.

Proposition 2.21. Sei p Primzahl und sei f(x) ∈ Zp[x]. Dann sind aquiva-lent:

i) Es gilt f(x) = f1(x)f2(x) mit teilerfremden Polynomen fi(x), i = 1, 2,so daß 0 < deg(fi) < deg(f).

ii) Es gibt ein Polynom g(x) ∈ Zp[x] mit 0 < deg(g) < deg(f), so daß f(x)ein Teiler von g(x)p − g(x) ist.

Es ist dann

f(x) =

p−1∏i=0

ggT(f(x), g(x)− i)

eine nicht-triviale Faktorisierung von f(x).

Beweis. Hat g(x) die geforderten Eigenschaften, so ist wegen deg(g) ≥ 1zunachst g(x)p− g(x) 6= 0. Die Polynome g(x), g(x)−1, . . . , g(x)−p+1 sindpaarweise teilerfremd. Es folgt daher aus f(x) | g(x)p − g(x)

f(x) = ggT(f(x), g(x)p − g(x))

=

p−1∏i=0

ggT(f(x), g(x)− i).

Mit g(x)−i sind auch die Polynome ggT(f(x), g(x)−i) paarweise teilerfremdund haben einen Grad kleiner als f(x). Mindestens zwei haben einen Gradgroßer 0, die man noch zu zwei teilerfremden Faktoren zusammenfassen kann.Dies ergibt die gewunschte Zerlegung von f(x).

Sei umgekehrt f(x) = f1(x)f2(x) eine Zerlegung von f(x) in teilerfremdeFaktoren. Wir betrachten das Kongruenzensystem

g(x) ≡ i mod fi(x), i = 1, 2

50

Page 51: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

im Polynomring Zp[x]. Nach dem Chinesischen Restsatz gibt es ein solchesPolynom g(x) von einem Grad kleiner als deg(f). Da deg(fi) > 0, kann g(x)kein Polynom vom Grade 0 sein. Es folgt, daß fi(x) ein Teiler von g(x) − iist. Nach Proposition 2.19 teilt fi(x) auch g(x)p − g(x), und da die fi(x)teilerfremd sind, ist schließlich f(x) ein Teiler von g(x)p − g(x). 2

Damit man die letzte Proposition zum Faktorisieren eines Polynoms nutzenkann, muß man passende Polynome g(x) bestimmen konnen. Es stellt sichheraus, daß diese Aufgabe auf das Losen eines linearen Gleichungssystemsfuhrt. Wir machen den Ansatz

g(x) = bn−1xn−1 + · · ·+ b1x + b0

mit n = deg(f). Dann folgt

g(x)p = bn−1xp(n−1) + · · ·+ b1x

p + b0.

Division von xpi durch f(x) ergibt

xip = f(x)mi(x) + ri(x)

mit einem Rest ri(x) von einem Grad kleiner als n. Es folgt

g(x)p ≡ bn−1rn−1(x) + · · ·+ b0r0(x) mod f(x).

f(x) teilt also genau dann g(x)p − g(x), wenn es

bn−1rn−1(x) + · · ·+ b0r0(x)− bn−1xn−1 − · · · − b0

teilt, falls dieses Polynom also verschwindet. Koeffizientenvergleich fuhrt zueinem linearen Gleichungssystem fur die bi: Sind rj,i die Koeffizienten vonri(x),

ri(x) = rn−1,ixn−1 + · · ·+ r0,i,

so ergibt sich in Zp das lineare Gleichungssystem

bj =n−1∑i=0

rj,ibi ,

oder in Matrix-Schreibweise

(R− Id) · b = 0

mit

R :=

r00 . . . r0,n−1...

...rn−1,0 . . . rn−1,n−1

, b :=

b0...

bn−1

.

51

Page 52: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Beispiel. Wir wollen das Polynom

f(x) = x6 + x5 + x4 + x3 + x2 + x + 1

in Z2[x] zerlegen. Die Ableitung ist

f ′(x) = 6x5 + 5x4 + 4x3 + 3x2 + 2x + 1 = x4 + x2 + 1.

Division von f(x) durch f ′(x) mit Rest ergibt

f(x) = (x2 + x)f ′(x) + 1.

Der ggT von f(x) und f ′(x) ist 1, f(x) enthalt daher keine quadratischenAnteile. Nun berechnen wir die Restpolynome ri(x):

x0 = f(x) · 0 + 1 r0(x) = 1x2 = f(x) · 0 + x2 r1 = x2

x4 = f(x) · 0 + x4 r2 = x4

x6 = f(x) + (x5 + · · ·+ 1) r3(x) = x5 + x4 + x3 + x2 + x + 1x8 = f(x)(x2 + x) + x r4(x) = xx10 = f(x)(x4 + x3) + x3 r5(x) = x3,

also

R =

1 0 0 1 0 00 0 0 1 1 00 1 0 1 0 00 0 0 1 0 10 0 1 1 0 00 0 0 1 0 0

.

Fur b erhalten wir das Gleichungssystem

b0 = b0 + b3, b2 = b1 + b3, b4 = b2 + b3,b1 = b3 + b4, b3 = b3 + b5, b5 = b3,

das sich zub1 = b2 = b4, b3 = b5 = 0

zusammenfassen laßt. b0 ist beliebig. Aus der Bedingung deg(g) > 0 in Pro-position 2.21 folgt, daß nur die Wahl b1 = 1 zu einer Faktorisierung von f(x)fuhrt. Wir erhalten also

g(x) = x4 + x2 + x + b0,

und die Faktorisierung

f(x) = ggT(f(x), x4 + x2 + x) · ggT(f(x), x4 + x2 + x + 1)

= (x3 + x + 1)(x3 + x2 + 1).

Beide Faktoren haben in Z2[x] keine Nullstellen und sind damit irreduzibel.

52

Page 53: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

2.11 Gruppen

Die Satze von Fermat und Euler sind Spezialfalle eines allgemeinen Satzesder Gruppentheorie, den wir nun behandeln wollen. Im folgenden sei G eineGruppe mit neutralem Element e.

Definition 2.22. H ⊂ G heißt Untergruppe von G, falls a · b ∈ H unda−1 ∈ H fur alle a, b ∈ H. Als Links- und Rechtsnebenklassen von Hbezeichnet man die Mengen

aH := {ab : b ∈ H} bzw. Ha := {ba : b ∈ H},

wobei a durch G lauft.

Beispiel. Die Menge H der quadratischen Reste bilden eine Untergruppe

von Z∗m. Gilt namlich a = b

2und a′ = b′

2, so folgt a · a′ = (b · b′)2 und

a−1 = (b−1

)2. Wegen 12

= −12

ist H 6= Z∗m, sofern m > 2. 2

Zwei Linksnebenklassen a1H und a2H sind entweder disjunkt oder gleich:Nehmen wir an, daß a1H ∩ a2H 6= ∅. Dann gilt a1b1 = a2b2 fur geeigneteb1, b2 ∈ H. Es folgt a1b = a2b2b

−11 b ∈ a2H fur alle b ∈ H. Deswegen gilt

a1H ⊂ a2H, und analog a2H ⊂ a1H.Es ist also G Vereinigung von disjunkten Nebenklassen. Außerdem sind

alle Nebenklassen gleichmachtig,

card aH = cardH,

denn die Abbildung b 7→ ab ist eine Bijektion von H nach aH (die Umkehr-abbildung ist b 7→ a−1b).

Dies fuhrt unmittelbar zum Satz von Lagrange. Sei dazu |G| die Ord-nung von G, d.h. die Anzahl ihrer Elemente, und sei [G : H] der Index derUntergruppe H, d.h. die Anzahl der verschiedenen (disjunkten) Nebenklassenvon H in G.

Satz 2.23. Sei G endliche Gruppe und H Untergruppe. Dann gilt

|G| = [G : H] · |H|.

Insbesondere ist |G| ein Vielfaches von |H|.

53

Page 54: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Beispiel. Die Anzahl der quadratischen Reste ist fur m > 2 ein echter Tei-ler der Euler-Funktion φ(m). 2

Wir betrachten nun spezielle Untergruppen. Sei a ∈ G. Dann ist die kleinsteUntergruppe von G, die a enthalt, gegeben durch

Ha := {. . . , a−2, a−1, a0 = e, a, a2, . . .}.

Wir nehmen an, daß Ha endlich ist. Dann gibt es ganze Zahlen s < t, so daßas = at, also at−s = e. Ist k die kleinste naturliche Zahl mit der Eigenschaft

ak = e,

so folgtHa = {a, a2, . . . , ak−1, e},

insbesondere (aj)−1 = ak−j und as = e ⇔ k | s. k heißt die Ordnung vona und wird mit ord(a) bezeichnet. ord(a) ist offenbar die Ordnung von Ha.Nach dem Satz von Lagrange ist die Ordnung von a ein Teiler der Ordnungvon G. Daher folgt

a|G| = e. (2.3)

Im Fall G = Z∗m ergibt sich erneut den Satz von Euler:

aφ(m) = 1.

Ist ord(a) = |G|, also Ha = G, so heißt G zyklische Gruppe und a einerzeugendes Element von G.

54

Page 55: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Kapitel 3

Fehlerkorrigierende Kodes

3.1 Der Hamming–Kode

Bei der Ubertragung von Nachrichten durch einen gestorten Kanal entste-hen Fehler, die der Empfanger gern erkennen wurde. Man sendet daherdie Nachricht in redundanter Form, die Information wird teilweise wieder-holt oder in eine spezielle Form gebracht, die es erlaubt, Fehler zu ent-decken. Sei zum Beispiel a . . . d eine binare, aus den Bits 0 und 1 zusam-mengesetzte Nachricht. Man kann ihr das Prufbit u ≡ a + · · · + d mod 2anhangen und a . . . du senden. Der Empfanger kann dann uberprufen, oba + · · ·+ d + u ≡ 0 mod 2 gilt (parity check), und so einen Fehler erkennen.Solche Prufzeichen sind in den Strichkodes auf Warenpackungen, den Interna-tionalen Standard-Buchnummern (ISBN) und den Nummern der deutschenGeldscheine enthalten.

Werden Daten nur einmal ubertragen (Satellitendaten, Ablesen von Kom-paktdisketten in CD-Spielern), so ist es wichtig, Ubertragungsfehler auch be-heben zu konnen. Zum Beispiel konnte man jedes bit a 3-fach senden: aaa.Der Empfanger entscheidet sich fur das Bit, das in der Nachricht uberwiegt.Dieser Kode korrigiert auf drei Buchstaben einen Fehler, allerdings tragt nurjedes dritte bit Information.

Wir beschreiben nun einen binaren Kode, der in 7 bits einen Fehler korri-giert, dabei 4 bits Information ubertragt. Die Worte sind Tupel aus 1en und0en, jedes Tupel der Lange 4 wird in ein Tupel der Lange 7 verwandelt. DieBuchstaben werden als Elemente von Z2 aufgefaßt. Setze

H :=

1 0 1 1 1 0 01 1 0 1 0 1 01 1 1 0 0 0 1

.

H ist spaltenweise aus allen 01-Tripeln aufgebaut, abgesehen vom Tripel aus

55

Page 56: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

drei Nullen.

Kodieren. Soll die Botschaft abcd ubertragen werden, so wird der Vektor

k = (abcduvw)

gesendet, fur denH · kt = 0,

gilt. In Gleichungen in Z2 ausgedruckt bedeutet dies

u = a + c + d,

v = a + b + d

w = a + b + c.

Dekodieren. Wird k = (ABCDUV W ) empfangen, so bestimmt man H · kt.

Gilt H · kt = 0, so wird an k keine Anderung vorgenommen. Andernfalls istH · kt eine der sieben Spalten von H. Dann wird k an der entsprechendenStelle korrigiert.

Tritt ein einziger Fehler auf, so enthalt der Vektor f = k − k genau eine 1und sechs 0en, und

H · kt = H · f t

taucht als Spalte in H an der Position auf, an der es in k zu dem Uber-tragungsfehler gekommen ist. Dies ermoglicht es dem Empfanger, den Fehlerzu korrigieren. Fur k = (1011101) etwa gilt H · kt = (001)t, der Fehler ist(vorausgesetzt es liegt nur ein Fehler vor!) an der letzten Stelle aufgetreten,und der Empfanger dekodiert k = (1011100).

Dieser von Hamming 1950 vorgeschlagene Kode ist in der Korrektur vonFehlern recht wirksam. Ist p = 0, 01 die Wahrscheinlichkeit, daß ein Bit falschempfangen wird, und treten Fehler unabhangig voneinander auf, so ist dieWahrscheinlichkeit, daß die dekodierte Nachricht Fehler enthalt (daß alsomindestens zwei Ubertragungsfehler vorliegen), gleich

1− (1− p)7 − 7p(1− p)6 = 0, 0020.

Im Kontrast dazu ist die Wahrscheinlichkeit, daß bei Ubertragung von 4 bitsmindestens ein Fehler auftritt, fast 20-mal so groß, namlich 1 − (1 − p)4 =0, 039.

Durch Modifikation laßt sich erreichen, daß der Hamming-Kode zwei Feh-ler erkennen und einen korrigieren kann. Sei

H :=

1 1 1 1 1 1 1 11 0 1 1 1 0 0 01 1 0 1 0 1 0 01 1 1 0 0 0 1 0

=

1 . . . 1

0H 0

0

.

56

Page 57: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Die Botschaft abcd wird als der Vektor k = (abcduvwx) kodiert, der dieGleichung

H · kt = 0

erfullt. u, v, w ergeben sich wie oben, ferner gilt a+b+c+d+u+v+w+x = 0,was zu der weiteren Gleichung

x = b + c + d

in Z2 fuhrt. Der Empfanger bestimmt bei Empfang von k = (ABCDUV WX)

wieder H · kt. Wir unterscheiden 3 Falle.

Fall 1. Tritt kein Ubertragungsfehler ein, so ist H · kt = 0.

Fall 2. Bei einem Fehler enthalt der Vektor f = k − k genau eine 1, undH · kt = H · f t ist wieder die Spalte in H an der Stelle, an der in kder Fehler steckt.

Fall 3. Bei zwei Fehlern enthalt f genau zwei 1en. Dann ist der oberste Ein-trag von H · kt eine 0, und H · kt 6= 0, namlich die Summe zweierSpalten aus H. Man erkennt so, daß es zwei Ubertragungsfehler gibt,kann ihre Position jedoch nicht mehr erkennen.

Hammings Konstruktion laßt sich verallgemeinern.

Definition 3.1. Sei H eine binare l × (2l − 1) Matrix, die als Spalten alle01-Tupel der Lange l besitzt, abgesehen vom Tupel aus lauter Nullen. Derzugehorige binare Kode heißt (n, m)-Hamming-Kode, mit n = 2l− 1 undm = n− l.

Diese Kodes, die Worte der Lange m als Worte der Lange n = m+l kodieren,konnen alle einen Fehler korrigieren. Man kann sie erneut so erweitern, so daßsie 2 Fehler erkennen. Von praktischer Bedeutung ist allerdings nur der (7,4)-Hamming-Kode. Das Problem besteht darin, daß Hamming-Kodes nicht nurFehler korrigieren, sondern auch zusatzliche Fehler erzeugen konnen, wenn esnamlich pro Wort zu mehr als einem Fehler kommt. Diese Tendenz verstarktsich mit wachsendem l. Die folgende Tabelle belegt dies. Sie enthalt denErwartungswert E der Fehler, die ein Kodewort eines (n, m)-Hamming-Kodeenthalt, unter der Annahme, daß Fehler pro bit mit Wahrscheinlichkeit p =0, 02 und unabhangig voneinander auftreten.

l E (2l − 1)p(7, 4)−Kode 3 0, 024 0, 14

(31, 26)−Kode 5 0, 41 0, 62(127, 120)−Kode 7 3, 06 2, 54

57

Page 58: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Zum Vergleich ist die erwartete Anzahl von Fehlern in einer unkodiertenNachricht der Lange 2l − 1 angegeben. Das Resultat ist ernuchternd: Furl = 7 erzeugt der Kode mehr Fehler, als er beseitigt. Genaueres dazu findetsich im nachsten Abschnitt.

3.2 Die mittlere Fehlerzahl des Hamming-Kodes

In diesem Anhang bestimmen wir die erwartete Fehlerzahl pro Kodewort des(n,m)-Hamming-Kodes. Wir nehmen an, daß die bits unabhangig voneinan-der jeweils mit Wahrscheinlichkeit p falsch ubertragen werden.

Die zulassigen Kodeworter k sind durch die Eigenschaft H ·kt = 0 charak-terisiert. Besitzt die empfangene Nachricht k diese Eigenschaft nicht, so ver-wandelt der Hamming-Kode die Nachricht in ein zulassiges Kodewort k, dasim Allgemeinen nicht mit der gesendeten Nachricht k ubereinstimmen wird.Die Anzahl der Fehler zwischen gesendeter und dekodierter Nachricht ist dieAnzahl der Einsen in der Differenz δ = k−k. Es gilt H ·δt = H ·kt−H ·kt = 0,δ ist also ebenfalls ein zulassiges Kodewort.

Sei umgekehrt δ ein fest vorgegebener Vektor aus i Einsen und n − iNullen mit H · δt = 0. Wir fragen, wie δ bei der Ubertragung als Differenzvon k und k entstehen kann. Dies ist auf drei Weisen moglich: Entweder gibtδ wirklich die Stellen an, an denen es zu Ubertragungsfehlern gekommen ist.Wegen H · δt = 0 gilt dann H · kt = 0. Der Hamming-Kode erkennt alsokeinen Fehler und nimmt in der Tat keine Korrekturen vor. Dieser Fall trittmit Wahrscheinlichkeit piqn−i, q = 1− p ein. Oder aber es liegt ein weitererUbertragungsfehler vor, an einer Stelle s, an der in δ eine 0 steht. Dann ist

H · kt = H · (k − k − δ)t

die s-te Spalte von H, denn k − k − δ besteht an der s-ten Stelle aus einer1 und sonst aus Nullen. Der Hamming-Kode korrigiert also diesen Fehler.Der zusatzliche Fehler kann an den n − i Positionen stehen, an denen δeine 0 aufweist, dieser Fall tritt also mit Wahrscheinlichkeit (n− i)pi+1qn−i−1

ein. Schließlich ist es moglich, daß nur i − 1 Fehler aufgetreten sind, einerder i Stellen, die in δ eine 1 aufweisen, ist nicht falsch beim Empfangerangekommen. Auch in diesem Fall ist

H · kt = H · (k − k − δ)t

die entsprechende Spalte in H. In diesem Fall fugt also der Hamming-Kodean der entsprechenden Stelle einen weiteren Fehler ein. Dieser letzte Fall trittmit Wahrscheinlichkeit ipi−1qn−i+1 ein.

58

Page 59: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Setzen wir

di := Anzahl der zulassigen Kodeworter mit i Einsen,

so ergibt sich fur die erwartete Anzahl der Fehler pro Kodewort, die derHamming-Kode produziert, die Formel

El =n∑

i=0

idi

(piqn−i + (n− i)pi+1qn−i−1 + ipi−1qn−i+1

).

Wir stellen nun eine Rekursionsformel fur die di auf. Sei u = (u1u2 . . . un) einVektor aus i Einsen und n− i Nullen. Wir betrachten den Vektor v = H ·ut.Es bestehen verschiedene Moglichkeiten. Ist v = 0, so ist u ein zulassigesKodewort. Ist dagegen v 6= 0 so taucht v als Spalte in H auf, etwa als s-te Spalte. Dann andern wir u an der s-ten Position ab und erhalten einenVektor u′ mit der Eigenschaft H ·u′ = v±v = 0. Nun ist also u′ ein zulassigesKodewort mit i + 1 oder i− 1 Einsen.

Geht man nach diesem Schema durch alle Vektoren u mit i Einsen, soerhalt man offenbar jedes Kodeworte mit i Einsen einmal. Die Kodewortemit i + 1 Einsen entstehen dagegen (i + 1)-mal, denn an jeder der i + 1Positionen, in der in u′ eine Eins steht, kann beim Ubergang von u nach u′

eine 0 in eine 1 verwandelt werden. Analog erhalt man die Kodeworte miti− 1 Einsen (n− i + 1)-mal. Es folgt(

n

i

)= di + (i + 1)di+1 + (n− i + 1)di−1, i = 0, . . . , n,

mit der Vereinbarung d−1 = dn+1 = 0. Diese rekursiven Gleichungen legendie di eindeutig fest. Um sie nach di aufzulosen, benutzen wir die Methodeder erzeugenden Funktionen und betrachten die erzeugende Funktion

d(t) := d0 + d1t + · · ·+ dntn, t ∈ R,

der Zahlen di. Multiplizieren wir die Rekursionsgleichungen mit ti und sum-mieren uber i = 0, . . . , n, so ergibt sich nach einer kleinen Rechnung

(1 + t)n =n∑

i=0

diti +

n∑i=0

(i + 1)di+1ti +

n∑i=0

(n− i + 1)di−1ti

= d(t) + d′(t) + ntd(t)− t2d′(t).

Dies ist eine Differentialgleichung erster Ordnung, ihre Losung ist eindeutigdurch d(0) = d0 = 1 bestimmt. Man rechnet nach, daß die Losung gegebenist durch

d(t) =1

n + 1(1 + t)n +

n

n + 1(1 + t)

n−12 (1− t)

n+12 .

59

Page 60: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Mit dieser Formel konnen wir nun El explizit bestimmen. Eine einfache Rech-nung zeigt

El = qn{(1 + t + (n− 1)t2)d′(t) + (t− t3)d′′(t)} mit t =p

q.

Mit der Formel fur d(t) erhalt man nach Ausfuhrung der Differentiationenschließlich

El =

(1 + (n− 1)

p2

q

)(n

n + 1[1− (1 + (n− 1)p)(1− 2p)

n−12 ]

)+

p(1− 2p)

q

n(n− 1)

n + 1

(1 + (np2 − 3p2 + 4p− 1)(1− 2p)

n−32

).

Um einen ubersichtlicheren Ausdruck zu erhalten, setzen wir p = λ/n. Dannist λ die mittlere Fehlerzahl in einer Nachricht der Lange n. Lassen wir nunl gegen ∞ gehen, so folgt

El → λ + 1− (1 + 2λ) exp(−λ).

Dieser Formel kann man entnehmen, daß ein Hamming-Kode fur großes l imMittel mehr als λ Fehler produziert, falls (1 + 2λ) exp(−λ) < 1 gilt. Fur λ >1, 26 ist dies bereits der Fall. Dies ist ein wahrhaft enttauschendes Resultat:Falls pro Kodewort im Mittel mehr als 1,26 Fehler auftreten, erzeugt einHamming-Kode fur großes l im Durchschnitt mehr Fehler, als er korrigiert.Dies unterstreicht, daß die (n, m)-Hamming-Kodes fur großes l unbrauchbarsind.

Abschließend leiten wir noch eine explizite Formel fur die Zahlen di ab.Da n = 2l − 1 eine ungerade Zahl ist, gilt

60

Page 61: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

d(t) =1

n + 1(1 + t)n +

n

n + 1(1− t)(1− t2)

n−12

=1

n + 1

n∑k=0

(n

k

)tk +

n

n + 1(1− t)

n−12∑

j=0

(n−1

2

j

)(−1)jt2j

=1

n + 1

n−12∑

j=0

((n

2j

)t2j +

(n

2j + 1

)t2j+1

)

+n

n + 1

n−12∑

j=0

((−1)j

(n−1

2

j

)t2j − (−1)j

(n−1

2

j

)t2j+1

).

Ein Koeffizientenvergleich ergibt

d2j =1

n + 1

(n

2j

)+

n

n + 1(−1)j

(n−1

2

j

),

d2j+1 =1

n + 1

(n

2j + 1

)− n

n + 1(−1)j

(n−1

2

j

).

Literatur

J.H. van Lint, Coding Theory. Springer Lecture Notes, Vol. 201, Springer,1971.

3.3 Lineare Kodes

Wir betrachten Kodes, die Worter der Lange m in Worter der Lange n ver-wandeln. Als Alphabeth, in dem die Nachrichten geschrieben werden, wahlenwir einen endlichen Korper F. Im einfachsten Fall eines binaren Kodes ist dasder Korper Z2. Die unchiffrierte Nachricht w = (w0w1 . . . wm−1) und seineKodierung k = (k0k1 . . . kn−1) konnen wir dann als Vektoren aus Fm bzw. Fn

auffassen.Ein (n, m)-Blockkode ist eine injektive Abbildung

κ : Fm → Fn.

Man identifiziert haufig den Kode mit der Menge K = κ(Fm) seiner Ko-deworter (und lasst damit die Frage nach dem Kodieren der Informationbeiseite). Ein Kode heißt linear, falls K linearer Teilraum von Fn ist. m istdann die Dimension von K.

61

Page 62: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Lineare Kodes lassen sich mit Matrizen beschreiben. Eine m×n Matrix Gheißt erzeugende Matrix von K, falls ihre m Zeilen eine Vektorraumbasisvon K bilden. Dann kann man (wie die lineare Algebra lehrt) mit der linearenAbbildung

w = (w0w1 . . . wm−1) 7→ κ(w) := w ·Gkodieren.

Aus Sicht des Empfangers ist es gunstig, K mit einer Matrix H zu be-schreiben, so daß

k ∈ K ⇔ H · kt = 0

gilt. Wie beim Hamming-Kode kann er dann nachprufen, ob es Ubertragungs-fehler gibt. H heißt Kontrollmatrix von K. Da bei einem (n,m)-Kode Heinen Kern von Dimension m in dem n-dimensionalen Raum Fn besitzt, hatH Rang n−m. Man wird also H als (n−m)× n-Matrix wahlen, mit n−mlinear unabhangigen Zeilen.

Wichtig fur die Gute eines Kodes ist der gegenseitige Abstand seinerKodeworter. Seien k = (k0k1 . . . kn−1), k′ = (k′0k1 . . . k′n−1) zwei Vektoren derLange n. Dann wird der Hamming-Abstand von k und k′ definiert als

d(k, k′) := Anzahl der i mit ki 6= k′i.

Als Gewicht von k bezeichnet man

g(k) := d(k, 0),

die Anzahl der Buchstaben ki 6= 0 in k. Der Minimalabstand des Kodes Kist definiert als

dmin(K) := min{d(k, k′) : k, k′ ∈ K, k 6= k′}.

Fur lineare Kodes gilt wegen d(k, k′) = g(k − k′) offenbar

dmin(K) = gmin(K) := min{g(k) : k ∈ K, k 6= 0}.

Proposition 3.2. Sei K linearer Kode mit Kontrollmatrix H. Dann istdmin(K) gleich der minimalen Zahl g, fur die es g linear abhangige Spaltenin H gibt.

Beweis. Seien s0, . . . , sn−1 die Spalten von H. Dann ist k = (k0 . . . kn−1)genau dann Kodewort, wenn k0s0 + · · · + kn−1sn−1 Nullvektor ist. Hat kdas Gewicht g > 0, so sind die entsprechenden g Spalten linear abhangig.Umgekehrt ergibt sich aus g linear abhangigen Spalten ein Kodewort k vomGewicht g. 2

62

Page 63: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Damit erhalten wir eine erste Abschatzung des Minimalabstands linearerKodes: Die Kontrollmatrix hat Rang n − m, also gibt es unter den n derKontrollmatrix n−m + 1 linear abhangige, und es folgt

dmin ≤ n−m + 1 . (3.1)

Lineare Kodes mit der Eigenschaft dmin = n −m + 1 heißen optimal. Wirwerden spater die Reed-Solomon Kodes als optimale Kodes kennenlernen.

Kommt es bei der Ubertragung der Nachricht zu Fehlern, so gehort dasempfangene Wort k moglicherweise nicht mehr zu K. Man dekodiert dannublicherweise nach dem Maximum-Likelihood-Prinzip: Man entscheidetsich fur ein Kodewort k , bei dem es zu dem Ubertragungsfehler f = k − kmit moglichst großer Wahrscheinlichkeit kommt. Typischerweise lauft dasdarauf hinaus, dasjenige Kodewort zu wahlen, daß von dem empfangenenWort minimalen Hamming-Abstand hat.

Ein Dekodierschema fur einen (nicht notwendigerweise linearen) KodeK ist eine Familie

D = (Dk)k∈K

mit den Eigenschaften

Dk ⊂ Fn fur alle k ∈ K,k ∈ Dk fur alle k ∈ K,Dk ∩Dk′ = ∅ fur alle k 6= k′.

Liegt ein empfangenes Wort in Dk, so wird es als die Nachricht k dekodiert.Man sagt, D entdeckt den Ubertragungsfehler f ∈ Fn, f 6= 0, falls furalle k ∈ K

k + f 6∈⋃k′

Dk′ ,

und D korrigiert den Fehler f 6= 0, falls fur alle k ∈ K

k + f ∈ Dk.

Proposition 3.3. Sei K ⊂ Fn ein beliebiger Kode und s ∈ N.

i) Genau dann existiert ein Dekodierungsschema, das alle Fehler vom Ge-wicht hochstens s entdeckt, wenn s < dmin(K) ist.

ii) Genau dann existiert ein Dekodierungsschema, das alle Fehler vom Ge-wicht hochstens s korrigiert, wenn 2s < dmin(K) gilt.

63

Page 64: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Beweis. i) Einen Fehler f 6= 0, fur den zwei Kodeworte k, k′ mit k + f = k′

existieren, bleibt beim Empfang von k′ unerkannt. Nur diejenigen Fehlerf , deren Gewicht g(f) < dmin(K) ist, konnen sicher entdeckt werden. DasDekodierschema Dk = {k} leistet dies.

ii) Ein Dekodierschema (Dk), daß alle Fehler vom Gewicht hochstens skorrigiert, hat die Eigenschaft, daß fur alle k ∈ K die ,Kugeln‘

Bs(k) := {v ∈ Fn : d(v, k) ≤ s}

in Dk enthalten sind. Es folgt Bs(k) ∩ Bs(k′) = ∅, daher muß d(k, k′) > 2s

fur beliebige Kodeworte k 6= k′ gelten. Umgekehrt ist unter der angegebeneBedingung Dk := Bs(k) ein Dekodierschema, das s Fehler korrigiert. 2

Beispiel. Hadamard-Kodes. Sei n geradzahlig. Eine n× n Matrix M =(mij) mit den Eintragen 1 oder −1 heißt Hadamard-Matrix, falls gilt

M ·M t = n · Id.

Geometrisch besagt diese Bedingung, daß zwei Zeilen v 6= v′ von M zueinan-der orthogonal sind. Fur Vektoren aus 1en und -1en bedeutet dies, daß dieZahl der ubereinstimmenden und der unterschiedlichen Komponenten in vund v′ gleich sind, namlich n/2. Die 2n Zeilen der Matrix, die aus(

M

−M

)durch Ersetzen jeder −1 durch eine 0 entsteht, haben daher in Zn

2 alle min-destens einen Hamming-Abstand n/2 voneinander. Sie bilden einen (nichtlinearen) Kode aus 2n Kodewortern der Lange n, der bis zu [n−2

4] Fehler

korrigieren kann.Geeignete Matrizen erhalt man durch folgende Beobachtung (Ubung):

Ist M ′ eine weitere Hadamard-Matrix, so gilt dies auch fur das ,Kronecker-Produkt‘

M ⊗M ′ :=

m11M′ · · · m1nM

......

mn1M′ · · · mnnM

.

Ausgehend von

M2 :=

(1 11 −1

)kann man so Hadamard Matrizen mit n = 2r Zeilen konstruieren. – DieMariner-Sonde benutzte 1962 fur die Bildubertragung vom Mars einen Hada-mard-Kode. Er bestand aus 64 Kodewortern der Lange 32 und konnte pro

64

Page 65: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Wort bis zu 7 Fehlern korrigieren. 2

Kodes, bei denen die Kodeworter vollig gleichmaßig in Fn verteilt sind, nenntman perfekt.

Definition 3.4. Ein Kode K ⊂ Fn heißt perfekt, falls es eine naturlicheZahl s gibt, so daß fur die Kugeln Bs(k) = {v ∈ Fn : d(v, k) ≤ s}, k ∈ Kgilt:

Bs(k) ∩Bs(k′) = ∅ fur alle k 6= k′, und

⋃k∈K

Bs(k) = Fn.

Beispiele.

1. Alle (n, m)-Hamming-Kodes sind perfekt: Jede Kugel vom Radius 1 umein Kodewort enthalt genau n + 1 = 2l Worte der Lange n. Diese Kugelnsind disjunkt, denn die Hamming-Kodes korrigieren einen Fehler. Die Di-mension des Kodes ist m = n− l; dies bedeutet, daß es 2n−l verschiedeneKodeworte gibt. Wegen

2l · 2n−l = 2n

schopfen die Kugeln vom Radius 1 um die Kodeworte bereits den gesamtenZn

2 aus.

2. Sonst treten perfekte Kodes nur sporadisch auf. Zum Beispiel gibt es nureinen nicht-trivialen perfekten binaren Kode, der 3 Fehler korrigiert. Eshandelt sich um den erstaunlichen Golay-Kode K ⊂ Z23

2 , einen (23,12)-Blockkode. Seine Kontrollmatrix ist von der Gestalt H = (H ′E) mit der11×11 Einheitsmatrix E und der 12×11 Matrix

H ′ :=

1 0 0 1 1 1 0 0 0 1 1 11 0 1 0 1 1 0 1 1 0 0 11 0 1 1 0 1 1 0 1 0 1 01 0 1 1 1 0 1 1 0 1 0 01 1 0 0 1 1 1 0 1 1 0 01 1 0 1 0 1 1 1 0 0 0 11 1 0 1 1 0 0 1 1 0 1 01 1 1 0 0 1 0 1 0 1 1 01 1 1 0 1 0 1 0 0 0 1 11 1 1 1 0 0 0 0 1 1 0 10 1 1 1 1 1 1 1 1 1 1 1

.

Jeweils 6 Spalten von H sind, wie eine langwierige Rechnung zeigt, linearunabhangig, deswegen gilt dmin(K) ≥ 7 nach Proposition 3.2. In einer

65

Page 66: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Kugel vom Radius 3 befinden sich

1 + 23 +

(23

2

)+

(23

3

)= 2048 = 211

01-Strings, und es gibt 212 Kodeworter. In den disjunkten Kugeln befindensich daher 223 01-Strings der Lange 23, und dies sind bereits alle. 2

Literatur

J.H. van Lint (1992): Introduction to Coding Theory, Springer

3.4 Zyklische Kodes

Ein zyklischer Kode ist ein Kode, bei dem Kodeworter bei zyklischer Ver-tauschung der Buchstaben in Kodeworter ubergehen.

Definition 3.5. Ein linearer Kode K ⊂ Fn heißt zyklisch, falls gilt

(k0k1 . . . kn−1) ∈ K ⇒ (kn−1k0 . . . kn−2) ∈ K.

Die Struktur zyklischer Kodes laßt sich ubersichtlich mit Polynomen be-schreiben. Wir ordnen dazu jedem Kodewort k = (k0k1 . . . kn−1) das Poly-nom

k(x) = k0 + k1x + · · ·+ kn−1xn−1

zu. Diese Polynome vom Grade kleiner als n nennen wir die zu K gehori-gen Kodepolynome. Wir konnen nun die zyklische Vertauschung von Ko-dewortern als Multiplikation mit x modulo xn − 1 ausdrucken,

kn−1 + k0x + · · ·+ kn−2xn−1

≡ x(k0 + k1x + · · ·+ kn−1xn−1) = xk(x) mod (xn − 1).

Genauso entspricht der r-fache zyklische Vertauschung von Buchstaben dieMultiplikation der Kodepolynome mit dem Monom xr modulo xn−1. Da sichjedes Polynom linear aus Monomen zusammensetzt, erhalten wir die folgendeEigenschaft zyklischer Kodes: Gilt fur k′(x) = k′0+k′1x+· · ·+k′n−1x

n−1 ∈ F[x]

k′(x) ≡ k(x)w(x) mod (xn − 1) (3.2)

mit einem Kodepolynom k(x) und ein beliebiges Polynom w(x) ∈ F[x], so istauch k′(x) Kodepolynom.

66

Page 67: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Sei nun g(x) ein Kodepolynom von K von minimalem Grad (ungleichdem Nullpolynom). Dividiert man das Kodepolynom k(x) durch g(x) mitRest

r(x) = k(x)− w(x)g(x),

so folgt nach (3.2), daß auch r(x) Kodepolynom ist. Nach Wahl von g(x)ist r(x) das Nullpolynom. Die Kodepolynome sind also gerade die Vielfa-chen von g(x), die einen Grad kleiner als n haben. Insbesondere ist g(x) bisauf Einheiten eindeutig bestimmt. Vereinbaren wir, daß g(x) ein normiertesPolynom ist, so ist g(x) eindeutig festgelegt. g(x) heißt das Basispolynomoder erzeugende Polynom des Kodes K.

Dividieren wir xn − 1 durch g(x) mit Rest

q(x) = xn − 1−m(x)g(x),

so folgt nach (3.2), daß q(x) ebenfalls ein Kodepolynom ist. Nach Wahl vong(x) ist q(x) das Nullpolynom, das Basispolynom ist also ein Teiler von xn−1.

Umgekehrt induziert jeder normierte Teiler g(x) von xn − 1 einen zykli-schen Kode. Seine Kodepolynome sind alle Vielfachen von g(x) vom Gra-de kleiner n. Fur die Polynome k(x) = k0 + k1x + · · · + kn−1x

n−1 undk′(x) = kn−1 + k0x + · · · + kn−2x

n−1 mit zyklisch vertauschten Koeffizien-ten gilt

k′(x) = xk(x)− kn−1(xn − 1),

mit k(x) ist daher auch k′(x) Vielfaches von g(x), und der Kode ist zyklisch.Der Vektorraum der Kodepolynome wird durch die linear unabhangigen Po-lynome g(x), xg(x),. . . ,xm−1g(x) aufgespannt, wobei m so zu wahlen ist, daßxm−1g(x) den Grad n−1 hat. Es gilt also m = n−deg(g). Insgesamt erhaltenwir das folgende Resultat.

Satz 3.6. Die zyklischen Kodes K ⊂ Fn entsprechen eineindeutig den nor-mierten Teilern g(x) des Polynoms xn− 1 in F[x]. k = (k0k1 . . . kn−1) ist ge-nau dann ein Kodewort in K, wenn k(x) = k0+ · · ·+kn−1x

n−1 ein Vielfachesvon g(x) ist. Unter diesen Polynomen ist g(x) ausgezeichnet als normiertesPolynom minimalen Grades. Ist l der Grad von g(x), so handelt es sich beiK um einen (n, m)-Blockkode, mit m = n− l.

Die Kodeworter entstehen aus g(x) durch Multiplikation mit Polynomenw(x). Wir drucken dies nun in Matrixschreibweise aus. Dazu bilden wir ausdem erzeugenden Polynom

g(x) = g0 + · · ·+ glxl (l < n)

67

Page 68: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

die erzeugende Matrix

G =

g0 g1 . . . gl

g0 g1 . . . gl

. . . . . .

g0 g1 . . . gl

mit m = n−l Zeilen und n Spalten. Sie enthalt in jeder Zeile die Koeffizientenvon g(x), die restlichen Eintragungen sind 0. Es ist unmittelbar einsichtig,daß der Polynommultiplikation k(x) = w(x)g(x) die Matrixmultiplikation

w = (w0w1 . . . wm−1) 7→ k = (k0k1 . . . kn−1) := w ·G

entspricht, mit den Koeffizienten w0, w1, . . . , wm−1 des Polynoms w(x). Damiterhalt man eine Kodiervorschrift, bei der die Zeilen von G die Kodierungender Worter (10 . . . 0), (01 . . . 0), . . . , (00 . . . 1) sind. Da die Matrix G linearunabhangige Zeilen hat, ist die Abbildung injektiv, und es handelt sich umeinen (n, m)-Blockkode.

Eine duale Beschreibung des Kodes K, vorteilhaft fur das Dekodieren,gelingt mit dem normierten Polynom h(x) vom Grad deg(h) = m = n − l,gegeben durch die Gleichung

g(x)h(x) = xn − 1.

Aus k(x) = w(x)g(x) folgt k(x)h(x) = w(x)(xn− 1) und umgekehrt. k(x) istalso genau dann Vielfaches von g(x), wenn k(x)h(x) Vielfaches von xn − 1ist. Dies ergibt eine alternative Charakterisierung von Kodewortern.

Proposition 3.7. Fur jeden zyklischen Kode K gibt es ein eindeutig be-stimmtes normiertes Polynom h(x), einen Teiler von xn − 1, so daß gilt:

k = (k0k1 . . . kn−1) ∈ K ⇔ k(x)h(x) ≡ 0 mod (xn − 1).

h(x) heißt das Kontrollpolynom des Kodes. Auch die Kontrollbedingungk(x)h(x) ≡ 0 mod (xn − 1) laßt sich in Matrixschreibweise umsetzen. Siebedeutet, daß sich im Polynom k(x)h(x) die Koeffizienten von xi und xn+i

in der Summe aufheben,

(k0hi + · · ·+ kih0) + (ki+1hn−1 + · · ·+ kn−1hi+1) = 0

fur i < n, dabei ist hm+1 = · · · = hn−1 = 0 gesetzt. Bilden wir die (n−m)×n-Matrix

H =

hm hm−1 . . . h0

hm hm−1 . . . h0

. . . . . .

hm hm−1 . . . h0

,

68

Page 69: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

die zeilenweise neben den Koeffizienten von h(x) nur aus Nullen besteht, sofolgt aus den angegebenen Kontrollgleichungen

H · kt = 0 fur alle k ∈ K.

Da H den Rang n − m hat, folgt nach der bekannten Dimensionsformelder linearen Algebra, daß die Losungen des homogenen GleichungssystemsH · yt = 0 einen Raum der Dimension m bilden. Da K von der Dimension mist, gibt es außerhalb K keine weiteren Vektoren k, fur die H · kt = 0 gilt. Hist also Kontrollmatrix des Kodes K.

Beispiel. In Z2[x] gilt (vgl. Abschnitt 2.10)

x7 − 1 = (x− 1)(x3 + x + 1)(x3 + x2 + 1).

Wahlen wir g(x) = x− 1 und h(x) = x6 + x5 + x4 + x3 + x2 + x + 1, so giltm = 6 und H besteht aus der einzigen Zeile (1111111). Es ergibt sich dereinfache Parity-Check-Kode k0 + · · ·+ k6 = 0 mod 2.

Wahlen wir g(x) = x3 + x + 1, h(x) = x4 + x2 + x + 1, so erhalten wir alsKontrollmatrix

H =

1 0 1 1 1 0 00 1 0 1 1 1 00 0 1 0 1 1 1

.

Dies ist bis auf die Reihenfolge der Spalten die Kontrollmatrix des (7,4)-Hamming-Kode. Man sagt, die beiden Kodes sind aquivalent. 2

Zur Konstruktion weiterer zyklischer Kodes benotigt man die Theorie derendlichen Korper, die Thema des nachsten Kapitels ist.

69

Page 70: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Kapitel 4

Endliche Korper

Einen Korper mit q Elementen gibt es genau dann, wenn q = pn eine Prim-zahlpotenz ist. Man gewinnt ihn durch Restklassenbildung aus geeignetenPolynomringen, so wie wir fruher die Korper Zp durch Restklassenbildung inZ erhielten. Er ist eindeutig bis auf Isomorphie und wird als Galois-Feld Fq

bezeichnet.Als Anwendungen konstruieren wir die BCH-Kodes und beschreiben el-

liptische Kurven uber endlichen Korpern zusammen mit ihrem Verwendungin der Kryptographie.

4.1 Eine algebraische Version des Hamming-

Kodes

Z2 ist nicht der einzige Korper, der fur binare Kodes nutzlich ist. Wir be-trachten das irreduzible Polynom

g(x) = x3 + x + 1

in dem Euklidischen Ring Z2[x] und das zugehorige Hauptideal

I = Ig := {f(x)g(x) : f(x) ∈ Z2[x]}.

Wie fruher beim Ubergang von Z zu Zp gehen wir jetzt von Z2[x] zu demRestklassenring

F := Z2[x]/I

uber. g(x) irreduzibel, denn es hat keine Nullstellen. Daher ist F (wie im FallZp) ein Korper. Inverse Elemente von Restklassen verschafft man sich wieschon in Z∗

p mit dem Satz von Bezout.

70

Page 71: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

F ist ein endlicher Korper. Seine Elemente werden von den Polynomenin Z2[x] vom Grade hochstens 2 reprasentiert, von denen es 8 gibt. Ist α dieRestklasse, in der das Monom x in Z2[x] liegt, so besteht F aus den Elementen

a + bα + cα2 mit a, b, c ∈ {0, 1}.

Diese Ausdrucke werden in der ublichen Weise addiert und multipliziert,unter Berucksichtigung der Gleichung g(x) ≡ 0 mod I, also

g(α) = 0 bzw. α3 = α + 1.

Die Gruppe F∗ = F−{0} ist zyklisch mit Erzeuger α. Wir konnen namlichdie Elemente von F∗ darstellen als:

α α5 = α3 + α2 = α2 + α + 1α2 α6 = α3 + α2 + α = α2 + 1α3 = α + 1 α7 = α3 + α = 1α4 = α2 + α

Man sagt, α ist primitives Element von F. Nach Proposition 2.19 giltg(α2) = g(α)2 = 0 und g(α4) = g(α2)2 = 0. Es sind also auch α2 und α4

Nullstellen von g(x), was man leicht direkt nachrechnet. g(x) zerfallt damitin F[x] vollstandig in lineare Polynome. Man bezeichnet K deswegen als denZerfallungskorper von g(x). F ist zugleich Zerfallungskorper von x3 + x2 + 1,dem zweiten irreduziblen Polynoms dritten Grades in Z2[x]. Dieses Polynomhat die Nullstellen α6 = α−1, α5 = α−2 und α3 = α−4.

Wir benutzen nun den Korper F zum Kodieren einer binaren Nachricht.

Kodieren. Wir wollen das binare Wort w = abcd kodieren. Dazu bilden wirdas Polynom

k1(x) = ax6 + bx5 + cx4 + dx3

und teilen es in Z2[x] mit Rest durch g(x):

k1(x) = m(x)g(x) + k2(x) = m(x)g(x) + ux2 + vx + w

mit u, v, w ∈ Z2[x]. Da 1 = −1 in Z2, gilt

k(x) = ax6 + bx5 + cx4 + dx3 + ux2 + vx + w

= k1(x) + k2(x) = m(x)g(x).

Die Nachricht abcd kodieren wir als k = (abcduvw).

Dekodieren. Zum Dekodieren fassen wir die Polynome als Elemente vonF[x] auf. Dies ist moglich, da Z2 in F enthalten ist. Wir konnen also diePolynome in α auswerten. Es gilt g(α) = 0 und daher auch

k(α) = 0.

71

Page 72: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Dies ist die Kontrollgleichung zum Dekodieren. Erhalt der Empfanger alsodie Nachricht k = (ABCDUV W ), so bildet er das Polynom

k(x) = Ax6 + Bx5 + Cx4 + Dx3 + Ux2 + V x + W

und uberpruft, ob k(α) = 0 gilt. Wir betrachten zwei Falle:

Fall 1. Wenn kein Fehler aufgetreten ist, ist k(x)− k(x) = 0 und k(α) = 0.

Fall 2. Wenn es einen Ubertragungsfehler gibt, dann gilt k(x) − k(x) = xe.e ist die fehlerhafte Stelle in der Nachricht. Es folgt

k(α) = αe,

und diese Große bestimmt e eindeutig, da α ein Erzeuger von F∗ ist.Der Empfanger kann also e rekonstruieren.

Dieses Kodierungsschema ist offenbar zum (7,4)-Hamming-Kode aquivalent,wir werden dies spater weiter prazisieren.

Beispiel. Um 1101 zu kodieren, teilt man x6 + x5 + x3 in Z2[x] durch dasPolynom x3 + x + 1:

(x6 + x5 + x3) = (x3 + x2 + x + 1)(x3 + x + 1) + 1.

Es giltk(x) = x6 + x5 + x3 + 1,

die kodierte Nachricht ist also 1101001. – Bei Empfang von 1001001 berechnetder Empfanger

α6 + α3 + 1 = (α2 + 1) + (α + 1) + 1 = α5.

Der Fehler befindet sich an der 2. Stelle, und die Nachricht heißt korrigiert1101001. 2

4.2 Die Struktur endlicher Korper

Im nachsten Abschnitt konstruieren wir alle endlichen Korper als Oberkorperder Korper Zp. Vorbereitend betrachten wir zunachst Unterkorper eines end-lichen Korpers F. Den kleinsten Unterkorper, der α ∈ F enthalt, bezeichnenwir mit F{α}. Man erhalt ihn als Durchschnitt aller Unterkorper, die α um-fassen. Wir wollen diese Korper genauer beschreiben.

72

Page 73: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Sei zunachst α = 1 das Einselement in F. Da 1 in jedem Unterkorper vonF enthalten ist, ist F{1} der kleinste Unterkorper, er heißt Primkorper vonF. Er enthalt alle Elemente

i · 1 := 1 + · · ·+ 1︸ ︷︷ ︸i Summanden

, i ∈ N.

Da F endlich ist, gibt es i < j, so daß i·1 = j·1. Fur p = j−i folgt p·1 = 0. Wirwahlen p > 0 minimal mit dieser Eigenschaft. Dann sind die Korperelementei · 1 fur i = 1, 2, . . . , p voneinander verschieden, und es liegt nahe, Zp inF einzubetten, indem wir der Restklasse i mod p das Korperelement i · 1zuordnen. Wegen p·1 = 0 ist diese Bijektion mit Addition und Multiplikationvertraglich. Da F keine Nullteiler enthalt, ist auch Zp nullteilerfrei. Folglich istp eine Primzahl und Zp ein Korper. F{1} ist zu diesem Korper isomorph undbesteht genau aus den Elementen i·1, i = 1, . . . , p. Im folgenden identifizierenwir F{1} mit Zp, also

Zp ⊂ F .

p heißt die Charakteristik von F.Wir konnen nun F (und jeden seiner Unterkorper) als Vektorraum uber

Zp auffassen. Die Addition von Elementen in F ist uns vorgegeben und dieSkalarmultiplikation bβ mit b ∈ Zp und β ∈ F erhalten wir aus der Multipli-kation in F und der Einbettung von Zp in F. Da F endlich ist, ist auch seineDimension n uber Zp endlich. Nach den Resultaten der Linearen Algebra laßtsich also jedes β ∈ F eindeutig in der Gestalt

β = b1α1 + b2α2 + · · ·+ bnαn, bi ∈ Zp

darstellen, mit einer Vektorraumbasis α1, . . . , αn ∈ F. Insbesondere konnenwir eine Aussage uber die Anzahl q der Elemente von F machen.

Proposition 4.1. Sei F ein endlicher Korper der Charakteristik p. Dann istdie Anzahl seiner Elemente gleich q = pn, mit einer naturliche Zahl n. Dabeiist n die Dimension von F uber Zp.

Fur den Korper F{α} liegt es nahe, eine Vektorraumbasis aus Potenzen vonα zu bilden.

Proposition 4.2. 1, α, α2, . . . , αm−1 ist eine Basis von F{α}, wobei m dieDimension von F{α} uber Zp sei.

Beweis. Sei m die großte naturliche Zahl, so daß 1, α, . . . , αm−1 linear un-abhangig sind. Wir zeigen, daß dann die Menge F′ aller Korperelemente derGestalt

f(α) = a0 + a1α + · · ·+ am−1αm−1, ai ∈ Zp

73

Page 74: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

bereits ganz F{α} ist, mit f(x) := a0 + a1x + · · · + am−1xm−1. Offenbar ist

F′ unter Addition abgeschlossen und enthalt 0 und 1. Nach Definition von mgibt es b0, b1, . . . , bm−1 ∈ Zp, so daß

αm = −b0 − b1α− · · · − bm−1αm−1.

Wenn wir daher zwei Elemente aus F′ multiplizieren, konnen wir mit dieserGleichung Potenzen αr mit r ≥ m durch kleinere Potenzen ersetzen. Dieszeigt, daß F′ unter Multiplikation abgeschlossen ist.

Um zu zeigen zeigen, daß jedes Element f(α) in F′ ein Inverses besitzt,benutzen wir (ahnlich wie fruher fur Zp) den Satz von Bezout. Wir bildendas normierte Polynom g(x) := b0 + b1x + · · ·+ bm−1x

m−1 + xm, also

g(α) = 0 .

g(x) ist irreduzibel: Aus einer Zerlegung g(x) = g1(x)g2(x) folgt namlichwegen g(α) = 0 die Gleichung g1(α) = 0 (oder g2(α) = 0). Nach Wahl von mmuß daher g1(x) vom Grade m und g2(x) vom Grade 0 sein (oder umgekehrt).g(x) hat daher keine nicht-trivialen Teiler. Da f(x) einen kleineren Grad alsg(x) hat, sind f(x) und g(x) teilerfremde Polynome. Daher gibt es Polynomes(x) und t(x) ∈ Zp[x], so daß 1 = s(x)f(x)+ t(x)g(x). Es folgt 1 = s(α)f(α),s(α) ist also das inverse Element von f(α). Andererseits gehort s(α) zu F′,denn Potenzen αr mit r ≥ m konnen wir erneut durch kleinere Potenzenersetzen.

Es gilt also F′ = F{α}, und m ist die Dimension von F{α} uber Zp. 2

Allgemein kann man jeden Korper F als Vektorraum uber jeden Un-terkorper F ⊂ F auffassen. Ist F endlich, so kann man fur jedes α ∈ F wieeben ein normiertes Polynom g(x) ∈ F[x] von minimalem Grade (ungleichdem Nullpolynom) bilden, so daß g(α) = 0 gilt. Wie gesehen ist es irredu-zibel. g(x) heißt das Minimalpolynom von α uber F. Fur ein Polynomh(x) ∈ F[x] gilt dann

h(α) = 0 ⇔ g(x) | h(x).

Eine Division mit Rest h(x) = m(x)g(x)+r(x) zeigt namlich, daß aus h(α) =0 die Gleichung r(α) = 0 folgt, daher ist r(x) das Nullpolynom, und g(x)teilt h(x). Insbesondere folgt

g(x) | xq − x,

denn q − 1 ist die Ordnung (die Anzahl der Elemente) der Gruppe F∗ =F− {0}, so daß nach (2.3) αq−1 = 1 fur alle α ∈ F∗ und damit

αq = α (4.1)

74

Page 75: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

fur alle α ∈ F gilt. Nach Korollar 2.18 zerfallt xq − x in F[x] vollstandig inLinearfaktoren,

xq − x =∏a∈F

(x− a). (4.2)

Es stellt sich heraus, daß wir uns bei der Betrachtung von F{α}mit keinenspeziellen Unterkorpern von F befaßt haben, jeder Unterkorper von F ist vondieser Gestalt. Dies folgt aus dem nachsten Resultat.

Proposition 4.3. Ist F ein endlicher Korper, so ist F∗ bzgl. der Multiplika-tion eine zyklische Gruppe.

Es gibt also ein α ∈ F∗, so daß αk fur k = 1, . . . , q − 1 alle Elemente vonF∗ durchlauft. α heißt dann primitives Element des Korpers. Der Beweisberuht auf dem folgenden gruppentheoretischen Sachverhalt.

Lemma 4.4. Sei G eine endliche Gruppe mit neutralem Element e, und seim das Maximum der Ordnungen aller Gruppenelemente. Dann gilt am = efur alle a ∈ G.

Beweis. Sei a ∈ G und sei r seine Ordnung, also die kleinste naturlicheZahl, so daß ar = e. Zu zeigen ist, daß r ein Teiler von m ist. Wir fuhreneinen Widerspruchsbeweis und nehmen an, daß r = st gilt, mit s > 1und 1 = ggT(s, m). Dann hat b := at offenbar die Ordnung s. Sei weiterc ∈ G ein Element der Ordnung m und sei u die Ordnung von bc. Dann folgtbum = (bc)um = e und folglich s | um bzw. s | u, da m und s teilerfremd sind.Genauso folgt cus = (bc)us = e und m | u. Insgesamt erhalten wir u ≥ sm imWiderspruch dazu, daß m die maximale Ordnung ist. 2

Beweis von Proposition 4.3. Fur die maximale Ordnung m der Elementeaus F∗ gilt nach dem letzten Lemma am = 1 fur alle a ∈ F∗. Das Polynomxm − 1 ∈ F[x] hat daher q − 1 verschiedene Nullstellen, wobei q die Anzahlder Elemente von F bezeichne. Nach Korollar 2.18 ist dies nur moglich, fallsm ≥ q−1 gilt. Andererseits ist die Ordnung eines Elementes hochstens q−1.Daher muß es Elemente der Ordnung q − 1 geben. 2

Eine wichtige Konsequenz ist, daß zwei endliche Korper gleicher Machtigkeitsich strukturell nicht unterscheiden.

Proposition 4.5. Zwei endliche Korper F und F gleicher Machtigkeit sindisomorph.

Beweis. Nach Proposition 4.1 haben F und F dieselbe Charakteristik. Seig(x) das Minimalpolynom von α ∈ F uber Zp. Es teilt xq−x. Da xq−x uber

75

Page 76: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

F nach (4.2) vollstandig in Linearfaktoren zerfallt, hat g(x) auch in F eineNullstelle α, und ist wegen seiner Irreduzibilitat das Minimalpolynom von α.Wahlen wir nun α als primitives Element von F, so hat g(x) den Grad n,und wir erhalten eine Bijektion

a0 + a1α + · · ·+ an−1αn−1 7→ a0 + a1α + · · ·+ an−1α

n−1, ai ∈ Zp,

von F nach F. Diese Abbildung ist ein Isomorphismus, sie vertragt sich mitder Addition wie der Multiplikation, die in den beiden Korpern durch diesich analogen Gleichungen g(α) = 0 bzw. g(α) = 0 gegeben ist. 2

4.3 Konstruktion von endlichen Korpern

Wir kehren nun die Uberlegungen des letzten Abschnitts um in eine Kon-struktion endlicher Korper als Oberkorper von Zp. Nullstellen von irredu-ziblen Polynomen stehen nicht mehr zur Verfugung, deswegen muss man siesich verschaffen.

Allgemein sieht diese Konstruktion der Algebra so aus: Sei g(x) = xn +bn−1x

n−1 + · · ·+ b0 ein normiertes Polynom vom Grade n, mit Koeffizientenin einem Korper F. Wir nehmen g(x) als irreduzibel an, insbesondere besitztes keine Nullstellen in F. Daher ,erfinden‘ wir eine Nullstelle α von g(x)außerhalb von F und konstruieren einen Erweiterungskorper F von F formalaus den Elementen

a0 + a1α + a2α2 + · · ·+ an−1α

n−1, ai ∈ F,

als Vektorraum uber F der Dimension n mit der Basis 1, α, . . . , αn−1. Zusatz-lich postulieren wir die Gleichung

g(α) = 0 bzw. αn = −bn−1αn−1 − · · · − b0.

Die Addition und Multiplikation zweier Korperelementen geschieht nach denublichen Regeln. Bei der Multiplikation konnen dabei Potenzen αr entstehenmit einem Exponenten r ≥ n. Diese Potenzen werden mit Hilfe der Gleichungfur αn eliminiert, bis nur noch Potenzen von α mit Exponenten kleiner alsn vorhanden sind. So entsteht, wir man leicht nachpruft, ein Ring. Aus derIrreduzibilitat von g(x) folgt wie im Beweis von Proposition 4.2, daß jedesvon 0 verschiedene Element ein Inverses besitzt. F ist also ein Korper. Manspricht von der Adjunktion von α an den Korper F und schreibt fur denErweiterungskorper F = F(α).

76

Page 77: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Beispiel. Die komplexen Zahlen C entstehen aus den reellen Zahlen Rdurch Adjunktion einer Nullstelle i des irreduziblen reellen Polynoms x2 +1.C besteht aus den Elementen a + bi, a, b ∈ R. i erfullt die fur die imaginareZahl charakteristische Gleichung i2 = −1. 2

Diese Konstruktion laßt sich auch als Restklassenbildung in dem PolynomringF[x] nach dem von g(x) erzeugten Hauptideal I begreifen. Dann ist α = x,die von dem Monom x erzeugte Restklasse. Die Gleichung g(α) = 0 wirdnun nicht postuliert, sondern ergibt sich durch Restklassenbildung, denn dieAussagen g(x) ≡ 0 mod I bzw. g(x) = 0 und g(x) = 0 sind aquivalent.

Der konstruierte Korper ist F[x]/I. – Insgesamt erhalten wir die folgendeAussage.

Proposition 4.6. Sei F ein Korper und g(x) ein irreduzibles Polynom mitKoeffizienten in F. Dann gibt es einen F umfassenden Korper F, in dem g(x)eine Nullstelle besitzt.

Mit diesem Resultat konstruieren wir nun alle endlichen Korper. Dazu be-nutzen wir die folgende Aussage.

Proposition 4.7. In einem Korper der Charakteristik p gilt fur alle Ele-mente a, b

(ab)p = apbp, (a± b)p = ap ± bp.

Beweis. Die erste Aussage ist offenbar, die zweite ergibt sich aus der Bino-mialformel

(a± b)p =

p∑i=0

(p

i

)· 1 ai(±b)p−i,

denn(

pi

)ist fur i 6= 0, p ein Vielfaches von p, und die entsprechenden Sum-

manden verschwinden. 2

Proposition 4.8. Sei p eine Primzahl und n eine naturliche Zahl. Dann gibtes einen Korper F mit q = pn Elementen.

Beweis. Wir konstruieren F als Korper, in dem das Polynoms f(x) = xq − xvollstandig in Linearfaktoren zerfallt. Dazu zerlegen wir f(x) in Zp[x] in irre-duzible Faktoren g1(x), . . . , gr(x). Nach der letzten Proposition gibt es einenErweiterungskorper F1, in dem g1(x), und damit f(x) eine Nullstelle hat. Da-her besitzt f(x) in F1[x] einen Linearfaktor, moglicherweise mehrere, die wirvon f(x) abspalten. (Ist g1(x) bereits linear, so erubrigt sich dieser Schritt.)Den Rest von f(x) zerlegen wir erneut in irreduzible Faktoren und konstru-ieren einen Korper F2 ⊃ F1 in dem f(x) weitere lineare Faktoren abspaltet.

77

Page 78: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Nach endlich vielen Erweiterungen zerfallt f(x) schließlich in einem KorperF′ vollstandig in Linearfaktoren.

Wir definieren nun F als die Menge aller Nullstellen von f(x), also der-jenigen a ∈ F′ mit aq = a. Wegen q · 1 = 0 gilt f ′(x) = q · 1 xq−1 − 1 = −1,daher sind alle Nullstellen von f(x) voneinander verschieden (vgl. Propositi-on 2.20), so daß F insgesamt q Elemente enthalt. F enthalt 0 und 1, und fura, b ∈ K gilt

(ab)q = aqbq = ab,

daher folgt ab ∈ F und a−1 ∈ F. Weiter folgt aus der vorangehenden Propo-sition

(a± b)pn

= ((a± b)p)pn−1

= (ap ± bp)pn−1

= · · · = apn ± bpn

= a± b.

Es gehort also auch a± b zu F. Damit ist F ein Korper mit q Elementen. 2

Der konstruierte Korper heißt Zerfallungskorper von xq − x. Allgemeinerbezeichnet man als Zerfallungkorper eines Polynoms f(x) ∈ F[x] jeden mi-nimalen Korper F ⊃ F, so daß f(x) in F[x] vollstandig in Linearfaktorenzerfallt. In der Algebra wird gezeigt, daß Zerfallungkorper immer existierenund bis auf Isomorphie eindeutig sind. – Wir fassen unsere Resultate in demfolgenden Satz zusammen.

Satz 4.9. Es gibt genau dann einen endlichen Korper F mit q Elementen,wenn q Potenz einer Primzahl ist. F ist dann bis auf Isomorphie eindeutigbestimmt.

Diesen Korper nennt man den Galois-Feld Fq.

4.4 BCH-Kodes

In Fortsetzung von Abschnitt 3.4 nutzen wir nun endliche Korper zur Kon-struktion von zyklischen Kodes. Vorbereitend betrachten wir eine weitereMoglichkeit zur Konstruktion einer Kontrollmatrix fur einen zyklischen KodeK. Sie ist theoretisch wichtig, fur das praktische Dekodieren aber wenigergeeignet. Sei g(x) = g1(x)g2(x) · · · gk(x) das erzeugende Polynom von K,zerlegt in seine irreduziblen Teiler g1(x), . . . , gk(x) ∈ Fq[x]. Wir konnen danng1(x), . . . , gk(x) als Minimalpolynome von Elementen α1, . . . , αl in einem Er-weiterungskorper von Fq auffassen. Wir setzen voraus, daß g1(x), . . . , gk(x)alle voneinander verschieden sind. Nach den Eigenschaften von Minimalpo-lynomen ist dann k(x) = k0 + k1x + · · · + kn−1x

n−1 genau dann Vielfachesvon g(x), wenn

k(α1) = k(α2) = · · · = k(αl) = 0

78

Page 79: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

gilt. In Matrizenschreibweise lautet die Bedingung

H · kt = 0,

mit k = (k0k1 . . . kn−1) und der Matrix

H :=

1 α1 α2

1 · · · αn−11

1 α2 α22 · · · αn−1

2...

......

...1 αl α2

l · · · αn−1l

.

Nach Satz 3.6 ist H Kontrollmatrix des Kodes.Bose, Chaudhuri und Hocquenghem haben nun vorgeschlagen, solche zy-

klischen Kodes zu betrachten, fur die α1 = α, α2 = α2, . . . , αl = αl fur eingeeignetes α gilt.

Definition 4.10. Ein zyklischer Kode K ⊂ Fn mit erzeugendem Polynomg(x) heißt BCH-Kode, falls ein α in einem Erweiterungskorper von F undeine naturliche Zahl l < n existieren, so daß gilt:

i) Die Ordnung von α ist n: αn = 1 und αj 6= 1 fur j < n.

ii) g(x) ist das Produkt der Minimalpolynome von α, α2, . . . , αl, wobei jedesMinimalpolynom in g(x) als Faktor nur einmal erscheint.

Fur einen BCH-Kode ist also

H :=

1 α α2 · · · αn−1

1 α2 α4 · · · α2(n−1)

......

......

1 αl α2l · · · α(n−1)l

.

Kontrollmatrix. Dieser Sachverhalt erlaubt den Beweis des folgenden Satzes.

Satz 4.11. Der Minimalabstand eines BCH-Kodes ist mindestens l + 1.

Fur den Beweis benotigen wir die Vandermonde-Determinante.

Proposition 4.12. Fur Elemente β1, . . . , βl in einem Korper gilt

det

β1 β2 · · · βl

β21 β2

2 · · · β2l

......

...βl

1 βl2 · · · βl

l

=∏

i

βi ·∏i<j

(βj − βi).

79

Page 80: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Beweis. Sei Aij die (l − 1) × (l − 1)-Matrix, die aus einer l × l Matrix A =(aij) durch Streichen der i-ten Zeile und der j-ten Spalte entsteht. Dann giltbekanntlich der Laplacesche Entwicklungssatz

det(A) =l∑

i=1

(−1)i+lail det(Ail).

Wir betrachten das Polynom

f(x) :=l∑

i=1

(−1)i+l det(Ail) xi = det

a11 · · · a1,l−1 xa21 · · · a2,l−1 x2

......

...al1 · · · al,l−1 xl

.

Es hat im Fall der Vandermonde-Determinante (aij = βji ) die Nullstellen

0, β1, . . . , βl−1, daher gilt

f(x) = det(All)x(x− β1) · · · (x− βl−1).

Es folgt

det

β1 · · · βl...

...βl

1 · · · βll

= f(βl) = det(All)βl(βl − β1) . . . (βl − βl−1).

Die Behauptung folgt nun per Induktion uber l, denn det(All) ist wieder eineVandermonde-Determinante. 2

Beweis von Satz 4.11. Nach Voraussetzung des Satzes sind die Elemente derersten Zeile von H alle voneinander verschieden, damit sind je l Spalten vonH linear unabhangig (Vandermonde-Determinante). Die Behauptung folgtdaher aus Proposition 3.2. 2

Beispiel. Ein Kode, der zwei Fehler korrigiert. Wir konstruieren einenbinaren BCH-Kode. Ausgangspunkt ist die Zerlegung in irreduzible Faktoren

x16 − x = x(x + 1)(x2 + x + 1)l(x)m(x)n(x)

in Z2[x] mit

l(x) := x4 + x3 + 1 , m(x) := x4 + x + 1 , n(x) := x4 + x3 + x2 + x + 1 .

80

Page 81: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

x2+x+1 ist das einzige quadratische Polynom in Z2[x] ohne Nullstellen, unddamit das einzige irreduzible quadratische Polynom. Unter den Polynomen4ten Grades ohne Nullstellen ist daher nur x4 + x2 + 1 = (x2 + x + 1)2 nichtirreduzibel, und folglich sind l(x), m(x) und n(x) irreduzibel.

Da x16 − x uber F16 vollstandig in Linearfaktoren zerfallt, besitzt auchm(x) in F16 eine Nullstelle α. Nach Proposition 4.2 laßt sich jedes Ele-ment aus F16 in eindeutiger Weise als Linearkombination von 1, α, α2 undα3 mit Koeffizienten 0 oder 1 darstellen. Es ist α15 = 1, jedoch α3 6= 1 undα5 = α2 + α 6= 0, daher ist α primitives Element in K16. Als irreduziblesPolynom ist m(x) das Minimalpolynom von α. Gleichzeitig ist m(x) auchdas Minimalpolynom von α2 und α4, denn es gilt (vgl. Proposition 2.19)m(α2) = m(α)2 = 0 und m(α4) = m(α2)2 = 0. Weiter gilt n(α3) = 0, n(x)ist also das Minimalpolynom von α3.

g(x) := m(x)n(x) = x8 + x7 + x6 + x4 + 1

ist damit das erzeugende Polynom eine BCH-Kodes mit l = 4 und einerMinimaldistanz von mindestens 5, der Kode kann folglich 2 Fehler korrigieren.Die Ordnung von α ist 15, und die Dimension von K ist m = n−deg(g) = 7.Es liegt also ein (15,7)-Kode vor, der Kode sendet Worter der Lange 15,die 7 Informationsstellen haben. k ist genau dann Kodewort, wenn fur daszugehorige Polynom k(x)

k(α) = k(α3) = 0

gilt. Genau dann wird k(x) von den Minimalpolynomen m(x) und n(x), unddamit von g(x), geteilt.

Kodieren. Fur das Kodieren von Wortern der Lange 7 bestehen verschiede-ne Moglichkeiten. Dies kann mit der oben angegebenen erzeugenden Matrixgeschehen. Ubersichtlich ist die folgende Methode. Dem Wort w = (w0 . . . w6)ordnen wir das Polynom

k1(x) = w0x8 + w1x

9 + · · ·+ w6x14

zu. Wir erganzen es mit einem Polynom k2(x) vom Grad hochstens 7 zu

k(x) = k1(x) + k2(x),

so daß k(x) ein Vielfaches von g(x) wird. Dann gilt fur ein Polynom q(x)

k1(x) = q(x)g(x)− k2(x) = q(x)g(x) + k2(x).

k2(x) ist also eindeutig bestimmt als der Rest, der bei Division von k1(x)durch g(x) ubrig bleibt.

81

Page 82: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Dekodieren. Sei f = (f0 . . . f14) der Vektor der Fehler, es wird anstelle von

k also die Nachricht k = k + f empfangen. Fur die zugehorigen Polynomef(x) und k(x) gilt dann

f(α) = k(α), f(α2) = k(α2), f(α3) = k(α3)

Der Empfanger kann nun mithilfe des Polynoms

p(x) = k(α)x2 + k(α2)x + k(α3) + k(α)k(α2)

Fehler korrigieren. Wir unterscheiden drei Falle.

Fall 1. Gibt es keine Ubertragungsfehler, so ist f(x) = 0 und p(x) = 0.

Fall 2. Bei einem Ubertragungsfehler ist f(x) von der Gestalt xr und damit

p(x) = αrx2 + α2rx + α3r + αrα2r

= αrx(x + αr).

Fall 3. Bei zwei Ubertragungsfehlern gilt f(x) = xr +xs mit r 6= s. In diesemFall ergibt sich

p(x) = (αr + αs)x2 + (α2r + α2s)x

+ α3r + α3s + (αr + αs)(α2r + α2s)

= (αr + αs)(x + αr)(x + αs).

Der Empfanger kann diese Falle unterscheiden, indem er die Nullstellen vonp(x) bestimmt. Gleichzeitig kann er in den beiden letzten Fallen r bzw. r, saus den Nullstellen bestimmen, da α ein primitives Element ist. Er kann alsodie falsch ubertragenen Bits lokalisieren und korrigieren. 2

4.5 Spezielle Falle von BCH-Kodes

Hamming-Kodes

Die Hamming-Kodes ergeben sich bei der Wahl q = 2, also Fq = Z2, und n =2l− 1. Wahle α als primitives Element von F2l , mit Minimalpolynom g(x) ∈Z2[x]. Die Elemente von F2l lassen sich eindeutig als Linearkombinationenvon 1, α, α2, . . . , αl−1 mit Koeffizienten 0 oder 1 darstellen. Daher gibt eseindeutige hij ∈ Z2, so daß die Gleichungen

αj =l−1∑i=0

αihij,

82

Page 83: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

0 ≤ j ≤ n− 1 gelten. Kodeworte sind durch k(α) = 0 charakterisiert, und esgilt

k(α) =n−1∑j=0

kjαj =

l−1∑i=0

(n−1∑j=0

hijkj

)αi = 0

genau dann, wenn

H · kt =

h00 · · · h0,n−1...

...hl−1,0 · · · hl−1,n−1

·

k0...

kn−1

= 0.

H ist also die Kontrollmatrix des BCH-Kodes mit erzeugendem Polynomg(x). Da α primitives Element ist, durchlaufen die Spalten von H alle mogli-chen Vektoren aus Nullen und Einsen der Lange l, abgesehen vom Null-vektor. H ist daher bis auf Reihenfolge der Spalten die Kontrollmatrix des(2l − 1, 2l − l − 1)-Hamming-Kodes, die beiden Kodes sind aquivalent.

Neben g(α) = 0 gilt g(α2) = g(α)2 = 0. Nach Satz 4.11 ist der Min-destabstand des Kodes mindestens d = 3, ein Sachverhalt, der uns bereitsbekannt ist.

Reed-Solomon-Kodes

BCH-Kodes, fur die n = q − 1 gilt, heißen Reed-Solomon-Kodes. Nun ist αprimitives Element von Fq, und es gilt

g(x) = (x− α)(x− α2) . . . (x− αl).

Proposition 4.13. Reed-Solomon-Kodes sind (n,m)-Blockkodes mit m =n− l. Fur ihren Mindestabstand gilt

dmin = l + 1 = n−m + 1,

Reed-Solomon Kodes sind also optimal.

Beweis. Die erste Behauptung folgt aus l = deg(g) = n −m nach Satz 3.6.Weiter gilt dmin ≥ l + 1 nach Satz 4.11, und dmin ≤ l + 1 nach (3.1). 2

Ein Reed-Solomon-Kode mit dmin = 2s + 1 kann s Fehler korrigieren. Erhat Worter der Lange n = q − 1 und eine Dimension m = n − dmin +1 = n − 2s − 2. Wahlen wir q = 2k, so lasst er sich in einen binaren Kodeumwandeln. Jedes Element aus Fq kann man dann als k-Vektor mit Symbolenaus Z2 schreiben. Es entsteht so ein binarer (kn, k(n−2s))-Blockkode. Dieser

83

Page 84: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Kode hat die gunstige Eigenschaft, lange Serien aufeinanderfolgender Fehler(,bursts‘, z.B. Kratzer auf einer CD) korrigieren zu konnen, und zwar proWort einen Serienfehler, dessen Lange kleiner als (s−1)k ist. Eine solche Seriebeeinflussen im Originalkode hochstens s aufeinanderfolgende Buchstabenund wird daher korrigiert. Sind die Fehler dagegen uber das Wort verstreut,so ist nur garantiert, daß s Fehler korrigiert werden. Reed-Solomon-Kodeshaben z.B. in CD-Spielern Anwendung gefunden.

4.6 Elliptische Kurven uber endlichen Kor-

pern

Die wesentliche Eigenschaft einer elliptischen Kurve ist, daß sie eine Grup-penstruktur tragt, was auch fur die Kryptographie von Interesse ist. Wirgeben eine kurze Einfuhrung in elliptische Kurven uber endlichen Korpern.

Definition 4.14. Sei F ein Korper von einer Charakteristik p 6= 2, 3, undsei x3 + rx+ s ∈ K[x] ein kubisches Polynom ohne mehrfache Nullstelle. Diezu diesem Polynom gehorige elliptische Kurve uber F besteht aus allenPunkten (x, y) ∈ F× F, die die Gleichung

y2 = x3 + rx + s

erfullen, zusammen mit einem weiteren Element O, dem ,unendlich fernenPunkt‘.

Die elliptischen Kurven y2 = x3− x und y2 = x3 + 1 uber den reellen Zahlensind in der folgenden Zeichnung skizziert.

-

6

-

6

84

Page 85: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Bemerkungen.

1. Die Bedingung, daß keine mehrfachen Nullstellen vorkommen, laßt sich inr und s ausdrucken. Sind α1, α2, α3 die Nullstellen, so folgt durch Koeffi-zientenvergleich aus x3 + rx + s = (x− α1)(x− α2)(x− α3)

α1 + α2 + α3 = 0, α1α2 + α2α3 + α3α1 = r, α1α2α3 = −s.

Eine Rechnung zeigt, daß sich die Diskriminante D =∏

i<j(αi−αj)2 aus

diesen Ausdrucken zusammensetzen laßt (vgl. van der Waerden, Algebra1, §33),

−D = 4r3 + 27s2.

x3 + rx + s hat also genau dann keine mehrfachen Nullstellen, falls 4r3 +27s2 6= 0 gilt.

2. In Korpern der Charakteristik 2 oder 3 ist die Bedingung an eine elliptischeKurve passend abzuwandeln. 2

Die fundamentale Eigenschaft von elliptischen Kurven ist, daß man sie alsabelschen Gruppe betrachten kann. Das Additionsgesetz laßt sich kurz zu derfolgenden Aussage zusammenfassen: Die 2 oder 3 Punkte einer elliptischenKurve, die auf einer vorgegebenen Geraden ` liegen, summieren sich zu Oauf, dem unendlich fernen Punkt, dabei sind die Punkte in ihrer Vielfachheitzu berucksichtigen. Wir prazisieren dies nun. Unter einer Geraden ` verstehenwir alle Punkte (x, y), die einer Gleichung der Gestalt ax+by+c = 0 genugenmit a 6= 0 oder b 6= 0 (a, b, c ∈ F). Es gibt verschiedene Falle zu unterscheiden.

1. Sei b = 0. Dann konnen wir ohne Einschrankung a = −1 wahlen, ` ist alsodurch die Gleichung x = c gegeben. Der Schnitt von ` mit der elliptischenKurve enthalt die Punkte (x, y) mit y2 = c3 + rc + s. Wenn der Schnittnicht leer ist, enthalt er genau zwei Punkte P = (x, y) und Q = (c,−y).Wir setzen dann P + Q = O. Im Fall y = 0 fallen P und Q zusammen,dann lautet die Gleichung P + P = O.

2. Sei nun b 6= 0. Dann konnen wir ohne Einschrankung b = −1 setzen, alsodie Gerade y = ax+c betrachten. Seien weiter P = (x1, y1) 6= Q = (x2, y2)zwei Punkte der elliptischen Kurve, die auf der Geraden liegen. Es folgtx1 6= x2 und

a =y2 − y1

x2 − x1

, c = y1 −y2 − y1

x2 − x1

x1.

In diesem Fall gibt es auf der Geraden einen weiteren Punkt der ellipti-schen Kurve. Alle Schnittpunkte (x, y) erfullen namlich die Gleichung

f(x) := x3 + rx + s− (ax + c)2 = 0.

85

Page 86: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Dieses kubische Polynom hat die beiden Nullstellen x1, x2. Es zerfallt da-her vollstandig in Linearfaktoren und besitzt eine weitere Nullstelle x3,und auf ` liegt genau ein weiterer Punkt R = (x3,−y3) der elliptischenKurve (fur spatere Zwecke erhalt y3 ein Minuszeichen). Seine Koordinatenlassen sich aus der Gleichung x1 + x2 + x3 = a2 (dem Koeffizient von x2

in dem Polynom f(x)) bestimmen:

x3 =

(y2 − y1

x2 − x1

)2

− x1 − x2,

y3 = −ax3 − c (4.3)

=

(y2 − y1

x2 − x1

)(x1 − x3)− y1.

Insgesamt befinden sich auf der Geraden drei Punkte P, Q,R der ellipti-schen Kurve, die sich zu O addieren: P + Q + R = O. Es ist moglich, daßsich R = P oder R = Q ergibt, dann wird der entsprechende Punkt in derGleichung R + P + Q = O zweimal aufgefuhrt.

3. Die soeben betrachtete Gerade ist durch die beiden Punkten P 6= Q be-stimmt. Jetzt behandeln wir den Fall einer Geraden y = ax + c, derenLage durch einen Punkt P = (x1, y1) gegeben ist, dem eine mehrfacheNullstelle x1 des kubischen Polynoms f(x) entspricht. Dann gilt zusatz-lich zu f(x1) = 0 die Gleichung 0 = f ′(x1) = 3x2

1 + r − 2(ax1 + c)a,also

a =3x2

1 + r

2y1

, c = y1 −3x2

1 + r

2y1

x1.

(Im Fall F = R bedeutet die Bedingung, daß die Gerade eine Tangenteder elliptischen Kurve ist.) Wie oben hat nun f(x) neben der doppeltenNullstelle x1 eine weitere Nullstelle x3. Wir konnen sie aus der Gleichung2x1 + x3 = a2 bestimmen,

x3 =(3x2

1 + r

2y1

)2

− 2x1, (4.4)

y3 =(3x2

1 + r

2y1

)(x1 − x3)− y1.

Die Gleichung fur die Punkte P = (x1,y1) und R = (x3,−y3) der ellipti-schen Kurve lautet nun P +P +R = O, P wird also doppelt berucksichtigt.

2

Die Sprechweise vom unendlich fernen Punkt begrundet sich aus der Vor-stellung, daß O unendlich fern auf allen senkrechten (durch b = 0 gegebe-nen) Geraden liegt. Das hat den Vorteil, daß nun auf allen Geraden genau

86

Page 87: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

drei Punkte liegen (gezahlt in der jeweiligen Vielfachheit). Dieser Vorstel-lung kann man einen mathematisch prazisen Sinn geben, das Stichwort ist,projektiver Abschluß‘ der Kurve (vgl. das Buch von Koblitz).

Wir wollen nun Punkte auf einer elliptischen Kurve so addieren, daß dieangegebenen Gleichungen gultig bleiben, dabei soll O die Rolle des neutralenElements ubernehmen. Aus 1. ergibt sich der entgegengesetzte Punkt einesPunktes. Wir setzen

−P := (x,−y), falls P = (x, y).

−P entsteht aus P durch Spiegelung an der x-Achse. Die Summe von Pund Q erhalten wir durch Umformung der Gleichung P + Q + R = O zuP + Q = −R. Wir setzen also

P + Q := (x3, y3), falls P = (x1, y1), Q = (x2, y2),

dabei sind x3 und y3 durch die Formeln (4.3) bzw. (4.4) gegeben (je nachdemob P 6= Q oder P = Q gilt).

-

6

@@

@@

@@

@@@

P

Q

P + Q

R

Beispiel. Die Punkte P = (−3, 9) und Q = (−2, 8) liegen auf der ellipti-schen Kurve y2 = x3−36x uber den rationalen Zahlen. Es gilt P +Q = (6, 0)und 2 · P = (25/4,−35/8). 2

Daß man eine elliptische Kurve auf diese Weise zu einer abelschen Gruppemacht, ist nicht offensichtlich, insbesondere ist nicht evident, daß das Asso-ziativitatsgesetz (P + Q) + R = P + (Q + R) gilt. Man kann es aus denangegebenen Formeln in etwas muhsamer Rechnung bestatigen. (Fur denKorper der reellen oder komplexen Zahlen gibt es andere Beweise. Sie be-nutzen Argumente aus der projektiven Geometrie oder der Funktionentheo-rie und gewahren einen tieferen Einblick in die Gruppenstruktur elliptischerKurven.) Wir fassen die Diskussion in einem Satz zusammen.

87

Page 88: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Satz 4.15. Jede elliptische Kurve wird durch die in (4.3) bzw. (4.4) gegebeneAddition eine Gruppe. Das neutrale Element ist der unendlich ferne PunktO, und das inverse Element von (x, y) ist (x,−y).

Elliptische Kurven uber den komplexen wie uber den rationalen Zahlen sindein klassischer Untersuchungsgegenstand der Mathematik. Wir betrachten imfolgenden elliptische Kurven uber den Galois-Feldern Fq. Die Anzahl N derPunkte einer elliptischen Kurve uber Fq ist offensichtlich hochstens 2q + 1.Neben O gibt es namlich fur jedes x ∈ Fq hochstens zwei Punkte (x, y) und(x,−y) auf der elliptischen Kurve. Dazu muß x3 + rx + s ein quadriertesElement von Fq sein. Da in dem Fall, daß q ungerade ist, genau die Halfteder Elemente von F∗

q Quadrate sind, wird man erwarten, daß eine elliptischeKurve uber Fq etwa q Elemente enthalt. Genauer gilt der Satz von Hasse:

|N − (q + 1)| ≤ 2√

q.

Eine elliptische Kurve zusammen mit einem Punkt P = (x, y) kann mansich leicht verschaffen. Man wahle zufallige Elemente x, y, r aus Fq und setzes = y2 − (x3 + rx). Dann ist offenbar P = (x, y) ein Punkt auf der Kurve,die durch die Gleichung y2 = x3 + rx + s gegeben ist. Es besteht eine guteChance, daß die Diskriminante 4r3 +27s2 6= 0 ist, andernfalls treffe man eineneue Wahl.

Das Schlusselsystem von Diffie-Hellman

Elliptischen Gruppen uber endlichen Korpern sind in der Kryptographie aufInteresse gestoßen. Ein Grund ist, daß man mit ihrer Hilfe Abbildungen kon-struieren kann, die leicht zu berechnen sind, die sich aber nur mit erheblichenRechenaufwand umkehren lassen. Die Situation ist analog zum diskreten Lo-garithmus im Restklassenring Zm. In elliptischen Kurven benotigt man zurBerechnung des Punktes

i · P := P + · · ·+ P︸ ︷︷ ︸i−mal

großenordnungsmaßig O(log i) Rechenschritte. Wie beim Potenzieren modulom schreibe man dazu i in Dualdarstellung, i =

∑dj2

j mit dj = 0, 1, berechnePj = 2j ·P = 2·Pj−1 und summiere alle Pj mit dj = 1 auf. Dagegen kann mannur in speziellen Fallen schneller als in O(i) Schritten zu einem vorgegebenenQ ein Punkt P bestimmen, so daß Q = i ·P gilt. Dies macht man sich in derKryptographie zunutze.

Offentliche Kryptosysteme sind im Vergleich zu klassischen Chiffriersy-stemen relativ rechenaufwendig. Deswegen versucht man, beide Systeme zu

88

Page 89: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

kombinieren. Nachrichten werden mit einem schnellen klassischen Chiffrier-system ausgetauscht, bei dem man zum Kodieren und Dekodieren der Nach-richten einen Schlussel braucht. Fur den Austausch des Schlussels benutztman ein sicheres offentliches Kryptosystem.

Einen ersten detaillierten Vorschlag haben Diffie und Hellman gemacht.Ihr System basiert in seiner ursprunglichen Form auf dem diskreten Loga-rithmus. Wir nehmen an, daß der Schlussel Element eines großen endlichenKorper Fq ist. q ist offentlich bekannt. Weiter einigt man sich auf ein Elementg in Fq, idealerweise ein primitives Element von F∗

q. Auch g wird offentlichbekanntgemacht. Schlussel werden aus g gebildet: Ein Teilnehmer A wahltsich zufallig eine naturliche Zahl a zwischen 0 und q − 1, die er geheimhalt. Gleichzeitig veroffentlicht er das Element ga in F∗

q. Ein weiterer Teil-nehmer B macht dasselbe, er wahlt seine Geheimzahl b und veroffentlichtgb. Der Geheimschlussel fur den Nachrichtenaustausch zwischen A und B istdann gab. Beide konnen ihn leicht berechnen. A etwa potenziert die offentlichzugangliche Große gb mit seiner Geheimzahl a, dazu sind keinerlei Abspra-chen zwischen A und B notig. Eine dritte Partei hat dagegen auf gab keinenZugriff. Man kann versuchen, sich a und b aus ga und gb zu verschaffen, umdann gab zu berechnen. Im allgemeinen ist aber die Berechnung solcher ,dis-kreter Logarithmen‘ bei ausreichend großer Wahl von q rechnerisch nicht zubewaltigen.

In neuerer Zeit hat man anstelle von Fq auch elliptische Kurven uber Fq

herangezogen. An die Stelle von g tritt ein Punkt P der Kurve, und ga wirdersetzt durch a ·P . Man verspricht sich dadurch Vorteile in der Sicherheit desVerfahrens. Fur binare Kodes ist es praktisch, einen Korper F2r zugrundezule-gen. Dagegen spricht, daß in diesen speziellen Korpern diskrete Logarithmenmit vergleichsweise geringerem Rechenaufwand bestimmt werden konnen, rmußte also sehr groß gewahlt werden. Nach dem heutigen Kenntnisstand sinddagegen geeignete elliptische Kurven uber F2r sicher. Ob das RSA-Schemaoder aber das Schema von Diffie und Hellman eine großere Sicherheit bietet,muß die Zukunft entscheiden.

Literatur

N. Koblitz (1994): A Course in Number Theory and Cryptography

89

Page 90: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Kapitel 5

Lineares Programmieren

5.1 Grundbegriffe

In diesem Kapitel sind mit Vektoren immer Spaltenvektoren gemeint. FurVektoren b, b′ ∈ Rn schreiben wir b ≤ b′, wenn fur alle Komponenten bi ≤ b′i,i = 1, . . . , n gilt. Insbesondere bedeutet b ≥ 0, dass alle bi nichtnegativ sind.

Sei A reelle m × n-Matrix, und seien b ∈ Rm, c ∈ Rn. Dann nennt mandas System

Ax ≤ b , x ≥ 0 , x ∈ Rn ,

ctx = max

ein lineares Programm, genauer ein standard Maximum Programm. x ∈Rn heißt zulassig, falls es die angegebenen Bedingungen, also Ax ≤ b, x ≥ 0erfullt. ctx = c1x1 + · · ·+ cnxn heißt Zielfunktional und

supx ist zulassig

ctx

Wert des Programms. Ein zulassiges x heißt optimal, falls ctx gleich demWert des linearen Programms ist. Die Menge aller zulassigen Punkte bezeich-nen wir mit Kzul, und aller optimalen Punkte mit Kopt.

Anschaulich kann man sich unter der Menge Kzul aller zulassigen Punk-te ein konvexes Polyeder im Rn vorstellen. Ist es beschrankt, so wird dasZielfuktional seinen maximalen Wert in einer Ecke annehmen. Fur eine al-gorithmische Losung ist es wesentlich, diese Vorstellung geeignet algebraischumzuformulieren. Wir kommen darauf zuruck.

Manchmal ist es gunstig, linearen Programmen eine andere Gestalt zu

90

Page 91: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

geben. Ein Programm der Gestalt

Ax = b , x ≥ 0 , x ∈ Rn ,

ctx = max

heißt kanonisches Maximum Programm. Die Begriffe von Zulassigkeitund Optimalitat von Vektoren sind geeignet anzupassen. Jedes kanonischeMaximum Programm kann man ohne weiteres als standard Programm for-mulieren, namlich als

Ax ≤ b , − Ax ≤ −b , x ≥ 0 ,

ctx = max .

Umgekehrt gelangt man von dem standard Maximum Programm

Ax ≤ b , x ≥ 0 , x ∈ Rn ,

ctx = max

durch Einfuhren von Schlupfvariablen z ∈ Rm zu dem kanonischen Pro-gramm mit demselben Wert

Ax + z = b , x ≥ 0 , z ≥ 0

ctx + 0tz = max ,

bzw. (mit der m×m Einheitsmatrix E)(A, E

)·( x

z

)= b ,

( xz

)≥ 0 ,

(c, 0)t ·( x

z

)= max .

Ganz analog betrachtet man standard Minimum Programme

Ax ≥ b , x ≥ 0 , x ∈ Rn ,

ctx = min

und kanonische Minimum Programme

Ax = b , x ≥ 0 , x ∈ Rn ,

ctx = min .

Der Wert dieser Programme ist

infx∈Mz

ctx .

91

Page 92: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

5.2 Dualitat

Die linearen Programme

Ax ≤ b , x ≥ 0 , x ∈ Rn ,

ctx = max(P)

und

ytA ≥ ct , y ≥ 0 , y ∈ Rm ,

ytb = max(D)

heißen dual. (P) wird als Primalprogramm, (D) als Dualprogramm be-zeichnet. Naturlich kann man (D), lasst man die Dualitat einmal beiseite,auch mit der Ungleichung Aty ≤ c und dem Zielfunktional bty formulieren.

Zwischen den Werten von (P) und (D) besteht ein enger Zusammenhang.Einen ersten Einblick gewahrt der schwache Dualitatssatz.

Proposition 5.1. Seien x, y zulassige Losungen von (P) und (D). Dann gilt

ctx ≤ ytb .

Aus den Ungleichungen in (P) und (D) erhalten wir namlich ctx ≤ ytAx ≤ytb.

Es folgt: Der Wert des Primalprogramms lasst sich von unten durchzulassige Losungen von (P) einschachteln, und von oben durch zulassigeLosungen von (D). Algorithmisch gesehen spricht man deswegen von einemgut charakterisierten Problem.

Der schwache Dualitatssatz lasst sich wesentlich verscharfen, zum Haupt-satz uber das Lineare Programmieren.

Satz 5.2. Entweder besitzen (P) und (D) beide zulassige Losungen. Dannhaben sie auch optimale Losungen xopt, yopt, und beide Programme habendenselben endlichen Wert

ctxopt = ytoptb .

Oder aber eines der Programme (P) und (D) ist nicht losbar. Dann hat dasandere Programm keine optimale Losung, es ist entweder nicht losbar oderhat den Wert ±∞.

Fur das Primalprogramm konnen wir damit festhalten: Besitzt (P) zulassi-ge Losungen, und ist das Zielfunktional auf Kzul nach oben beschrankt, sohat (P) auch optimale Losungen.

Zum Beweis benotigen wir folgende Proposition.

92

Page 93: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Proposition 5.3. Eine der folgenden beiden Moglichkeiten trifft zu:

(A) Ax ≤ b , x ≥ 0 ist losbar.

(B) ytA ≥ 0 , y ≥ 0 , ytb < 0 ist losbar.

Es ist leicht zu sehen, dass (A) und (B) nicht gleichzeitig gelten konnen.

Beweis. Sei K := {Ax + u ∈ Rm : x ≥ 0, u ≥ 0}. Wir unterscheiden zweiFalle. Entweder gilt b ∈ K, dann trifft offenbar (A) zu. Oder b 6∈ K. Dannhat b positiven Abstand von K. Anders ausgedruckt, die Mengen

K1 := {Ax : x ≥ 0} , K2 := {b− u : u ≥ 0}

haben positiven Abstand. Offenbar sind K1 und K2 konvex, deswegen gibtes nach den Prinzipien der konvexen Analysis eine trennende Hyperebenezwischen K1 und K2, d.h. eine Linearform `(v) = ytv und eine reelle Zahl α,so dass

`(v) > α fur alle v ∈ K1 , `(v) < α fur alle v ∈ K2 .

Insbesondere gilt 0 = `(0) > α. Es folgt ytAx = `(Ax) > α fur alle x ≥ 0.Dies ist nur im Fall ytA ≥ 0 moglich. Weiter folgt ytb − λyi = `(b − λei) <α < 0 fur alle λ ≥ 0, dabei bezeichnen e1, . . . , en die kanonischen Einheits-vektoren des Rn. Mit λ → ∞ folgt yi ≥ 0, also y ≥ 0. Schließlich folgtytb = `(b) < α < 0, die drei Bedingungen aus (B) sind also alle erfullt. 2

Beweis des Hauptsatzes. Nehmen wir zunachst an, dass (P) und (D) zulassigeLosungen x∗, y∗ besitzen. In Anbetracht des schwachen Dualitatssatzes langtes dann zu zeigen, dass das System

Ax ≤ b , x ≥ 0

Aty ≥ c , y ≥ 0

ctx− bty ≥ 0

bzw. A 00 −At

−ct bt

·(

xy

)≤

b−c

0

,

(xy

)≥ 0

losbar ist. Andernfalls gabe es nach der letzten Proposition Vektoren u ∈ Rm,v ∈ Rn, w ∈ R, so dass

(utvtw) ·

A 00 −At

−ct bt

≥ 0 , u ≥ 0 , v ≥ 0 , w ≥ 0 , btu < ctv ,

93

Page 94: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

bzw.

utA ≥ wct , Av ≤ wb , u ≥ 0 , v ≥ 0 , w ≥ 0 , utb < ctv .

Diese Ungleichungen konnen jedoch bei Existenz von zulassigen Losungenvon (P) und (D) nicht gleichzeitig bestehen: Gilt w = 0, so folgt der Wider-spruch

0 ≤ utAx∗ ≤ utb < ctv ≤ (y∗)tAv ≤ 0 ,

und gilt w > 0, so sind x := w−1v, y = w−1u zulassige Losungen von (P)und (D), und nach dem schwachen Dualitatssatz ergibt sich der Widerspruchctv = w(ctx) ≤ w(ytb) = utb. Damit ist der erste Teil des Satzes bewiesen.

Zum zweiten Teil: Nehmen wir an, dass (P) keine Losung hat. Nach derProposition gibt es dann ein y mit ytA ≥ 0, y ≥ 0 und ytb < 0. Besitzt nun(D) eine zulassige Losung y∗, so ist auch y∗ + λy fur λ ≥ 0 zulassig fur (D),und es erweist sich, dass (D) den Wert −∞ hat. In jedem Fall hat dann (D)keine optimale Losung. 2

5.3 Eckpunkte

Die Anschauung sagt, dass das Zielfunktional eines linearen Programmesseinen Extremalwert in Ecken des zulassigen Bereichs annimmt. Dies wollenwir prazisieren. Wir gehen in diesem Abschnitt von einem linearen Programm

Ax = b , x ≥ 0 , x ∈ Rn ,

ctx = max(K)

in kanonischer Form aus.

Definition 5.4. Sei K ⊂ Rn konvexe Menge. Dann heißt x ∈ K Ecke oderExtremalpunkt, falls fur alle x′, x′′ ∈ K und alle 0 < λ < 1 gilt

x = λx′ + (1− λ)x′′ ⇒ x′ = x′′ .

Sowohl die Menge Kzul der zulassigen Punkte wie die Menge Kopt deroptimalen Punkte sind konvexe Mengen.

Fur x ∈ Kzul sei nun

Zx := {j : j = 1, . . . , n , xj > 0} .

Mitaj := (a1j, . . . , amj)

t , j = 1, . . . , n

94

Page 95: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

bezeichnen wir die Spalten von A. Ist x zulassig, so sei

Ax := (aj)j∈Zx

die Matrix, die aus den Spalten aj mit xj > 0 besteht. Setzen wir fur zulassi-ges x seinen reduzierten Vektor als

rx := (xj)j∈Zx ,

so erhalten wir fur das Lineare Programm (K)

Axrx = b .

Proposition 5.5. Ist Kzul nicht leer, so besitzt Kzul Ecken.

Beweis. Wir wahlen x so, dass Zx moglichst wenige Elemente hat. Ist xkeine Ecke, so gibt es x′, x′′ ∈ Kzul, x′ 6= x′′, und 0 < λ < 1, so dassx = λx′ + (1−λ)x′′. Aus x, x′, x′′ ≥ 0 folgt Zx′ , Zx′′ ⊂ Zx. Dann gilt auch furreelles ρ und fur

xρ := x + ρ(x′ − x′′)

Zxρ ⊂ Zx, und xρ ist zulassige Losung von (K), wenn ρ dem Absolutbetragnach ausreichend klein ist. Wegen x′ 6= x′′ ist bei passender Wahl von ρ je-doch Zxρ 6= Zx, im Widerspruch zur Wahl von x. Deswegen ist x Ecke vonKzul. 2

Proposition 5.6. x ∈ Kzul ist genau dann Ecke, wenn die Spalten von Ax

linear unabhangig sind.

Bew. Ist x keine Ecke, x = λx′ + (1 − λ)x′′ mit x′ 6= x′′ und Ax′ = Ax′′, sofolgt x′

j = x′′j = 0 fur xj = 0 und folglich∑j∈Zx

(x′j − x′′

j )aj =∑

j

(x′j − x′′

j )aj = Ax′ − Ax′′ = 0.

Wegen x′ 6= x′′ sind also Spalten von Ax linear abhangig. Umgekehrt bestehedie lineare Abhangigkeit ∑

j∈Zx

vjaj = 0.

Wir setzen vj = 0 fur xj = 0, v = (v1, . . . , vn)t und ρ > 0. Fur

x′ := x + ρv , x′′ := x− ρv

gilt dann, Ax′ = Ax′′ = b, x = x′/2 + x′′/2 und, sofern ρ ausreichend kleinist, x′, x′′ ≥ 0. Also ist x kein Eckpunkt. 2

Wir zeigen nun, dass Kzul die Gestalt eines Polyeders hat.

95

Page 96: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Proposition 5.7. Kzul hat endlich viele Ecken.

Beweis. Es gibt endlich viele Z ⊂ {1, . . . , n}, so dass die Untermatrix AZ =(aj)j∈Z linear unabhangige Spalten hat, und zu jedem solchen Z hochstenseinen Eckpunkt x mit Zx = Z, gegeben durch das Gleichungssystem

AZrx = b , xj = 0 fur alle j 6∈ Z ,

das wegen der linearen Unabhangigkeit hochstens eine Losung hat. 2

Auf der nachfolgende Aussage beruhen die Algorithmen zur Bestimmungoptimaler Losungen.

Proposition 5.8. Hat (K) optimale Losungen, so sind unter diesen Losun-gen auch Ecken von Kzul.

Beweis. Sei w der Wert von (K). Dann ist die Menge der optimalen Losun-gen von (K) gerade die Menge der zulassigen Losungen des kanonischen Pro-gramms ( A

ct

)· x =

( bw

), x ≥ 0.

Wir konnen die Resultate uber Kzul also auf Kopt ubertragen und feststellen,dass die konvexe Menge Kopt Ecken besitzt.

Wir zeigen, dass es sich dabei um Ecken von Kzul handelt. Sei x Ecke vonKopt und x = λx′ + (1− λ)x′′ mit x′, x′′ ∈ Kzul und λ ∈ (0, 1). Es folgt

ctx = λctx′ + (1− λ)ctx′′ .

Wegen der Optimalitat von x gilt ctx = ctx′ = ctx′′, daher folgt x′, x′′ ∈ Kopt.Nach Annahme folgt x′ = x′′. Damit ist x auch Ecke von Kzul. 2

5.4 Ganzzahliges Programmieren

In einer Anzahl von Problemstellungen sucht man Losungen x von LinearenProgrammen mit ganzzahligen Komponenten, oder noch spezieller mit Kom-ponenten, die nur 0 oder 1 sein durfen. Wir betrachten jetzt also Programmeder Gestalt

Ax ≤ b , x ∈ {0, 1}n ,

ctx = max .

96

Page 97: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Beispiel. Uberdecken von Mengen. Wir betrachten eine m-elementigeMenge I und Teilmengen S1, . . . , Sn, die I vollstandig uberdecken, also

n⋃j=1

Sj = I .

Seien c1, . . . , cn nicht-negative ganze Zahlen. cj wird interpretiert als Ko-sten fur Sj. Die Aufgabe besteht nun darin, eine Teiluberdeckung von Imit moglichst geringen Kosten zu finden, d.h. paarweise verschiedene Zahlen1 ≤ j1, . . . , jk ≤ n zu bestimmen, so dass

k⋃r=1

Sjr = I

gilt undk∑

r=1

cjr

moglichst klein ist. Wir betrachten folgenden gierigen (greedy) Algorith-mus zum Uberdecken von I:

Sind Sj1 , . . . , Sjl−1schon ausgewahlt, und gilt Il :=

⋃l−1r=1 Sjr 6= I, so wahle

j 6= j1, . . . , jl−1 so, dass cj/|Sj − Il| moglichst klein ist. Setze jl := j.

Definieren wir (in Abhangigkeit von diesem Algorithmus) den Preis voni ∈ I als

p(i) :=cjl

|Sjl− Il|

fur alle i ∈ Sjl− Il ,

so lasst sich der Algorithmus kurz so in Worte fassen: Nehme immer solchein Sj neu in die Uberdeckung auf, dessen Elemente einen moglichst geringenPreis haben. Ist I vollstandig uberdeckt, so bricht der Algorithmus ab.

Wir wollen seine Gute untersuchen und zeigen, dass der gierige Algo-rithmus die geringstmoglichen Kosten einer Uberdeckung hochstens um denFaktor

hn := 1 +1

2+ · · ·+ 1

nubertrifft.

Dazu formulieren wir das zugehorige ganzzahlige Programm∑j:Sj3i

xj ≥ 1 fur alle i ∈ I , x ∈ {0, 1}n ,

∑j

cjxj = min .

97

Page 98: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

xj = 1 bedeutet, dass Sj in die Teiluberdeckung aufgenommen wird. Durchdie Ungleichung ist garantiert, dass I vollstandig uberdeckt wird. Die zu-gehorige Matrix A hat die Eintrage aij = 1 oder 0, je nachdem, ob i ∈ Sj

oder i 6∈ Sj gilt. b ist hier der Vektor aus lauter Einsen.Um Anschluss an die Theorie linearer Programme zu erhalten, formulie-

ren wir das entsprechende (durch Relaxation erhaltene) standard MinimalProgramm ∑

j:Sj3i

xj ≥ 1 fur alle i ∈ I , x ≥ 0 ,

∑j

cjxj = min .

und sein duales Programm∑i:i∈Sj

yi ≤ cj fur alle j , y ≥ 0 ,

∑i

yi = max .

Wir zeigen nun, dass mit

yi := p(i)/hn , i ∈ I

eine zulassige Losung y des Dualprogramms gegeben ist. Fur vorgegebenesj seien i1, . . . , ir die Elemente von Sj, und zwar in einer Reihenfolge, wie sieder gierige Algorithmus der Reihe nach uberdeckt. Sj uberdeckt dann ia mitKosten hochstens cj/(r − a + 1), also gilt

p(ia) ≤ cj

r − a + 1

und folglich ∑i∈Sj

yi ≤1

hn

r∑a=1

cj

r − a + 1=

hr

hn

cj ≤ cj .

Also ist y zulassig fur das Dualprogramm. Der gierige Algorithmus ergibtoffenbar eine zulassige Losung des Primalprogramms mit Kosten∑

i

p(i) = hn

∑i

yi .

Nach dem schwachen Dualitatssatz (dessen Primalprogramm hier ein Mini-mum Programm ist) gilt andererseits fur jede zulassige Losung x des Primal-programms ∑

j

cjxj ≥∑

i

yi .

98

Page 99: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Wie behauptet folgt fur die Kosten des gierigen Algorithmus∑i

p(i) ≤ hn

∑j

cjxj ,

also Optimalitat bis auf den Faktor hn. 2

Dieses Beispiel illustriert eine wichtige Methode der ganzzahligen Pro-grammierung, namlich durch Relaxation die Verbindung zum Linearen Pro-grammieren herzustellen. Ein direkter Zusammenhang besteht in solchenFallen, wo die Eckpunkte von Kzul bereits ganzzahlig sind.

Definition 5.9. Eine Matrix A heißt total unimodular, falls fur jede qua-dratische Untermatrix von A die Determinante den Wert 1,0 oder −1 hat.

Insbesondere hat A dann nur die Eintrage 1,0 und −1.

Satz 5.10. Ist A total unimodular und b ein Vektor mit ganzzahligen Kom-ponenten, so sind auch die Ecken des Polyeders {x ∈ Rn : Ax = b, x ≥ 0}ganzzahlig.

Beweis. Sei x Ecke. Dann besitzt Ax linear unabhangige Spalten und eineregulare Untermatrix A′ mit derselben Spaltenzahl. Aus Axrx = b folgt

A′rx = b′

mit dem entsprechend reduzierten Vektor b′. Nach Annahme hat A′ Deter-minante 1 oder −1. Aus der Cramerschen Regel folgt daher, dass rx und alsoauch x ganzzahlige Komponenten hat. 2

Korollar 5.11. Ist A total unimodular und b ein Vektor mit ganzzahligenKomponenten, so sind auch die Ecken des Polyeders {x ∈ Rn : Ax ≤ b, x ≥0} ganzzahlig.

Beweis. Das zugehorige kanonische Programm mit Schlupfvariablen hat dieMatrix A′ = (A, E) (vgl. Abschnitt 5.1). Mit A ist auch A′ unimodular(Ubung), nach dem vorangegangenen Satz hat daher das kanonische Pro-gramm und damit auch das ursprungliche Lineare Programm ganzzahligeEcken. 2

99

Page 100: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Beispiel. Matching in bipartiten Graphen. Wir betrachten einen bi-partiten Graph G mit m Knoten und n Kanten. Die Menge der Knotenbesteht aus disjunkten Teilen U und V , und jede Kante besitzt ein Ende inU und eines in V . Wenn der Knoten i Endpunkt der Kante j ist, heißen iund j inzident. Die Matrix A mit Eintragen

aij ={ 1 falls Knoten i und Kante j inzident sind,

0 sonst

heißt Inzidenzmatrix, sie beschreibt G vollstandig.Wir zeigen, dass die Inzidenzmatrix eines bipartiten Graphen total un-

imodular ist. Inzidenzmatrizen eines Graphen haben die Gestalt, dass jedeSpalte genau 2 Einsen enthalt, weil jede Kante genau 2 Eckpunkte hat. Beieinem bipartiten Graphen hat A ohne Einschrankung folgende Gestalt,

A =( A′

A′′

),

wobei A′ und A′′ in jeder Spalte genau eine Eins enthalten.Sei nun B k × k Untermatrix von A. Wir zeigen per Induktion, dass

die Determinante gleich 1,0, oder −1 ist. Der Induktionsanfang k = 1 istoffenbar. Fur den Induktionsschritt von k nach k + 1 unterscheiden wir dreiFalle.

i) B enthalt eine Spalte aus lauter Nullen. Dann ist det B = 0.

ii) B enthalt eine Spalte mit genau einer Eins, etwa

B =( 1 . . .

0 B′

).

Dann gilt det B = ± det B′ mit einer k × k Untermatrix B′, und dieBehauptung folgt nach Induktionsannahme.

iii) Alle Spalten von B enthalten zwei Einsen, B hat also die Gestalt

B =( B′

B′′

),

wobei B′ und B′′ in jeder Spalte eine Eins haben. Durch Addition allerZeilen von B′ (außer der ersten) zur ersten Zeile entsteht eine Zeile auslauter Einsen, dabei verandert sich det B nicht. Ahnlich erhalt man inB′′ eine Zeile aus lauter Einsen, und es folgt det B = 0.

100

Page 101: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

A ist also total unimodular.Als Anwendung leiten wir einen Spezialfall des Dualitatssatzes fur bi-

partite Graphen ab, eine kombinatorische Aussage uber Matchings. Dazubezeichne S die Menge der Kanten und T = U ∪ V die Menge der Knoten.Jeder 01-Vektor

x = (xj)j∈S

reprasentiert eine Teilmenge X ⊂ S, gemass der Vereinbarung xj = 1 oder0, je nachdem ob j ∈ X oder j 6∈ X. Genauso reprasentiert jeder 01-Vektor

y = (yi)i∈T

eine Teilmenge Y ⊂ T . Dann gilt

Ax ≤ 1 ⇔ zwei Kanten aus X haben keinen gemeinsamen Knoten.

In diesem Fall heißt X ein Matching. Ahnlich gilt

ytA ≥ 1 ⇔ jede Kante ist mit einem Knoten aus Y inzident.

Y heißt dann Trager. Offenbar sind die Linearen Programme

Ax ≤ 1 , x ≥ 0 , x ∈ Rn ,∑j

xj = max

und

ytA ≥ 1 , y ≥ 0 , y ∈ Rm ,∑i

yi = min

zueinander dual, und besitzen die zulassigen Losungen x = (0 . . . , 0)t undy = (1, . . . , 1)t, so dass beide Programme optimale Losungen und denselbenWert haben. Außerdem ist A total unimodular, und damit sind alle Eckenganzzahlig. Man uberzeugt sich, dass optimale Ecken nur 0 oder 1 als Kom-ponenten haben. In diesem Fall gilt

∑j xj = |X|,

∑i yi = |Y |, und nach dem

Hauptsatz fur Lineare Programme folgt

max{|X| : X ist Matching} = min{|Y | : Y ist Trager} .

Maximale Matchings und minimale Trager haben also die gleiche Kardina-litat. 2

101

Page 102: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

5.5 Der Simplex-Algorithmus

Der Simplex-Algorithmus findet optimale Losungen von Linearen Program-men bzw. erkennt, dass keine optimalen Losungen existieren, indem er in derMenge der zulassigen Losungen entlang Kanten von Ecke zu Ecke springt.

1. Wahl der Startecke. Wir gehen von einem standard Maximum Pro-gramm

A′x′ ≤ b′ , x′ ≥ 0 , x′ ∈ Rn ,

(c′)tx′ = max

aus. Um eine zulassige Startecke zu finden, erweitern wir es mittels Schlupf-variablen z zum kanonischen Maximum Programm

Ax = b , x ≥ 0 , x ∈ Rn+m ,

ctx = max

mit

A := (A′, E) , x =( x′

z

), b = b′ , c =

( c′

0

)und der m × m Einheitsmatrix E. Fur optimale Ecken dieses Programmskonnen wir z ohne Einschrankung als 0 annehmen, so dass die Bestimmungoptimaler Ecken fur beide Linearen Programme aquivalent ist.

Ohne Einschrankung der Allgemeinheit konnen wir b ≥ 0 annehmen,sonst multipliziere man negative Komponenten von b und die entsprechendeZeile in A mit dem Faktor −1. Dann ist

xStart :=( 0

b

)Ecke der zulassigen Punkte des kanonischen Programms. Dies folgt nachProposition 5.6, denn AxStart

ist gleich E bzw. gleich einer Diagonalmatrixmit Diagonaleintragen 1 oder −1 und hat damit linear unabhangige Spalten.

2. Etwas Algebra. Wir arbeiten weiter mit dem erweiterten kanonischenProgramm. Durch das Hinzufugen von E hat A den Rang m. Sei x Ecke derMenge zulassiger Punkte. Dann hat nach Proposition 5.6 Ax unabhangigeSpalten. Wir erweitern die Spaltenvektoren zu einer Basis aj, j ∈ Jx, die wirmit Bx bezeichnen. Es gilt also Zx ⊂ Jx bzw. xj = 0 fur alle j 6∈ Jx. Alle

102

Page 103: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

Spalten von A lassen sich dann eindeutig als Linearkombination dieser Basendarstellen,

ak =∑j∈Jx

ajτjk ,

mit reellen Zahlen τjk = τjk(x).Sei nun x′ ein weiterer zulassiger Punkt. Dann gilt∑

j∈Jx

ajxj = Ax = Ax′ =∑

k

akx′k =

∑j∈Jx

aj

∑k

τjkx′k .

Durch Koeffizientenvergleich folgt fur j ∈ Jx

xj =∑

k

τjkx′k = x′

j +∑k 6∈Jx

τjkx′k , (5.1)

denn fur j, k ∈ Jx gilt τjj = 1 und τjk = 0 fur j 6= k. Fur das Zielfunktionalfolgt

ctx′ =∑j∈Jx

cjx′j +

∑k 6∈Jx

ckx′k =

∑j∈Jx

cjxj +∑k 6∈Jx

(ck −

∑j∈Jx

cjτjk

)x′

k

oderctx′ = ctx +

∑k 6∈Jx

dkx′k (5.2)

mitdk := ck −

∑j∈Jx

cjτjk .

3. Benachbarte Ecken. Nun betrachten wir zwei Eckpunkte x, x′, fur diesich Jx und Jx′ minimal unterscheiden, d.h. Jx′ − Jx nur aus einem einzigenElement besteht, das wir mit l bezeichnen. Nach (5.1) gilt

x′j =

xj − τjlx

′l j ∈ Jx

x′l j = l

0 sonst

und nach (5.2)ctx′ = ctx + dlx

′l . (5.3)

Anschaulich gesprochen sind x und x′ benachbart, also durch eine Kanteverbunden. Dementsprechend betrachten wir fur δ ≥ 0 auch die Punkte x(δ)mit Komponenten

xj(δ) =

xj − τjlδ j ∈ Jx

δ j = l0 sonst

103

Page 104: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

4. Der Algorithmus. Der Simplex-Algorithmus beginnt seine Suche desMinimums in obiger Startecke und wechselt entlang Kanten zu immer neuenEcken, bis er eine optimale Ecke trifft bzw. feststellt, dass es keine optimaleEcke gibt. Wenn er sich in einer Ecke x befindet, gibt es verschiedene Fallezu unterscheiden:

Fall 1. dl ≤ 0 fur alle l.Nach (5.3) hat keine benachbarte Ecke einen großeren Wert des Ziel-funktionals. Nach (5.2) gilt ctx ≥ ctx′ fur alle zulassigen x′, und xist optimaler Eckpunkt.

Fall 2. Es gibt ein l 6∈ Jx mit dl > 0 und τjl ≤ 0 fur alle j.Dann ist x(δ) fur alle δ ≥ 0 zulassig, und es gilt

ctx(δ) = ctx + δdl.

Der Grenzubergang δ → ∞ zeigt, dass der Wert des linearen Pro-grammes ∞ ist und keine optimalen Losungen existieren.

Fall 3. Es gibt ein l 6∈ Jx mit dl > 0 und τjl > 0 fur ein j, sowie xj > 0 furalle j ∈ Jx.Dann ist x(δ) zulassig fur δ > 0 sofern δ nicht zu groß ist. Wir wahlenδ so groß, dass gerade eines der xj(δ) verschwindet, etwa fur j = k,und setzen

x′ = x(δ) .

Dann ist x′ zulassige Ecke ist. Andernfalls gabe es namlich nachProposition 5.6 reelle Zahlen λj mit∑

j∈Jx

ajτjl = al =∑

j∈Zx , j 6=k

ajλj ,

und wegen der linearen Unabhangigkeit der aj, j ∈ Zx erhielten wirτjl = 0 im Widerspruch zur Annahme. Nach (5.3) hat das Zielfunk-tional in x′ einen großeren Wert, und der Algorithmus wechselt vonx nach x′ uber.

Fall 4. Es gibt ein l 6∈ Jx mit dl > 0 und τjl > 0 fur ein j, sowie xj = 0 furein j ∈ Jx.In diesem Fall einer entarteten Ecke gehen wir analog vor. Hier kannes passieren, dass δ = 0 zu wahlen ist. Dann andert man zwar dieBasis Bx, aber nicht die Ecke. Durch andere Basiswechsel kommtman aber schließlich aus der Ecke entlang einer Kante heraus. Manmuss dabei vermeiden, dass man sich ungeschickt in einen Zyklusvon Basiswechseln hineinbegibt.

104

Page 105: Diskrete Mathematik - math.uni-frankfurt.deismi/kersting/lecturenotes/DiskreteMathematik.pdf · Diskrete Mathematik G¨otz Kersting, SS 2005 Die Diskrete Mathematik behandelt ,diskrete‘,

5. Das Tableau-Schema. In der praktischen Durchfuhrung hat es sichbewahrt, die relevanten Daten als Tableau anzuordnen. Fur die Ecke x siehtdas so aus,

k l

i τik xi xi/τik

j τjl

dk

i ∈ Jx

k 6∈ Jx

m m

m

Die Stelle des nachsten Basiswechsels ist umkreist und heißt Pivotelement.Das Ausgangstableau hat die Gestalt

1 . . . nn + 1 a11 . . . a1n b1

......

......

n + m am1 . . . amn bm

c1 . . . cn

Details finden sich in Lehrbuchern.

105