Codierungstheorie Rudolf Scharlau, SoSe 2006 9



Ähnliche Dokumente
Primzahlen und RSA-Verschlüsselung

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

Informationsblatt Induktionsbeweis

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

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

15 Optimales Kodieren

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

Beispiel Zusammengesetzte Zufallsvariablen

7 Rechnen mit Polynomen

Grundbegriffe der Informatik

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

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

Einführung in die Algebra

Theoretische Grundlagen der Informatik WS 09/10

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

1 Mathematische Grundlagen

Professionelle Seminare im Bereich MS-Office

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

3. Zusammenhang. 22 Andreas Gathmann

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 )

0, v 6 = , v 4 = 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 )

Musterlösungen zur Linearen Algebra II Blatt 5

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

Anmerkungen zur Übergangsprüfung

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Codierung, Codes (variabler Länge)

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele

Absolute Stetigkeit von Maßen

Beweisbar sichere Verschlüsselung

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

Wir machen neue Politik für Baden-Württemberg

6.2 Perfekte Sicherheit

Das Briefträgerproblem

q = 1 p = k k k = 0, 1,..., = [ ] = 0.678

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

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

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.

Der Zwei-Quadrate-Satz von Fermat

11. Das RSA Verfahren und andere Verfahren

8.2 Thermodynamische Gleichgewichte, insbesondere Gleichgewichte in Mehrkomponentensystemen Mechanisches und thermisches Gleichgewicht

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Mengensysteme, Wahrscheinlichkeitsmaße

Berechnungen in Access Teil I

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

Lineare Gleichungssysteme

Kapitel 3: Etwas Informationstheorie

Über das Hüten von Geheimnissen

2.11 Kontextfreie Grammatiken und Parsebäume

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

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

Zeichen bei Zahlen entschlüsseln

Ein neuer Beweis, dass die Newton sche Entwicklung der Potenzen des Binoms auch für gebrochene Exponenten gilt

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

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

3 Quellencodierung. 3.1 Einleitung

10. Kryptographie. Was ist Kryptographie?

Lenstras Algorithmus für Faktorisierung

5. Bildauflösung ICT-Komp 10

Binärdarstellung von Fliesskommazahlen

Simplex-Umformung für Dummies

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

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Informatik IC2. Balazs Simon

Einführung in die Kodierungstheorie

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Kugel-Fächer-Modell. 1fach. 3fach. Für die Einzelkugel gibt es 3 Möglichkeiten. 6fach. 3! Möglichkeiten

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

Wichtige Forderungen für ein Bundes-Teilhabe-Gesetz

Was meinen die Leute eigentlich mit: Grexit?

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

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

Technische Informatik - Eine Einführung

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

11.3 Komplexe Potenzreihen und weitere komplexe Funktionen

Grundlagen der Künstlichen Intelligenz

Modul Diskrete Mathematik WiSe 2011/12

Logische Folgerung. Definition 2.11

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Lineare Gleichungssysteme

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

3.2 Spiegelungen an zwei Spiegeln

Grundlagen der Theoretischen Informatik, SoSe 2008

Charakteristikenmethode im Beispiel

Universität Bonn 28. Juli 2010 Fachbereich Rechts- und Wirtschaftswissenschaften Statistische Abteilung Prof. Dr. A. Kneip. KLAUSUR Statistik B

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

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

Wie löst man Mathematikaufgaben?

Berechnung der Erhöhung der Durchschnittsprämien

11.AsymmetrischeInformation

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.)

Kap. 8: Speziell gewählte Kurven

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Programmiersprachen und Übersetzer

Definition 3.1: Ein Differentialgleichungssystem 1. Ordnung

Transkript:

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 bzw. den zugehörigen Codewörtern. Wir besprechen vor allem ein Konstruktionsverfahren von Huffman, das ausgehend von den Wahrscheinlichkeiten p 1,...,p q in einem festen Algorithmus die Codewörter konstruiert. 2.1 Optimalität Definition. Ein eindeutig decodierbarer Code C = {w 1,..., w q } heißt optimal für eine Wahrscheinlichkeitsverteilung Pr = (p 1, p 2,..., p q ), falls die durchschnittliche Wortlänge l(c, Pr) minimal ist, d.h. l(c, Pr) l(d, Pr) für alle eindeutig decodierbaren Codes D mit D = q. Beachte, dass dieser Begriff sich nicht auf den Code als Menge, sondern die Codierung s i w i bezieht, d.h. es kommt auf die Reihenfolge der w i an. Beispiel 2.1 Für Pr = (p 1, p 2, p 3 ) = (0.25, 0.5, 0.25) ist die Codierung C : 00, 01, 1 nicht optimal, l(c, Pr) = 2 0.25+2 0.5+ 1 0.25 = 1.75, während D : 00, 1, 01 optimal ist, l(d, Pr) = 1.5. Aus Folgerung 1.22 folgt: Lemma 2.2 Bei der Untersuchung optimaler Codes kann man sich auf präfixfreie Codes beschränken. Satz 2.3 Für jede diskrete Quelle, d.h. jede Wahrscheinlichkeitsverteilung Pr = (p 1, p 2,...,p q ) existiert ein optimaler Code. Beweisskizze: Man wählt irgendeinen präfixfreien Code C mit C = q. Dann überlegt man sich, daß die Wortlängen der Codes D mit D = q und l(d, Pr) l(c, Pr) beschränkt sind. Folglich gibt es für D nur endlich viele Möglichkeiten, und man kann unter diesen den kleinsten Wert l(d, Pr) wählen. 2.2 Binäre Huffman Codes Aus einer Wahrscheinlichkeitsverteilung Pr = (p 1,..., p q ), dabei p 1 p 2 p q, erzeugt man Pr von der Länge q 1 durch addieren p q 1 +p q und neues Sortieren. Entsprechend wird ein Quellalphabet S = {s 1,...,s q } erzeugt durch S = {s 1,..., s q 2, s := s q 1 s q }. Bei der Konstruktion der Huffman Codes wird dieser Prozess iteriert und auf der Ebene der Codes umgekehrt: C : w 1,...,w q 2, w C : w 1,...,w q mit w q 1 = w 0, w q = w 1

Codierungstheorie Rudolf Scharlau, SoSe 2006 10 Lemma 2.4 Wenn C präfixfrei ist, dann ist auch C präfixfrei. Beispiel 2.5 S habe 5 Elemente mit den Wahrscheinlichkeiten p i = 0.3, 0.2, ; 0.2, 0.2, 0.1. S : 0.3 0.2 0.2 0.2 0.1 S : 0.3 0.3 0.2 0.2 S : 0.4 0.3 0.3 S (3) : 0.6 0.4 S (4) : 1 C : 00 10 11 010 011 C : 00 01 10 11 C : 1 00 01 C (3) : 0 1 C (4) : ε Durchschnittliche Wortlänge: l(c, Pr) = 2 0.3 + 2 0.2 + 2 0.2 + 3 0.2 + 3 0.1 = 2.3 Beispiel 2.6 S habe 5 Elemente mit den Wahrscheinlichkeiten p i = 0.2 für i = 1,...,5. S : 0.2 0.2 0.2 0.2 0.2 S : 0.4 0.2 0.2 0.2 S : 0.4 0.4 0.2 S (3) : 0.6 0.4 S (4) : 1 C : 01 10 11 000 001 C : 00 01 10 11 C : 1 00 01 C (3) : 0 1 C (4) : ε Durchschnittliche Wortlänge: 0.2 (2 + 2 + 2 + 3 + 3) = 2.4 2.3 Die durchschnittliche Wortlänge von Huffman- Codes Wir betrachten einen Code C = {w 1,..., w q 2, w } mit Wahrscheinlichkeitsverteilung Pr = (p 1,..., p q 2, p ) (relativ zu einer Quelle (S, Pr ) und einer Codierung S C ), sowie den daraus durch die Huffman-Konstruktion entstandenen Code C = {w 1,..., w q 2, w q 1 = w 0, w q = w 1} mit p q 1 + p q = p. Wenn wir kurz l := w setzen, so berechnet man in offensichtlicher Weise l(c, Pr) l(c, Pr ) = p q 1 (l+1)+p q (l+1) p l = p q 1 +p q = p. Folgerung. Die durchschnittliche Wortlänge eines Huffman-Codes zur Wahrscheinlichkeitsverteilung Pr = (p 1 p 2 p q ) berechnet sich ohne explizite Bestimmung von C aus der Folge

Codierungstheorie Rudolf Scharlau, SoSe 2006 11 Pr, Pr,..., Pr (q) = (1) der jeweils durch p = p q 1 +p q definierten Wahrscheinlichkeitsverteilungen als l(c, Pr) = p +p + +p (q 1) (dabei p (q 1) = 1). Beispiel. In Beispiel 2.5 ist l(c, (0.3, 0.2, 0.2, 0.2, 0.1)) = 0.3 + 0.4+0.6+1 = 2.3, in Beispiel 2.6 ist l(c, (0.2, 0.2,..., 0.2)) = 0.4+ 0.4 + 0.6 + 1 = 2.4. (Jeweils die fettgedruckten/unterstrichenen Wahrscheinlichkeiten des Schemas werden aufaddiert!) 2.4 Binäre Huffman-Codes sind optimal Wir benutzen ab jetzt die Notation S = (S, Pr) für eine (diskrete, gedächtnislose) Quelle. Mathematisch relevant ist weiterhin nur der durch Nummerierung der Elemente von S = {s 1,..., s q } entstandene Wahrscheinlichkeitsvektor p = (p 1,...,p q ) := (Pr(s 1 ),..., Pr(s q )). Lemma 2.7 Es sei D ein optimaler binärer Code für S (bzw. für p). Sei ferner die (ungewichtete) Gesamtlänge l(w) minimal w D unter allen solchen Codes D. Dann enthält D ein Paar ut, u t, u {0, 1}, t {0, 1}, t = 1 t von Codewörtern maximaler Länge (d.h. ut = max{ w w D}). Beweisskizze: Wähle w D von maximaler Länge, schreibe w = ut, t {0, 1}. Man zeigt, daß dann automatisch auch u t D ist; sonst könnte man ut durch u ersetzen und hätte einen Widerspruch zu der angenommenen Minimalität von D. Bemerkung: Im Fall echt positiver Wahrscheinlichkeiten erfüllt jeder optimale Code (und jedes längste Codewort ut) die Schlussfolgerung des Lemmas; die Zusatzbedingung ist überflüssig. Satz 2.8 Jeder binäre Huffman-Code für eine gegebene Quelle S = (S, Pr) ist optimal für S. Beweis(skizze): Sei C dieser Code, C zu S wie in der Huffman- Konstruktion, weiter D und x i = ut, x j = u t wie im Lemma. Man überlegt sich zunächst, daß man i = q 1, j = q annehmen kann (folgt aus der maximalen Wortlänge). Wenn nun D entsprechend zu C gebildet wird, so folgt mittels der Formel aus Abschnitt 2.3 also l(d, Pr) l(d, Pr ) = p q 1 + p q = l(c, Pr) l(c, Pr ) l(d, Pr ) l(c, Pr ) = l(d, Pr) l(c, Pr). Nach Induktionsannahme (Induktion über q) ist C optimal, also die linke Seite 0, also auch l(d, Pr) l(c, Pr). Weil D als optimal vorausgesetzt war, muß Gleichheit gelten. Also ist auch C optimal.

Codierungstheorie Rudolf Scharlau, SoSe 2006 12 2.5 Nicht-binäre Huffman-Codes Bei der Huffman-Konstruktion zur Alphabetgröße r = T > 2 werden immer die r kleinsten Wahrscheinlichkeiten zusammengefasst. Umgekehrt wird das letzte Codewort w durch die r Codwörter w t, t T ersetzt. Gegebenenfalls sind noch Wahrscheinlichkeiten Null hinzuzufügen, damit q 1 (mod r 1) ist. Beispiel 2.9 Es sei q = 6, r = 3 und S habe die Wahrscheinlichkeitsverteilung p i = 0.3, 0.2, 0.2, 0.1, 0.1, 0.1. Nach Hinzufügen von s 7 mit p 7 = 0 erhält man S : 0.3 0.2 0.2 0.1 0.1 0.1 0 S : 0.3 0.2 0.2 0.2 0.1 S : 0.5 0.3 0.2 S : 1 Mit T = Z 3 = {0, 1, 2} ist eine mögliche Codierung C : 1 2 00 02 010 011 012 C : 1 2 00 01 02 C : 0 1 2 C : ε Nach Weglassen des zu s 7 gehörenden Wortes 012, erhält man C = {1, 2, 00, 02, 010, 011} mit l(c) = 1.7. Anders als im binären Fall liefert die Konstruktion nicht immer optimale Codes. 2.6 Blockweise Codierung einer Quelle Wir erinnern an die Idee, daß eine Signalquelle S (formal ein endlicher Wahrscheinlichkeitsraum (S, P r)) eine (potentiell beliebig lange) Folge X 1 X 2... X k... von identisch verteilten Zufallsvariablen (mit Werten in S und Verteilung P r) aussendet. Es ist eine naheliegende Idee, bei der Quellencodierung jeweils n Symbole, für ein festes n, zusamenzufassen und gemeinsam in einem Codewort zu codieren. Hierbei kann man tatsächlich etwas gewinnen, nämlich den Aufwand, gemessen in der gemittelten Wortlänge, reduzieren. Wir wollen in diesem Abschnitt hierzu ein wenig Terminologie einführen sowie ein einfaches Beispiel anschauen. Eine systematischere Behandlung ergibt sich erst im nächsten Kapitel unter Verwendung des zentralen Begriffs der Entropie. Die n-te Potenz S n der Quelle S definieren wir in naheliegender Weise als S n = (S n, Pr n ), wobei mit S n wie üblich das n-fache kartesische Produkt von S mit sich selbst gemeint ist, dessen Elemente weiterhin als (Quell-)Wörter der festen Länge n geschrieben werden, und die Wahrscheinlichkeit definiert wird als Pr n (s 1 s 2... s n ) := Pr(s 1 )Pr(s 2 )...Pr(s n ). Wir haben also eine Spezialfall der üblichen Definition des direkten Produktes zweier (endlicher) Wahrscheinlichkeitsräume; die Definition von Pr n ist verträglich mit dem obigen Sender- Modell, denn sie spiegelt die Unabhängigkeit der X k wieder.

Codierungstheorie Rudolf Scharlau, SoSe 2006 13 Jones und Jones bezeichnen S n als n-te Erweiterung ( extension ) von S, was uns weniger glücklich erscheint. Unter einer blockweisen Codierung der Ordnung n wollen wir eine Codierung von S n im üblichen Sinne verstehen (also eine Abbildung c : S n T + für ein Code-Alphabet T). Mathar spricht in seinem Buch einfach von einem Blockcode; allerdings wird dieser Begriff oft auch für Codes mit Codewörtern konstanter Länge benutzt (also C T m T + für ein festes m). Beispiel 2.12 Für S = {s 1, s 2 }, p 1 = 2/3, p 2 = 1/3 hat S 2 die Wahrscheinlichkeiten 4/9, 2/9, 2/9, 1/9, woraus man den Huffman-Code C 2 = {0, 10, 110, 111} herleitet. Als gemittelte Wortlänge bezogen auf S ist die Größe l(c 2, Pr 2 )/2 relevant, da ein Symbol aus C zwei Symbole aus S codiert. Diese Zahl ist gleich 17/18, also echt kleiner als 1, die gewichtete Wortlänge eines optimalen Codes für S. Übung: Benutzung von S 3 liefert einen noch besseren Wert, nämlich l(c 3, Pr 3 )/3 = 76/81.