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



Ähnliche Dokumente
Modul Diskrete Mathematik WiSe 2011/12

Einführung in die Kodierungstheorie

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

Einführung in die Codierungstheorie

Einführung in die Codierungstheorie

(Prüfungs-)Aufgaben zur Codierungstheorie

Grundbegrie der Codierungstheorie

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

Die Mathematik in der CD

Codierungstheorie Teil 1: Fehlererkennung und -behebung

Einführung in die Kodierungstheorie

Fehlererkennung und Fehlerkorrektur in Codes

Ι. Einführung in die Codierungstheorie

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

Kapitel 13: Syndromcodierung / Hamming Codes

Vorlesung Theoretische Grundlagen

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

Technische Informatik - Eine Einführung

Übungsblatt 5 - Musterlösung

28 4. DIE MATHEMATIK HINTER DER COMPACT DISC. Abbildung 4.1: Selbstkorrigierende Codes

$Id: linabb.tex,v /01/09 13:27:34 hk Exp hk $

Error detection and correction

Vorlesung Theoretische Grundlagen Fehlerkorrigierende Codes Jörn Müller-Quade 29. Januar 2013

Basiswissen Matrizen

Dekohärenz und Grundprinzip der Quantenfehlerkorrektur

5. Übungsserie. Sophia Schumann Matr. XXX

Übungen zur Vorlesung Grundlagen der Rechnernetze. Zusätzliche Übungen

Übung 14: Block-Codierung

9.2 Invertierbare Matrizen

Erinnerung: Der Vektorraum F n 2

Algebraische Codierungstheorie

Prof. Dr. Elmar Grosse-Klönne Institut für Mathematik

Grundlagen der Technischen Informatik. Hamming-Codes. Kapitel 4.3

Einleitung. Kapitel 1

1 Analytische Geometrie und Grundlagen

Mischungsverhältnisse: Nehmen wir an, es stehen zwei Substanzen (zum Beispiel Flüssigkeiten) mit spezifischen Gewicht a = 2 kg/l bzw.

Theoretische Grundlagen der Informatik. Vorlesung am 7. Februar INSTITUT FÜR THEORETISCHE INFORMATIK

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

Endliche Körper und Codierung SS Übungsblatt. 9. Bestimmen Sie alle primitiven Elemente (Erzeuger der multiplikativen Gruppe) von

Theoretische Grundlagen der Informatik WS 09/10

4. Vektorräume und Gleichungssysteme

Die Hamming-Distanz definiert eine Metrik.

Inhalt. Mathematik für Chemiker II Lineare Algebra. Vorlesung im Sommersemester Kurt Frischmuth. Rostock, April Juli 2015

Lineare Algebra I (WS 12/13)

Fehlerkorrigierende Codes

Der Kern einer Matrix

Fehlererkennende und fehlerkorrigierende Codes

Matrizen, Determinanten, lineare Gleichungssysteme

Höhere Mathematik für die Fachrichtung Physik

Kapitel 3. Vektorräume. Josef Leydold Mathematik für VW WS 2017/18 3 Vektorräume 1 / 41. : x i R, 1 i n x n

Kapitel 3. Vektorräume. Josef Leydold Mathematik für VW WS 2017/18 3 Vektorräume 1 / 41

2.7 Der Shannon-Fano-Elias Code

6. Vorlesung. Rechnen mit Matrizen.

Lineare Gleichungssysteme

Blatt 10 Lösungshinweise

Kodierungstheorie: Lineare Kodes

Prof. Dr. Jürgen Dassow Otto-von-Guericke-Universität Magdeburg. Codierungstheorie und Kryptographie

Kapitel 7: Optimalcodierung und Huffman Coding

Mathematische Grundlagen der Computerlinguistik Lineare Algebra

Übungsblatt Nr. 7. Lösungsvorschlag

(Network) Coding und Verbindungen zur Systemtheorie

2.1 Codes: einige Grundbegriffe

8.2 Invertierbare Matrizen

Mathematik für Naturwissenschaftler II SS 2010

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

6.1 Welche Matrix gehört zu der Abbildung?

Warum darf sich der Laser irren? Vortrag von Ralph-Hardo Schulz Sommeruniversität an der FU Berlin,

Rechnernetze Übung 5. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai Wo sind wir?

Mischungsverhältnisse: Nehmen wir an, es stehen zwei Substanzen (zum Beispiel Flüssigkeiten) mit spezifischen Gewicht a = 2 kg/l bzw.

Grundlagen der Technischen Informatik. 2. Übung

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Literatur

Theoretische Grundlagen der Informatik

3 Systeme linearer Gleichungen

Signale und Codes Vorlesung 6

Lineare Gleichungssysteme und Matrizen

Lineare Algebra 1. Roger Burkhardt

3 Der Hamming-Code. Hamming-Codes

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

Algebraisches Internet

In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N. Wenn (mit einem n > 1)

Lineare Algebra I (WS 12/13)

Mathematik I. Vorlesung 12. Lineare Abbildungen

a 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema:

A2.3 Lineare Gleichungssysteme

Codes on Graphs: Normal Realizations

Mathematische Grundlagen der Computerlinguistik Lineare Algebra

Lineare Algebra und analytische Geometrie I (Unterrichtsfach) Lösungsvorschlag

Fehlerkorrigierende Codes

Aufgabe 1 (a) Bestimmen Sie die Schnittgerade der beiden Ebenen gegeben durch 3x y 2z 5 = 0 und x y 4z 3 = 0.

Problemreduktion durch Transformation am Beispiel des. Erweiterten Euklidschen Algorithmus

05. Lineare Gleichungssysteme

TECHNISCHE UNIVERSITÄT MÜNCHEN. Einführung in die Matrizenrechnung

8.2 Invertierbare Matrizen

Vorkurs: Mathematik für Informatiker

YERGITXH YZRBIPQH? Lösung. Der Hamming-Abstand der beiden Zeichenfolgen ist 4. Die verschiedenen Zeichen Y E R G I T X H Y Z R B I P Q H

, 2015W Übungstermin: Do.,

Vorkurs: Mathematik für Informatiker

Transkript:

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 2. Juni 24 Kurzfassung Sowohl in der Wirtschaft als auch im Privaten werden heute immense Daten transferiert und abgespeichert. Ein wesentliches Anliegen dabei ist, gesendete oder gespeicherte Nachrichten vor zufälligen oder auch absichtlichen Störungen seitens Dritter zu schützen. Mit der Sicherung von Daten gegen aktive Störungen von außen beschäftigt sich die Kryptographie, auf die hier aber nicht näher eingegangen wird. Die Codierungstheorie beschäftigt sich nun damit, wie man die Übertragung und Sicherung der Daten effizient und fehlerfrei bewerkstelligen kann. Diese Arbeit gibt einen Einblick in die Grundlagen dieser aktuellen und überaus interessanten Wissenschaft. *) Diese Arbeit entstand im Rahmen der Lehrveranstaltung "Logik als Arbeitssprache" im SS4 an der JKU Linz.

. Einleitung Die Codierungstheorie ist ein relativ junges und anwendungsorientiertes Gebiet der Mathematik. Die Geburtsstunde der Informations- und Codierungstheorie schlug 948, als Claude E. Shannon seine Arbeit "A Mathematical Theory of Communication " (The Bell System Technical Journal, October 948) veröffentlichte. Das Problem kann folgendermaßen beschrieben werden: Eine Nachricht soll über eine längere Distanz (Europa-USA, Erde-Mars,...) übertragen werden. Üblicherweise verschlüsselt man diese Nachricht in eine Folge von Elementen,. Man nennt dies einen binären Code. Ein solches Nachrichtenwort wäre etwa. Bei der Übertragung dieser Wörter können nun aber leicht Fehler auftreten. Ursache für derartige Störungen können recht vielfältig sein, etwa atmosphärisches Rauschen, Interferenzen, Kratzer auf einer Compact Disc, etc. Obiges Wort könnte dann etwa als empfangen werden. Ist etwa die Wahrscheinlichkeit, dass ein Zeichen richtig übertragen wird, 99 %, so werden bei einer Nachricht von Zeichen im Mittel schon Fehler (!) auftreten. Die Methoden der Codierungstheorie versuchen solche Wortveränderungen weitgehend zu verhindern. Die Idee der Sicherung ist nun eine sehr einfache: Zur eigentlichen Nachricht wird eine Zusatzinformation, eine gewisse Art der Redundanz, gesendet, mittels derer Fehler in der Übertragung erkannt oder sogar die eigentliche Nachricht, sofern sie nicht allzu sehr gestört beim Empfänger ankommt, rekonstruiert werden kann. Man spricht von einer Fehlererkennung beziehungsweise einer Fehlerkorrektur. Versendet man zum Beispiel das Wort x x 2...x n und das gesendete Wort kommt als y...y n an, so nennt man e e 2...e n das Fehlerwort, wobei e i := y i - x i und x i, y i sind Element aus {,}. Jeder Einser an der i-ten Stelle im Fehlerwort zeigt an, dass dort ein Fehler passiert ist. Bei manchen Problemen in der Praxis reicht eine Fehlererkennung aus und die Nachricht wird gegebenenfalls nochmals angefordert. Als Beispiele seien hier das falsche Lesen eines Strichcodes auf einer Verpackung mittels eines Lichtstifts, das Eintippen einer unkorrekten Kontonummer oder die falsche Übertragung von Daten in einem Computer-Netzwerk genannt. Eine einfache Wiederholung des Codewortes bringt meist Abhilfe. In vielen Situationen ist jedoch eine Rückfrage unmöglich oder man erhält dadurch kein besseres Ergebnis. Hier ist eine Fehlerkorrektur angebracht. Deswegen wird im Folgenden nicht nur auf die Fehlererkennung, sondern auch auf fehlerkorrigierende Codes eingegangen. Die Resultate dieser Arbeit sind nicht neu, sie stellen aber eine grobe Zusammenfassung der Grundlagen der Codierung mittels linearer Codes dar. In der Literatur für Lineare Algebra II sind diese Resultate in verkürzter Form zu finden, siehe [Pilz, 23]. Diese mathematische Arbeit soll eine Einführung in dieses relativ junge Gebiet der Mathematik geben. Sie ist gedacht für Studenten mittleren Semesters, die mit Linearer Algebra etwas vertraut sind, besonders mit den Grundbegriffen wie Körper, Vektorräume, linearer Abhängigkeit, etc.. Die benötigten Vorkenntnisse werden meist in den ersten beiden Semestern des Mathematikstudiums vermittelt. Im Abschnitt 2 werden die wichtigsten Grundbegriffe der Codierungstheorie eingeführt, in Abschnitt 3 folgt ein Beispiel eines linearen Codes, das bereits alle Erkenntnisse des vorhergehenden Abschnitts umfasst. Zum Abschluss folgt im Abschnitt 4 der Beweis eines zentralen Satzes der Codierungstheorie. 2

2. Lineare Codes Definition Ein linearer Code C ist ein Unterraum des K-Vektorraums K n, wobei K ein endlicher Körper und n Elemente aus C heißen Codewörter. ist. Einen linearen Code, der einen Vektorraum über den Körper K = {, } bildet, nennt man binären Code. Wir spezialisieren uns in dieser Arbeit auf lineare Codes, d. h. Codes die Vektorräume über endlichen Körpern sind. Durch diese Einschränkung verlieren wir wenig, da die in der Praxis verwendeten Codes nahezu alle zu dieser Klasse gehören. Es gibt aber noch eine Fülle von anderen Codierungsarten, wie zb Reed-Solomon-Codes, Reed-Muller-Codes, etc. auf die hier aber nicht eingegangen wird. Anmerkung Die Codewörter müssen nicht alle die gleiche Länge haben, d. h. n-tupel für ein festes n sein. Eine Codierung mit variabler Länge führt zu den sogenannten Faltungscodes, die von vollkommen anderer Struktur sind als die hier behandelten Blockcodes. 2. Testsymbole Wie schon in der Einleitung erwähnt, hängt man an das eigentliche Wort sogenannte Teststellen an, um mögliche Fehler zu erkennen und eventuell auch zu korrigieren. Eine effiziente Methode hierfür ist zum Beispiel der sogenannte "Single Parity Check". Man hängt an ein Nachrichtenwort an, wenn die Summe der Einser je Wort gerade ist, andernfalls hängt man an. Ein Beispiel: wird zu. Erhält der Empfänger, so erkennt er, dass entweder, 3, 5 oder 7 Fehler passiert sein müssen. Wo, das weiß er nicht. Die Teststellen können auch auf andere Weise berechnet werden. Sie ergeben sich aber immer aus einer Kombination der einzelnen Stellen des eigentlichen Codewortes. Die so entstandenen Codewörter (Wort und Testsymbole) bilden ein lineares Gleichungssystem und man kann es in einer Matrix - der sogenannten Kontroll- oder Koeffizientenmatrix H - zusammenfassen. Eine genaue Definition: Definition 2 Eine Matrix H heißt eine Kontrollmatrix für C falls: C = {c c K n H * c t = } Genauer gesagt ist C der Nullraum der Kontrollmatrix H. Ein linearer Code kann natürlich viele verschiedene Kontrollmatrizen haben. 2.2 Abstand zweier Codewörter Definition 3 Falls man nun 2 Codewörter x = (x,...,x n ) und y = (y,...,y n ) hat, so nennt man die Zahl der Stellen, an denen sich x und y unterscheiden, Hamming-Distanz d(x,y). Diese von R. W. Hamming im Jahr 95 eingeführte Distanz kann man als "Abstand" zwischen zwei Codewörtern auffassen. d(x,y) = {i x i y i } 3

Jedes c C hat also einen "Einzugsbereich". So wird jedes in diesem Bereich eintreffende Wort x zu c decodiert. Allerdings kann sich dieses Verfahren auch als durchaus problematisch erweisen. Einerseits könnten sich die Einzugsbereiche überlappen, das heißt ein Wort x könnte in den gemeinsamen Bereich zweier Codewörter eintreffen und man weiß dann nicht, zu welchem der beiden Wörter man es decodieren soll. Andererseits kann es sein, dass die Bereiche zu klein sind und das Wort in einen nicht definierten Bereich eintrifft. Egal ob der Einzugsbereich zu groß oder zu klein ist, man kann in keinem dieser Fälle sagen, wie die ursprüngliche Nachricht nun wirklich lautet. Um diesen Schwierigkeiten zu entgehen, wird es hier wohl entscheidend sein, wie nahe sich zwei Codewörter kommen können. Definition 4 Die kleinste Hamming-Distanz zwischen je zwei (verschiedenen) Codewörtern aus C heißt Minimaldistanz von C und wird mit d min (C) bezeichnet. d min (C) ist also der kürzeste Abstand zwischen 2 Codewörtern. Vor der Berechnung der Minimaldistanz braucht man noch eine Definition: Definition 5 d(x,) =: w(x) heißt das Hamming-Gewicht von x. Anschaulich ist das die Anzahl der Einser. Folgerung Will man also auf einfache und schnelle Weise die Minimaldistanz von C berechnen, so zählt man die Einser in den Codewörtern. Die niedrigste Anzahl (ungleich Null) ergibt dann d min (C). Definition 6 Sei A eine m n-matrix. Dann sei rg(a) das größte r, sodass je r Spalten von A linear unabhängig sind. Satz d min (C) = rg(h)+ So kann ebenfalls relativ einfach die Minimaldistanz bestimmt werden. (Beweis des Satzes siehe Kapitel 4 Beweis.) Satz 2 Ist d := d min (C), so kann C bis zu d - Fehler erkennen und bis zu d 2 2.3 Hamming-Codes und Fehlerkorrektur Fehler korrigieren. Definition 7 Sei s eine Spalte der Kontrollmatrix H. Falls H aus allen s t mit s ( 2 n, s o besteht, so heißt H (bzw. der dadurch definierte Code) ein Hamming-Code; es handelt sich dann um einen (2 n -, 2 n --n) - Code. Die erste Komponente bezeichnet die Anzahl der Spalten der Kontrollmatrix H, die zweite Komponente die Differenz der Spalten- und Zeilenanzahl (Anzahl der reinen "Informationsstellen"). Dieser Code enthält dann jede mögliche Kombination aus {, }. Man ordnet diese Kolonnen eines binären Hamming-Codes nach ihrer Binärzahldarstellung, also von der kleinsten bis zur größten Zahl. 4

Ein Beispiel für einen Hamming-Code wäre: H rg(h) = 2 (es sind höchstens 2 Spalten linear unabhängig, die 3. Spalte ergibt sich zb als Summe der ersten beiden Spalten) d = 3 Schon aus diesem Beispiel ist ersichtlich, dass dieser Hamming-Code alle Einfachfehler korrigieren und alle Doppelfehler zumindest erkennen kann. Das ist bei allen Hamming-Codes der Fall. Satz 3 Ist bei der Übertragung von x in y genau ein Fehler passiert, dann war er an der i-ten Stelle, wobei i die Binärzahl von H. y t ist. Falls y = = (,,,,,, ) eintrifft, so gilt H. y t = o, also ist wahrscheinlich kein Fehler passiert und war die eigentliche Nachricht. Trifft jedoch etwa z = ein, so gilt H. z t =, die zugehörige Binärzahl ist 4, also ist wahrscheinlich ein Fehler passiert. Trifft dies zu, so ist die 4. Stelle verfälscht worden, das ausgesandte Codewort war, die eigentliche Nachricht also. 2.4 Gütekennzahlen für Codes Definition 8 Sei C ein (n, k) - Code (wobei n die Spaltenanzahl, k die Differenz der Spalten- und Zeilenanzahl ist) mit Minimaldistanz d min (C) = d. * k n * d n heißt die Informationsrate von C. heißt die Korrekturrate von C. Diese beiden Kennzahlen liegen immer zwischen und, je größer desto besser für den Code! Die Informationsrate ist ein Maß dafür, welcher Anteil von den gesendeten Zeichen reine Information ist. 3 Beispiel Sei H! "####### $ %&&&&&&& die Kontrollmatrix eines Codes. Es handelt sich also um einen (7, 4) - Code. 5

( )************************** + 9 :;;;;;;;;;;;;;;;;;;;;;;;;; < ' Bestimmung des binären Codes durch Aufzählen der Codewörter: Aufstellung des Gleichungssystems: H. x x 2 x 3 x 4 x 5 x 6 x 7,--------------------------. /,, x + x 2 + x 3 + x 4 +x 5 = x + x 2 + x 4 +x 6 = x + x 2 + x 3 + x 7 = Bei der Lösung des Gleichungssystems erhält man 4 frei wählbare Parameter, der Code kann durch C = {x, x 2, x 3, x 4, x x 3 x 4, x x 2 + x 4, x x 2 x 3 } angegeben werden. Aufzählung aller Codewörter: C = {,,,,,,,,,,,,,,, } 2 Kontrolle, ob diese Codewörter tatsächlich im Code liegen: Dazu muss einfach ein Codewort mit der Kontrollmatrix H multipliziert werden. Ist das Ergebnis der Nullvektor, so liegt das Codewort im Code. 3 4555555 6 888888. 7 = {{2},{2},{2}} = 8888888888888888888888888 (2, 2, 2) = (,, ) und daher liegt das Codewort im Code. > Anzahl der Testsymbole eines Codeworts dieses Codes Man sieht dass x 5, x 6 und x 7 eine Kombination der anderen Variablen sind, daraus folgt, dass der Code 3 Testsymbole, nämlich x 5, x 6 und x 7 hat. > Fehlererkennung und -korrektur: Dazu muss man zuerst d min (C) ausrechnen: Dies geschieht durch eine der oben genannten Methoden und beträgt in diesem Fall 3. Laut Satz 2 kann der Code also 3 - = 2 Fehler erkennen und? AAAAAAAA 3@ AAAAA 2 B also Fehler korrigieren. Leichter hätte man auch auf dieses Ergebnis kommen können, indem man erkennt, dass es sich um einen ungeordneten Hamming-Code handelt. 6

C Bestimmung der Informations- und Korrekturrate: d = 3 k = 4 n = 7 Informationsrate: DDDD k DDDD n = 4 7 DDDDD DDDD d n = 3 Korrekturrate: 7 C Sei nun der Code wie oben und weiters das Alphabet durch A =, B =,... gegeben. Gesucht ist die Codierung des Wortes LOGIK Man geht folgendermaßen vor: Man rechnet sich die gesuchten Buchstaben nach oben genannten Muster aus ( zb L = ) und hängt die 3 Testsymbole hinten dran. C L O G I K Codierung des Wortes ALGORITHMUS: Leider kann dieses Wort nicht codiert werden, weil dieses Alphabet nur die ersten 6 Buchstaben unseres gewohnten Alphabets zulässt, also gibt es für R und T keine Codedarstellung. 4. Beweis Sei C ein linearer (n, k) Code mit Kontrollmatrix H. Weiters sei d min (C) die Minimaldistanz zweier Codewörter und rg(h) die Maximalanzahl linear unabhängiger Spalten von H. Dann gilt: d min (C) = rg(h) + Satz in Prädikatenlogik: C C ist ein linearer (n, k ) Code E H ist Kontrollmatrix von C E d min(c) ist die Minimaldistanz zweier Codewörter E rg(h) ist die Maximalanzahl linear unabhängiger Spalten von H Beweis: Wähle C beliebig aber fix F d min (C) = rg(h)+ zu zeigen bleibt: C ist ein linearer (n, k ) Code G H ist die Kontrollmatrix von C G d min (C) ist die Minimaldistanz zweier Codewörter G rg(h) ist die Maximalanzahl linear unabhängiger Spalten von H. (H, d min (C) und rg(h) sind abhängig von der Wahl des Codes C.) Á d min (C) = rg(h) + Wir nehmen an: C ist ein linearer (n, k ) Code H H ist Kontrollmatrix von C H d min (C) ist die Minimaldistanz zweier Codewörter H rg(h) ist die Maximalanzahl linear unabhängiger Spalten von H. (in Wissensbasis geben - Split Conjunction) Zu zeigen bleibt: d min (C) = rg(h) + 7

N Sei nun: c = (c,..., c n ) ein Codewort aus dem Code C und seien c i,...,c ir alle ungleich. I c J C gilt: H. c t = o (Definition 2) Seien weiters s,..., s n die Spalten von H Laut Regeln der Matrizenmultiplikation gilt: H. c t = c s +...+ c n s n = H. c t = c s +...+ c n s n Á c s +...+ c n s n = (Transitivity of Equality) Da alle c ik außer c i,...,c ir laut Annahme gleich sind gilt: c s +...+ c n s n = c i s i +...+ c ir s ir = c s +...+ c n s n = c i s i +...+ c ir s ir c i s i +...+ c ir s ir = (Transitivity of Equality) daher sind (s i,..., s ir ) linear abhängig weil die c i,...,c ir alle K sind laut Annahme. Wir behaupten jetzt, dass r - solche Summanden linear unabhängig ein müssen. Warum? Wären (o. B. d. A. ) die ersten (r-) Vektoren linear abhängig, so müsste gelten: c i s i +...+ c irl s i rl = Das würde aber bedeuten: (c i s i +...+ c irl s i rl ) + c i r s ir = + c ir s ir = sein muss, also c ir s ir = sein muss, was aber nicht eintreten kann, weil c irm und natürlich sind auch die Spalten s M Daher sind (s i,..., s irl ) linear unabhängig. Also sind r- Spalten linear unabhängig Da man weiß, dass rg(h) die Maximalanzahl linear unabhängiger Spalten ist, folgt daraus rg(h) = r- Laut Folgerung aus Definition 5 ist d min (C) = r Á rg(h) = d min (C) - Á d min (C) = rg(h) + 8

5. Zusammenfassung Bei der Übertragung von Daten kommt es häufig zu zufälligen Störungen, sodass die Nachricht in verfälschter Form den Empfänger erreicht. Der Codierungstheorie liegt nun die Idee zugrunde, durch Senden von zusätzlicher Information zur eigenlichen Nachricht, den sogenannten Teststellen, Übertragungsfehler zu entdecken oder sogar zu korrigieren. Bei manchen Problemen wird eine Fehlererkennung genügen, etwa wenn eine Rückfrage zum Sender möglich ist. Es gibt aber eine Fülle von Problemen, bei denen eine Rückfrage unmöglich oder unerwünscht ist, oder auch zu keinem besseren Ergebnis führt. Deswegen muss man andere Methoden finden, um eventuelle Fehler zu erkennen und gegebenenfalls zu korrigieren. In dieser Arbeit wurde nur auf die Klasse der linearen Codes eingegangen, die Einfachfehler korrigieren können. Man sieht, dass sich bereits relativ einfache Methoden der Codierung als recht effizient erweisen, wie hier zum Beispiel der Hamming-Code. So kann man mit wenig Aufwand alle Zweifachfehler erkennen, Einfachfehler, die bei der Übertragung passiert sein können, sogar korrigieren. Weiters wurden wichtige Kennzahlen für die Güte eines Codes genannt. Schon an diesem kurzen Einblick in die Codierungstheorie kann man erkennen, wie wichtig dieses Gebiet der Mathematik ist. Da die Codierungstheorie in vielen Bereichen wie Wissenschaft, Raumfahrt und Technik eine tragende Rolle spielt, wird sie sich in Zukunft bestimmt noch weiterentwickeln. Literatur [Pilz, 23] Pilz, G. (23) Lineare Algebra und analytische Geometrie Teil II Skriptum zur Vorlesung, Universität Linz [Willems, 999] Willems W. (999). Codierungstheorie. De Gruyter, Berlin. 9