Diskrete Mathematik II

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

Definition Information I(p)

Diskrete Mathematik II

Diskrete Mathematik I

Definition Information I(p)

Die Hamming-Distanz definiert eine Metrik.

Wann sind Codes eindeutig entschlüsselbar?

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

Informationsgehalt einer Nachricht

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

Kapitel 7: Optimalcodierung und Huffman Coding

3. Woche Information, Entropie. 3. Woche: Information, Entropie 45/ 238

Übungsblatt 5 - Musterlösung

Kryptographie I Symmetrische Kryptographie

Zahlentheorie. Alexander May. Fakultät für Mathematik Ruhr-Universität Bochum. Sommersemester 2015

Kryptographie I Symmetrische Kryptographie

Kryptographie I Symmetrische Kryptographie

Kryptographie II Asymmetrische Kryptographie

Klausur Informationstheorie und Codierung

Technische Informatik - Eine Einführung

(Prüfungs-)Aufgaben zur Codierungstheorie

Erzeugendensystem und Basis

Kryptographie I Symmetrische Kryptographie

Kompression. Tim Kilian

Perfekte Codes. Definition Perfekter Code. Sei C {0, 1} n ein (n, M, d)-code. C heißt perfekt, falls

Einführung in die Informatik II Aus der Informationstheorie: Datenkompression

Grundlagen der Technischen Informatik. 3. Übung

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

3 Codierung diskreter Quellen. Quelle Quellcodierer Kanalcodierer reduziert die benötigte Datenmenge. fügt Daten zur Fehlerkorrektur ein.

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

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

Grundlagen der Informationstheorie. Hanna Rademaker und Fynn Feldpausch

Übungsblatt Nr. 7. Lösungsvorschlag

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

Kryptographie I Symmetrische Kryptographie

2.7 Der Shannon-Fano-Elias Code

Vorlesung 15a. Quellencodieren und Entropie

Die Mathematik in der CD

Codes (6) Fehlererkennende (EDC) bzw. fehlerkorrigierende Codes (ECC)

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut

Proseminar Datenkompression Suchstrategien und Präfixcodes

Algorithmen und Datenstrukturen (für ET/IT)

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

Einführung in die Codierungstheorie

Grundbegrie der Codierungstheorie

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3

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

Datenkompression. Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg

Modul Diskrete Mathematik WiSe 2011/12

Klausur zur Vorlesung Informationstheorie

Referat zum Thema Huffman-Codes

Diskrete Mathematik 1 WS 2008/09

Beispiel: Zeigen Sie, dass H(x) = H 0 = I gilt, wenn alle Zeichen gleichwahrscheinlich sind.

Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung

Grundbegriffe der Informatik Tutorium 3

Grundbegriffe der Informatik Tutorium 5

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Einführung in die Codierungstheorie

ChaosSeminar - Informationstheorie

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

Tutorium 23 Grundbegriffe der Informatik (6. Sitzung)

Diskrete Mathematik 1

Einführung in die Kodierungstheorie

Digitaltechnik I WS 2006/2007. Klaus Kasper

6. Komprimierung. (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger

Theoretische Grundlagen der Informatik

Information und Codierung

Entropie. Um der Begriff der Entropie zu erläutern brauchen wir erst mal einige Definitionen, z.b.

Theoretische Grundlagen der Informatik WS 09/10

Kryptologie und Kodierungstheorie

Informationstheorie und Codierung. Prof. Dr.-Ing. Lilia Lajmi

durch Einfügen von Knoten konstruiert werden kann.

Übung 14: Block-Codierung

Paarweise Unabhängigkeit vs. Unabhängigkeit

Fachprüfung. Nachrichtencodierung

Grundlagen der Technischen Informatik. Hamming-Codes. Kapitel 4.3

Transkript:

Diskrete Mathematik II Alexander May Fakultät für Mathematik Ruhr-Universität Bochum Sommersemester 2008 DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 1 / 36

Organisatorisches Vorlesung: Mo 12-14 in HIA, Di 10-11 in NA 6/99 (3+1 SWS, 6.75 CP) Übung: Di 11-13 in ND2/99 Assistent: Mathias Herrmann, Korrektor: M. Mansour Al-Sawadi Übung ist zweiwöchentlich: gerade/ungerade Woche Übungsaufgaben werden korrigiert. Gruppenabgaben bis 4 Personen Bonussystem: 1/3-Notenstufe für 50%, 2/3-Notenstufe für 75% Gilt nur, wenn man die Klausur besteht! Musterlösungen Klausur: Ende Juli DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 2 / 36

Abstimmungen Zusammensetzung des Auditoriums Vorlesungsform Folienunterstützter Tafelanschrieb Nur Tafelanschrieb (Folien als Skript) DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 3 / 36

Themengebiete 1 Kodierungstheorie Komprimierende Codes Beispiel Anwendungen: Kommunikation (Mobilfunk, Internet), Speicher (MP3) Fehlererkennende Codes Ausfalltolerante Codes Beispiel Anwendungen: Mobilfunk, Internet, CD, Secret Sharing, Kryptosystem 2 Algorithmische Zahlentheorie Quadratische Reste Beispiel Anwendungen: Zufallszahlengenerator, Identity-Based Encryption Elliptische Kurven Beispiel Anwendungen: Kryptosystem, Primzahltest 3 Komplexitätstheorie Klassen P und NP Reduktionen Anwendung: Sicherheitsbeweise in der Kryptographie DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 4 / 36

Weiterführende Referenzen Kodierungstheorie M. Sudan, Algorithmic Introduction to Coding Theory, Skript MIT W. Trappe, L. Washington, Introduction to Cryptography with Coding Theory, Pearson 2006 J. Blömer, Algorithmische Codierungstheorie, Skript Uni Paderborn J.H. van Lint, Introduction to Coding Theory, Springer 1991 T. Ihringer, Diskrete Mathematik, Teubner 1994 DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 5 / 36

Unser Modell Shannon 1948: Informationstheorie und Mathematik der Kommunikation Hamming 1950: Erste Arbeit über fehlerkorrigierende Codes Modell: Sender Kodierer Kanal Dekodierer Empfänger Kanal ist bandbreitenbeschränkt (Kompression) Kanal ist fehleranfällig (Fehlerkorrektur) Bits können ausfallen: 0 ǫ, 1 ǫ Bits können kippen: 0 1, 1 0 DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 6 / 36

Motivierendes Bsp: Datenkompression Szenario: Kanal ist fehlerfrei. Übertragen gescannte Nachricht: Wahrscheinlichkeiten: 99% weißer, 1% schwarzer Punkt. Weiße Punkte werden mit 0 kodiert, schwarze mit 1. Kodierer: Splitten Nachricht in Blocks der Größe 10. Wenn Block x=0000000000, kodiere mit 0, sonst mit 1x. 1 dient als Trennzeichen beim Dekodieren. Dekodierer: Lese den Code von links nach rechts. Falls 0, dekodiere 0000000000. Falls 1, übernehme die folgenden 10 Symbole. DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 7 / 36

Erwartete Codelänge Sei q := Pr[Block ist 0000000000] = (0.99) 10 0.9. Sei Y Zufallsvariable für die Codelänge eines 10-Bit Blocks: E[Y] = y Pr(Y = y) = 1 q + 11 (1 q) = 11 10q. y {0,1x} D.h. erwartete Länge der Kodierung eines 10-Bit Blocks ist 11 10q 2 Bit. Datenkompression der Nachricht auf 20%. Können wir noch stärker komprimieren? Entropie wird uns Schranke für Komprimierbarkeit liefern. DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 8 / 36

Ausblick: fehlerkorrigierende Codes Szenario: Binärer symmetrischer Kanal Bits 0,1 kippen mit Ws p, p < 1 2 zu 1,0. (Warum < 1 2?) Korrekte Übertragung 0 0, 1 1 mit Ws 1 p. In unserem Beispiel p = 0.1. Kodierer: Verdreifache jedes Symbol, d.h. 0 000, 1 111 Repetitionscode der Länge 3. Dekodierer: Lese den Code in 3er-Blöcken. Falls mindestens zwei Symbole 0 sind, dekodiere zu 0. Sonst dekodiere zu 1. DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 9 / 36

Ws Dekodierfehler Symbol wird falsch dekodiert, falls mind. zwei der drei Bits kippen. Ws(Bit wird falsch dekodiert) = Ws(genau 2 Bits kippen) + Ws(genau 3 Bits kippen) = 3 p 2 (1 p) + p 3 = 3 10 2 (1 10 1 ) + 10 3 Ohne Kodierung Fehlerws von 0.1. Mit Repetitionskode Fehlerws von 0.03. Nachteil: Codierung ist dreimal so lang wie Nachricht. Ziel: Finde guten Tradeoff zwischen Fehlerws und Codelänge. DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 10 / 36

Ausblick: fehlertolerante Codes Szenario: Binärer Ausfallkanal Bits 0,1 gehen mit Ws p, p < 1 2 verloren, d.h. 0 ǫ bzw. 1 ǫ. Korrekte Übertragung 0 0, 1 1 mit Ws 1 p. In unserem Beispiel p = 0.1. Verwenden wieder Repetitionskode der Länge 3. Fehler beim Dekodieren: Alle drei Symbole gehen verloren. Ws(Bit kann nicht dekodiert werden) = p 3 = 0.001. Fehlerws kleiner beim Ausfallkanal als beim symmetrischen Kanal. DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 11 / 36

Definition Code Alphabet A = {a 1,...,a n }, Menge von Symbolen a i Nachricht m A Definition Code Sei A ein Alphabet. Eine (binäre) Codierung C des Alphabets A ist eine injektive Abbildung C : A {0, 1} a i C(a i ). Die Codierung einer Nachricht m = a i1...a il A definieren wir C(m) = C(a i1 )... C(a il ) (Erweiterung von C auf A ). Die Abbildung C heißt Code. DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 12 / 36

Bezeichnungen Code Die Elemente c i := C(a i ) bezeichnen wir als Codeworte. Wir bezeichnen sowohl die Abbildung von Nachrichten auf Codeworte als auch die Menge der Codeworte mit dem Buchstaben C. Falls C {0, 1} n spricht man von einem Blockcode der Länge n. In einem Blockcode haben alle Codeworte die gleiche Länge. DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 13 / 36

Entschlüsselbarkeit von Codes Szenario: Datenkompression in fehlerfreiem Kanal Definition eindeutig entschlüsselbar Ein Code heißt eindeutig entschlüsselbar, falls jedes Element aus {0, 1} Bild höchstens einer Nachricht ist. D.h. die Erweiterung der Abbildung C auf A muss injektiv sein. Definition Präfixcode Ein Code C = {c 1,..., c n } heißt Präfixcode, falls es keine zwei Codeworte c i c j gibt mit c i ist Präfix (Wortanfang) von c j. DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 14 / 36

Beispiel a 1 a 2 a 3 C 1 0 0 1 C 2 0 1 00 C 3 0 01 011 C 4 0 10 11 C 1 ist kein Code, da C : A {0, 1} nicht injektiv. C 2 ist nicht eindeutig entschlüsselbar, da C : A {0, 1} nicht injektiv. C 3 ist eindeutig entschlüsselbar, aber kein Präfixcode. C 4 ist ein Präfixcode. DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 15 / 36

Präfixcodes sind eindeutig entschlüsselbar. Satz: Präfixcode eindeutig entschlüsselbar Sei C = {c 1,...,c n } ein Präfixcode. Dann kann jede Nachricht C(m) in Zeit O( C(m) ) eindeutig zu m decodiert werden. Zeichne binären Baum Kanten erhalten Label 0 für linkes Kind, 1 für rechtes Kind. Codewort ci = c i1... c ik ist Label des Endknoten des Pfads von der Wurzel mit den Kantenlabeln i 1,..., i n Präfixeigenschaft: Kein einfacher Pfad von der Wurzel enthält zwei Knoten, die mit Codeworten gelabelt sind. Codewort c i ist Blatt in Tiefe c i DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 16 / 36

Algorithmus Dekodierung Präfix Algorithmus Dekodierung Präfix 1 Lese C(m) von links nach rechts. 2 Starte bei der Wurzel. Falls 0, gehe nach links. Falls 1, gehe nach rechts. 3 Falls Blatt mit Codewort c i = C(a i ) erreicht, gib a i aus und iteriere. Laufzeit: O( C(m) ) DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 17 / 36

Woher kommen die Nachrichtensymbole? Modell Quelle Q liefert Strom von Symbolen aus A. Quellwahrscheinlichkeit: Ws( Quelle liefert a i ) = p i Ws p i ist unabhängig von der Zeit und vom bisher produzierten Strom (erinnerungslose Quelle) X i : Zufallsvariable für die i-te Position im Strom, d.h. Ws(X i = a j ) = p j für j = 1,...,n und alle i. Ziel: Kodiere Elemente a j mit großer Ws p j mit kleiner Codewortlänge. DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 18 / 36

Kompakte Codes Definition Erwartete Codewortlänge Sei Q eine Quelle mit Alphabet A = a 1,..., a n und Quellwahrscheinlichkeiten p 1,..., p n. Die Größe E(C) := n p i C(a i ) i=1 bezeichne die erwartete Codewortlänge. Definition Kompakter Code Ein Code C heißt kompakt bezüglich einer Quelle Q, falls er minimale erwartete Codewortlänge besitzt. DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 19 / 36