Einführung in die Codierungstheorie. Rudolf Schürer

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

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

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

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

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

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

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

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

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

Ü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

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

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

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

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

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

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

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

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

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

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

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

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

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

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

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

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

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

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

Wie löst man Mathematikaufgaben?

Wie löst man Mathematikaufgaben? Wie löst man Mathematikaufgaben? Manfred Dobrowolski Universität Würzburg Wie löst man Mathematikaufgaben? 1 Das Schubfachprinzip 2 Das Invarianzprinzip 3 Das Extremalprinzip Das Schubfachprinzip Verteilt

Mehr

Mathematischer Vorbereitungskurs für Ökonomen

Mathematischer Vorbereitungskurs für Ökonomen Mathematischer Vorbereitungskurs für Ökonomen Dr. Thomas Zehrt Wirtschaftswissenschaftliches Zentrum Universität Basel Gleichungen Inhalt: 1. Grundlegendes 2. Lineare Gleichungen 3. Gleichungen mit Brüchen

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

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

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

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

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

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

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

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

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Kurzweil Florian Franzmann André Diehl Kompiliert am 10. April 2006 um 18:33

Mehr

Musterlösungen zur Linearen Algebra II Blatt 5

Musterlösungen zur Linearen Algebra II Blatt 5 Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische

Mehr

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten! Mathefritz 5 Terme und Gleichungen Meine Mathe-Seite im Internet kostenlose Matheaufgaben, Skripte, Mathebücher Lernspiele, Lerntipps, Quiz und noch viel mehr http:// www.mathefritz.de Seite 1 Copyright

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: Beispiel: Wir untersuchen die rekursiv definierte Folge a 0 + auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: ( ) (,, 7, 5,...) Wir können also vermuten, dass die Folge monoton fallend

Mehr

Grundlagen Digitaler Systeme (GDS)

Grundlagen Digitaler Systeme (GDS) Grundlagen Digitaler Systeme (GDS) Prof. Dr. Sven-Hendrik Voß Sommersemester 2015 Technische Informatik (Bachelor), Semester 1 Termin 10, Donnerstag, 18.06.2015 Seite 2 Binär-Codes Grundlagen digitaler

Mehr

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

Also kann nur A ist roter Südler und B ist grüner Nordler gelten. Aufgabe 1.1: (4 Punkte) Der Planet Og wird von zwei verschiedenen Rassen bewohnt - dem grünen und dem roten Volk. Desweiteren sind die Leute, die auf der nördlichen Halbkugel geboren wurden von denen auf

Mehr

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775, Aufgabenpool für angewandte Mathematik / 1. Jahrgang V B, C, D Drinks Ein gastronomischer Betrieb kauft 300 Dosen Energydrinks (0,3 l) und 400 Liter Flaschen Mineralwasser und zahlt dafür 50, Euro. Einen

Mehr

Eigenwerte und Eigenvektoren von Matrizen

Eigenwerte und Eigenvektoren von Matrizen Eigenwerte und Eigenvektoren von Matrizen Das Eigenwertproblem Sei A eine quadratische Matrix vom Typ m,m. Die Aufgabe, eine Zahl λ und einen dazugehörigen Vektor x zu finden, damit Ax = λx ist, nennt

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Einfache kryptographische Verfahren

Einfache kryptographische Verfahren Einfache kryptographische Verfahren Prof. Dr. Hagen Knaf Studiengang Angewandte Mathematik 26. April 2015 c = a b + a b + + a b 1 11 1 12 2 1n c = a b + a b + + a b 2 21 1 22 2 2n c = a b + a b + + a b

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

8. Quadratische Reste. Reziprozitätsgesetz

8. Quadratische Reste. Reziprozitätsgesetz O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung

Mehr

Vorkurs Mathematik Übungen zu Polynomgleichungen

Vorkurs Mathematik Übungen zu Polynomgleichungen Vorkurs Mathematik Übungen zu en 1 Aufgaben Lineare Gleichungen Aufgabe 1.1 Ein Freund von Ihnen möchte einen neuen Mobilfunkvertrag abschließen. Es gibt zwei verschiedene Angebote: Anbieter 1: monatl.

Mehr

Absolute Stetigkeit von Maßen

Absolute Stetigkeit von Maßen Absolute Stetigkeit von Maßen Definition. Seien µ und ν Maße auf (X, Ω). Dann heißt ν absolut stetig bezüglich µ (kurz ν µ ), wenn für alle A Ω mit µ(a) = 0 auch gilt dass ν(a) = 0. Lemma. Sei ν ein endliches

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

3.2 Spiegelungen an zwei Spiegeln

3.2 Spiegelungen an zwei Spiegeln 3 Die Theorie des Spiegelbuches 45 sehen, wenn die Person uns direkt gegenüber steht. Denn dann hat sie eine Drehung um die senkrechte Achse gemacht und dabei links und rechts vertauscht. 3.2 Spiegelungen

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

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

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

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

6.2 Perfekte Sicherheit

6.2 Perfekte Sicherheit 04 6.2 Perfekte Sicherheit Beweis. H(B AC) + H(A C) = H(ABC) H(AC) + H(AC) H(C) Wegen gilt Einsetzen in die Definition gibt = H(AB C). H(A BC) = H(AB C) H(B C). I(A; B C) = H(A C) H(AB C) + H(B C). Da

Mehr

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3 Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen

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

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011 Rechnernetze Übung 5 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011 Ziel: Nachrichten fehlerfrei übertragen und ökonomisch (wenig Redundanz) übertragen Was ist der Hamming-Abstand?

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

WS 2008/09. Diskrete Strukturen

WS 2008/09. Diskrete Strukturen WS 2008/09 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0809

Mehr

Repetitionsaufgaben Wurzelgleichungen

Repetitionsaufgaben Wurzelgleichungen Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen

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

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen Prof. Dr. Volker Schulz Universität Trier / FB IV / Abt. Mathematik 8. November 2010 http://www.mathematik.uni-trier.de/ schulz/elan-ws1011.html

Mehr

Mengensysteme, Wahrscheinlichkeitsmaße

Mengensysteme, Wahrscheinlichkeitsmaße Kapitel 1 Mengensysteme, Wahrscheinlichkeitsmaße Der Großteil der folgenden fundamentalen Begriffe sind schon aus der Vorlesung Stochastische Modellbildung bekannt: Definition 1.1 Eine Familie A von Teilmengen

Mehr

3.1. Die komplexen Zahlen

3.1. Die komplexen Zahlen 3.1. Die komplexen Zahlen Es gibt viele Wege, um komplexe Zahlen einzuführen. Wir gehen hier den wohl einfachsten, indem wir C R als komplexe Zahlenebene und die Punkte dieser Ebene als komplexe Zahlen

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

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

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

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

Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte

Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte Nachhilfe-Kurs Mathematik Klasse 3 Freie Waldorfschule Mitte März 8 Aufgaben zur analytischen Geometrie Musterlösung Gegeben sind die Ebenen E und E sowie die Punkte A und B: E : 4x + y + 3z = 3 E : x

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Wie kann man beweisen, dass (H, ) eine Gruppe ist?

Wie kann man beweisen, dass (H, ) eine Gruppe ist? Wie kann man beweisen, dass (H, ) eine Gruppe ist? Wie kann man beweisen, dass (H, ) eine Gruppe ist? (zb wenn die Multiplikation mit Hilfe einer Tabelle gegeben ist) Wie kann man beweisen, dass (H, )

Mehr

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen. 13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen. Sie heißt linear, wenn sie die Form y (n) + a n 1 y (n 1)

Mehr

(für Grund- und Leistungskurse Mathematik) 26W55DLQHU0DUWLQ(KUHQE UJ*\PQDVLXP)RUFKKHLP

(für Grund- und Leistungskurse Mathematik) 26W55DLQHU0DUWLQ(KUHQE UJ*\PQDVLXP)RUFKKHLP .RPELQDWRULN (für Grund- und Leistungsurse Mathemati) 6W55DLQHU0DUWLQ(KUHQE UJ*\PQDVLXP)RUFKKHLP Nach dem Studium dieses Sripts sollten folgende Begriffe beannt sein: n-menge, Kreuzprodut, n-tupel Zählprinzip

Mehr

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion

Mehr

7 Die Determinante einer Matrix

7 Die Determinante einer Matrix 7 Die Determinante einer Matrix ( ) a11 a Die Determinante einer 2 2 Matrix A = 12 ist erklärt als a 21 a 22 det A := a 11 a 22 a 12 a 21 Es ist S 2 = { id, τ}, τ = (1, 2) und sign (id) = 1, sign (τ) =

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Statuten in leichter Sprache

Statuten in leichter Sprache Statuten in leichter Sprache Zweck vom Verein Artikel 1: Zivil-Gesetz-Buch Es gibt einen Verein der selbstbestimmung.ch heisst. Der Verein ist so aufgebaut, wie es im Zivil-Gesetz-Buch steht. Im Zivil-Gesetz-Buch

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

Expander Graphen und Ihre Anwendungen

Expander Graphen und Ihre Anwendungen Expander Graphen und Ihre Anwendungen Alireza Sarveniazi Mathematisches Institut Universität Göttingen 21.04.2006 Alireza Sarveniazi (Universität Göttingen) Expander Graphen und Ihre Anwendungen 21.04.2006

Mehr