• Keine Ergebnisse gefunden

der Vorlesung. Wesentliche Inhalte werden ausschließlich in der Vorlesung vermittelt. Daher ist dieses

N/A
N/A
Protected

Academic year: 2021

Aktie "der Vorlesung. Wesentliche Inhalte werden ausschließlich in der Vorlesung vermittelt. Daher ist dieses"

Copied!
135
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Udo Hebisch

SS 2020

Dieses Skript enth¨ alt nur den “roten Faden”

der Vorlesung. Wesentliche Inhalte werden ausschließlich in der Vorlesung vermittelt. Daher ist dieses

Skript nicht zum Selbststudium gedacht, sondern

nur als “Erinnerungsst¨ utze”.

(2)

Inhaltsverzeichnis

1 Einf¨ uhrung und Motivation 5

2 Freie Halbgruppen und Codierungen 8

3 Eigenschaften von Blockcodes 15

4 Lineare Codes 27

5 Zyklische Codes 41

6 Kryptosysteme 49

7 Perfekt sichere Kryptosysteme 64

8 Data Encryption Standard 67

9 Der RSA-Algorithmus 69

10 Quadratwurzeln modulo n 73

11 Diskreter Logarithmus 76

12 Elliptische Kurven 80

13 Anhang zur Codierungstheorie 83

13.1 ASCII-Code . . . . 83

13.2 Hexadezimalcode . . . . 85

13.3 ISO-7 . . . . 86

13.4 Bacon-Code (um 1580) . . . . 87

(3)

13.5 Morse-Alphabet . . . . 88

13.6 Dezimalziffern-Codes . . . . 90

13.6.1 Z¨ ahlcode . . . . 90

13.6.2 Tetradencodes . . . . 90

13.6.3 Pentadencodes . . . . 91

13.7 L¨ angere Bin¨ arcodes . . . . 92

13.8 CCIT-2 . . . . 93

13.9 Flexowriter . . . . 95

13.10IBM-Lochkarten-Code . . . . 96

13.11EAN-13-Codierungen . . . . 97

13.12L¨ anderkennungen der Euro-Banknoten . . . . 98

13.13Pr¨ ufzifferncodierung der DM-Scheine von 1990 - 2001 . . . . 99

13.13.1 Codierung der Buchstaben . . . . 99

13.13.2 Verkn¨ upfungstafel der Diedergruppe D5 . . . . 99

13.13.3 Verwendete Permutation und ihre Potenzen . . . . 99

13.14Pr¨ ufzifferncode bei Schweizer Einzahlungsscheinen . . . 100

13.15Fehlerh¨ aufigkeiten bei der Ziffern¨ ubermittlung . . . 101

13.16Eight-To-Fourteen-Modulation (EFM) . . . 102

13.17Irreduzible Polynome . . . 106

13.17.1 Der K¨ orper GF(8) . . . 107

13.18Inverse modulo 26 . . . 107

(4)

14 Anhang zur Kryptographie 109

14.1 Hexadezimalcode . . . 109

14.2 Bacon-Code (um 1580) . . . 110

14.3 Buchstabenh¨ aufigkeiten . . . 111

14.4 Vigen` ere-Tafel . . . 114

14.5 Irreduzible Polynome . . . 115

14.5.1 Der K¨ orper GF(8) . . . 116

14.6 DES . . . 117

14.6.1 Verwendete Permutationen/Expansion . . . 117

14.6.2 S-Boxen . . . 118

14.6.3 Rundenschl¨ ussel . . . 119

14.7 Quantencodierung . . . 121

14.7.1 Schl¨ usselvereinbarung . . . 121

14.7.2 Abgeh¨ orter Quantenkanal . . . 121

14.8 Inverse modulo 26 . . . 122

15 L¨ osungen zu ausgew¨ ahlten Aufgaben 123

(5)

1 Einf¨ uhrung und Motivation

Bei der ¨ Ubertragung von Daten geht man im allgemeinen von folgendem Modell aus. Ein Sender (auch Quelle genannt) erzeugt Nachrichten in Form von Signalen.

Handelt es sich dabei um kontinuierliche Signale, spricht man von analoger Da- ten¨ ubertragung, handelt es sich dagegen um diskrete Signale, so betrachtet man die digitale Daten¨ ubertragung. Die Nachrichten durchlaufen dann einen Kanal und erreichen letztlich den Empf¨ anger. Auch das Speichern von Daten auf einem Medium, beispielsweise einer CD oder DVD, und das anschließende Herausle- sen kann man mit diesem Modell erfassen. Dabei wird das Speichermedium als Kanal, der Speichervorgang als Senden und der Lesevorgang als Empfang gedeu- tet. Im Rahmen dieser Vorlesung wird ausschließlich die digitale Daten¨ ubertra- gung betrachtet und man faßt die einzelnen Signale als Buchstaben oder Symbole aus einem Alphabet auf. Das geeignete mathematische Beschreibungswerkzeug ist zun¨ achst die Halbgruppentheorie (vgl. Beispiel 2.3).

Bei dieser Form der Daten¨ ubertragung k¨ onnen grunds¨ atzlich mindestens die fol- genden beiden Problemkreise auftreten. Einerseits k¨ onnen beim ¨ Ubertragen der Zeichen im Kanal St¨ orungen oder Fehler auftreten, indem einzelne Zeichen (Ein- zelfehler) oder ganze Zeichenfolgen (Fehlerb¨ undel) in andere Zeichen verf¨ alscht werden, wobei man auch die Ausl¨ oschung als Verf¨ alschung in ein geeignetes Sym- bol deuten kann. Man hat also die Aufgabe, den Nachrichten zus¨ atzliche, ei- gentlich ¨ uberfl¨ ussige oder redundante Informationen mitzugeben, sie zu codie- ren. Diese Informationen sollen es dem Empf¨ anger bei der Decodierung gestat- ten, m¨ oglichst viele aufgetretene Fehler zu erkennen oder gar zu korrigieren. Mit diesen Problemen der Fehlererkennung und Fehlerkorrektur (vgl. Definition 3.5) befaßt sich die Codierungstheorie. Da die genannten St¨ orungen in der Regel tech- nisch bedingt sind und zuf¨ allig auftreten, wird man zu ihrer Modellierung und Behebung auch wahrscheinlichkeitstheoretische ¨ Uberlegungen heranziehen.

Beispiel 1.1 Bei der ¨ Ubertragung der auf einer Tastatur darstellbaren Buchsta-

ben, Zahlen und Sonderzeichen in den Rechner werden diese Zeichen in der Regel

in Bytes umgewandelt oder codiert. Dies sind Folgen aus 8 Bits, wobei jedes Bit

entweder eine 0 oder eine 1 ist. Da es genau 2

8

= 256 verschiedene Bytes gibt,

kann man maximal 256 Zeichen auf diese Weise darstellen. Nun existieren auf der

Tastatur aber weit weniger als 128 verschiedene Zeichen, auch wenn man Groß-

und Kleinschreibung unterscheidet. Hiervon macht man Gebrauch, um einfache

Ubertragungsfehler erkennen zu k¨ ¨ onnen. Man ordnet den Zeichen der Tastatur in

irgend einer festen Weise, beispielsweise nach dem ASCII-Code (American Stan-

dard Code for Information Interchange) gem¨ aß A 7→ 1000001, B 7→ 1000010, . . .,

einige der Zahlen von 0 = 0000000 bis 127 = 1111111 zu und ermittelt aus den

(6)

sieben Bits c

7

c

6

c

5

c

4

c

3

c

2

c

1

dieser Zahlen das f¨ uhrende achte Bit c

8

des Bytes als Parit¨ atsbit gem¨ aß

c

8

=

7

X

i=1

c

i

mod 2.

(1)

Ist also die Summe gerade, so wird c

8

= 0 berechnet, ist sie ungerade, so wird c

8

= 1 berechnet. Die Summe aller 8 Bits eines codierten Zeichens ist also stets gerade. Der Empf¨ anger eines derart codierten Zeichens kann (1) wiederum fol- gendermaßen als Kontrollgleichung benutzen. Tritt bei der Daten¨ ubertragung an genau einer Stelle ein Fehler auf, d.h. wird genau eine 0 in eine 1 verwandelt oder umgekehrt, so wird das empfangene Byte (1) nicht erf¨ ullen und damit als feh- lerhaft erkennbar. Nat¨ urlich ist nicht erkennbar, welches Bit umgeklappt wurde, und der aufgetretene Fehler kann nicht korrigiert werden. Es kann aber etwa eine nochmalige ¨ Ubertragung angefordert werden, sogenanntes ARQ-Verfahren (Au- tomatic Repeat Request). F¨ ugt man dagegen weitere redundante Bits hinzu, so k¨ onnen bestimmte Fehler nicht nur erkannt, sondern sogar automatisch korrigiert werden, sogenanntes FEC-Verfahren (Forward Error Correction). Man kann auf- grund dieses Beispiels erahnen, daß bei dieser Art der Codierungstheorie Lineare Algebra ¨ uber dem K¨ orper Z /(2) oder allgemein ¨ uber endlichen K¨ orpern ins Spiel kommt (vgl. auch Definition 3.13 und Folgerung 3.14).

Der zweite Problemkreis betrifft die Geheimhaltung der Nachrichten. Der Sender

ist oft daran interessiert, daß nur ein bestimmter Empf¨ anger die Nachricht ver-

stehen kann und ein unbefugter Empf¨ anger oder passiver Angreifer, der ebenfalls

den Kanal abh¨ oren kann, nur f¨ ur ihn unverst¨ andliche Zeichenfolgen erkennt. Man

wird also die Nachricht, den Klartext, nach M¨ oglichkeit so in einen Geheimtext

verschl¨ usseln oder chiffrieren, daß nur jemand, der ¨ uber einen entsprechenden

Schl¨ ussel verf¨ ugt, den eigentlichen Informationsgehalt der ¨ ubertragenen Zeichen-

folge erschließen bzw. dechiffrieren kann. Ohne Schl¨ ussel soll die Rekonstruktion

der urspr¨ unglichen Nachricht extrem unwahrscheinlich sein. Weiterhin soll die

Verschl¨ usselung nach M¨ oglichkeit verhindern, daß ein aktiver Angreifer die Nach-

richt des Senders ver¨ andert, ohne daß der Empf¨ anger dies bemerkt, die Integrit¨ at

der Nachricht soll garantiert sein. Dar¨ uber hinaus soll die Verschl¨ usselung dem

Empf¨ anger eventuell auch die M¨ oglichkeit geben, zu erkennen, ob der Absender

tats¨ achlich der vermutete Sender ist. Dieses Problem betrifft also die Authentifi-

kation des Senders. Schließlich sollte es dem Sender auch unm¨ oglich sein, sp¨ ater

zu leugnen, eine bestimmte Nachricht gesendet zu haben. Die Nachricht sollte

verbindlich sein. Alle diese Aspekte der Sicherung von Nachrichten werden in

der Kryptographie oder Kryptologie untersucht, mit der sich der zweite Teil der

Vorlesung besch¨ aftigt. (“Kryptographie” kommt aus dem griechischen κρυπτ oσ

(7)

= “geheim” und γραϕιν = “schreiben”, in “Kryptologie” steckt noch λoγoσ

= “Wort, Wissenschaft, Lehre”.) Hierbei kommt es vor allem auf den Entwurf sicherer Verschl¨ usselungsverfahren oder Kryptosysteme an, wobei haupts¨ achlich algebraische und zahlentheoretische Methoden benutzt werden. Bei der Beurtei- lung der Sicherheit von derartigen Verfahren wird man schließlich noch Methoden der Komplexit¨ atstheorie anwenden m¨ ussen.

Einf¨ uhrende Literatur zur Codierungstheorie

A. Betten et al., Codierungstheorie, Springer-Verlag, 1998. ISBN 3-540-64502-0.

W. Heise, P. Quattrocchi, Informations- und Codierungstheorie, Springer-Verlag, 1989. ISBN 3-540-50537-7.

Ernst Henze, Horst H. Homuth, Einf¨ uhrung in die Codierungstheorie, Vieweg, 1973. ISBN 3-528-03024-0.

Raymond Hill, A First Course in Coding Theory, Clarendon Press, 1986. ISBN 0-19-853803-0.

D. Jungnickel, Codierungstheorie, Spektrum-Verlag, 1995. ISBN 3-860-25432-4.

Werner L¨ utkebohmert, Codierungstheorie, Vieweg-Verlag, 2003.

ISBN 3-528-03197-2.

Ralph-Hardo Schulz, Codierungstheorie. Eine Einf¨ uhrung, Vieweg-Verlag, 2003.

ISBN 3-528-16419-0.

Peter Sweeney, Codierung zur Fehlererkennung und Fehlerkorrektur, Hanser- Verlag, 1992. ISBN 3-446-16439-1.

Wolfgang Willems, Codierungstheorie, deGruyter, 1999. ISBN 3-11-015873-6.

Wolfgang Willems, Codierungstheorie und Kryptographie, Birkh¨ auser, 2008.

ISBN 978-3-7643-8611-5.

(8)

2 Freie Halbgruppen und Codierungen

In der algebraischen Codierungstheorie werden einige Begriffe und Resultate ¨ uber Halbgruppen, Gruppen, K¨ orper und Vektorr¨ aume ben¨ otigt. Soweit sie in diesem Skript nicht nochmals aufgef¨ uhrt sind, kann man sie in den entsprechenden Skrip- ten zur Linearen Algebra und Klassischen Algebra finden.

Definition 2.1 Unter einer Halbgruppe (S, ·) versteht man eine nichtleere Men- ge S zusammen mit einer bin¨ aren Verkn¨ upfung (der Multiplikation) ·, die also je zwei Elementen a, b ∈ S genau ein Produkt a · b ∈ S zuordnet, so daß das Assoziativgesetz gilt:

a · (b · c) = (a · b) · c f¨ ur alle a, b, c ∈ S.

(2)

Besitzt die Halbgruppe ein Einselement e ∈ S gem¨ aß e · a = a · e = a f¨ ur alle a ∈ S,

(3)

so spricht man von einem Monoid. Gilt in (S, ·) das Kommutativgesetz a · b = b · a f¨ ur alle a, b ∈ S,

(4)

so nennt man die Halbgruppe (das Monoid) kommutativ.

Definition 2.2 Sind a und b Elemente einer Halbgruppe (S, ·) und ist c = a·b ihr Produkt, so nennt man a einen linken Teiler oder ein Pr¨ afix und b einen rechten Teiler oder ein Postfix bzw. Suffix von c.

Beispiel 2.3 F¨ ur eine beliebige Menge X 6= ∅ sei X

+

= S

n∈N

X

n

. Definiert man f¨ ur alle (x

1

, . . . , x

n

), (y

1

, . . . , y

m

) ∈ X

+

eine Multiplikation durch

(x

1

, . . . , x

n

) · (y

1

, . . . , y

m

) = (x

1

, . . . , x

n

, y

1

, . . . , y

m

), (5)

dann ist (X

+

, ·) eine Halbgruppe, die freie Halbgruppe ¨ uber X. Man schreibt die

Elemente (x

1

, . . . , x

n

) ∈ X

+

einfach in der Form x

1

· · · x

n

und die Multiplikation

als Konkatenation x

1

· · · x

n

y

1

· · · y

m

. Speziell f¨ ur endliches X nennt man X ein

Alphabet, die Elemente x ∈ X Buchstaben und die Elemente x

1

· · · x

n

∈ X

+

(9)

W¨ orter oder Strings uber ¨ X. Adjungiert man zu (X

+

, ·) ein leeres Wort λ als Einselement, so nennt man X

= X

+

∪ {λ} das freie Monoid ¨ uber X. Ist w = x

1

· · · x

n

∈ X

, so nennt man `(w) = n die L¨ ange von w; genau die W¨ orter u

1

= x

1

, u

2

= x

1

x

2

, . . . , u

n−1

= x

1

· · · x

n−1

, u

n

= w sind Pr¨ afixe und die W¨ orter v

1

= w, v

2

= x

2

· · · x

n

, . . . , v

n

= x

n

sind Postfixe von w. Unter einer formalen Sprache L (¨ uber dem Alphabet X) versteht man eine beliebige Teilmenge von X

.

Definition 2.4 Sind A und B Teilmengen einer Halbgruppe (S, ·) so versteht man unter dem Komplexprodukt AB die Teilmenge

AB = {a · b | a ∈ A, b ∈ B}.

(6)

F¨ ur A = B schreibt man auch A

2

anstelle von AA, f¨ ur einelementige Mengen A = {a} bzw. B = {b} schreibt man auch aB anstelle von {a}B bzw. Ab anstelle von A{b}.

Definition 2.5 Es seien A und B Alphabete. Eine Codierung von A in B ist eine beliebige Abbildung γ : A

+

→ B

+

; sie heißt eindeutig decodierbar, wenn sie injektiv ist, und sie heißt homomorph, wenn

γ (uv ) = γ(u)γ(v) f¨ ur alle u, v ∈ A

+

(7)

gilt. Die Menge C = γ(A) ⊂ B

+

heißt Code (zu γ), die Elemente c ∈ C Co- dew¨ orter. F¨ ur |B| = 2 spricht man von bin¨ aren, f¨ ur |B| = 3 von tern¨ aren Codes.

Besitzen alle Codew¨ orter c ∈ C dieselbe L¨ ange n = `(c), so heißt C ein Blockcode der L¨ ange n uber ¨ B. Ist |C| = 1, so nennt man C einen trivialen Code. Unter der Informationsrate eines Blockcodes der L¨ ange n uber einem Alphabet mit ¨ q Elementen versteht man R = R(C) =

1n

log

q

|C|.

Bemerkung 2.6 a) Man bezeichnet allgemein jede nichtleere endliche Teilmenge C einer freien Halbgruppe B

+

als Code. Man kann dies mit der obigen Definition in Einklang bringen, indem man als Alphabet A eine beliebige, zu C gleichm¨ achti- ge Menge w¨ ahlt und als Codierung γ eine beliebige bijektive Abbildung von A auf C = γ(A), die man in kanonischer Weise gem¨ aß

γ (x

1

· · · x

n

) = γ(x

1

) . . . γ(x

n

)

(8)

(10)

zu einem Homomorphismus von A

+

in B

+

fortsetzt. Auf diese Weise entsteht stets eine homomorphe Codierung, die jedoch nicht eindeutig decodierbar sein muß (vgl. Aufgabe 2.20).

b) Bei dem Alphabet B = {b

1

, . . . , b

q

} kommt es nicht auf die konkreten Symbole b

i

an, sondern nur auf die M¨ achtigkeit q = |B |. Man kann daher nach geeigneter Umbenennung B = {1, . . . , q − 1, 0} annehmen und diese Menge mit der Tr¨ ager- menge des Restklassenringes ( Z /(q), +, ·) identifizieren. Auf diese Weise hat man stets die M¨ oglichkeit, die Buchstaben des Alphabets zu addieren und zu multipli- zieren. Dies kann man unter Umst¨ anden bei der Konstruktion von Codierungen mit besonderen Eigenschaften ausnutzen (vgl. Beispiel 1.1, Definition 3.13 und Folgerung 3.14). Außerdem kann man das Auftreten von ¨ Ubertragungsfehlern dann dadurch modellieren, daß zu einem ¨ ubertragenen Codewort ein geeignetes Fehlerwort hinzuaddiert wurde. Ist q = p

k

sogar eine Primzahlpotenz, dann kann man B auch mit dem endlichen K¨ orper F

q

identifizieren, wodurch die Multipli- kation mit einem von 0 verschiedenen Buchstaben sogar invertierbar ist.

Beispiel 2.7 a) Es sei B ein Alphabet mit |B | = q. F¨ ur b ∈ B sei b = x

1

. . . x

n

∈ B

n

mit x

i

= b f¨ ur i = 1, . . . , n die n-fache Wiederholung des Buchstabens b. Der Blockcode C = {b | b ∈ B} heißt q-n¨ arer Wiederholungscode der L¨ ange n.

b) Ist allgemeiner C ⊆ B

n

ein beliebiger Blockcode der L¨ ange n, so wird f¨ ur m ∈ N die m-fache Wiederholung von C als Blockcode {(c, . . . , c) ∈ B

mn

| c ∈ C}

definiert.

Beispiel 2.8 Es seien n, q ≥ 1 nat¨ urliche Zahlen und B = {0, 1, . . . , q − 1}. Der volle q-n¨ are Gray-Code C

n

der L¨ ange n wird folgendermaßen rekursiv definiert.

F¨ ur n = 1 sei C

1

= B. F¨ ur n > 1 beginnen die ersten q

n−1

Worte von C

n

mit dem Zeichen 0 gefolgt von s¨ amtlichen Codeworten von C

n−1

in der konstruierten Reihenfolge. Die n¨ achsten q

n−1

Codeworte beginnen mit dem Zeichen 1 gefolgt von den Codeworten von C

n−1

, diese aber in umgekehrter Reihenfolge ihrer Kon- struktion. Die n¨ achsten q

n−1

Codeworte beginnen mit dem Zeichen 2, gefolgt von den Codeworten aus C

n−1

, diesmal wieder in ihrer urspr¨ unglichen Reihenfolge, und so abwechselnd bis das erste Zeichen q − 1 ist. Nat¨ urlich gilt C

n

= B

n

, aber die Reihenfolge der Codew¨ orter ist hier entscheidend! Jede nichtleere Teilmenge C aufeinanderfolgender Codeworte aus C

n

bezeichnet man als q-n¨ aren Gray-Code der L¨ ange n.

Definition 2.9 Es sei (S, ·) eine Halbgruppe. Eine nichtleere Teilmenge U von S heißt eine Unterhalbgruppe von (S, ·), wenn

a, b ∈ U = ⇒ a · b ∈ U

(9)

(11)

f¨ ur alle a, b ∈ S erf¨ ullt ist. F¨ ur eine nichtleere Teilmenge A von S sei < A > der Durchschnitt aller Unterhalbgruppen U von (S, ·) mit A ⊆ U (vgl. Aufgabe 2.21).

Man nennt < A > die von A erzeugte Unterhalbgruppe von (S, ·).

Der Beweis der beiden folgenden grundlegenden S¨ atze ist umfangreicher und wird innerhalb der Vorlesung daher nicht gef¨ uhrt.

Satz 2.10 Es sei B ein Alphabet. Eine nichtleere, endliche Teilmenge C ⊆ B

+

ist genau dann ein eindeutig decodierbarer Code, wenn C =< C > \ < C >

2

gilt und wenn f¨ ur alle w ∈ B

+

aus < C > w ∩ < C >6= ∅ und w < C > ∩ < C >6= ∅ bereits w ∈< C > folgt.

Der n¨ achste Satz gibt einen Algorithmus an, mit dem die eindeutige Decodierbar- keit einer homomorphen Codierung entschieden werden kann. Dieser Algorithmus geht auf eine Arbeit von Sardinas und Patterson im Jahr 1953 zur¨ uck.

Definition 2.11 F¨ ur Teilmengen M und N einer Halbgruppe (S, ·) sei M

−1

N = {x ∈ S | M x ∩ N 6= ∅}.

Satz 2.12 Es seien A und B Alphabete und γ : A

+

→ B

+

eine homomorphe Codierung. Die Mengen M

n

seien definiert durch M

0

= γ(A), M

1

= M

0−1

M

0

und M

n+1

= M

n−1

M

0

∪ M

0−1

M

n

. Genau dann ist γ eindeutig decodierbar, wenn γ|A injektiv ist und M

n

∩ M

0

= ∅ f¨ ur alle n ≥ 1 gilt.

Definition 2.13 Ein Code C ⊂ B

+

heißt irreduzibel, sofort decodierbar oder ein Pr¨ afix-Code, wenn kein Codewort Pr¨ afix eines anderen Codewortes ist.

Bemerkung 2.14 a) Man nennt diese Bedingung auch Pr¨ afix-Eigenschaft oder Fano-Bedingung nach Robert Mario Fano (1917 - 2016).

b) Jeder Blockcode ist irreduzibel, jeder irreduzible Code ist eindeutig decodier- bar.

Satz 2.15 Ist C = {c

1

, . . . , c

m

} ⊂ B

+

eindeutig decodierbarer Code mit den Codewortl¨ angen n

i

= |c

i

| f¨ ur i ∈ M = {1, . . . , m}, so gilt

m

X

i=1

|B|

−ni

≤ 1.

(10)

(12)

Beweis: Seien die Codewortl¨ angen geordnet gem¨ aß n

1

≤ n

2

≤ . . . ≤ n

m

und S = P

mi=1

|B|

−ni

die linke Seite von (10). Es ist also S ≤ 1 zu zeigen. W¨ are S > 1, so w¨ urde aber S

k

f¨ ur k → ∞ gegen ∞ divergieren. Durch Induktion nach k folgt aus den Distributivgesetzen und den Potenzrechenregeln

S

k

=

m

X

i1=1

. . .

m

X

ik=1

|B |

−(ni1+...+nik)

. (11)

Ordnet man diese Summe nach Potenzen von |B|, so erh¨ alt man

S

k

=

knm

X

j=kn1

a(k, j)|B|

−j

(12)

mit

a(k, j) = X

(i1,...,ik)∈Mk,ni1+...+nik=j

1.

Da C eindeutig decodierbar ist, sind alle zu den Summanden von a(k, j) geh¨ oren- den W¨ orter c

i1

. . . c

ik

der L¨ ange j paarweise verschieden und somit a(k, j) ≤ |B|

j

. Aus (12) folgt

S

k

knm

X

j=kn1

|B|

j

|B|

−j

=

knm

X

j=kn1

1 = k(n

m

− n

1

) + 1 ≤ k(n

m

− n

1

+ 1).

Also gilt

S ≤ √

k

k √

k

n

m

− n

1

+ 1,

und die rechte Seite konvergiert f¨ ur k → ∞ gegen 1. Hieraus folgt S ≤ 1 und

damit (10).

Bemerkung 2.16 Die Ungleichung (10) wird auch Ungleichung von Kraft und McMillan f¨ ur eindeutig decodierbare Codes genannt. Brockway McMillan (1915 - ) bewies die Aussage dieses Satzes 1956, w¨ ahrend Leon G. Kraft den hiermit zusammenh¨ angenden Satz 2.17 uber Pr¨ ¨ afix-Codes bereits 1949 in seiner Master- arbeit bewiesen hatte.

Satz 2.17 Es seien B ein Alphabet und n

1

, . . . , n

m

∈ N nat¨ urliche Zahlen, die

(10) erf¨ ullen. Dann existiert ein Pr¨ afix-Code C = {c

1

, . . . , c

m

} ⊂ B

+

mit den

Codewortl¨ angen |c

i

| = n

i

f¨ ur i = 1, . . . , m.

(13)

Beweis: Der Beweis erfolgt durch Induktion nach m, wobei der Fall m = 1 trivial ist. Sei also m > 1 und die Zahlen geordnet gem¨ aß n

1

≤ n

2

≤ . . . ≤ n

m

. Dann gilt aber

m−1

X

i=1

|B|

−ni

< 1

und es existiert nach Induktionsvoraussetzung ein Pr¨ afix-Code C

0

= {c

1

, . . . , c

m−1

} ⊂ B

+

mit |c

i

| = n

i

f¨ ur i = 1, . . . , m − 1. Es ist also ein Wort c

m

∈ B

nm

zu finden, so daß kein c

i

f¨ ur i = 1, . . . , m − 1 Pr¨ afix von c

m

ist. Betrachte zu jedem dieser c

i

die Menge

V (c

i

) = {w ∈ B

nm

| w = c

i

v mit v ∈ B

},

also aller Worte aus B

nm

, von denen c

i

Pr¨ afix ist. Offensichtlich gilt |V (c

i

)| =

|B|

nm−ni

. Also kann man die Anzahl dieser “verbotenen” Worte absch¨ atzen durch

|V (c

1

) ∪ . . . ∪ V (c

m−1

)| ≤

m−1

X

i=1

|V (c

i

)| =

m−1

X

i=1

|B |

nm−ni

= |B|

nm

m−1

X

i=1

|B|

−ni

< |B|

nm

. Jedes c

m

∈ B

nm

\ (V (c

1

) ∪ . . . ∪ V (c

m−1

)) 6= ∅ liefert damit einen Pr¨ afix-Code

C = C

0

∪ {c

m

} der gew¨ unschten Art.

Aufgabe 2.18 Beweisen Sie, daß das Einselement in einem Monoid stets ein- deutig bestimmt ist.

Aufgabe 2.19 Gibt es Alphabete X, f¨ ur welche die freie Halbgruppe X

+

kom- mutativ ist?

Aufgabe 2.20 Beweisen Sie, daß f¨ ur die eindeutige Decodierbarkeit einer ho- momorphen Codierung γ : A

+

→ B

+

die Injektivit¨ at der Einschr¨ ankung γ|A notwendig, aber nicht hinreichend ist.

Aufgabe 2.21 Beweisen Sie, daß der Durchschnitt beliebig vieler Unterhalb- gruppen einer Halbgruppe (S, ·) entweder leer oder Unterhalbgruppe von (S, ·) ist.

Aufgabe 2.22 a) Zeigen Sie, daß jeder Blockcode eindeutig decodierbar ist.

b) Es seien A = {a, b, c}, B = {0, 1}, γ

1

(A) = C

1

= {0, 10, 01} und γ

2

(A) = C

2

=

{1, 10, 00}. Entscheiden Sie mit Satz 2.12, ob γ

i

eindeutig decodierbar ist.

(14)

c) Es sei C = {110, 11, 100, 00, 10} ⊂ B

+

. Entscheiden Sie, ob C eindeutig deco- dierbar ist.

d) Zeigen Sie, daß C

1

= {11, 10, 110, 001} und C

2

= {11, 10, 001} eindeutig deco- dierbare Codes ¨ uber B = {0, 1} sind.

Aufgabe 2.23 F¨ ur B = Z /(3) = {0, 1, 2} und x ∈ B sei der Tern¨ arcode C(x) durch

C(x) = {01, 1, 2, 2x0}

definiert. Bestimmen Sie s¨ amtliche Werte von x, f¨ ur die C(x, y) eindeutig deco- dierbar ist.

Aufgabe 2.24 F¨ ur B = Z /(3) = {0, 1, 2} und x, y ∈ B sei der Tern¨ arcode C(x, y) durch

C(x, y) = {01, 20, x01, 01y}

definiert. Bestimmen Sie s¨ amtliche Werte von x und y, f¨ ur die C(x, y ) eindeu- tig decodierbar ist. Aus welchem dieser eindeutig decodierbaren Codes C(x, y) stammt das Codewort 0120101010?

Aufgabe 2.25 F¨ ur die Alphabete A = {A, B, E, N} und B = {α, β } sei die homomorphe Codierung γ : A

+

→ B

+

gegeben durch

γ(A) = βα, γ(B) = ααβ, γ (E) = αββ, γ(N) = βαα.

Zeigen Sie, daß γ eindeutig decodierbar ist, und bestimmen Sie das eindeutig bestimmte c ∈ A

+

mit γ(c) = ααββαβααβαβαααββ.

Aufgabe 2.26 F¨ ur die Alphabete A = {A, E, G, N, O} und B = { x , y } sei die homomorphe Codierung γ : A

+

→ B

+

gegeben durch

γ (A) = yx , γ(E) = xxy , γ(G) = xxx , γ(N) = yxx , γ(O) = xyy .

Zeigen Sie, daß γ eindeutig decodierbar ist, und bestimmen Sie das eindeutig

bestimmte c ∈ A

+

mit γ(c) = yxxxyxxxyxxxyxyyyxx .

(15)

3 Eigenschaften von Blockcodes

Definition 3.1 Es sei B ein Alphabet und v, w ∈ B

n

⊂ B

+

. Dann heißt d(v, w) = |{i | v

i

6= w

i

}|,

(13)

also die Anzahl der Stellen, an denen sich v und w unterscheiden, der Hamming- Abstand oder die Hamming-Distanz von v und w. (Dieser Begriff wurde 1950 von Richard Wesley Hamming (1915 - 1998) eingef¨ uhrt.)

Satz 3.2 Die Hamming-Distanz definiert eine Metrik auf B

n

, d. h. es gilt f¨ ur alle u, v, w ∈ B

n

d(u, v) ≥ 0 und d(u, v) = 0 ⇐⇒ u = v, (14)

d(u, v) = d(v, u), (15)

d(u, v) ≤ d(u, w) + d(w, v).

(16)

Ist (B, +) eine additiv geschriebene abelsche Gruppe (was nach Bemerkung 2.6 b) immer angenommen werden darf ), so ist d translationsinvariant, d. h. es gilt außerdem

d(u + w, v + w) = d(u, v).

(17)

Beweis: Aufgrund der Definition des Abstandes als Anzahl der unterschiedlichen Stellen sind die Aussagen in (14) und (15) klar. Zum Beweis von (16) betrachte eine beliebige Stelle i, an der u

i

6= v

i

gilt, die also in d(u, v) gez¨ ahlt wird. Dann muß w

i

aber auch von mindestens einem der beiden Zeichen u

i

oder v

i

verschieden sein und wird daher in d(u, w) oder in d(w, v) (oder in beiden) gez¨ ahlt. Damit ist die rechte Seite mindestens so groß wie die linke. In (17) gilt die Gleichheit, weil f¨ ur jede Stelle i stets u

i

+ w

i

= v

i

+ w

i

gleichwertig zu u

i

= v

i

ist.

Definition 3.3 Es sei B ein Alphabet und r ∈ N

0

. F¨ ur v ∈ B

n

sei B

r

(v ) = {w ∈ B

n

| d(v, w) ≤ r}

(18)

die abgeschlossene Kugel vom Radius r um den Mittelpunkt v und S

r

(v) = {w ∈ B

n

| d(v, w) = r}

(19)

die Sph¨ are vom Radius r um den Mittelpunkt v.

(16)

Lemma 3.4 Ist |B| = q, so gilt f¨ ur alle j, r ∈ N

0

und v ∈ B

n

|S

j

(v)| = n j

!

(q − 1)

j

, (20)

und da die abgeschlossene Kugel B

r

(v) disjunkte Vereinigung der Sph¨ aren S

j

(v) f¨ ur j = 0, . . . , r ist,

|B

r

(v )| =

r

X

j=0

n j

!

(q − 1)

j

. (21)

Beweis: Offensichtlich ist nur (20) zu zeigen. Ein Element w ∈ B

n

liegt aber genau dann in S

j

(v), wenn es genau j Stellen i

1

, . . . , i

j

gibt, an denen sich w und v unterscheiden. Diese j Stellen k¨ onnen nun zun¨ achst einmal auf

nj

verschiede- ne Weisen aus allen Stellen 1, . . . , n ausgew¨ ahlt werden. F¨ ur jede so ausgew¨ ahlte Stelle i muß sich dann w

i

von v

i

unterscheiden, w¨ ahrend an den nicht ausgew¨ ahl- ten Stellen v und w ubereinstimmen. Da ¨ v

i

genau ein Zeichen aus B f¨ ur diese Stelle festlegt, kann w

i

an dieser Stelle jedes der anderen q − 1 Zeichen aus B sein. Es gibt also f¨ ur das Wort w genau q − 1 verschiedene M¨ oglichkeiten, sich von v an dieser Stelle i zu unterscheiden. Daher gibt es f¨ ur das Wort w genau (q − 1)

j

M¨ oglichkeiten, sich an allen j ausgew¨ ahlten Stellen von v zu unterschei- den und an den anderen Stellen mit v ubereinzustimmen. Also wird die Anzahl ¨ aller w ∈ B

n

, die von v den Abstand j haben, durch die rechte Seite von (20)

beschrieben.

Definition 3.5 Es sei C ⊆ B

n

ein Blockcode der L¨ ange n.

a) C heißt t-fehlererkennend, falls B

t

(c) f¨ ur alle c ∈ C kein Codewort außer c enth¨ alt.

b) C heißt e-fehlerkorrigierend, falls B

e

(c) ∩ B

e

(c

0

) = ∅ f¨ ur alle Codew¨ orter c 6= c

0

gilt.

c) Ist |C| > 1, so heißt

d(C) = min{d(c, c

0

) | c 6= c

0

, c, c

0

∈ C}

(22)

die Minimaldistanz von C. F¨ ur jeden trivialen Code sei d(C) = 0.

d) Ist |C| = M und d(C) = d, so heißt C ein (n, M, d)-Code uber ¨ B.

e) Mit A

q

(n, d) wird das maximale M bezeichnet, f¨ ur das bei gegebenen q = |B|, n

und d ein (n, M, d)-Code ¨ uber B existiert.

(17)

Beispiel 3.6 a) Jeder triviale Blockcode der L¨ ange n ist ein (n, 1, 0)-Code, und M = 1 ist f¨ ur d = 0 aufgrund der Defintion der Minimaldistanz auch optimal, d. h. es ist A

q

(n, 0) = 1 f¨ ur jedes q und n.

b) Es ist C = B

n

ein (n, q

n

, 1)-Code und M = q

n

ist bei gegebenen n und q f¨ ur d = 1 ebenfalls optimal, also A

q

(n, 1) = q

n

. Dies folgt aus dem Satz 3.23.

c) Der q-n¨ are Wiederholungscode C der L¨ ange n ist ein (n, q, n)-Code.

Definition 3.7 Ein Blockcode C ⊆ B

n

erkennt Vertauschungsfehler an den Stel- len i und j aus {1, . . . , n}, wenn f¨ ur alle (c

1

, . . . , c

i

, . . . , c

j

, . . . , c

n

) ∈ C mit c

i

6= c

j

gilt (c

1

, . . . , c

j

, . . . , c

i

, . . . , c

n

) ∈ / C.

Bemerkung 3.8 Es werden noch weitere Vertauschungsfehler unterschieden, die bei der ¨ Ubermittlung von Ziffern auftreten: Sprungtranspositionen (abc 7→ cba), Zwillingsfehler (aa 7→ bb), Sprungzwillingsfehler (aca 7→ bcb), phonetische Fehler (a0 7→ 1a) und ¨ ubrige, zuf¨ allige Fehler. ¨ Uber die H¨ aufigkeiten derartiger Fehler gibt es statistische Untersuchungen.

Satz 3.9 Es sei C ⊆ B

n

ein Blockcode mit Minimaldistanz d.

a) Ist d ≥ t + 1, so ist C ein t-fehlererkennender Code.

b) Ist d ≥ 2e + 1, so ist C ein e-fehlerkorrigierender Code.

Beweis: a) Ist c ∈ C und c 6= c

0

∈ B

n

mit c

0

∈ B

t

(c), dann folgt d(c, c

0

) ≤ t < d, also kann c

0

nicht auch in C liegen.

b) W¨ are w ∈ B

e

(c)∩B

e

(c

0

) f¨ ur verschiedene Codeworte c und c

0

, so w¨ are d(c, c

0

) ≤ d(c, w) + d(w, c

0

) ≤ e + e < d, was nach Definition der Minimaldistanz nicht sein

kann.

Definition 3.10 Es sei C ⊂ B

n

ein Blockcode der L¨ ange n. Man nennt C perfekt, falls ein e ∈ N

0

existiert, so daß

B

n

= [

c∈C

B

e

(c) (23)

die disjunkte Vereinigung der Kugeln B

e

(c) ist.

(18)

Satz 3.11 Es sei C ⊆ B

n

ein Blockcode der L¨ ange n ¨ uber B und es gelte |B| = q.

a) Ist d(C) ≥ 2e + 1 f¨ ur e ∈ N

0

, so gilt die Hamming-Schranke

q

n

≥ |C|

e

X

j=0

n j

!

(q − 1)

j

. (24)

b) Genau dann ist ein nicht-trivialer Code C perfekt, wenn in (24) die Gleichheit gilt. Diese Gleichung nennt man auch Kugelpackungsgleichung.

Beweis: a) Aus d(C) ≥ 2e + 1 folgt wie im Beweis von Satz 3.9 b) zun¨ achst einmal B

e

(c) ∩ B

e

(c

0

) = ∅ f¨ ur alle c 6= c

0

aus C. Mit Lemma 3.4 erh¨ alt man

q

n

= |B

n

| ≥ | [

c∈C

B

e

(c)| = X

c∈C

|B

e

(c)| = |C||B

e

(c)| = |C|

e

X

j=0

n j

!

(q − 1)

j

, und hierin gilt Gleichheit genau dann, wenn B

n

= S

c∈C

B

e

(c) gilt.

b) Gilt also die Gleichheit, so ist C nach Definition perfekt. Ist C umgekehrt nicht-trivial und perfekt, so ist S

c∈C

B

e

(c) disjunkte ¨ Uberdeckung von B

n

und da |C| > 1 gilt, hat man auch d(C) ≥ 2e+1. Nach a) gilt (24) also mit Gleichheit.

Beispiel 3.12 a) Triviale Codes (e = n) und C = B

n

(e = 0) sind perfekte Codes. Der bin¨ are Wiederholungscode ungerader L¨ ange n = 2e + 1 ist perfekt, denn B

n

wird von den beiden disjunkten Kugeln vom Radius e um die beiden Codeworte 0 und 1 uberdeckt. Diese Codes nennt man auch ¨ triviale perfekte Codes.

b) Die weiter unten behandelten (linearen) Hamming-Codes sind perfekt.

c) Es gibt noch zwei von Marcel Jules Edouard Golay (1902 - 1989) im Jahr 1949 entdeckte perfekte Codes, den bin¨ aren (23, 2

12

, 7)-Golay-Code und den tern¨ aren (11, 3

6

, 5)-Golay-Code. Der bin¨ are Golay-Code wurde f¨ ur die Missionen von Voya- ger I und II in den Jahren 1977 - 81 verwandt, um Farbbilder von Jupiter und Saturn zu ¨ ubertragen.

d) Zwei tiefliegende Resultate, die von verschiedenen Autoren in den 70er und

80er Jahren bewiesen wurden, besagen, daß f¨ ur Primzahlpotenzen q = |B| ein

nicht-trivialer perfekter Code nur mit denselben Parametern wie die Hamming-

Codes und die Golay-Codes existieren kann. Außerdem ist f¨ ur beliebiges q und

d(C) ≥ 7 der bin¨ are Golay-Code der einzige nicht-triviale perfekte Code.

(19)

Durch die folgenden Begriffsbildungen wird das Vorgehen in Beispiel 1.1 verall- gemeinert und verst¨ andlicher.

Definition 3.13 Es sei C ⊆ B

n

ein Blockcode der L¨ ange n und das Alpha- bet B werde gem¨ aß Bemerkung 2.6 b) als additive Gruppe vorausgesetzt. Der Erweiterungscode C von C ist dann der Blockcode der L¨ ange n + 1

C = {(v

1

, . . . , v

n+1

) | (v

1

, . . . , v

n

) ∈ C, v

n+1

= −

n

X

i=1

v

i

}.

Lemma 3.14 a) Ist C Blockcode, so gilt d(C) ≤ d(C) ≤ d(C) + 1.

b) Ist C nicht-trivialer Blockcode, so gilt d(C) ≥ 2.

c) Ist C bin¨ arer Blockcode und d(C) ungerade, so gilt d(C) = d(C) + 1.

Beweis: a) Zu c = (c

1

, . . . , c

n

) ∈ C sei stets c = (c

1

, . . . , c

n

, c

n+1

) ∈ C. Zwei Ele- mente c und c

0

aus C unterscheiden sich mindestens an den Stellen, an denen sich die zugeh¨ origen Elemente c und c

0

aus C unterscheiden und h¨ ochstens zus¨ atzlich noch an der letzten Stelle. Es gilt also

d(c, c

0

) ≤ d(c, c

0

) ≤ d(c, c

0

) + 1.

(25)

Hieraus folgt bereits die Behauptung, falls es zwei verschiedene Elemente c 6= c

0

in C gibt. Sonst ist mit C aber auch C einelementig und es gilt d(C) = 0 = d(C) < 1.

b) Wegen |C| > 1 existieren c 6= c

0

aus C. Entweder gilt nun stets 2 ≤ d(c, c

0

) f¨ ur alle c 6= c

0

aus C oder es gibt c 6= c

0

in C mit d(c, c

0

) = 1. Im ersten Fall folgt aus a) bereits 2 ≤ d(C) ≤ d(C). Im zweiten Fall unterscheiden sich c und c

0

an genau einer Stelle j, an der sich c und c

0

dann ebenfalls unterscheiden. Außerdem ist dann c

n+1

6= c

0n+1

, da sich die beiden Summen genau in den Summanden c

j

6= c

0j

unterscheiden. Dies zeigt d(c, c

0

) = 2 f¨ ur alle diese Paare. Also gilt d(C) ≥ 2.

c) Sei k = d(C) ≥ 1 ungerade. Wegen (25) bleibt d(c, c

0

) = k = ⇒ d(c, c

0

) = k + 1 f¨ ur alle c 6= c

0

aus C zu zeigen. Gilt aber die Voraussetzung dieser Implikation, so seien I = {i

1

, . . . , i

k

} die Stellen, an denen sich c und c

0

unterscheiden. Wenn nun c an einer geraden Anzahl von Stellen aus I eine 1 hat, so hat c

0

dort eine 0 und folglich, da k ungerade ist, an einer ungeraden Anzahl von Stellen eine 1.

Sonst hat c an einer ungeraden Anzahl von Stellen eine 1 und c

0

an einer geraden

Anzahl. In jedem Fall ist P

i∈I

c

i

6= P

i∈I

c

0i

mod 2. Da die restlichen Stellen von

c und c

0

aber gleich sind, folgt c

n+1

6= c

0n+1

und daher d(c, c

0

) = d(c, c

0

) + 1.

(20)

Folgerung 3.15 F¨ ur ungerades d gilt A

2

(n + 1, d + 1) = A

2

(n, d). Also gilt f¨ ur gerades d > 0 auch A

2

(n, d) = A

2

(n − 1, d − 1).

Beweis: Offensichtlich reicht es, den ungeraden Fall zu beweisen. Sei also d un- gerade. Ist dann C ein bin¨ arer (n, M, d)-Code, so ist C ein (n + 1, M, d + 1)-Code.

Dies zeigt A

2

(n + 1, d + 1) ≥ A

2

(n, d). Sei umgekehrt C ein (n + 1, M, d + 1)- Code. Entfernt man aus allen Codew¨ ortern eine feste Koordinate, so bleiben unterschiedliche Codeworte verschieden, da sie sich wegen d + 1 > 1 nicht nur in dieser Koordinate unterscheiden konnten. Man erh¨ alt also eine Blockcode der L¨ ange n aus M Codew¨ ortern. Zwei auf diese Weise erhaltene Codeworte der L¨ ange n unterschieden sich aber noch in mindestens d Koordinaten. Sind c 6= c

0

zwei Codeworte aus C mit d(c, c

0

) = d +1 und streicht man aus allen Codew¨ ortern eine Koordinate, an der sich c und c

0

unterscheiden, so haben die resultierenden Codew¨ orter nur noch den Abstand d, der resultierende Code ist also tats¨ achlich ein (n, M, d)-Code. Dies zeigt auch die andere Ungleichung.

Definition 3.16 Ein Blockcode C der L¨ ange n uber ¨ B = Z /(q) heißt Parit¨ ats- code zur Basis q mit den Gewichten g

1

, . . . , g

n

∈ B, wenn C genau aus den (c

1

, . . . , c

n

) ∈ B

n

besteht, f¨ ur die

n

X

i=1

g

i

c

i

≡ 0 mod q (26)

gilt. Das letzte Zeichen c

n

eines jeden Codewortes heißt dann das Kontrollzeichen dieses Wortes. Stets ist (0, . . . , 0) in C. Gilt g

i

= 1 f¨ ur alle Gewichte, wird also zun¨ achst die Quersumme berechnet, so heißt C einfach ein Parit¨ atscode.

Beispiel 3.17 a) Bei der EAN (Europ¨ aische Artikel-Nummer, auch GTIN = Global Trade Item Number) wird ein Parit¨ atscode zur Basis q = 10 entweder der L¨ ange n = 13 (EAN13) oder der L¨ ange n = 8 (EAN8) verwendet. Beim EAN13 lauten die Gewichte 1, 3, 1, . . . , 3, 1, beim EAN8 dagegen 3, 1, . . . , 3, 1.

Beide Codes sind also nach dem folgenden Satz 1-fehlererkennend.

b) Bei der ISBN10 (Internationale Standard Buch Nummer) wird ein Parit¨ atscode zur Basis q = 11 der L¨ ange n = 10 verwendet. Die Gewichte lauten 10, 9, . . . , 1.

Ist das Kontrollzeichen eine 10, so wird dieses als X notiert. Nach dem folgenden Satz ist der ISBN-Code 1-fehlererkennend. Er erkennt sogar Vertauschungsfehler an beliebigen Stellen.

Seit 2007 wird auch die ISBN13 zur Basis q = 10 der L¨ ange n = 13 verwendet.

Die Gewichte sind dieselben wie bei der EAN13. Die ISBN13 entsteht aus der

(21)

ISBN10 durch voranstellen der drei Ziffern 978 und der anderen Berechnung der Pr¨ ufziffer.

c) Bei den Euro-Banknoten kommt ein Parit¨ atscode zur Basis q = 9 der L¨ ange n = 12 zum Einsatz. Die auftretenden Buchstaben werden vorher durch Ziffern aus {0, . . . , 9} ersetzt. S¨ amtliche Gewichte sind 1.

Satz 3.18 Es sei C ein Parit¨ atscode zur Basis q mit den Gewichten g

i

. Um das Kontrollzeichen stets berechnen zu k¨ onnen, muß g

n

teilerfremd zu q sein.

a) Genau dann ist C 1-fehlererkennend, wenn jedes g

i

teilerfremd zu q ist. Ins- besondere ist also jeder Parit¨ atscode 1-fehlererkennend.

b) Genau dann erkennt C alle Vertauschungsfehler an aufeinanderfolgenden Stel- len, wenn g

i

− g

i+1

f¨ ur i = 1, . . . , n − 1 teilerfremd zu q ist.

Beweis: Aus (26) folgt g

n

c

n

≡ −(g

1

c

1

+. . .+g

n−1

c

n−1

) mod q und diese Gleichung ist genau dann nach c

n

aufl¨ osbar, wenn das Inverse g

n−1

modulo q existiert. Dies ist aber genau f¨ ur ggT (g

n

, q) = 1 der Fall.

a) Sei c = (c

1

, . . . , c

n

) ∈ C und c

0

unterscheide sich genau an der Stelle i von c

0

. Genau dann erkennt C diesen Fehler nicht, wenn q neben g

1

c

1

+. . .+q

i

c

i

+. . . q

n

c

n

auch g

1

c

1

+. . .+q

i

c

0i

+. . . q

n

c

n

teilt oder gleichwertig, wenn q das Produkt g

i

(c

i

−c

0i

) teilt. Also erkennt C genau dann diesen Fehler, wenn q keine der m¨ oglichen Zahlen g

i

(c

i

− c

0i

) teilt.

Gilt nun ggT (q, g

i

) = 1, so teilt q keine dieser Zahlen, da q sonst c

i

− c

0i

teilen m¨ ußte, was wegen |c

i

− c

0i

| ≤ q − 1 unm¨ oglich ist.

Gilt andererseits ggT (q, g

i

) = d > 1, so haben c = (0, . . . , 0, c

i

, 0, . . . , 0) und c

0

= (0, . . . , 0, c

0i

, 0, . . . , 0) mit c

0i

=

qd

6= 0 und c

i

= 0 den Abstand 1 und liegen wegen g

i

c

0i

= g

iqd

= q

gdi

beide in C, d. h., C erkennt diesen einfachen Fehler nicht.

b) Sei c = (c

1

, . . . , c

i

, . . . , c

j

, . . . c

n

) ∈ C und c

0

= (c

1

, . . . , c

j

, . . . , c

i

, . . . , c

n

), wobei i und j nicht notwendig benachbart sein m¨ ussen. Genau dann erkennt C diesen Fehler nicht, wenn g

1

c

1

+ . . . + g

i

c

j

+ . . . + g

j

c

i

+ . . . + g

n

c

n

ebenfalls von q geteilt wird. Dies ist gleichwertig zu q | g

i

c

i

+ g

j

c

j

− g

i

c

j

− g

j

c

i

= (g

i

− g

j

)(c

i

− c

j

).

Also erkennt C genau dann diesen Fehler, wenn q keine der m¨ oglichen Zahlen (g

i

− g

j

)(c

i

− c

j

) teilt.

Mit der analogen Fallunterscheidung wie beim Beweis von a) folgt nun die Be-

hauptung.

(22)

Folgerung 3.19 F¨ ur gerades q gibt es keinen Parit¨ atscode zur Basis q der 1- fehlererkennend ist und gleichzeitig alle Vertauschungsfehler an aufeinanderfol- genden Stellen erkennt.

Beweis: Sei C Parit¨ atscode der L¨ ange n mit Gewichten g

1

, . . . , g

n

. Wenn C 1- fehlererkennend ist, so m¨ ussen nach Satz 3.18 a) alle g

i

ungerade sein. Dann sind aber alle Differenzen g

i

− g

j

f¨ ur i 6= j gerade und nicht teilerfremd zur geraden Zahl q. Wegen Satz 3.18 b) erkennt C daher nicht alle Vertauschungsfehler.

Definition 3.20 Es sei (B, +) eine beliebige endliche Gruppe. Weiterhin seien π

i

f¨ ur i = 1, . . . , n Permutationen von B und a ∈ B. Dann heißt

C = {(c

1

, . . . , c

n

) | c

i

∈ B,

n

X

i=1

π

i

(c

i

) = a}

(27)

ein Kontrollcode und P

ni=1

π

i

(c

i

) = a die Kontrollgleichung von C.

Satz 3.21 a) Jeder Kontrollcode C ist 1-fehlererkennend.

b) Ein Kontrollcode C mit den Permutationen π

1

, . . . , π

n

erkennt alle Vertau- schungen an aufeinanderfolgenden Stellen, falls π

i

(b) + π

i+1

(b

0

) 6= π

i+1

(b) + π

i

(b

0

) f¨ ur alle b 6= b

0

aus B und i = 1, . . . , n − 1 gilt.

Beweis: a) F¨ ur |C| = 1 ist nichts zu zeigen. W¨ aren c = (c

1

, . . . , c

i

, . . . , c

n

) und c

0

= (c

1

, . . . , c

0i

, . . . , c

n

) aus C mit d(c, c

0

) = 1, also c

i

6= c

0i

, so w¨ urde

π

1

(c

1

) + . . . + π

i

(c

i

) + . . . + π

n

(c

n

) = a = π

1

(c

1

) + . . . + π

i

(c

0i

) + . . . + π

n

(c

n

) in der Gruppe (B, +) sofort π

i

(c

i

) = π

i

(c

0i

) und damit c

i

= c

0i

nach sich ziehen.

Also gilt stets d(c, c

0

) ≥ 2 und daher ist C 1-fehlererkennend.

b) Sei c = (c

1

, . . . , c

i

, . . . , c

j

, . . . , c

n

) ∈ C und c

0

= (c

1

, . . . , c

j

, . . . , c

i

, . . . , c

n

) mit c

i

6= c

j

. Genau dann erkennt C diese Vertauschung nicht, wenn sowohl π

1

(c

1

) + . . . + π

i

(c

i

) + . . . + π

j

(c

j

) + . . . + π

n

(c

n

) = a als auch π

1

(c

1

) + . . . + π

i

(c

j

) + . . . + π

j

(c

i

) + . . . + π

n

(c

n

) = a gelten. Durch Subtraktion gleicher Summanden folgt in der Gruppe (B, +) dann

π

i

(c

i

) + . . . + π

j

(c

j

) = π

i

(c

j

) + . . . + π

j

(c

i

).

(28)

(23)

Wenn hierin also stets Ungleichheit gilt, so erkennt C alle Vertauschungen der Stellen i und j. F¨ ur j = i + 1 ist dies gerade die Behauptung in b). Bei kommu- tativen Gruppen kann man (28) sogar weiter vereinfachen zu

π

i

(c

i

) + π

j

(c

j

) = π

i

(c

j

) + π

j

(c

i

).

Daher erkennt in diesem Fall der Kontrollcode C alle Vertauschungen an den Stellen i und j, wenn π

i

(b) + π

j

(b

0

) 6= π

i

(b

0

) + π

j

(b) f¨ ur alle b 6= b

0

aus B gilt.

Bemerkung 3.22 a) Einige Banken verwenden bei der Vergabe ihrer Konto- nummern einen Kontrollcode uber der Gruppe ( ¨ Z /(10), +).

b) Bei den 9-stelligen Postgironummern wird ebenfalls ein Kontrollcode ¨ uber ( Z /(10), +) angewendet.

c) Der bei der Numerierung der ehemaligen DM-Scheine verwendete Code war ein Kontrollcode ¨ uber der Diedergruppe der Ordnung 10.

d) Es sind auch Kontrollcodes ¨ uber nichtassoziativen Quasigruppen untersucht worden, die bessere Eigenschaften bez¨ uglich der Fehlererkennung haben als die

¨ uber Gruppen definierten Kontrollcodes.

e) Der ISIN-Code (International Securities Identification Number) ordnet jedem Wertpapier eine zw¨ olfstellige Buchstaben-Zahlenkombination zu. So hat beispiels- weise die Aktie der Deutschen Telekom die ISIN DE0007664005. Zun¨ achst wer- den zwei Buchstaben als L¨ anderkennung nach ISO 3166-1 angegeben, hier DE f¨ ur Deutschland. Danach folgen 9 Ziffern f¨ ur das Papier. Die letzte Ziffer ist eine Pr¨ ufziffer. Zu ihrer Berechnung werden die beiden Buchstaben der L¨ ander- kennung in eine vierstellige Zahl umgewandelt, indem zur jeweiligen Stelle im Alphabet 9 addiert wird, also gem¨ aß A = 10, B = 11, . . . , Z = 35. Es entstehen die Ziffern c

1

c

2

. . . c

13

. Die geraden Stellen werden unver¨ andert gelassen, die un- geraden Stellen durch die Abbildung π(z) = Quersumme(2z) permutiert. Dann wird die Pr¨ ufziffer c

14

durch die Kontrollgleichung

π(c

1

) + c

2

+ π(c

3

) + . . . + π(c

13

) + c

14

= 0 mod 10

berechnet. Dieser Kontrollcode erkennt einfache Fehler und Vertauschungen be- nachbarter Stellen, wenn es sich nicht um 09 und 90 handelt. In der Praxis wer- den diese Kombinationen aber nicht konsequent vermieden, z. B. bei der BMW- Stammaktie DE000519000.

Der folgende Satz wurde 1964 von R. C. Singleton bewiesen.

(24)

Satz 3.23 Es sei C ⊆ B

n

und |B| = q. Dann gilt f¨ ur die Minimaldistanz d von C die Singleton-Schranke

d ≤ n − log

q

|C| + 1.

(29)

Beweis: Im Fall d = 0, also |C| = 1, ist die (echte) Ungleichung jedenfalls erf¨ ullt.

F¨ ur d ≥ 1 betrachte die Projektion ϕ : B

n

→ B

n−d+1

gem¨ aß ϕ(v

1

, . . . , v

n

) = (v

1

, . . . , v

n−d+1

). F¨ ur c = (c

1

, . . . , c

n

) 6= (c

01

, . . . , c

0n

) = c

0

aus C gilt ϕ(c) 6= ϕ(c

0

), da sonst (c

1

, . . . , c

n−d+1

) = (c

01

, . . . , c

0n−d+1

) und damit d(c, c

0

) < d = d(C) w¨ are.

Also ist ϕ|C injektiv. Es folgt |C| = |ϕ(C)| ≤ |B

n−d+1

| = q

n−d+1

. Durch Loga- rithmieren folgt hieraus sofort die behauptete Ungleichung.

Definition 3.24 Blockcodes C mit d(C) = n − log

q

|C| + 1 heißen Maximum Distance Separable Codes, kurz MDS-Codes.

Beispiel 3.25 a) Wie im Beweis von Satz 3.23 gesehen, sind triviale Codes nie- mals MDS-Codes.

b) Dagegen ist jeder q-n¨ are Wiederholungscode C der L¨ ange n wegen d(C) = n und |C| = q, also log

q

|C| = 1 ein MDS-Code.

c) Auch C = B

n

ist wegen d(C) = 1 und log

q

|B

n

| = n jeweils ein MDS-Code.

d) Wegen Lemma 3.14 c) hat der bin¨ are Erweiterungscode E

n

= {0, 1}

n−1

die L¨ ange n, die Minimaldistanz d(E

n

) = 2 und erf¨ ullt |E

n

| = 2

n−1

. Es ist daher d(E

n

) = 2 = n − log

2

|E

n

| + 1, also E

n

ein MDS-Code.

Im bin¨ aren Fall nennt man die MDS-Codes aus b) - d) auch triviale MDS-Codes.

Im Jahr 2006 konnten Guerini und Sala zeigen, daß jeder bin¨ are MDS-Code

¨

aquivalent (vgl. Definition 4.9) zu einem dieser trivialen MDS-Codes ist. F¨ ur q > 2 gilt dies nicht, vgl. Bemerkung 4.19.

Bemerkung 3.26 Wegen der Singleton-Schranke ist also stets A

q

(n, d) ≤ q

n−d+1

und f¨ ur MDS-Codes wird diese obere Schranke auch erreicht. Es existiert aber keineswegs f¨ ur jede Kombination der Parameter ein Blockcode C, der die Schranke auch mit Gleichheit erreicht.

Die folgende Tabelle gibt f¨ ur bin¨ are Codes (q = 2) und kleine Werte von n und d

(Wegen Folgerung 3.15 reicht es, ungerades d zu betrachten! Wegen Beispiel 3.6 b)

besteht eine entsprechende Spalte f¨ ur d = 1 gerade aus den Potenzen 2

n

.) exakte

(25)

Werte oder bekannte Absch¨ atzungen f¨ ur A

2

(n, d) an. Sie ist dem Buch “A First Course in Coding Theory” von Raymond Hill aus dem Jahr 1986 entnommen und um einige neuere Eintr¨ age erg¨ anzt. Eine weitergehende Aktualisierung k¨ onnte Thema einer Abschlußarbeit sein. Die F¨ alle, in denen die Singleton-Schranke erreicht wird, sind fett hervorgehoben.

n d=3 d=5 d=7

3 2 - -

4 2 - -

5 4 2 -

6 8 2 -

7 16 2 2

8 20 4 2

9 40 6 2

10 72 12 2

11 144 24 4

12 256 32 4

13 512 64 8

14 1024 128 16

15 2048 256 32

16 2816-3276 256-340 36 17 5312-5662 512-673 64-72 18 10496-13104 1024-1237 128-135 19 20480-26168 2048-2279 256 20 36864-43688 2560-4096 512

Der Eintrag 2 f¨ ur n = 4 und d = 3 zeigt beispielsweise, daß die Singleton-Schranke die Existenz eines bin¨ aren MDS-Codes C der L¨ ange n = 4 mit Minimaldistanz d(C) = 3 und |C| = 4 wegen 3 ≤ 4 − 2 + 1 zwar zulassen w¨ urde, daß aber kein derartiger Code existiert.

Definition 3.27 Es sei C ⊆ B

n

ein Blockcode. Ein Decodierschema δ von C bez¨ uglich ∅ 6= D ⊆ B

n

ist dann eine beliebige Abbildung δ : D → C. Dabei heißt B

n

\ D Decodierausfall von δ, und δ heißt vollst¨ andig, wenn D = B

n

gilt.

Beispiel 3.28 Es sei B = {0, 1} und C = {00000, 11111} der bin¨ are Wieder- holungscode der L¨ ange n = 5. Dann sind m¨ ogliche Decodierschemata gegeben durch D

i

= B

i

(00000) ∪ B

i

(11111) und δ

i

: D

i

→ C mit δ

i

(v) = c f¨ ur v ∈ B

i

(c) f¨ ur i = 0, 1, 2. Dabei ist nur δ

2

vollst¨ andig.

Bemerkung 3.29 In der Praxis erweitert man oft ein nicht vollst¨ andiges Deco-

dierschema δ : D → C, also mit D ⊂ B

n

, zu einem vollst¨ andigen Schema, indem

man δ(v) ∈ C f¨ ur alle v ∈ B

n

\ D zuf¨ allig w¨ ahlt.

(26)

Eine andere M¨ oglichkeit besteht darin, f¨ ur derartige v nicht einen eindeutigen Wert δ(v ) ∈ C zu ermitteln, sondern eine Liste {c

1

, . . . , c

`

} von (m¨ oglichst wahr- scheinlichen) Codew¨ ortern anzugeben. Dieses Verfahren nennt man Listendeco- dierung.

Aufgabe 3.30 Der nicht-triviale bin¨ are Blockcode C der L¨ ange n bestehe nur aus Vektoren, die eine gerade Anzahl von Einsen besitzen. Dann gilt d(C) ≥ 2.

Aufgabe 3.31 Beweisen Sie A

2

(3, 2) = 4.

Aufgabe 3.32 Zeigen Sie, daß man das Kontrollzeichen bei der ISBN10 auch gem¨ aß

c

10

≡ 1 · c

1

+ 2 · c

2

+ . . . + 9 · c

9

mod 11 berechnen kann.

Aufgabe 3.33 Obwohl die Singleton-Schranke eingehalten wird, gibt es keinen bin¨ aren (7, 2

3

, 5)-Code.

Aufgabe 3.34 Konstruieren Sie einen bin¨ aren MDS-Code mit den Parametern (4, 8, 2).

Aufgabe 3.35 Bestimmen Sie die Pr¨ ufziffer der ISBN13 978-3-7643-8611-?

Aufgabe 3.36 Bestimmen Sie die Pr¨ ufziffer der ISBN13 978-3-4535-0403-? und die zugeh¨ orige ISBN10.

Aufgabe 3.37 Bestimmen Sie die fehlenden Ziffern x und y der ISBN13 978-3- 4x22-5493-y, wenn die Kontrollziffer der zugeh¨ origen ISBN10 den Wert 4 hatte.

Aufgabe 3.38 Bestimmen Sie die Pr¨ ufziffer der ISIN der holl¨ andischen Elsevier- Aktie NL000034948?

Aufgabe 3.39 Bestimmen Sie die Pr¨ ufziffer der ISIN der schweizer Nestle-Aktie

CH003886335?

(27)

4 Lineare Codes

In diesem Abschnitt ist das Alphabet B stets ein endlicher K¨ orper K = F

q

gem¨ aß Bemerkung 2.6 b). Auf dem K -Vektorraum K

n

sei durch

v · w

T

=

n

X

i=1

v

i

w

i

(30)

eine symmetrische Bilinearform definiert, die aber nicht positiv definit, also kein Skalarprodukt ist. F¨ ur jeden Unterraum V von K

n

sei

V

d

= {w ∈ K

n

| v · w

T

= 0 f¨ ur alle v ∈ V } (31)

der Orthogonalraum von V . Es gilt dann (V

d

)

d

= V und dim(V ) + dim(V

d

) = n.

Es sei π ∈ S

n

eine Permutation. Durch P

π

(v

1

, . . . , v

n

) = (v

π(1)

, . . . , v

π(n)

) (32)

wird eine lineare Abbildung P

π

: K

n

→ K

n

definiert. Bez¨ uglich der kanonischen Basis entspricht ihr eine Permutationsmatrix P , d.h. eine Matrix, in der in jeder Zeile und in jeder Spalte genau eine 1 und sonst lauter Nullen stehen. Die Abbil- dung P

π

permutiert die Koordinaten von K

n

in der durch π vorgegebenen Weise.

Die speziell durch π = (1 2 · · · n 1) gegebene lineare Abbildung z = P

π

heißt zyklische Verschiebung des K

n

.

Definition 4.1 Ein Linearcode C ist ein Unterraum des K -Vektorraums K

n

f¨ ur einen endlichen K¨ orper K und n ∈ N . Ist k = dim(C) die Dimension von C und d = d(C) die Minimaldistanz, so spricht man auch von einem [n, k, d]-Code oder [n, k ]-Code. Ist C ein [n, k]-Code, so nennt man den [n, n − k]-Code C

d

den zu C dualen Code. Gilt C

d

= C, so heißt C selbstdual (vgl. Beispiel 4.17).

Beispiel 4.2 a) C = K

n

ist stets ein [n, n, 1]-Linearcode.

b) Der triviale Code C = {0} ⊂ K

n

ist stets ein [n, 0, 0]-Linearcode. Der duale Code ist C

d

= K

n

.

c) Der q-n¨ are Wiederholungscode C = {b | b ∈ K} ⊂ K

n

ist stets ein [n, 1, n]-

Linearcode. Der duale Code ist C

d

= K

n−1

, also der Erweiterungscode von K

n−1

.

Im bin¨ aren Fall ist also der MDS-Code E

n

= {0, 1}

n−1

aus Beispiel 3.25 d) ein

Linearcode. Er besteht aus allen W¨ ortern c der L¨ ange n mit geradem Gewicht

gem¨ aß der folgenden Definition. Genau f¨ ur n = 2 ist E

n

selbstdual, stimmt also

mit dem bin¨ aren Wiederholungscode ¨ uberein.

(28)

Definition 4.3 a) F¨ ur v = (v

1

, . . . , v

n

) ∈ K

n

sei tr(v) = {i | v

i

6= 0}

(33)

der Tr¨ ager von v und

wt(v) = d(v, 0) = |{i | v

i

6= 0}| = |tr(v)|

(34)

das Gewicht von v .

b) F¨ ur ∅ 6= C ⊆ K

n

sei tr(C) = S

c∈C

tr(c) und wt(C) = min{wt(c) | 0 6= c ∈ C}

(35)

heißt das Minimalgewicht von C 6= {0}. F¨ ur C = {0} werde wt(C) = 0 gesetzt.

Bemerkung 4.4 a) Ist C ⊆ K

n

Linearcode und |tr(C)| < n, so haben alle Co- deworte c ∈ C an den Koordinatenstellen aus {1, . . . , n} \ tr(C) den Eintrag 0.

Ein Weglassen dieser Koordinaten ¨ andert daher an der Linearit¨ at von C eben- sowenig wie an den Abst¨ anden zwischen den Codeworten. Man darf daher bei Bedarf f¨ ur nicht-triviale Linearcodes |tr(C)| = n annehmen.

b) Ist ein [n, k]-Code C selbstdual, so folgt aus C = C

d

sofort n − k = k, also n = 2k. Selbstduale Codes existieren daher nur f¨ ur gerades n und ihre Dimension ist k = n/2. Ist C dann bin¨ ar, so folgt f¨ ur c ∈ C = C

d

aus 0 = c · c

T

= P

ni=1

c

2i

=

P

n

i=1

c

i

= 0, daß das Gewicht wt(c) gerade sein muß. Dann ist also C = C

d

in E

n

enthalten.

Lemma 4.5 F¨ ur jeden Linearcode C gilt wt(C) = d(C).

Beweis: F¨ ur den trivialen Linearcode C = {0} ist wt(C) = d(C) = 0. Wegen der Linearit¨ at von C ist f¨ ur beliebige c, c

0

∈ C auch die Differenz c − c

0

in C enthalten. Insbesondere liegt der Nullvektor c − c = 0 in C und daher l¨ aßt sich jeder Codevektor c ∈ C auch als Differenz c − 0 = c von Codevektoren schreiben.

Damit gilt f¨ ur beliebige c 6= c

0

aus C wegen der Translationsinvarianz (17) der Hamming-Distanz d(c, c

0

) = d(c − c

0

, 0) = wt(c − c

0

) = wt(c

00

) mit c

00

= c − c

0

6= 0.

Bildet man auf beiden Seiten das Minimum, so erh¨ alt man die Behauptung.

(29)

Definition 4.6 Es sei C ein [n, k]-Code ¨ uber K.

a) Ist k > 0, so heißt eine k × n-Matrix G ¨ uber K eine Erzeugermatrix oder Generatormatrix f¨ ur C, falls

K

k

G = {(v

1

, . . . , v

k

) · G | v

i

∈ K} = C (36)

gilt, falls also die Zeilen von G eine Basis von C bilden. Im ausgearteten Fall C = {0} sei G = (0, . . . , 0) ∈ K

n

die Erzeugermatrix von C. Stets hat G den Rang k = dim(C).

b) Ist k < n, so heißt eine (n − k) × n-Matrix H ¨ uber K mit rang(H) = n − k eine Kontrollmatrix f¨ ur C, falls

{v ∈ K

n

| H · v

T

= 0} = C (37)

gilt. Im ausgearteten Fall C = K

n

sei H = (0, . . . , 0) ∈ K

n

die Kontrollmatrix von C.

Bemerkung 4.7 Ist C ein Linearcode und C

d

der dazu duale Code, so ist jede Generatormatrix von C eine Kontrollmatrix von C

d

und umgekehrt.

Satz 4.8 Ist C nicht-trivialer [n, k]-Code ¨ uber K und H eine Kontrollmatrix von C, so gilt

wt(C) = min{r ∈ N | es gibt r linear abh¨ angige Spalten von H}

= max{r ∈ N | je r − 1 Spalten von H sind linear unabh¨ angig}.

Beweis: Seien h

1

, . . . , h

n

die Spalten von H. Wegen C 6= {0} sind sie linear abh¨ angig. Sei r minimal gew¨ ahlt, so daß es r linear abh¨ angige Spalten h

i1

, . . . , h

ir

gibt. Unmittelbar klar ist dann, daß es maximal r − 1 linear unabh¨ angige Spalten von H gibt, so daß die zweite Gleichheit gilt. Weiterhin gibt es c

i

∈ K f¨ ur i = 1, . . . , n mit c

i

6= 0 genau f¨ ur i ∈ {i

1

, . . . , i

r

} und P

ni=1

c

i

h

i

= 0. Daher liegt c = (c

1

, . . . , c

n

) wegen H · c

T

= 0 in C. Wegen wt(c) = r folgt wt(C) ≤ r.

Angenommen, es g¨ abe ein c

0

∈ C mit wt(c

0

) = r

0

< r. Dann w¨ urde H · c

0T

= 0 die Existenz von r

0

< r linear abh¨ angigen Spalten liefern, im Widerspruch zur minimalen Wahl von r. Also gilt sogar wt(C) = r und damit auch die erste

Gleichheit.

Referenzen

ÄHNLICHE DOKUMENTE

[r]

(Darf man etwa Polynome durcheinander dividieren, und wenn ja, wie geschieht das?) Wei- terhin ist jeweils genau anzugeben, in welchen “Rechenbereichen” die Nullstellen dieser

Für jede Restklasse wählen wir genau einen Repräsentanten und fassen die so gewählten Repräsentanten in einer Menge A ⊂ R d zusammen.. (Hierzu wird das Auswahlaxiom gebraucht, was

Zeigen Sie, dass die Folge monoton steigt und beschr¨

nicht absolut konvergent, so gibt es zu jedem x ∈ R eine Umordnung der Reihe, die gegen x konvergiert.. Probleme bereitet oft das Produkt

Ursprünge und Vorfahren – phylogenetische Rekonstruktion. Lektion 11 Populations- und Evolutionsbiologie

Spekuliere, ob es auch im allgemeinen Fall gilt, in dem A und B nicht notwendig invertierbar sind.. Bei jeder Aufgabe sind bis zu 10 Punkte

Abgabe bis Dienstag, den 4.. Etage