Einführung in die Codierungstheorie. Rudolf Schürer

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Einführung in die Codierungstheorie. Rudolf Schürer"

Transkript

1 Einführung in die Codierungstheorie Rudolf Schürer 8. Februar 2008

2 Vorwort Dieses Skript entstand im Zuge der gleichnamigen Vorlesung, die ich im Wintersemester 2007/08 am Fachbereich Mathematik der Universität Salzburg für Studenten im Masterstudium Mathematik gehalten habe. Der Stoff wurde (abgesehen von wenigen Auslassungen im Kapitel 7) in 15 Einheiten zu je 90 Minuten vorgetragen. Begleitet wurde die Vorlesung von einem Proseminar, in dem Übungsaufgaben gelöst wurden. Große Teile des Skripts basieren auf Jürgen Bierbrauers Buch Introduction to Coding Theory, das 2005 bei Chapman & Hall erschienen ist. Inhaltlich entspricht die Vorlesung in etwa Teil I von Bierbrauers Buch, mit dem Unterschied, dass zusätzlich Konstruktion X besprochen wird, während der binäre Golay-Code, der Zusammenhang zwischen Codes und orthogonalen Arrays, Universal Hashing und andere Anwendungen ausgelassen werden. Zyklische Codes und Codes von geometrischen Konfigurationen werden nicht behandelt und würden zusammen wahrscheinlich eine Fortsetzungsvorlesung füllen. Ich habe versucht, alle vorgestellten Resultate formal sauber zu beweisen, was dieses Skript teilweise schwerfälliger als vergleichbare Texte (vor allem aus dem Bereich der Informatik) macht, es dafür aber (hoffentlich) auf ein mathematisch einwandfreies Fundament stellt. R. Schürer 1

3 Inhaltsverzeichnis 1 Einleitung Was ist Codierungstheorie Was ist Codierungstheorie nicht? Beispiele Geschichte Der mathematische Rahmen Fragen der Codierungstheorie Schranken, Konstruktionen und Regeln Die Kugelpackungsschranke Drei einfache Regeln Einbettung (Embedding) Abschneiden (Truncation, Puncturing, Projection) Kürzen (Shortening) Die Singleton-Schranke Die vier einfachsten Codefamilien Die trivialen Codes Die Wiederholungscodes Die vollständigen Codes Die Parity-Check-Codes Allgemein Lineare Codes Die Generatormatrix Die Minimaldistanz Linearer Codes Der duale Code Die Check-Matrix Syndrom-Decodierung Hamming- und Simplexcodes Hamming-Codes Simplexcodes Decodierung von Hamming-Codes

4 5 Reed-Solomon-Codes 33 6 Weitere Regeln Residual-Codes und die Griesmer-Schranke Die (u,u + v)-konstruktion Konstruktion X und die MDS-Code-Vermutung Konkatenation Lange Codes Die Gilbert-Varšamov-Schranke(n) Die Konstruktion asymptotisch guter Codes Weitere asymptotische Resultate Zusammenfassung A Zeitplan 59 3

5 Kapitel 1 Einleitung 1.1 Was ist Codierungstheorie Wollen Information / Nachricht von einem Sender zu einem Empfänger schicken. Dabei ist es möglich, dass der Kanal gestört ist. Das heißt, dass die Nachricht mit Fehlern beim Empfänger ankommt. Der Empfänger möchte solche Fehler erkennen. Der Empfänger möchte solche Fehler korrigieren. Das ist nur möglich, wenn die Nachricht Redundanz enthält Was ist Codierungstheorie nicht? Vor allem zur Kryptographie ist eine Abgrenzung notwendig, da man landläufig unter dem Begriff Code auch ein kryptographisches Verfahren versteht. Gemeinsamkeiten Es wird eine Nachricht von einem Sender zu einem Empfänger übertragen. Beide Techniken versuchen, die Integrität einer Nachricht sicher zu stellen. Verwendete Methoden sind manchmal ähnlich. 4

6 Unterschiede Geheimhaltung spielt in der Codierungstheorie keine Rolle. Schutz der Integrität vor zufälligen Übertragungsfehlern (Codierungstheorie) im Gegensatz zu Schutz der Integrität vor einem böswilligen Angreifer (Kryptographie). 1.2 Beispiele Beispiel: Text groß / klein Beispiel: Verstümmelter Text Beispiel: Wollen die Wörter Flug, Auto, Taxi und Bahn übertragen: F, A, T, B Länge der Nachricht n = 1 oder n = 4? Informationsgehalt gleich, aber bei längerer Nachricht viel sicherer. Beispiel: Allgemein: Alphabet S = {A,B,...,Z, }. q := S = 27. Wollen Wörter über S übermitteln. Also Elemente aus S k mit k = 4. Einfach: BILL BILL Doppelt: BILL BBIILLLL 1 beliebiger Fehler erkennbar. Dreifach: BILL BBBIIILLLLLL 2 (beliebige!) Fehler erkennbar. 1 Fehler korrigierbar. Wie? Nearest-Neighbour-Decoding. Vorausgesetzt: 1 Fehler ist wahrscheinlicher als 2 Fehler. Minimaldistanz d = 3. Vierfach: BILL BBBBIIIILLLLLLLL 3 Fehler erkennbar. Weiterhin nur ein Fehler korrigierbar. Manchmal aber auch bis zu 8 Fehler korrigierbar! Also sehr unausgeglichen. Minimaldistanz d = 4. 5

7 Durch Erhöhen der Redundanz lassen sich mehr Fehler erkennen/korrigieren. Nachteile: Die Nachricht wird länger. Die Informationsrate k/n nimmt ab ( = 1,1/2,1/3,1/4). Die Redundanz erhöht sich (0, 100%, 200%, 300%). Vorteile: Es können mehr Fehler erkannt werden. Allerdings ist hier Vorsicht geboten: Wenn die Wahrscheinlichkeit, dass dabei ein Buchstabe falsch übertragen wird, gleich p ist, so müssen np Fehler erwartet werden. Die Anzahl der erwarteten Fehler nimmt also linear mit der Länge der Nachricht zu. Auch die Anzahl der Fehler, die wir korrigieren können, nimmt linear zu. Das hält sich also in diesem Beispiel die Waage! Wir bräuchten also einen Code, bei dem entweder die Informationsrate nicht so schnell abnimmt, oder die Anzahl der korrigierbaren Fehler schneller wächst. Beispiel: Identifizieren S mit 27. Für x 1,x 2,x 3,x 4 S senden wir zusätzlich noch x 5 = x 1 x 2 x 3 x 4, d.h. x 1 + x 2 + x 3 + x 4 + x 5 = 0. Informationsrate = 4/5 statt 1/2. Es lässt sich aber trotzdem noch ein Fehler erkennen! Dieses Verfahren nennt man Parity-Check-Code. Beispiel: Party-Check-Codes haben viele Anwendungen: RAID 5 ISBN-Nummer (PS, Aufgabe 3) Beispiel: Aufzeichnung einer CD oder DVD: Reed-Solomon-Codes (siehe Kapitel 5). Beispiel: Raumsonden Mariner 6 und 7 (1969), Mission zum Mars 64 Grauwerte (6 binäre Ziffern) 64 Codewörter aus 32 2, also ein binärer Code. Bis zu 15 Fehler werden erkannt. Bis zu 7 Fehler können korrigiert werden, unter der Annahme, dass mehr als 9 Fehler sehr unwahrscheinlich sind. Wir werden den verwendeten Code (Reed-Muller-Code) im PS, Aufgabe kennenlernen. 1.3 Geschichte 1948 Claude Shannon (Bell Labs) beweist, dass man lange Nachrichten mit beliebig kleiner Fehlerwahrscheinlichkeit übertragen kann Richard Hamming (Bell Labs) entwickelt Codierungstheorie im heutigen Sinn 1952 Gilbert-Schranke (Edgar Gilbert, Bell Labs) (siehe Abschnitt 7.1) 6

8 1954 Reed Muller (Raumsonde) 1957 Varšamov-Schranke (siehe Abschnitt 7.1) 1960 Reed Solomon (CD) (siehe Kapitel 5) 1963 Dualität (Jessie MacWilliams, Bell Labs) 1981 Algebraisch-geometrische Codes (V. Goppa) 1995 Wolfgang Schmid et al. entdecken den Zusammenhang zwischen Codes und gutverteilten Punktmengen. 1.4 Der mathematische Rahmen Definition 1.1 (Alphabet) Unter einem Alphabet versteht man eine endliche Menge S mit S 2. S habe die Struktur einer abelschen Gruppe (mit +, und 0). Bemerkung: Offensichtlich kann man S immer mit S identifizieren um eine abelsche Gruppe zu erhalten. Definition 1.2 (Code) Ein Code C der Länge n (Blockcode) über einem Alphabet S ist eine nicht-leere Teilmenge von S n. Die K = C Elemente von C werden Codewörter genannt. Für einen Code der Länge n mit K Codewörtern über einem Alphabet mit Kardinalität q schreibt man oft auch kurz (n,k)-code oder (n,k) q - Code. Bemerkung: Ein Code mit K = 1 macht nicht viel Sinn, ist aber erlaubt, da es so zu weniger Ausnahmen in der Theorie kommt. Man wird diesen Fall trotzdem oft gesondert behandeln müssen. Bemerkung: S n ist auch eine abelsche Gruppe (komponentenweise definiert). Definition 1.3 (Binärer und ternärer Code) Ein Code über 2 heißt binär. Ein Code über 3 ternär. Definition 1.4 (Systematischer Code) Ein (n,q k )-Code über S heißt systematisch, wenn er folgendermaßen aufgebaut ist. 1. Nachrichten (x 1,...,x k ) S k sollen gesendet werden. 2. Zuerst werden die k Nachrichtensymbole x 1,x 2,...,x k S direkt gesendet. 7

9 3. An diese k Symbole werden noch n k Kontrollsymbole (Checksymbole, Prüfziffern) x k+1,...,x n angehängt. Bemerkung: Wurde ein Codewort korrekt übertragen, so lässt sich die ursprüngliche Nachricht einfach durch weglassen der letzten n k Symbole erhalten. Definition 1.5 (Informationsrate) Die Informationsrate eines (n,k) q - Codes ist definiert als := log q K/n. Bemerkung: Für systematische Codes ist das genau k/n. Definition 1.6 (Fehlerwort) Wird ein x C S n gesendet und ein ˆx S n empfangen, so nennt man e = ˆx x S n das Fehlerwort. Wenn e = 0, so ist x korrekt übertragen worden. Sonst ist ein Fehler aufgetreten. Definition 1.7 (Hamming-Gewicht) Sei x = (x 1,...,x n ) S n. Das Hamming-Gewicht von x ist definiert als w(x) := #{x i, die ungleich 0 sind} { n 0 x i = 0 = 1 x i 0 i=1 Definition 1.8 (Hamming-Metrik) Die Hamming-Distanz zwischen x und y aus S n ist definiert als d(x,y) := w(y x). Bemerkung: d(x, y) zählt die Stellen, an denen sich x und y unterscheiden. Bemerkung: x gesendet, ˆx empfangen. Dann ist die Anzahl der Fehler gegeben durch w(e) = d(x, ˆx). Lemma 1.1 w ist eine Norm (wenn S ein Körper ist). d ist eine translationsinvariante Metrik. Beweis: Siehe PS, Aufgabe 4 und 5. Definition 1.9 (Minimaldistanz) Die Minimaldistanz eines Codes C S n ist definiert als d(c) := min d(x,y). x,y C x y Wenn C = 1, dann definieren wir d(c) := n + 1. Sei 1 d n+1. Ein (n,k)-code C wird (n,k,d)-code genannt, wenn d(c) d. 8

10 Definition 1.10 (Relative Distanz) Die relative Distanz eines Codes C S n ist definiert als δ := d(c)/n. Satz 1.2 Ein Code mit Minimaldistanz d kann bis zu (aber nicht mehr als) d 1 Fehler erkennen. Beweis: Senden x, empfangen ˆx. e = ˆx x. Kein Fehler: x = ˆx. e = 0. w(e) = 0. 0 < f < d Fehler, also f = w(e) = d(ˆx,x): Dann ist 0 < d(ˆx,x) < d und daher ˆx / C. f = d: Es gibt x, ˆx C mit d(x, ˆx) = d = f. Wenn x gesendet wird, kann es durch f = d Fehler passieren, dass ˆx C empfangen wird. Der Fehler kann nicht erkannt werden. Ein (n,1,n + 1)-Code kann immer alle n Fehler erkennen. Definition 1.11 (Nearest-Neighbour-Decoding) Unter Nearest-Neighbour-Decoding (NND) versteht man die Funktion von S n C {Fehler}, die ˆx S n abbildet auf x C, wenn es kein y C \ {x} gibt mit d(y, ˆx) d(x, ˆx).... Fehler sonst. Wann immer wir von Fehlerkorrektur sprechen, beziehen wir uns auf NND. Satz 1.3 Ein Code mit Minimaldistanz d kann bis zu (aber nicht mehr als) (d 1)/2 Fehler korrigieren (ein (n, 1, n + 1)-Code jedoch bis zu n). Beweis: Betrachten die Situation, dass x C gesendet und ˆx S n mit d(ˆx,x) = f empfangen wird. x sei die NND von ˆx. Kein Fehler, d.h. f = 0 und ˆx = x. NND liefert x = ˆx = x. 0 < f e := (d 1)/2 : Wollen zeigen: NND liefert x = x. Angenommen es gibt ein y C \ {x} mit d(y, ˆx) d(x, ˆx), dann wäre 0 < d(x,y) d(x, ˆx) + d(ˆx,y) 2d(x, ˆx) = 2f 2e = 2 (d 1)/2 d 1. Widerspruch zu d(c) = d. f = e + 1 Fehler werden nicht mehr richtig decodiert. Betrachten x,y C mit d(x,y) = d. Es gibt ein ˆx S n mit d(x, ˆx) = f und d(ˆx,y) = d f. Angenommen x wird gesendet und ˆx wird empfangen. 9

11 Für d ungerade gilt d(x, ˆx) = f = e + 1 = (d 1)/2 + 1 = (d + 1)/2 und d(y, ˆx) = d f = d (d + 1)/2 = (d 1)/2. Also wird ˆx nicht als x decodiert. Für d gerade gilt d(x, ˆx) = f = e + 1 = (d 1)/2 + 1 = d/2 und d(y, ˆx) = d f = d d/2 = d/2. Also wird ˆx nicht als x decodiert. Beispiel: Ein (6,8,3)-Code über 2. Wir verwenden die folgenden Code- Wörter aus 6 2 : Informationsrate = log = 3/6 = 1/2. Relative Distanz δ = 3/6 = 1/2. Fragen: Codierung? Systematisch! Tabelle notwendig? Decodierung? Wie sieht man, dass d(c) = 3? ( 8 2) = 28 Paare testen? 1.5 Fragen der Codierungstheorie Wie lässt sich möglichst viel Information in einer möglichst kurzen Nachricht übermitteln, sodass möglichst viele Fehler erkannt / korrigiert werden können. Was ist die höchste Minimaldistanz eines (n,k)-codes? Wie viele Codewörter K kann ein (n,k,d)-code für gegebenes n und d höchstens haben? Wie lange ist ein (n, K, d)-code für gegebenes K und d mindestens? Wie schauen solche guten Codes aus? 10

12 Wie lässt sich den K Nachrichten effizient das zugehörige Codewort zuordnen? Wie lässt sich effizient überprüfen, ob ein Fehler aufgetreten ist? Wie lässt sich die Nachricht effizient aus dem Codewort extrahieren (Lösung: systematische Codes). Wie lässt sich effizient das nächste Codewort zu einem empfangenen (ungültigen) Wort finden? 11

13 Kapitel 2 Schranken, Konstruktionen und Regeln Schranken zeigen, dass Codes mit bestimmten Parametern nicht existieren können. Konstruktionen geben an, wie man einen Code mit bestimmten Parametern erhält. Regeln erlauben es, aus einem Code C 1 einen Code C 2 zu machen. Wenn C 1 existiert, so existiert auch C 2. Wenn C 2 nicht existieren kann, so kann auch C 1 nicht existieren. 2.1 Die Kugelpackungsschranke Wir haben gesehen, dass die Kugeln in S n eine wichtige Rolle spielen. Definition 2.1 (Kugeln und ihr Volumen) Sei S ein Alphabet und q = S. Mit B n q (x,r) bezeichnet man die Kugel in Sn mit Mittelpunkt x und Radius r, also B n q (x,r) := {y Sn : d(x,y) r}. Das Volumen dieser Kugeln wird mit V n q (r) := B n q (x,r) bezeichnet. Bemerkung: Das Volumen der Kugeln ist unabhängig vom Mittelpunkt, denn d ist translationsinvariant. Lemma 2.1 r ( ) n Vq n (r) = (q 1) i i i=0 12

14 Beweis: Wir summieren über die Kugelschalen mit Radius i = 0,...,r. Es gibt ( n i) Möglichkeiten für die i Positionen, an denen sich ein Wort vom Mittelpunkt unterscheidet. In jeder dieser i Positionen gibt es q 1 Möglichkeiten für einen anderen Wert. Diese Formel stimmt auch für i = 0. Also Vq n (r) = B n q (x,r) = B n q (0,r) = {y S n : w(y) r} r = {y S n : w(y) = i} = i=0 r i=0 ( ) n (q 1) i. i Satz 2.2 (Hamming- oder Kugelpackungsschranke) Für jeden (n,k,d) q -Code gilt K V n q ( (d 1)/2 ) q n. (2.1) Beweis: Sei e = (d 1)/2. Beachte, dass e die größte ganze Zahl mit 2e < d ist. Sei C = {x 1,...,x K }. Betrachten Bq n (x i,e) für i = 1,...,K. Diese Kugeln sind disjunkt, denn angenommen y Bq n (x i,e) Bq n (x j,e) für i j, dann gilt d(x i,x j ) d(x i,y) + d(x j,y) e + e = 2e < d, im Widerspruch zu d(c) = d. Daher ist K Bq n (x i,e) S n i=1 eine disjunkte Vereinigung und K K Vq n (e) = Vq n (e) Sn = q n. i=1 Definition 2.2 (Perfekter Code) Ein Code mit Gleichheit in (2.1) heißt perfekt. Beispiel: Unser (6, 8, 3)-Code ist nicht perfekt, denn 8 V 6 2 (1) = 8 (1 + 6) = 56 < 2 6 = 64. Es ist aber nicht möglich, die Parameter weiter zu verbessern: 13

15 Gibt es einen (5,8,3)-Code? Nein, denn Gibt es einen (6,9,3)-Code? 8 V 5 2 (1) = 8 (1 + 5) = = 32 9 V 6 2 (1) = 9 (1 + 6) = = 64 Erscheint also möglich. Werden jedoch im PS, Aufgabe 11 zeigen, dass es den nicht geben kann. Gibt es einen (6, 8, 4)-Code? Für gerade Distanz gleiche Aussage wie für ungerade. Werden aber gleich zeigen, dass es ihn trotzdem nicht gibt. 2.2 Drei einfache Regeln Einbettung (Embedding) Aussage 2.3 Wenn C ein (n,k,d)-code ist, dann ist C := {(x,0) : x C} ein (n + 1,K,d)-Code. Beweis: Siehe PS, Aufgabe 6.a Abschneiden (Truncation, Puncturing, Projection) Aussage 2.4 Wenn C ein (n,k,d)-code mit n 2 und d 2 ist, dann ist ein (n 1,K,d 1)-Code. C := {(x 1,...,x n 1 ) : (x 1,...,x n ) C} Beweis: Klar, dass die Anzahl der Codewörter gleich bleibt und die Länge um 1 abnimmt. Seien x,y C und x,y C die ursprünglichen Codewörter. Dann ist { d(x,y 0 x n = y n ) = d(x,y) d(x,y) 1 1 x n y n und somit d(c ) d(c) 1. Bemerkung: Mit Glück erhält man sogar einen (n 1, K, d)-code. Beispiel: Es gibt keinen (6,8,4) 2 -Code. Angenommen es gäbe einen solchen Code, dann lieferte Abschneiden einen (5,8,3) 2 -Code. Wir haben aber bereits (mit Hilfe der Hammingschranke) gezeigt, dass es einen solchen Code nicht geben kann. 14

16 2.2.3 Kürzen (Shortening) Aussage 2.5 Sei C ein (n,k,d)-code über S mit n 2 und a S das Symbol, das in Koordinate n am häufigsten vorkommt. Dann ist C := {(x 1,...,x n 1 ) : (x 1,...,x n ) C und x n = a} ein (n 1,K,d)-Code mit K K/ S. Beweis: Klar, dass die Länge um 1 abnimmt. K K/ S folgt, weil a das häufigste Symbol in Spalte n ist und daher mindestens K/ S mal auftritt. Seien x,y C und x,y C die ursprünglichen Codewörter. Dann ist d(x,y ) = d(x,y) und somit d(c ) = d(c). Bemerkung: Mit Glück erhält man sogar einen (n 1, K, d)-code. 2.3 Die Singleton-Schranke Satz 2.6 (Singleton-Schranke (Richard Singleton, 1964)) Für jeden (n,k,d) q -Code gilt K q n d+1 (2.2) (für systematische Codes bedeutet das, dass k + d n + 1). Beweis: Bei jedem (n,k,d) q -Code können wir d 1 mal Abschneiden und erhalten so einen (n d + 1,K,1) q -Code C. Da C S n d+1 genau K (verschiedene) Codewörter enthält, gilt K = C S n d+1 = q n d+1. Definition 2.3 (MDS Code) Ein Code mit Gleichheit in (2.2) heißt maximum-distance-separable oder kurz MDS-Code. 2.4 Die vier einfachsten Codefamilien Betrachten im Folgenden verschiedene Codes C S n. Dabei beschränken wir uns auf Codes mit sehr kleiner (d = 1, 2) und sehr großer (d = n, n + 1) Minimaldistanz Die trivialen Codes Wie groß kann die Minimaldistanz maximal sein. Wir haben immer d(x,y) n für alle x,y S n. Nur für einen Code C mit nur einem Codewort haben wir d(c) = n + 1 definiert. 15

17 Definition 2.4 (Trivialer Code) Sei x S n beliebig (in der Regel x = 0). Den Code C = {x} S n nennt man trivialen Code. Aussage 2.7 Der triviale Code in S n ist ein (n,1,n + 1)-MDS-Code. Beweis: Trivial. Bemerkung: Mit diesem Code ist keine Datenübertragung möglich Die Wiederholungscodes Wollen mehr Codewörter, aber Minimaldistanz mindestens n. Definition 2.5 (Wiederholungscode) Den Code C = {(x,...,x) : x S} S n nennt man Wiederholungscode oder Repetition-Code. Aussage 2.8 Der Wiederholungscode in S n ist ein systematischer (n,q,n) q - MDS-Code. Beweis: Trivial. Bemerkung: Ein Wiederholungscode kann n 1 Fehler erkennen und (n 1) /2 Fehler korrigieren Die vollständigen Codes Bestimmen jetzt den Code mit den meisten Codewörtern: Definition 2.6 (Vollständiger Code) Den Code C = S n S n nennt man vollständigen Code. Aussage 2.9 Der vollständige Code in S n ist ein perfekter, systematischer (n,q n,1)-mds-code. Beweis: Trivial. Bemerkung: Ein vollständiger Code kann weder Fehler erkennen noch Fehler korrigieren. 16

18 2.4.4 Die Parity-Check-Codes Wollen jetzt d = 2 erreichen. Auch das geht noch sehr einfach: Definition 2.7 (Parity-Check-Code) Sei n 2. Den Code { } n 1 C = (x 1,...,x n 1, x i ) : (x 1,...,x n 1 ) S n 1 S n i=1 nennt man Parity-Check-Code oder Sum-0-Code. Aussage 2.10 Der Parity-Check-Code in S n ist ein systematischer (n,q n 1,2) q -MDS-Code. Beweis: Länge und Anzahl der Codewörter sind offensichtlich korrekt. C besteht genau aus den x S n mit n x i = 0. (2.3) i=1 Angenommen es gibt x,y C mit d(x,y) = 1. Dann ist y = x + e mit e = (0,...,0,α,0,...,0) und α S \ {0}. Wenn x (2.3) erfüllt, dann gilt für y, dass n n y i = α + x i = α 0. i=1 i=1 Bemerkung: Ein Parity-Check-Code kann 1 Fehler erkennen, aber keinen Fehler korrigieren Allgemein Bemerkung: Höhere Minimaldistanz bzw. mehr Codewörter sind nicht möglich, da diese Codes MDS-Codes sind. Bemerkung: Für d > 2 und d < n ist im Allgemeinen unbekannt, wie viele Codewörter ein (n,k,d)-code maximal haben kann. 17

19 Kapitel 3 Lineare Codes Betrachten noch einmal den (6,8,3)-Code über 2 mit den Codewörtern: Struktur? Ja: x 4 = x 1 + x 2, x 5 = x 1 + x 3 und x 6 = x 2 + x 3. Betrachten L := { x 6 2 : x 4 = x 1 + x 2, x 5 = x 1 + x 3 und x 6 = x 2 + x 3 }. Klar: C L. 3 Gleichungen, 6 Variablen. Daher dim L = 6 3 = 3 und L = 2 3 = 8. Daher C = L. Definition 3.1 Für einen Körper mit q Elementen schreiben wir q. Definition 3.2 (Linearer Code) Ein Code C über q heißt linear, wenn C ein Untervektorraum von n q ist. Bemerkung: Bei einem linearen (n,k)-code C n q hat K immer die Form K = q k mit 0 k = dim C n. 18

20 Definition 3.3 Für einen linearen (n,q k,d) q -Code über q schreibt man kurz [n,k,d] q -Code, [n,k,d]-code oder [n,k]-code. Die Zahl k nennt man die Dimension des linearen Codes. Satz 3.1 (ohne Beweis) Es gibt einen Körper mit q Elementen genau dann, wenn q = p r mit p prim und r Æ. Dieser Körper ist eindeutig bestimmt. Die Charakteristik von q ist immer p, d.h., für alle a q. } a + {{ + a } = 0 p mal Beispiel: Für q prim ist q = q = /(q ). Beispiel: Wie sieht 4 aus? Nicht 4, denn in 4 ist 2 2 = 0!!! 4 = {0,1,ω, ω = ω + 1} mit = 0, ω + ω = 0 (beides wegen Charakteristik 2) und ω 2 = ω ω ω ω ω ω ω ω ω ω 0 1 ω ω ω ω ω 1 1 ω ω ω ω ω 1 ω ω 1 ω 3.1 Die Generatormatrix Wir wissen aus der Linearen Algebra, dass jeder endlichdimensionale Vektorraum eine Basis hat. Definition 3.4 (Generatormatrix) Unter einer Generatormatrix eines [n,k]-codes C über q versteht man die k n-matrix G über q, deren Zeilen aus einer Basis von C bestehen. Beispiel: Ein [4,2] 4 -Code: G = ( ω ω Wie sehen die 4 2 = 16 Codewörter aus? Müssen alle Linearkombinationen von x 1 = 1111 und x 2 = 01ω ω bilden. ) 19

21 λ 1 λ 2 λ 1 x 1 + λ 2 x ω 0 ωωωω ω 0 ω ω ω ω ω ω ωω ω 1 ω ω01 ω 1 ωω10 λ 1 λ 2 λ 1 x 1 + λ 2 x 2 0 ω 0ω ω1 1 ω 1 ωω0 ω ω ω01 ω ω ω ω10ω 0 ω 0 ω1ω 1 ω 1ω0 ω ω ω ω1 ω0 ω ω ω0ω1 Beispiel: Unser (6,8,3) 2 -Code ist ein [6,3,3]-Code über 2 mit (möglicher) Generatormatrix G = (besteht aus den letzten 3 Codewörtern). Eine besonders schöne Generatormatrix ist G = = I Definition 3.5 Eine Generatormatrix der Form G = (I k P) heißt Generatormatrix in Normalform. Bemerkung: Eine Generatormatrix hat immer Rang k, da der Zeilenraum keine doppelten Codewörter enthält. Bemerkung: Daher lässt sich G durch elementare Zeilenoperationen und (gegebenenfalls) Spaltenvertauschen in Normalform bringen. Bei Zeilenoperationen bleibt der erzeugte Code unverändert. Beim Spaltenvertauschen werden auch die Spalten im erzeugten Code vertauscht (was in der Praxis aber meistens auch irrelevant ist). Bemerkung: Wie lässt sich der Code C aus einer seiner Generatormatrizen G erzeugen? } C = {yg : y k q n q Vektoren werden wir immer als Zeilenvektoren schreiben. Bemerkung: Wenn G in Normalform ist, dann ist C systematisch. Bemerkung: Wie funktioniert Codierung? 20

22 Identifizieren die Nachrichten mit y k q. Senden x = yg C n q. Wenn G in Normalform ist, dann ist x = yg = y (I k P) = (y yp). Also: Zuerst y k q senden, dann yp n k q senden. 3.2 Die Minimaldistanz Linearer Codes Bei allgemeinen Codes mussten wir den Abstand zwischen ( K 2) Paaren von Codewörtern betrachten, um die Minimaldistanz zu bestimmen. Lässt sich das vereinfachen, wenn man die Struktur linearer Codes ausnutzt? Lemma 3.2 Sei C ein linearer Code, C {0}. Dann ist d(c) = min x C\{0} w(x). Bemerkung: Die Kardinalität der Menge, über die minimiert wird, reduziert sich von ( K 2) = K(K 1)/2 auf K 1. Beweis: Müssen zeigen, dass min w(x y) = min w(x). x y C x C\{0} Jede Differenz von ungleichen Codewörtern x, y ist wieder ein Codewort: Klar, x y C. Jedes Codewort x C \ {0} ist die Differenz der Codewörter x und 0. Beispiel: Damit lässt sich leicht überprüfen, dass der [6, 3]-Code wirklich ein [6, 3, 3]-Code ist. Der Code über 4 hat Minimaldistanz 3, da w(x) 3 für alle x C, und ist daher ein MDS-Code. 3.3 Der duale Code Wollen effizient feststellen, ob ein Übertragungsfehler aufgetreten ist. Brauchen dafür mehr Theorie. Zuerst ein inneres Produkt auf n q : Definition 3.6 (Skalarprodukt) Seien x = (x 1,...,x n ) und y = (y 1,...,y n ) aus n q. Dann ist : n q n q q definiert als das Skalarprodukt von x und y. x y := xy T = 21 n x i y i i=1

23 Lemma 3.3 ist eine symmetrische nicht-entartete Bilinearform, d.h., 1. xy = yx (Symmetrie) 2. (x + y)z = xz + yz (Bilinearität I) 3. (λx) y = λ(xy) = x(λy) (Bilinearität II) für alle x,y,z n q und λ q. 4. xy = 0 für alle x n q genau dann, wenn y = 0 (nicht entartet) Beweis: Nachrechnen. Definition 3.7 (Dualraum) Zwei Vektoren x,y n q heißen orthogonal, kurz x y, wenn xy = 0. Definition 3.8 Für eine beliebige Teilmenge U n q ist der Dualraum definiert als U := { x n q : x y für alle y U }. Wenn C ein linearer Code ist, dann nennt man C den zu C dualen Code. Lemma 3.4 Für alle U n q ist U ein Untervektorraum von n q. Beweis: Klar, denn die Bedingung x y ist für jedes fixe y U eine homogene lineare Gleichung. U ist genau die Menge der Elemente, die alle diese Gleichungen erfüllen. Lemma 3.5 Sei U ein UVR von n q und v 1,...,v k eine Basis von U. Dann ist U = {v 1,...,v k }. Beweis: Wenn x U, dann ist x u für alle u U, insbesondere also für v 1,...,v k. Wenn x {v 1,...,v k }, dann gilt x v i und somit xv i = 0 für i = 1,...,k. Sei λ 1,...,λ k q. Wegen Bilinearität gilt 0 = k i=1 λ i (xv i ) = k i=1 x(λ iv i ) = x k i=1 λ iv i und damit xu = 0 für alle u U. Lemma 3.6 Sei U ein Untervektorraum von n q. Dann ist dim U + dimu = n. 22

24 Bemerkung: Wenn C ein [n,k]-code ist, dann ist C ein [n,n k]-code. Beweis: Sei k := dim U und sei v 1,...,v k eine Basis von U n q. Es gilt U Lemma 3.5 = {v 1,...,v k } { = x n q : x v i für i = 1,...,k } v 1 = x n q :. x T = 0. Damit ist U die Lösungsmenge eines linearen Gleichungssystems mit n Unbekannten. Damit gilt dimu = n rang (v 1,...,v k ) = n k = n dim U, da v 1,...,v k Basis und damit linear unabhängig sind. Lemma 3.7 Sei U ein Untervektorraum von n q. Dann ist U = U. Beweis: Zeigen zuerst U U : Sei x U. Dann ist auch x y für alle y U und damit x U. Aus Lemma 3.6 folgt dann die Aussage. Von der Theorie desên mit dem normalen Skalarprodukt sind wir gewohnt, dass U U = {0} für alle U Ên und x x für alle x 0. Für Vektorräume über anderen Körpern (insbesondere über endlichen Körpern) oder andere Bilinearformen stimmt das jedoch nicht! Definition 3.9 Eine Element x n q heißt isotrop, wenn x x. Beispiel: ImÊn mit normalem inneren Produkt ist nur 0 isotrop. Beispiel: In n 2 ist xx = w(x) mod 2. Somit sind alle x mit w(x) gerade isotrop. Definition 3.10 Ein Untervektorraum U von n q heißt selbstorthogonal, wenn x y für alle x,y U, d.h., U U. Ein Untervektorraum U von n q heißt selbstdual, wenn U = U. v k 3.4 Die Check-Matrix Zurück zu unserem Problem. x C gesendet, ˆx n q empfangen. Wie testet man effizient, ob ˆx C? Satz 3.8 Sei C ein [n,k]-code und H eine Generatormatrix von C. Für jedes x n q gilt x C Hx T = 0. 23

25 Beweis: Seien h 1,...,h n k die Zeilen von H. Wenn x C, dann gilt x y für alle y C und somit insbesondere auch x h i für i = 1,...,n k. Damit ist Hx T = 0. Hx T = 0 ist gleichbedeutend mit x h i für i = 1,...,n k. Damit ist x {h 1,...,h n k } Lemma 3.5 = C Lemma 3.7 = C. Aufgrund dieser Funktion der Generatormatrix von C definiert man: Definition 3.11 (Check-Matrix) Eine Generatormatrix von C Check-Matrix von C genannt. wird Satz 3.9 Sei C ein [n,k]-code mit Generatormatrix G = (I k P) in Normalform. Dann ist H = ( P T I n k ) eine Check-Matrix von C. Beweis: Wegen der Linearität von (vergleiche Lemma 3.5) reicht es zu zeigen, dass jede Zeile von G zu jeder Zeile von H orthogonal ist. In Matrixschreibweise also GH T = 0 k (n k). Nachrechnen: GH T = (I k P) ( P T I n k ) T = I k ( P T ) T + P (In k ) T = P I n k I k P = P P = 0 k (n k). Beispiel: Die Check-Matrix unseres [6, 3, 3]-Codes ist H = ( P T ) I3 = I 3 = Die Check-Matrix H enthält also die gesamte Information über die Codewörter von C. Kann man von H = (h 1 h n ) auch auf das Gewicht der Codewörter (und damit auf die Minimaldistanz von C) schließen? Betrachten x = (0,...,0,x i1,0,...,0) mit x i1 0, d.h. w(x) = 1. x C gdw Hx T = 0 gdw x i1 h i1 = 0 gdw h i1 = 0. Betrachten x = (0,...,0,x i1,0,...,0,x i2,0,...,0) mit x i1,x i2 0, d.h. w(x) = 2. x C gdw Hx T = 0 gdw x i1 h i1 +x i2 h i2 = 0 gdw h i1 = x i 2 x i1 h i2, d.h. h i1 ist Vielfaches von h i2. 24

26 Betrachten x = (0,...,0, x i1,0,...,0, x i2,0,...,0, x i3, 0,...,0) mit x i1,x i2,x i3 0, d.h. w(x) = 3. x C gdw Hx T = 0 gdw x i1 h i1 +x i2 h i2 +x i2 h i2 = 0 gdw h i1,h i2,h i3 sind linear abhängig. Allgemein: x mit w(x) = w ist in C genau dann, wenn die w entsprechenden Spalten von H linear abhängig sind. Definition 3.12 Sei t 0. Eine Matrix heißt t-unabhängig, wenn jede Auswahl von t Spalten linear unabhängig ist. Satz 3.10 Sei C ein linearer Code mit Check-Matrix H. d(c) t + 1 H ist t-unabhängig. Beweis: Für t = 0 sind beide Seiten immer wahr. Für t = n gilt: d(c) n+1 gdw C = {0} gdw C = n q gdw H reguläre n n-matrix gdw H n- unabhängig. Daher jetzt 1 t < n. Wenn d(c) t, dann gibt es ein x C mit 0 < t := w(x) t. Seien i 1,...,i t die Positionen, an denen x ungleich 0 ist. Dann ist Hx T = x i1 h i x it h it = 0 und daher h i1,...,h it und t t weitere Spalten linear abhängig. Also ist H nicht t-unabhängig. Wenn H nicht t-unabhängig ist, dann gibt es t Spalten h i1,...,h it von H, die linear abhängig sind, also z.b. λ 1 h i λ t h it = 0 mit (λ 1,...,λ t ) 0. Sei jetzt x = (x 1,...,x n ) mit x ij = λ j für j = 1,...,t und x i = 0 sonst. Dann ist Hx T = λ 1 h i λ t h it = 0 und daher x C. Weiters ist x 0 (da nicht alle λ j = 0) und w(x) t. Daraus folgt d(c) t. 3.5 Syndrom-Decodierung Situation: Linearer Code C. x C gesendet. ˆx = x + e empfangen. w(e) f := (d(c) 1) /2. Wie findet man x basierend auf ˆx? Alle q k Codewörter x durchgehen, bis man eines findet mit d(x, ˆx) f? Zu langsam für große k. Alle Wörter in Bq n (ˆx,f) überprüfen, ob diese in C sind? Zu langsam für große n und d. Tabelle mit der richtigen Decodierung für jedes ˆx n q. Schnell, braucht aber zu viel Speicher für große n. 25

27 Das folgende Verfahren (Syndromdecodierung) ist schnell, man braucht aber nur q n k (statt q n ) Vektoren speichern. Haben gesehen: Hˆx T ist wichtig. Definition 3.13 Sei H Check-Matrix eines [n, k]-codes. Die Funktion σ : definiert als σ(x) := Hx T wird Syndrom von x genannt. n q n k q Wann haben x,y n q das gleiche Syndrom? σ(x) = σ(y) gdw Hx T = Hy T gdw H (x y) T = 0 gdw (Satz 3.8) x y C gdw x = y + z für ein z C gdw x yc. Das heißt, die Vektoren mit gleichem Syndrom bilden Nebenklassen der additiven Gruppe C n q. Also: n q lässt sich in q n k Nebenklassen n q /C partitionieren (eine davon ist C). σ(x) gibt an, in welcher Nebenklasse x liegt. Für σ(x) = 0 folgt x C. Zurück zur Decodierung: ˆx empfangen. Suchen e mit kleinstem Gewicht, sodass ˆx = x + e mit x C. D.h., σ(ˆx) = σ(e) und ˆx und e liegen in der gleichen Nebenklasse. Plan: Speichern (einmal!) für jede Nebenklasse das/ein/die Element(e) mit dem kleinsten Gewicht. Das sind q n k Vektoren aus n q. Berechnen σ(ˆx). Schauen in der Liste nach und nehmen an, dass dieser Fehler aufgetreten ist. Definition 3.14 Das/ein Element mit kleinstem Gewicht in einer Nebenklasse von C n q heißt Repräsentant der Nebenklasse oder Coset-Leader. Beispiel: Unser [6,3,3] 2 -Code mit Check-Matrix H = Untersuchen Vektoren mit kleinem Gewicht: w(e) = 0: Nur eine Möglichkeit: e = σ(e) = He T =

28 w(e) = 1: Genau 6 Möglichkeiten: e = σ(e) = 110. e = σ(e) = 101. e = σ(e) = 011. e = σ(e) = 100. e = σ(e) = 010. e = σ(e) = 001. w(e) = 2: Da d(c) = 3 können zwei Fehler im Allgemeinen nicht mehr korrigiert werden. Man kann aber willkürlich eine Korrektur festlegen oder alle möglichen Korrekturen speichern: σ(100001) = σ(010010) = σ(001100) = 111. Resultierende Tabelle σ(ˆx) = σ(e) Repräsentant e Bemerkung Kein Fehler Fehler, , , Nicht eindeutig Decodierung ˆx = σ(ˆx) = 000. Repräsentant: Kein Fehler. x = ˆx. Nachricht: 011. ˆx = σ(ˆx) = 100. Repräsentant: x = ˆx = Nachricht: 111. ˆx = σ(ˆx) = 111. Repräsentant: Fehler! 27

29 Kapitel 4 Hamming- und Simplexcodes Konstruieren zuerst eine Matrix und interpretieren diese dann sowohl als Generator- wie auch als Check-Matrix. Wählen beliebigen endlichen Körper q. Wählen beliebiges k Æ, das die Anzahl der Zeilen festlegt. Konstruieren jetzt Matrix M q (k) über q wie folgt: Nehmen als Spalten alle Vektoren von k q, aber nicht den Nullvektor. Betrachten die Relation auf k q definiert als x y wenn es ein λ q\{0} gibt mit x = λy. Das ist offensichtlich eine Äquivalenzrelation. Nehmen aus jeder Äquivalenzklasse nur einen Vektor. Beispiel: q = 2, k = 3: In 2 gibt es keine Vielfachen. Daher nimmt man alle Vektoren von k 2 außer dem Nullvektor. Zum Beispiel: M 2 (3) = Beispiel: q = 4, k = 2: Betrachten zuerst die Äquivalenzklassen: 1. 0 = ( 0 0 ) 2. ( 0 1 ),( ω 0 ),( 0 ω ) 3. ( 1 0 ),(ω 0 ),( ω 0 ) 4. ( 1 1 ),(ω ω ),( ω ω ) 28

30 5. ( 1 ω ),(ω ω ),( ω 1 ) 6. ( 1 ω ),(ω 1 ),( ω ω ) Verwenden aus jeder Klasse immer den Vektor, der mit (0,...,0,1,...) beginnt. Damit ergibt sich zum Beispiel: ( ) M 4 (2) = ω ω Bemerkung: M q (k) ist nicht eindeutig definiert. Wir haben weder festgelegt, welcher Vektor aus einer Äquivalenzklasse gewählt wird, noch in welcher Reihenfolge die Spalten angeordnet werden. Werden aber sehen, dass beides irrelevant ist. Definition 4.1 Zwei lineare Codes C, C heißen äquivalent (C C ), wenn C aus C durch Koordinatenpermutation Multiplizieren von Koordinaten mit λ q \ {0} entsteht. Bemerkung: Klar: C = C impliziert C C. C C impliziert, dass C und C gleiche Parameter haben. Bemerkung: Verschiedene Möglichkeiten für M q (k) führen zu äquivalenten Codes (sowohl als Generatormatrix wie auch als Check-Matrix). Lemma 4.1 M q (k) hat qk 1 q 1 Spalten. Beweis: k q = q k. k q \ {0} = q k 1. Alle verbleibenden Äquivalenzklassen enthalten genau q \ {0} = q 1 Elemente. Daher ( q k 1 ) /(q 1) verschiedene Vektoren. 4.1 Hamming-Codes Definition 4.2 (Hamming-Code) Sei q ein endlicher Körper und k Æ, k 2. Ein linearer Code mit Check-Matrix M q (k) heißt Hamming-Code H q (k). 29

31 Satz 4.2 H q (k) ist ein [ qk 1 q 1, qk 1 q 1 k,3] q-code. Beweis: Die Länge folgt aus Lemma 4.1, die Dimension aus Lemma 3.6. M q (k) ist 2-unabhängig (kein Nullvektor, keine Vielfachen), aber nicht 3- unabhängig, damit folgt d(h q (k)) = 3 aus Satz Satz 4.3 H q (k) ist perfekt. Beweis: Nachrechnen (PS, Aufgabe 33). Bemerkung: Hamming-Codes und gekürzte Hamming-Codes sind die besten Codes mit d = 3, und damit auch die besten Codes, die 1 Fehler korrigieren können. Beispiel: Über 2: H 2 (2) = [3,1,3]. H 2 (3) = [7,4,3]. H 2 (4) = [15,11,3]. H 2 (5) = [31,26,3]. Kürzeste Codes mit d = 3: Siehe auch PS, Aufgabe 34. k n 1 3 H 2 (2) 2 5 H 2 (3) 2 kürzen 3 6 H 2 (3) kürzen 4 7 H 2 (3) 5 9 H 2 (4) 6 kürzen 6 10 H 2 (4) 5 kürzen H 2 (4) kürzen H 2 (4) H 2 (5) 9 kürzen Simplexcodes Definition 4.3 (Simplexcode) Sei q ein endlicher Körper und k Æ. Ein linearer Code mit Generatormatrix M q (k) heißt Simplexcode S q (k). Bemerkung: H q (k) = S q (k) und S q (k) = H q (k). 30

32 Satz 4.4 S q (k) ist ein [ qk 1 q 1,k,qk 1 ] q -Code. Bemerkung: Die Parameter sind bestmöglich (siehe PS, Aufgabe 50). Beweis: Länge folgt aus Lemma 4.1. Dimension ist offensichtlich. Betrachten zuerst den Code C, dessen Generatormatrix m 1 m 11 m 1n M =. =.. m k m k1 m kn aus allen Vektoren aus k q besteht. Diese hat n = q k Spalten. Sei x C \{0} beliebig. Wollen w(x) bestimmen. Für dieses x gibt es λ 1,...,λ k mit x = λ 1 m λ k m k und nicht alle λ i = 0. Sei 1 j n. Wollen feststellen, für welche/wie viele j gilt, dass x j = 0, also x j = λ 1 m 1j +...+λ k m kj = 0. Das ist eine lineare Gleichung in k Unbekannten m 1j,...,m kj. Rang ist 1, da nicht alle λ i = 0. Damit gibt es q k 1 Lösungen und w(x) = n q k 1 = q k q k 1. Was passiert beim Übergang von M zu M q (k)? Nullspalte weglassen ändert nichts an w(x). Innerhalb einer Äquivalenzklasse sind entweder alle x j = 0 oder alle x j 0. Damit reduziert sich das Gewicht aller Codewörter um einen Faktor von genau q 1. Somit gilt w(y) = (q 1) q k 1 /(q 1) = q k 1 für alle y S q (k) \ {0}. Definition 4.4 Einen Code, bei dem alle Codewörter gleiches Gewicht haben, nennt man Constant-Weight-Code. Bemerkung: In S q (k) \ {0} haben alle Codewörter Gewicht q k 1. Daher ist S q (k) \ {0} ein Constant-Weight-Code. Bemerkung: Von wo kommt der Name Simplexcode? Ein Simplex imên ist die konvexe Hülle von n+1 Punkten in allgemeiner Lage. Ein Simplex heißt regulär, wenn alle Kanten die gleiche Länge haben (z.b. gleichseitiges Dreieck imê2, Tetraeder imê3 ). Betrachten S 2 (k) n 2. Interpretieren Codewörter als Punkte imên, also 2 k Punkte imê2 k 1. Abstand der Punkte? Im n 2 gilt d(x,y) = 2 k 1 für alle x y S 2 (k). ImÊn mit der euklidischen Metrik gilt daher d(x,y) = 2 k 1 = 2 (k 1)/2 für alle x y S 2 (k). Damit beschreiben diese Punkte einen regulären Simplex! Beispiel: S 2 (1) ergibt Strecke inêmit Eckpunkten (0),(1) und Länge 2 (1 1)/2 = 1. ( S 2 (2) ergibt Tetraeder inê3 00 ) ) ) ) mit Eckpunkten und Kantenlänge 2 (2 1)/2 = 2. 0,( 01 1,( 10 1,(

33 4.3 Decodierung von Hamming-Codes Codes mit d 2 können keine Fehler korrigieren. Mit d = 3 ist jedoch das Korrigieren eines Fehlers möglich. Bei Hamming-Codes ist dies besonders einfach, da diese perfekt sind und damit jedes Wort entweder ein Codewort ist oder Abstand 1 zu genau einem Codewort hat. Situation: x C = H q (k) gesendet. ˆx n q empfangen. Sei H = M q (k) mit Spalten h 1,...,h n. Wenn Hˆx T = 0, ok. Wenn Hˆx T 0, Fehler! Wir können nur einen Fehler korrigieren, daher ist ˆx = x + (0,...,0,y i,0,...,0) mit 1 i n und y i q \ {0}. Weiters gilt Hˆx T = Hx } {{ T } +H (0,...,0,y i,0,...,0) T = y i h i. =0 Wenn die h i so gewählt sind, dass sie z.b. immer mit (0,...,0,1,...) beginnen, lässt sich y i h i einfach in y i und h i zerlegen. Wenn die Spalten von H z.b. in lexikographischer Ordnung sind, lässt sich auch i einfach aus h i berechnen. Damit kennt man sowohl die Position des Fehlers, wie auch die Veränderung an dieser Position. Beispiel: Betrachten [5,3,3] 4 -Code H 4 (2) mit Check-Matrix H = M 4 (2) = Demnach ist die Generatormatrix G = ( ω ω 0 1 I ω 1 ω ). in Normalform und der resultierende Code systematisch. Empfangen ˆx = 01ω ω ω. Hˆx T = ( 0+1+ω+ ω+0 0+ω+1+0+ ω ) = ( 0 0 ) = 0. Also kein Fehler. Nachricht ist 01ω. Empfangen ˆx = 01 ω11. Hˆx T = ( 0+1+ ω ω+ω+0+1 ) = ( ω 1 ) = ω ( 1 ω ). Also Fehler ω in Spalte 2. Also x = ˆx ωe 2 = ˆx 0 ω000 = 0ω ω11. Nachricht ist 0ω ω. 32

34 Kapitel 5 Reed-Solomon-Codes Erfunden von Irving Reed und Gustave Solomon, Algebra Wiederholung q[x] ist der Polynomring über q, ein euklidischer Ring und Vektorraum über q. Sei f q[x], a q. Unter f(a) versteht man die Auswertung von f an der Stelle a. Auswertung ist also eine Funktion q[x] q q, q-linear im ersten, aber nicht im zweiten Argument. a q heißt Nullstelle von f q[x] wenn f(a) = 0. deg f ist der Grad von f. deg 0 := 1. Sei f q[x] \ {0}. Wenn f(a) = 0, dann ist f = (X a)g, mit g q[x] und deg g = deg f 1. Daher: Jedes Polynom f q[x]\{0} hat höchstens deg f Nullstellen. Definition 5.1 Sei q ein endlicher Körper, k Æ0. P q (k) := {f q[x] : deg f < k}. Bemerkung: P q (k) ist UVR von q[x] mit Basis X 0 = 1,X,X 2,...,X k 1. Beispiel: P 3 (0) = {0} P 3 (1) = P 3 (0) {1,2} P 3 (2) = P 3 (1) {X,X + 1,X + 2,2X,2X + 1,2X + 2} P 3 (3) = P 3 (2) { X 2,X 2 + 1,X 2 + 2,X 2 + X,...,2X 2 + 2X + 2 } 33

35 Definition 5.2 Sei q = {a 1,...,a q } ein endlicher Körper und 0 k q. Sei π : P q (k) q q definiert als f (f(a 1 ),...,f(a q )). Der Reed-Solomon- Code ist definiert als RS q (k) := π(p q (k)). Bemerkung: Nur bis auf Spaltenpermutation eindeutig. Für q = p benutzen wir immer a 1 = 0,a 2 = 1,...,a p = p 1. Beispiel: q = 3 = {0,1,2}. f π(f) X 012 X X X 021 2X X f π(f) X X X X 2 + X 020 X 2 + X X 2 + X X 2 + 2X X 2 + 2X Generatormatrizen: RS 3 (0): π(p 3 (0)) = π([]) = []. G = () RS 3 (1): π(p 3 (1)) = π([1]) = [(1,1,1)]. G = ( ) RS 3 (2): π(p 3 (2)) = π([1,x]) = [(1,1,1),(0,1,2)]. G = ( RS 3 (3): π(p 3 (3)) = π([1,x,x 2 ]) = [(1,1,1),(0,1,2),(0,1,1)] G = ) Beispiel: Der [4,2,3] 4 -Code mit Generatormatrix ( ) G = 0 1 ω ω aus Abschnitt 3.1 ist RS 4 (2). Satz 5.1 RS q (k) ist ein linearer [q,k,q k + 1] q -MDS-Code mit Generatormatrix G = (g ij ) mit g ij = aj i 1 (wobei 0 0 := 1), also transponierte Vandermonde-Matrix. 34

36 Beweis: Linearität: P q (k) ist VR über q. Auswertung und daher auch π sind linear. Damit ist auch das Bild linear über q. Länge q ist klar. Dimension k: P q (k) hat Dimension k. Zeigen, dass der Kern von π gleich {0} ist: Angenommen es gibt f P q (k) \ {0} mit π(f) = (f(a 1 ),...,f(a q )) = 0. D.h., f hat mindestens q Nullstellen (da f 0). D.h. deg f q k. Widerspruch zu f P q (k). d(rs q (k)) q k+1: Sei x RS q (k) \ {0} und f = π 1 (x). w(x) q # {Nullstellen von f} q deg f > q k. Also w(x) q k + 1. MDS: Nachrechnen. Generatormatrix: Ist das Bild unter π der Basis X 0,X 1,...,X k 1 von P q (k). Bemerkung: Seit 1967 (Berlekamp) kann man Reed-Solomon-Codes auch effizient decodieren. Beispiel: Seit den Voyager-Sonden Ende der 70er-Jahre wurden Reed-Solomon-Codes bei allen weiteren Missionen zur Datenübertragung benutzt. Dabei wird immer ein zweistufiger Prozess benutzt: 1. [255,223,33] 256 -Code (1 abgeschnittener RS 256 (223)). 2. Ein Faltungscode (Convolutional code) Beispiel: Reed-Solomon-Codes auf einer CD: Auf einer CD werden gekürzte Reed-Solomon-Codes RS 256 (252) = [256,252,5] benutzt, nämlich [28,24,5] 256 und [32,28,5] 256. Codierung: 24 Bytes Nutzdaten werden zuerst mit dem [28, 24, 5]- Code codiert. Dann werden je 28 Bytes mit dem [32,28,5]-Code codiert. Datenrate also = 24/32 = 3/4. Zwischen den beiden Codierungsschritten werden die Bytes gut durchgemischt. 35

37 Decodierung: Je 32 Bytes werden mit dem [32,28,5]-Code decodiert. 1 oder 2 Fehler werden korrigiert. Mehr als 2 Fehler werden fast immer erkannt (siehe PS, Aufgabe 45) und alle 28 Bytes als ungültig erklärt. Nur in sehr seltenen Fällen wird ein Fehler falsch korrigiert. Die 28 Bytes werden gemischt. So wird sichergestellt, dass die 28 als ungültigen markierten oder sogar falschen Bytes in 28 verschiedenen Blöcken landen. Je 28 Bytes werden mit dem [28,24,5]-Code decodiert. Bis zu 2 Fehler, 1 Fehler und 2 ungültige Bytes oder 4 ungültige Bytes (siehe PS, Aufgabe 44) werden korrigiert. Haben Code-Familien bisher immer paarweise kennengelernt: Code und dualen Code. Was ist RS q (k)? Satz 5.2 RS q (k) = RS q (q k). Beweis: Für k = 0 und k = q ist die Aussage klar. Beschränken uns daher auf 1 k q 1. Werden zeigen, dass RS q (q k) RS q (k). Da dim RS q (q k) = dim RS q (k) = q k, folgt Gleichheit. Wegen Linearität reicht es zu zeigen, dass jede Zeile der Generatormatrix von RS q (k) orthogonal ist zu jeder Zeile der Generatormatrix von RS q (q k): Sei x i die i-te Zeile der Generatormatrix. Betrachten Zeile 1 i 1 k und Zeile 1 i 2 q k: S := x i1 x i2 = a i1 1 a i2 1 = a i 1+i 2 2 = a j a q a q a q mit j = i i + i 2 2. Klar, dass 0 j k + (q k) 2 = q 2. Für q = 2 folgt j = 0 und somit S = = = 0. Für q 3 gibt es ein c q \ {0} mit c j / {0,1}: Klar, dass c j 0. Angenommen c j = 1 für alle c q \ {0}, dann hätte das Polynom X j 1 mindestens q 1 Nullstellen. Es kann aber höchstens deg ( X j 1 ) = j q 2 Nullstellen haben. 36

38 Damit ist c j S = c j a j = (ca) j = a j = S, a q a q a q da (wegen c 0) ca ganz q durchläuft, wenn a ganz q durchläuft. Somit ist ( c j 1 ) S = 0. Aus c j 1 folgt S = 0 und somit x i1 x i2. Beispiel: RS 2 k+1(2 k ) ist selbstdual für alle k 0. Insbesondere RS 2 (1), RS 4 (2), RS 8 (4)... Bemerkung: Bestimmte Reed-Solomon-Codes kennen wir bereits: RS q (0) = {0}. Daher [q,0,q + 1] q -Trivialer Code. RS q (q) = q q. Daher [q,q,1] q -Vollständiger Code. RS q (1) = [(1,...,1)]. Daher [q,1,q] q -Wiederholungscode. RS q (q 1) = RS q (1) Check-Code. = [(1,...,1)]. Daher [q,q 1,2] q -Parity- Wie schaut das für verschiedene q aus? q = 2: Nur obige Codes. q = 3: Nur obige Codes. q = 4: Nur RS 4 (2) = [4,2,3] 4 -Code nicht von oben. Der ist aber auch nicht neu: Abgeschnittener S 4 (2) oder gekürzter H 4 (2). q = 5: Nur RS 5 (2) = [5,2,4] 5 und RS 5 (3) = [5,3,3] 5 nicht von oben. Aber RS 5 (2) ist abgeschnittener S 5 (2), RS 5 (3) ist gekürzter H 5 (2). q = 7: RS 7 (k) ist von oben für k {0,1,6,7}, abgeschnittener Simplexcode für k = 2 und gekürzter Hamming-Code für k = 5. RS 7 (3) und RS 7 (4) sind aber neu!!! Reed-Solomon-Codes sind also nur für große q interessant. Erste neue Resultate erst ab q 7. Für alle Längen q liefern sie aber (durch Kürzen oder Abschneiden) die besten möglichen Codes (da MDS). 37

39 Kapitel 6 Weitere Regeln Wir haben schon einige Regeln kennengelernt. Aus einem [n, k, d]-code erhalten wir folgende Codes: Resultat Voraussetzung Methode Verweis [n,k 1,d] k 1 Subcode PS 6.b [n + 1, k, d] Einbettung Aussage 2.3 [n 1,k,d 1] n 2 und d 2 Abschneiden Aussage 2.4 [n 1,k 1,d] n 2 und k 1 Kürzen Aussage 2.5 [n + 1, k, d + 1] q = 2 und d ungerade Parity-Check-Bit PS 14 [un, k, ud] Wiederholung PS Residual-Codes und die Griesmer-Schranke Sei C ein [n,k,d]-code. Nach (d 1) mal Abschneiden und 1 mal Kürzen erhält man einen [n d,k 1,1]-Code. Also einen Code mit kleinstmöglicher Minimaldistanz. Es geht aber auch besser: Satz 6.1 (Residual-Code) Aus einem [n,k,d] q -Code C mit d = d(c) lässt sich ein [n d,k 1, d/q ] q -Code konstruieren. Bemerkung: Für d > q ist das besser als Abschneiden und Kürzen. Beweis und Konstruktion: Da d(c) = d gibt es ein v C mit w(v) = d. O.B.d.A. sei v = (1,...,1,0,...,0). Sei nun G eine Generatormatrix von C, die v als erste Zeile hat. Wir werden zeigen, dass die Matrix G, die durch Streichen der ersten d Spalten und der ersten Zeile entsteht, eine Generatormatrix eines [n d,k 1, d/q ] q -Codes C ist. Die Länge n = n d ist offensichtlich korrekt. Dimension k = k 1: Angenommen k < k 1, dann sind Zeilen von G linear abhängig. Dann gibt es ein x = (x 1,...,x d,0,...,0) C \ [v] mit 38

40 w(x) d und somit w(x x 1 v) < d, da x x 1 v = (0,x 2 x 1,...,x d x 1,0,...,0) 0. Widerspruch zu d = d(c). d(c ) d/q : Sei x C \ {0} und x das Urbild von x in C. Sei w λ für λ q die Anzahl der ersten d Koordinaten von x mit Wert λ. Nun gilt w(x λv) = d w λ + w(x ) d(c) = d und somit w(x ) w λ für alle λ q. Angenommen w(x ) < d/q. Dann ist auch w λ d/q 1 = (d + q 1) /q 1 für alle λ q. Daher ist d = w λ q λ q (d + q 1) /q q d + q 1 q = d 1. Widerspruch! Durch wiederholte Anwendung des Residual-Codes erhält man irgendwann einen [n,1,d] q -Code, und der muss natürlich n d haben. Daraus folgt die Satz 6.2 (Griesmer-Schranke) Für jeden [n,k,d] q -Code gilt k 1 d n q i. i=0 Beweis: Induktion nach k. k = 1: Klar, für jeden [n, 1, d]-code gilt n d = d q. 0 k 1 k (siehe auch PS, Aufgabe 49): Betrachten einen beliebigen [n,k,d]-code. Dann ist der Residual-Code ein [n,k,d ]-Code mit n = n d, k = k 1 und d = d/q, der laut Induktionsvoraussetzung die Griesmer-Schranke erfüllen muss: Also Beachte dazu, dass n = d + n d + k 1 i=0 k 2 d q i d/q = d + i=0 i=1 q i k 2 d = d + q i+1 i=0 k 1 d = d + q i = k 1 i=0 d q i. d/q = d für alle d,q Æund i Æ0. q i q i+1 39

41 Bemerkung: Die Griesmer-Schranke ist immer stärker als die Singleton- Schranke, denn k 1 d k 1 d n q i = d + q i d + k 1. i=0 i=1 } {{ } 1 Bemerkung: Der Simplexcode erfüllt die Griesmer-Schranke mit Gleichheit und hat daher optimale Länge (Beweis siehe PS, Aufgabe 50). 6.2 Die (u, u + v)-konstruktion Definition 6.1 Seien C 1 und C 2 zwei lineare Codes gleicher Länge über q. Die (u,u + v)-konstruktion dieser beiden Codes ist definiert als C = {(u,u + v) : u C 1,v C 2 }. Satz 6.3 Wenn C 1 und C 2 [n,k i,d i ]-Codes sind, dann ist das Ergebnis C der (u,u + v)-konstruktion ein [2n,k 1 + k 2,d]-Code mit d = min {2d 1,d 2 }. Wenn G 1,G 2 Generatormatrizen von C 1, C 2 sind, dann ist ( ) G1 G G := 1 0 G 2 eine Generatormatrix von C. Bemerkung: Geht auch nicht-linear. Geht auch mit n 1 < n 2 (dann ist n = n 1 + n 2 ). Lemma 6.4 (Umgekehrte Dreiecksungleichung) Sei w eine Norm auf S. Dann gilt w(x + y) w(x) w(y) für alle x,y S. Beweis: Dreiecksungleichung: w(x) = w(x + y y) w(x + y) + w( y) = w(x + y) + w(y). Beweis von Satz 6.3: Länge 2n: Klar. Minimaldistanz: Betrachten x = (u,u + v) für u C 1 und v C 2 : 40

42 Wenn u = 0 und v = 0, dann ist x = 0 / C \ {0}. Wenn u 0 und v = 0, dann ist x = (u,u) und w(x) = 2w(u) 2d(C 1 ) 2d 1 min{2d 1,d 2 } = d. Wenn v 0, dann ist w(x) = w(u)+w(v + u) w(u)+w(v) w(u) = w(v) d(c 2 ) d 2 min{2d 1,d 2 } = d. Dimension: Klar, dass k k 1 + k 2. Da die Abbildung linear mit Kern {(0,0)} ist (siehe Herleitung der Minimaldistanz), gilt k = k 1 + k 2. Generatormatrix: C = {(u,u + v) : u C 1,v C 2 } = {(u,u) : u C 1 } + {(0,v) : v C 2 } = [G 1 G 1 ] + [0 G 2 ]. Beispiel: Beginnen mit unserem [6, 3, 3]-Code und dem [6, 1, 6]-Wiederholungscode. Ergebnis: n = 2 6. k = d = min {2 3,6} = 6, also ein [12,4,6]- Code. Wiederholen dies immer mit dem passenden Wiederholungscode: [12,4,6] und [12,1,12] ergeben [24,5,12]. [24,5,12] und [24,1,24] ergeben [48,6,24]. Im Allgemeinen also einen [3 2 i,2 + i,3 2 i 1 ]-Code für alle i 1. Alle diese Codes haben minimale Länge (Griesmer-Schranke, siehe PS, Aufgabe 51). 6.3 Konstruktion X und die MDS-Code-Vermutung Oft enthalten lineare Codes Teilcodes, die (natürlich) weniger Codewörter, dafür aber (manchmal) höhere Minimaldistanz haben. Beispiele: RS q (k) RS q (k + 1) Manche [n, k, d]-codes enthalten das Wort (1,..., 1) und damit einen [n, 1, n]-teilcode. Es geht natürlich nicht immer. Im Simplexcode hat jeder Untercode (außer dem trivialen) die gleiche Minimaldistanz. 41

Einführung in die Kodierungstheorie

Einführung in die Kodierungstheorie Einführung in die Kodierungstheorie Einführung Vorgehen Beispiele Definitionen (Code, Codewort, Alphabet, Länge) Hamming-Distanz Definitionen (Äquivalenz, Coderate, ) Singleton-Schranke Lineare Codes Hamming-Gewicht

Mehr

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140 4 Woche Decodierung; Maximale, Perfekte und Optimale Codes 4 Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140 Szenario für fehlerkorrigierende Codes Definition (n, M)-Code Sei C {0, 1}

Mehr

Theoretische Grundlagen der Informatik WS 09/10

Theoretische Grundlagen der Informatik WS 09/10 Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3

Mehr

2.1 Codes: einige Grundbegriffe

2.1 Codes: einige Grundbegriffe Gitter und Codes c Rudolf Scharlau 2. Mai 2009 51 2.1 Codes: einige Grundbegriffe Wir stellen die wichtigsten Grundbegriffe für Codes über dem Alphabet F q, also über einem endlichen Körper mit q Elementen

Mehr

3 Der Hamming-Code. Hamming-Codes

3 Der Hamming-Code. Hamming-Codes 3 Der Hamming-Code Hamming-Codes Ein binärer Code C heißt ein Hamming-Code Ha s, wenn seine Kontrollmatrix H als Spalten alle Elemente in Z 2 s je einmal hat. Die Parameter eines n-k-hamming-codes sind:

Mehr

Modul Diskrete Mathematik WiSe 2011/12

Modul Diskrete Mathematik WiSe 2011/12 Modul Diskrete Mathematik WiSe / Ergänzungsskript zum Kapitel 3.4. Hinweis: Dieses Manuskript ist nur verständlich und von Nutzen für Personen, die regelmäßig und aktiv die zugehörige Vorlesung besuchen

Mehr

6. Woche: Lineare Codes, Syndrom, Gilbert-Varshamov Schranke. 6. Woche: Lineare Codes, Syndrom, Gilbert-Varshamov Schranke 107/ 238

6. Woche: Lineare Codes, Syndrom, Gilbert-Varshamov Schranke. 6. Woche: Lineare Codes, Syndrom, Gilbert-Varshamov Schranke 107/ 238 6 Woche: Lineare Codes, Syndrom, Gilbert-Varshamov Schranke 6 Woche: Lineare Codes, Syndrom, Gilbert-Varshamov Schranke 107/ 238 Erinnerung: Der Vektorraum F n 2 Schreiben {0, 1} n als F n 2 Definition

Mehr

Einführung in die Kodierungstheorie

Einführung in die Kodierungstheorie Anton Malevich Einführung in die Kodierungstheorie Skript zu einer im Februar 2013 gehaltenen Kurzvorlesung Fakultät für Mechanik und Mathematik Belorussische Staatliche Universität Institut für Algebra

Mehr

6 Fehlerkorrigierende Codes

6 Fehlerkorrigierende Codes R. Reischuk, ITCS 35 6 Fehlerkorrigierende Codes Wir betrachten im folgenden nur Blockcodes, da sich bei diesen das Decodieren und auch die Analyse der Fehlertoleranz-Eigenschaften einfacher gestaltet.

Mehr

Übungen zum Ferienkurs Lineare Algebra WS 14/15

Übungen zum Ferienkurs Lineare Algebra WS 14/15 Übungen zum Ferienkurs Lineare Algebra WS 14/15 Linearkombinationen, Basen, Lineare Abbildungen 2.1 Lineare Unabhängigkeit Sind die folgenden Vektoren linear unabhängig? (a) 1, 2, 3 im Q Vektorraum R (b)

Mehr

Lineare Codes. Dipl.-Inform. Wolfgang Globke. Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19

Lineare Codes. Dipl.-Inform. Wolfgang Globke. Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19 Lineare Codes Dipl.-Inform. Wolfgang Globke Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19 Codes Ein Code ist eine eindeutige Zuordnung von Zeichen

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

3.3 Eigenwerte und Eigenräume, Diagonalisierung

3.3 Eigenwerte und Eigenräume, Diagonalisierung 3.3 Eigenwerte und Eigenräume, Diagonalisierung Definition und Lemma 3.3.1. Sei V ein K-Vektorraum, φ End K (V ), λ K. Wir defnieren den zu λ gehörigen Eigenraum von φ als Dies ist ein Unterraum von V.

Mehr

Grundbegrie der Codierungstheorie

Grundbegrie der Codierungstheorie Grundbegrie der Codierungstheorie Pia Lackamp 12. Juni 2017 Inhaltsverzeichnis 1 Einleitung 2 2 Hauptteil 3 2.1 Blockcodes............................ 3 2.1.1 Beispiele.......................... 3 2.2

Mehr

Vorlesung Theoretische Grundlagen

Vorlesung Theoretische Grundlagen Vorlesung Theoretische Grundlagen Fehlerkorrigierende Jörn Müller-Quade 4. Februar 2010 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s Nachtrag zur allgemeinen Vektorraum-Theorie. 1.5.15. Direkte Summen. Sei V ein Vektorraum, seien U 1,..., U t Unterräume, wir schreiben V = U 1 U 2 U t = t i=1 U i falls die folgenden beiden Bedingungen

Mehr

Die Hamming-Distanz definiert eine Metrik.

Die Hamming-Distanz definiert eine Metrik. Die Hamming-Distanz definiert eine Metrik. Satz Metrik Hamming-Distanz Die Hamming-Distanz ist eine Metrik auf {0, 1} n, d.h. für alle x, y, z {0, 1} n gilt: 1 Positivität: d(x, y) 0, Gleichheit gdw x

Mehr

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche: Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 5/ 44 Unser Modell Shannon

Mehr

Fehlerkorrigierende Codes

Fehlerkorrigierende Codes Fehlerkorrigierende Codes SS 2013 Gerhard Dorfer 2 Inhaltsverzeichnis 1 Fehlerkorrigierende Codes 4 1.1 Einführende Beispiele................................. 4 1.2 Mathematische Grundlagen..............................

Mehr

Mathematik für Informatiker II. Beispiellösungen zur Probeklausur. Aufgabe 1. Aufgabe 2 (5+5 Punkte) Christoph Eisinger Sommersemester 2011

Mathematik für Informatiker II. Beispiellösungen zur Probeklausur. Aufgabe 1. Aufgabe 2 (5+5 Punkte) Christoph Eisinger Sommersemester 2011 Mathematik für Informatiker II Christoph Eisinger Sommersemester 211 Beispiellösungen zur Probeklausur Aufgabe 1 Gegeben sind die Polynome f, g, h K[x]. Zu zeigen: Es gibt genau dann Polynome h 1 und h

Mehr

Die Größe A(n, d) und optimale Codes

Die Größe A(n, d) und optimale Codes Die Größe A(n, d) und optimale Codes Definition Optimaler Code Wir definieren A(n, d) = max{m binärer (n, M, d) Code} Ein (n, M, d)-code heißt optimal, falls M = A(n, d). Bestimmung von A(n, d) ist offenes

Mehr

Codierungstheorie, Vorlesungsskript

Codierungstheorie, Vorlesungsskript Codierungstheorie, Vorlesungsskript Irene I. Bouw Sommersemester 2014 Inhaltsverzeichnis 1 Lineare Codes 2 1.1 Einführung.............................. 2 1.2 Eigenschaften linearer Codes....................

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

Erzeugendensystem und Basis

Erzeugendensystem und Basis Erzeugendensystem und Basis Definition Erzeugendensystem und Basis eines Unterraums Sei S F n 2 ein Unterraum. Eine Menge G = {g 1,..., g k } S heißt Erzeugendensystem von S, falls jedes x S als Linearkombination

Mehr

7. Woche Extra-Material: - Beispiele von Codes. 7. Woche: Beispiele von Codes 144/ 238

7. Woche Extra-Material: - Beispiele von Codes. 7. Woche: Beispiele von Codes 144/ 238 7 Woche Extra-Material: - Beispiele von Codes 7 Woche: Beispiele von Codes 144/ 238 Hamming-Matrix H(h) und Hammingcode H(h) Wir definieren nun eine Parity-Check Matrix H(h) von einem neuen Code: Parametrisiert

Mehr

Verschlüsselungs- und Codierungstheorie PD Dr. Thomas Timmermann Westfälische Wilhelms-Universität Münster Sommersemester 2017

Verschlüsselungs- und Codierungstheorie PD Dr. Thomas Timmermann Westfälische Wilhelms-Universität Münster Sommersemester 2017 Verschlüsselungs- und Codierungstheorie PD Dr. Thomas Timmermann Westfälische Wilhelms-Universität Münster Sommersemester 2017 Lineare Codes (Ausarbeitung von Benjamin Demes) 1) Was sind lineare Codes

Mehr

Erinnerung/Zusammenfassung zu Abbildungsmatrizen

Erinnerung/Zusammenfassung zu Abbildungsmatrizen Erinnerung/Zusammenfassung zu Abbildungsmatrizen Thomas Coutandin (cthomas@student.ethz.ch) 7. November 2 Abbildungsmatrizen Im Folgenden betrachten wir stets endlich dimensionale K-Vektorräume (K irgend

Mehr

3. Zusammenhang. 22 Andreas Gathmann

3. Zusammenhang. 22 Andreas Gathmann 22 Andreas Gathmann 3. Zusammenhang Eine der anschaulichsten Eigenschaften eines topologischen Raumes ist wahrscheinlich, ob er zusammenhängend ist oder aus mehreren Teilen besteht. Wir wollen dieses Konzept

Mehr

Mathematik II für Studierende der Informatik Kapitel. Kodierungstheorie

Mathematik II für Studierende der Informatik Kapitel. Kodierungstheorie Mathematik II für Studierende der Informatik Kapitel Kodierungstheorie Markus Junker Sommersemester 2011 (korrigierte Version vom Sommersemester 2012) Einführung, Beispiele, Definitionen Ausgangspunkt

Mehr

10.2 Linearkombinationen

10.2 Linearkombinationen 147 Vektorräume in R 3 Die Vektorräume in R 3 sind { } Geraden durch den Ursprung Ebenen durch den Ursprung R 3 Analog zu reellen Vektorräumen kann man komplexe Vektorräume definieren. In der Definition

Mehr

4.0.2 Beispiel (Einfacher Wiederholungscode). Im einfachsten Fall wird die Nachricht einfach wiederholt. D.h. man verwendet die Generatorabbildung

4.0.2 Beispiel (Einfacher Wiederholungscode). Im einfachsten Fall wird die Nachricht einfach wiederholt. D.h. man verwendet die Generatorabbildung Wir beschäftigen uns mit dem Problem, Nachrichten über einen störungsanfälligen Kanal (z.b. Internet, Satelliten, Schall, Speichermedium) zu übertragen. Wichtigste Aufgabe in diesem Zusammenhang ist es,

Mehr

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum Fachschaft Mathematik und Informatik (FIM) LA I VORKURS Herbstsemester 2015 gehalten von Harald Baum 2. September 2015 Inhaltsverzeichnis 1. Stichpunkte zur Linearen Algebra I 2. Körper 3. Vektorräume

Mehr

5 Eigenwerte und die Jordansche Normalform

5 Eigenwerte und die Jordansche Normalform Mathematik für Physiker II, SS Mittwoch 8.6 $Id: jordan.tex,v.6 /6/7 8:5:3 hk Exp hk $ 5 Eigenwerte und die Jordansche Normalform 5.4 Die Jordansche Normalform Wir hatten bereits erwähnt, dass eine n n

Mehr

, v 3 = und v 4 =, v 2 = V 1 = { c v 1 c R }.

, v 3 = und v 4 =, v 2 = V 1 = { c v 1 c R }. 154 e Gegeben sind die Vektoren v 1 = ( 10 1, v = ( 10 1. Sei V 1 = v 1 der von v 1 aufgespannte Vektorraum in R 3. 1 Dann besteht V 1 aus allen Vielfachen von v 1, V 1 = { c v 1 c R }. ( 0 ( 01, v 3 =

Mehr

Algebra. Patrik Hubschmid. 8. Oktober 2013

Algebra. Patrik Hubschmid. 8. Oktober 2013 Algebra Patrik Hubschmid 8. Oktober 2013 Inhaltsverzeichnis 1 Fortführung der Gruppentheorie 7 1.1 Sylowsätze.................................... 7 3 Vorwort Dieses Skript zur Vorlesung Algebra im Wintersemester

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN. Abzählbarkeit, Injektivität, Sürjektivität und Bijektivität

TECHNISCHE UNIVERSITÄT MÜNCHEN. Abzählbarkeit, Injektivität, Sürjektivität und Bijektivität TECHNISCHE UNIVERSITÄT MÜNCHEN Zentrum Mathematik Prof. Dr. Friedrich Roesler Ralf Franken, PhD Max Lein Lineare Algebra 1 WS 26/7 en Blatt 4 13.11.26 Abzählbarkeit, Injektivität, Sürjektivität und Bijektivität

Mehr

Harm Pralle. Codierungstheorie WS 2005/06. Institut Computational Mathematics Technische Universität Braunschweig

Harm Pralle. Codierungstheorie WS 2005/06. Institut Computational Mathematics Technische Universität Braunschweig Harm Pralle Codierungstheorie WS 2005/06 Institut Computational Mathematics Technische Universität Braunschweig II Literatur: A. Beutelspacher und U. Rosenbaum. Projektive Geometrie. Vieweg, Wiesbaden

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2015

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2015 und Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2015 4. April 2016 Zu der Vorlesung wird ein Skript erstellt, welches auf meiner Homepage veröffentlicht wird: http://www.math.uni-hamburg.de/home/geschke/lehre.html

Mehr

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005 CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005 1. Das Problem 1.1. Kanalcodierung und Fehlerkorrektur. Wir wollen eine Nachricht über einen digitalen Kanal, der nur 0 oder 1 übertragen kann, schicken.

Mehr

Grundlagen exakter Methoden zur Verschlüsselung von Codewörtern mittels linearer Codes*

Grundlagen exakter Methoden zur Verschlüsselung von Codewörtern mittels linearer Codes* Grundlagen exakter Methoden zur Verschlüsselung von Codewörtern mittels linearer Codes* Andrea Kraft andreakraft@gmx.at Elisabeth Pilgerstorfer elisabeth_pilg@hotmail.com Johannes Kepler Universität Linz

Mehr

u + v = v + u. u + (v + w) = (u + v) + w. 0 V + v = v + 0 V = v v + u = u + v = 0 V. t (u + v) = t u + t v, (t + s) u = t u + s u.

u + v = v + u. u + (v + w) = (u + v) + w. 0 V + v = v + 0 V = v v + u = u + v = 0 V. t (u + v) = t u + t v, (t + s) u = t u + s u. Universität Stuttgart Fachbereich Mathematik Prof. Dr. C. Hesse PD Dr. P. H. Lesky Dipl. Math. D. Zimmermann Msc. J. Köllner FAQ 3 Höhere Mathematik I 4..03 el, kyb, mecha, phys Vektorräume Vektorräume

Mehr

Die Mathematik in der CD

Die Mathematik in der CD Lehrstuhl D für Mathematik RWTH Aachen Lehrstuhl D für Mathematik RWTH Aachen St.-Michael-Gymnasium Monschau 14. 09. 2006 Codes: Definition und Aufgaben Ein Code ist eine künstliche Sprache zum Speichern

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Kapitel 15. Lösung linearer Gleichungssysteme

Kapitel 15. Lösung linearer Gleichungssysteme Kapitel 15. Lösung linearer Gleichungssysteme Lineare Gleichungssysteme Wir befassen uns nun mit der Lösung im allgemeinen nichthomogener linearer Gleichungssysteme in zweifacher Hinsicht. Wir studieren

Mehr

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren

Mehr

Definition 27 Affiner Raum über Vektorraum V

Definition 27 Affiner Raum über Vektorraum V Definition 27 Affiner Raum über Vektorraum V Definition 27 Affiner Raum über Vektorraum V ist die Menge A = Definition 27 Affiner Raum über Vektorraum V ist die Menge A = mit einer Abbildung + : A V A,

Mehr

Höhere Mathematik 3. Apl. Prof. Dr. Norbert Knarr. Wintersemester 2015/16. FB Mathematik

Höhere Mathematik 3. Apl. Prof. Dr. Norbert Knarr. Wintersemester 2015/16. FB Mathematik Höhere Mathematik 3 Apl. Prof. Dr. Norbert Knarr FB Mathematik Wintersemester 2015/16 4. Homogene lineare Dierentialgleichungen 4.1. Grundbegrie 4.1.1. Denition. Es sei J R ein Intervall und a 0 ; : :

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Single Parity check Codes (1)

Single Parity check Codes (1) Single Parity check Codes (1) Der Single Parity check Code (SPC) fügt zu dem Informationsblock u = (u 1, u 2,..., u k ) ein Prüfbit (englisch: Parity) p hinzu: Die Grafik zeigt drei Beispiele solcher Codes

Mehr

5.7 Lineare Abhängigkeit, Basis und Dimension

5.7 Lineare Abhängigkeit, Basis und Dimension 8 Kapitel 5. Lineare Algebra 5.7 Lineare Abhängigkeit, Basis und Dimension Seien v,...,v n Vektoren auseinemvektorraumv über einem KörperK. DieMenge aller Linearkombinationen von v,...,v n, nämlich { n

Mehr

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Grundlagen der Technischen Informatik. 2. Übung

Grundlagen der Technischen Informatik. 2. Übung Grundlagen der Technischen Informatik 2. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit Organisatorisches Übungsblätter zuhause vorbereiten! In der Übung an der Tafel vorrechnen! Bei

Mehr

3. Die Eigenschaften der reellen Zahlen II: Geordnete Körper

3. Die Eigenschaften der reellen Zahlen II: Geordnete Körper 32 Andreas Gathmann 3. Die Eigenschaften der reellen Zahlen II: Geordnete Körper Wir haben bisher von den reellen Zahlen nur die Körpereigenschaften, also die Eigenschaften der vier Grundrechenarten ausgenutzt

Mehr

5. Woche Perfekte und Optimale Codes, Schranken. 5. Woche: Perfekte und Optimale Codes, Schranken 88/ 142

5. Woche Perfekte und Optimale Codes, Schranken. 5. Woche: Perfekte und Optimale Codes, Schranken 88/ 142 5 Woche Perfekte und Optimale Codes, Schranken 5 Woche: Perfekte und Optimale Codes, Schranken 88/ 142 Packradius eines Codes (Wiederholung) Definition Packradius eines Codes Sei C ein (n, M, d)-code Der

Mehr

Lösungen zum 3. Aufgabenblatt

Lösungen zum 3. Aufgabenblatt SS, Lineare Algebra Die Lösungen wurden erstellt von: Isabel Voigt, Vanessa Lamm und Matthias Rehder Hinweis: Eine Liste der zur Bearbeitung verwendeten Literatur ist unter www.mathematiwelt.com aufrufbar.

Mehr

Fehler-korrigierende Codes

Fehler-korrigierende Codes Fehler-korrigierende Codes Prof. Dr. Thomas Risse Institut für Informatik & Automation, IIA Fakultät E&I, Hochschule Bremen, HSB 8. April 2013 Nummerierung der Kapitel und Abschnitte in [15] sind beibehalten,

Mehr

Vorlesung. Funktionen/Abbildungen 1

Vorlesung. Funktionen/Abbildungen 1 Vorlesung Funktionen/Abbildungen 1 1 Grundlagen Hinweis: In dieser Vorlesung werden Funktionen und Abbildungen synonym verwendet. In der Schule wird eine Funktion häufig als eindeutige Zuordnung definiert.

Mehr

Zusammenfassung zu Codierungstheorie

Zusammenfassung zu Codierungstheorie Zusammenfassung zu Codierungstheorie Proseminar Mathematische Modelle in den Naturwissenschaften WS 09/10 Thomas Holzer 0755600 Sandra Sampl 0755049 Kathrin Oberradter 0755123 1 Inhaltsverzeichnis 1. Einführung

Mehr

Das Kryptosystem von McEliece. auf der Basis von linearen Codes

Das Kryptosystem von McEliece. auf der Basis von linearen Codes Das Kryptosystem von McEliece auf der Basis von linearen Codes Anforderungen Public-Key Kryptosysteme E e (m) = c Verschlüsselung D d (c) = m Entschlüsselung mit Schl. effizient effizient 2/25 Anforderungen

Mehr

Bestimmung einer ersten

Bestimmung einer ersten Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x

Mehr

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56 5 Beweistechniken Übersicht 5.1 Drei wichtige Beweistechniken................................. 55 5. Erklärungen zu den Beweistechniken............................ 56 Dieses Kapitel ist den drei wichtigsten

Mehr

0, v 6 = 2 2. 1, v 4 = 1. 2. span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 )

0, v 6 = 2 2. 1, v 4 = 1. 2. span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 ) Aufgabe 65. Ganz schön span(n)end. Gegeben sei folgende Menge M von 6 Vektoren v, v,..., v 6 R 4 aus Aufgabe P 6: M = v =, v =, v =, v 4 =, v 5 =, v 6 = Welche der folgenden Aussagen sind wahr? span(v,

Mehr

11. Primfaktorzerlegungen

11. Primfaktorzerlegungen 78 Andreas Gathmann 11 Primfaktorzerlegungen Euch ist sicher aus der Schule bekannt, dass sich jede positive ganze Zahl a als Produkt a = p 1 p n von Primzahlen schreiben lässt, und dass diese Darstellung

Mehr

Kapitel 1: Codierungstheorie. 1.2 Quellcodierung 1.3 Fehlererkennende Codes 1.4 Fehlerkorrigierende Codes

Kapitel 1: Codierungstheorie. 1.2 Quellcodierung 1.3 Fehlererkennende Codes 1.4 Fehlerkorrigierende Codes Inhalt: 1.1 Einführung 1.2 Quellcodierung 1.3 Fehlererkennende Codes 1.4 Fehlerkorrigierende Codes 1.1 Einführung In In der der Codierungstheorie unterscheidet man man Quellcodierung und und Kanalcodierung.

Mehr

Vektorräume. 1. v + w = w + v (Kommutativität der Vektoraddition)

Vektorräume. 1. v + w = w + v (Kommutativität der Vektoraddition) Vektorräume In vielen physikalischen Betrachtungen treten Größen auf, die nicht nur durch ihren Zahlenwert charakterisiert werden, sondern auch durch ihre Richtung Man nennt sie vektorielle Größen im Gegensatz

Mehr

(Network) Coding und Verbindungen zur Systemtheorie

(Network) Coding und Verbindungen zur Systemtheorie (Network) Coding und Verbindungen zur Systemtheorie Anna-Lena Horlemann-Trautmann Algorithmics Laboratory, EPFL, Schweiz 10. Februar 2016 Elgersburg Workshop Klassische Codierungstheorie Einführung Klassische

Mehr

Übungen zur Ingenieur-Mathematik III WS 2009/10 Blatt 10 21.12.2009

Übungen zur Ingenieur-Mathematik III WS 2009/10 Blatt 10 21.12.2009 Übungen zur Ingenieur-Mathematik III WS 2009/10 Blatt 10 21.12.2009 Aufgabe 35: Thema: Singulärwertzerlegung und assoziierte Unterräume Sei A eine m n Matrix mit Rang r und A = UDV T ihre Singulärwertzerlegung.

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Index. Chien-Suche, 220 CIRC, 234 Code, 2, 9 äquidistanter, 81

Index. Chien-Suche, 220 CIRC, 234 Code, 2, 9 äquidistanter, 81 Index Abelsche Gruppe, 140 Abgeschlossenheit, 47, 140, 143 Abhängigkeit lineare, 53 Abtastfolge, 226 ACS-Operation, 279 Addition, 46, 163 Alphabet, 1 ARQ, 6, 174 Assoziativität, 47, 52, 140, 143 Audio-CD,

Mehr

Vorlesung Analysis I / Lehramt

Vorlesung Analysis I / Lehramt Vorlesung Analysis I / Lehramt TU Dortmund, Wintersemester 2012/ 13 Winfried Kaballo Die Vorlesung Analysis I für Lehramtsstudiengänge im Wintersemester 2012/13 an der TU Dortmund basiert auf meinem Buch

Mehr

3. Übungsblatt zur Lineare Algebra I für Physiker

3. Übungsblatt zur Lineare Algebra I für Physiker Fachbereich Mathematik Prof. Dr. Mirjam Dür Dipl. Math. Stefan Bundfuss. Übungsblatt zur Lineare Algebra I für Physiker WS 5/6 6. Dezember 5 Gruppenübung Aufgabe G (Basis und Erzeugendensystem) Betrachte

Mehr

6.2 Basen. Wintersemester 2013/2014. Definition Seien V ein K-Vektorraum, n N 0 und v 1,..., v n V. (a) Man nennt

6.2 Basen. Wintersemester 2013/2014. Definition Seien V ein K-Vektorraum, n N 0 und v 1,..., v n V. (a) Man nennt Universität Konstanz Fachbereich Mathematik und Statistik Wintersemester 213/214 Markus Schweighofer Lineare Algebra I 6.2 Basen Definition 6.2.1. Seien V ein K-Vektorraum, n N und v 1,..., v n V. (a)

Mehr

Leitfaden Lineare Algebra: Determinanten

Leitfaden Lineare Algebra: Determinanten Leitfaden Lineare Algebra: Determinanten Die symmetrische Gruppe S n. Eine Permutation σ der Menge S ist eine bijektive Abbildung σ : S S. Ist S eine endliche Menge, so reicht es zu verlangen, dass σ injektiv

Mehr

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x

Mehr

Codes und Codegitter. Katharina Distler. 27. April 2015

Codes und Codegitter. Katharina Distler. 27. April 2015 Codes und Codegitter Katharina Distler 7. April 015 Inhaltsverzeichnis 1 Codes 4 Codegitter 14 Einleitung Die folgende Seminararbeit behandelt das Konzept von Codes und Codegittern. Da sie bei der Informationsübertragung

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Frohe Weihnachten und ein gutes neues Jahr!

Frohe Weihnachten und ein gutes neues Jahr! Frohe Weihnachten und ein gutes neues Jahr! Die mit dem Stern * gekennzeichneten Übungen sind nicht verpflichtend, aber sie liefern zusätzliche Punkte. Unten wird immer mit I das reelle Intervall [0, 1]

Mehr

Satz 25 A sei eine (n n)-matrix über K

Satz 25 A sei eine (n n)-matrix über K Satz 25 Satz 25 A sei eine (n n)-matrix über K Satz 25 A sei eine (n n)-matrix über K mit paarweise verschiedenen Eigenwerten λ 1,...,λ m. Satz 25 A sei eine (n n)-matrix über K mit paarweise verschiedenen

Mehr

Ein (7,4)-Code-Beispiel

Ein (7,4)-Code-Beispiel Ein (7,4)-Code-Beispiel Generator-Polynom: P(X) = X 3 + X 2 + 1 Bemerkung: Es ist 7 = 2^3-1, also nach voriger Überlegung sind alle 1-Bit-Fehler korrigierbar Beachte auch d min der Codewörter ist 3, also

Mehr

Algebraische Codierungstheorie

Algebraische Codierungstheorie Algebraische Codierungstheorie Grundeigenschaften der Codes und ihre wichtigsten Parameterschranken Iryna Feurstein Inhaltsverzeichnis 1 Gegenstand und Aufgabe der Codierungstheorie 1 2 Blockcode 1 2.1

Mehr

Vektorräume. Kapitel Definition und Beispiele

Vektorräume. Kapitel Definition und Beispiele Kapitel 3 Vektorräume 3.1 Definition und Beispiele Sei (V,,0) eine abelsche Gruppe, und sei (K, +,, 0, 1) ein Körper. Beachten Sie, dass V und K zunächst nichts miteinander zu tun haben, deshalb sollte

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme Sei K ein Körper, a ij K für 1 i m, 1 j n. Weiters seien b 1,..., b m K. Dann heißt a 11 x 1 + a 12 x 2 +... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n = b 2... a m1

Mehr

Geometrische Mannigfaltigkeiten

Geometrische Mannigfaltigkeiten Geometrische Mannigfaltigkeiten Thilo Kuessner Abstract Kurzfassung der Vorlesung: Definitionen, Beispiele und Sätze, keine Beweise. Definition 1. Ein topologischer Raum ist eine Menge X mit einer Familie

Mehr

Homogene und inhomogene Koordinaten und das Hyperboloid

Homogene und inhomogene Koordinaten und das Hyperboloid Seminararbeit zum Seminar aus Reiner Mathematik Homogene und inhomogene Koordinaten und das Hyperboloid Gernot Holler 1010674 WS 2012/13 28.November 2012 1 Inhaltsverzeichnis 1 Einleitung 3 2 Homogene

Mehr

7. Ringe und Körper. 7. Ringe und Körper 49

7. Ringe und Körper. 7. Ringe und Körper 49 7. Ringe und Körper 49 7. Ringe und Körper In den bisherigen Kapiteln haben wir nur Gruppen, also insbesondere nur Mengen mit lediglich einer Verknüpfung, untersucht. In der Praxis gibt es aber natürlich

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Aufgaben und Lösungen zur Klausur Lineare Algebra im Frühjahr 2009

Aufgaben und Lösungen zur Klausur Lineare Algebra im Frühjahr 2009 I. (4 Punkte) Gegeben sei die Menge Aufgaben und Lösungen zur Klausur Lineare Algebra im Frühjahr 9 G := { a c b a, b, c R }. (a) Zeigen Sie, dass G zusammen mit der Matrizenmultiplikation eine Gruppe

Mehr

Kapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe

Kapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe Kapitel 4 Euklidische Ringe und die Jordansche Normalform 4.1 Euklidische Ringe Die Ringe der ganzen Zahlen, Z, sowie Polynomringe über Körpern, K[X], wobei K ein Körper ist, haben die folgenden Gemeinsamheiten:

Mehr

Codierungsverfahren SS 2011. Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

Codierungsverfahren SS 2011. Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur Wie die zyklischen BCH-Codes zur Mehrbitfehler-Korrektur eignen sich auch die sehr verwandten Reed-Solomon-Codes (= RS-Codes) zur Mehrbitfehler-Korrektur.

Mehr

Universität Zürich HS , Vorlesung #3

Universität Zürich HS , Vorlesung #3 Algebraic Number Theory P. Habegger Universität Zürich HS 2010 6.10.2010, Vorlesung #3 1.4 Diskriminante Die primitivste Invariante eines Zahlkörpers ist sein Grad. Die Diskriminante eines Zahlkörpers

Mehr

Der Golay-Code und das Leech-Gitter

Der Golay-Code und das Leech-Gitter Der Golay-Code und das Leech-Gitter Vortrag zum Seminar Gitter und Codes Nils Malte Pawelzik.5.5 Inhaltsverzeichnis Designs 3. Elementare Eigenschaften eines Designs und die Eindeutigkeit eines - (, 5,

Mehr

4. Relationen. Beschreibung einer binären Relation

4. Relationen. Beschreibung einer binären Relation 4. Relationen Relationen spielen bei Datenbanken eine wichtige Rolle. Die meisten Datenbanksysteme sind relational. 4.1 Binäre Relationen Eine binäre Relation (Beziehung) R zwischen zwei Mengen A und B

Mehr

4. Übungsblatt Matrikelnr.: 6423043

4. Übungsblatt Matrikelnr.: 6423043 Lineare Algebra I 1. Name: Bleeck, Christian 4. Übungsblatt Matrikelnr.: 6423043 Abgabe: 15.11.06 12 Uhr (Kasten D1 320) Übungsgruppe: 03 Patrick Schützdeller 2. Name: Niemann, Philipp Matrikelnr.: 6388613

Mehr

Grundlagen der Technischen Informatik. Hamming-Codes. Kapitel 4.3

Grundlagen der Technischen Informatik. Hamming-Codes. Kapitel 4.3 Hamming-Codes Kapitel 4.3 Prof. Dr.-Ing. Jürgen Teich Lehrstuhl für Hardware-Software-Co-Design Inhalt Welche Eigenschaften müssen Codes haben, um Mehrfachfehler erkennen und sogar korrigieren zu können?

Mehr