Effiziente Algorithmen und Komplexitätstheorie
|
|
- Jan Thomas
- vor 6 Jahren
- Abrufe
Transkript
1 Fakultät für Informatik Lehrstuhl 2 Vorlesung Effiziente Algorithmen und Komplexitätstheorie Sommersemester 2008 Ingo Wegener; Vertretung: Carsten Witt 7. Juli 2008 Vorlesung am (nächste Woche): Raum E04/E05 1/23
2 Datenkompression: Definition und Motivation Aufgabe: Verkürze Repräsentation von Daten Kompression Dekompression X Y = c(x) X = d(y ) Daten komprimierte Daten dekomprimierte Daten 2/23
3 Datenkompression: Definition und Motivation Aufgabe: Verkürze Repräsentation von Daten Kompression Dekompression X Y = c(x) X = d(y ) Daten komprimierte Daten dekomprimierte Daten Brauchen wir heutzutage noch Datenkompression? 2/23
4 Datenkompression: Definition und Motivation Aufgabe: Verkürze Repräsentation von Daten Kompression Dekompression X Y = c(x) X = d(y ) Daten komprimierte Daten dekomprimierte Daten Brauchen wir heutzutage noch Datenkompression? Anschein: Speicher wächst viel langsamer als Datenmengen Fakt: Datenkompression allgegenwärtig 2/23
5 Datenkompression: Definition und Motivation Aufgabe: Verkürze Repräsentation von Daten Kompression Dekompression X Y = c(x) X = d(y ) Daten komprimierte Daten dekomprimierte Daten Brauchen wir heutzutage noch Datenkompression? Anschein: Speicher wächst viel langsamer als Datenmengen Fakt: Datenkompression allgegenwärtig Klassifikation verlustfrei (lossless) X : d(c(x)) = X z.b. bzip2, gif, zip verlustbehaftet (lossy) i. Allg. d(c(x)) X z.b. jpeg, mpeg, mp3 2/23
6 Datenkompression: Definition und Motivation Aufgabe: Verkürze Repräsentation von Daten Kompression Dekompression X Y = c(x) X = d(y ) Daten komprimierte Daten dekomprimierte Daten Brauchen wir heutzutage noch Datenkompression? Anschein: Speicher wächst viel langsamer als Datenmengen Fakt: Datenkompression allgegenwärtig Klassifikation verlustfrei (lossless) X : d(c(x)) = X z.b. bzip2, gif, zip verlustbehaftet (lossy) i. Allg. d(c(x)) X z.b. jpeg, mpeg, mp3 Hier: nur verlustfreie Kompression 2/23
7 Güte von Kompressionen Kompression Dekompression X Y = c(x) X = d(y ) Daten komprimierte Daten dekomprimierte Daten Konventionen: Daten X Σ für endliches Alphabet Σ Komprimierte Daten c(x) {0,1} + 3/23
8 Güte von Kompressionen Kompression Dekompression X Y = c(x) X = d(y ) Daten komprimierte Daten dekomprimierte Daten Konventionen: Daten X Σ für endliches Alphabet Σ Komprimierte Daten c(x) {0,1} + Maße Kompressionsrate = c(x) X (Einheit [bpb], bits per bit ) Kompressionsfaktor = 1 Kompressionsrate 3/23
9 Güte von Kompressionen Kompression Dekompression X Y = c(x) X = d(y ) Daten komprimierte Daten dekomprimierte Daten Konventionen: Daten X Σ für endliches Alphabet Σ Komprimierte Daten c(x) {0,1} + Maße Kompressionsrate = c(x) X (Einheit [bpb], bits per bit ) Kompressionsfaktor = 1 Kompressionsrate Schranken für die Maße? 3/23
10 Güte von Kompressionen Kompression Dekompression X Y = c(x) X = d(y ) Daten komprimierte Daten dekomprimierte Daten Konventionen: Daten X Σ für endliches Alphabet Σ Komprimierte Daten c(x) {0,1} + Maße Kompressionsrate = c(x) X (Einheit [bpb], bits per bit ) Kompressionsfaktor = 1 Kompressionsrate Schranken für die Maße? Im Allgemeinen nicht: c(x) = 1 für beliebig lange X möglich Aber: für jedes verlustfreie Verfahren gibt es auch X mit c(x) X, da c injektiv und c(x) {0,1} +. 3/23
11 Präfixkodes: Repräsentation komprimierter Daten Ansatz hier: Kodiere Texte X Σ buchstabenweise Zunächst c : Σ {0,1} +, also Code für jeden Buchstaben 4/23
12 Präfixkodes: Repräsentation komprimierter Daten Ansatz hier: Kodiere Texte X Σ buchstabenweise Zunächst c : Σ {0,1} +, also Code für jeden Buchstaben Dann setze c für Texte X = x 1 x 2... x l fort: c(x 1 x 2...x l ) = c(x 1 )c(x 2 )... c(x l ) ohne Trennzeichen Nötig: eindeutige Dekodierbarkeit 4/23
13 Präfixkodes: Repräsentation komprimierter Daten Ansatz hier: Kodiere Texte X Σ buchstabenweise Zunächst c : Σ {0,1} +, also Code für jeden Buchstaben Dann setze c für Texte X = x 1 x 2... x l fort: c(x 1 x 2...x l ) = c(x 1 )c(x 2 )... c(x l ) ohne Trennzeichen Nötig: eindeutige Dekodierbarkeit Lösung: Präfixkodes Definition Für x {0,1} sei PRE(x) := {x {0,1} X X } die Menge aller Präfixe von X. Eine Kodierung c : Σ {0,1} + heißt Präfixkode, wenn Y X : c(x) / PRE(c(Y )) gilt. 4/23
14 Beschreibung von Präfixkodes Eindeutige Darstellung von Präfixkodes: Binärbaum mit Σ Blättern Σ = {a,b,c,d} s Σ c(s) a 0 b 101 c 11 d 100 a d b c 5/23
15 Beschreibung von Präfixkodes Eindeutige Darstellung von Präfixkodes: Binärbaum mit Σ Blättern Σ = {a,b,c,d} s Σ c(s) a 0 b 101 c 11 d 100 Wann existieren Präfixkodes überhaupt? a d b c 5/23
16 Beschreibung von Präfixkodes Eindeutige Darstellung von Präfixkodes: Binärbaum mit Σ Blättern Σ = {a,b,c,d} s Σ c(s) a 0 b 101 c 11 d 100 Wann existieren Präfixkodes überhaupt? a d b c Theorem (Ungleichung von Kraft/McMillan) Ein Präfixkode c : {s 1,s 2,...,s n } {0,1} + mit c(s 1 ) = l 1, c(s 2 ) = l 2,..., c(s n ) = l n existiert genau dann, wenn n i=1 2 l i 1 gilt. 5/23
17 Beweis der Ungleichung von Kraft/McMillan ( ) Sei Präfixkode c : Σ {0,1} + mit l i := c(s i ) gegeben. 6/23
18 Beweis der Ungleichung von Kraft/McMillan ( ) Sei Präfixkode c : Σ {0,1} + mit l i := c(s i ) gegeben. Sei l := max{l 1,...,l n }. Vervollständige Binärbaum für c a c d b 6/23
19 Beweis der Ungleichung von Kraft/McMillan ( ) Sei Präfixkode c : Σ {0,1} + mit l i := c(s i ) gegeben. Sei l := max{l 1,...,l n }. Vervollständige Binärbaum für c a Binärbaum mit Höhe l und 2 l Blättern d b c Darin betrachte Teilbäume mit Wurzeln s 1,...,s n, beobachte: Teilbaum mit Wurzel s i hat 2 l l i Blätter. 6/23
20 Beweis der Ungleichung von Kraft/McMillan ( ) Sei Präfixkode c : Σ {0,1} + mit l i := c(s i ) gegeben. Sei l := max{l 1,...,l n }. Vervollständige Binärbaum für c a Binärbaum mit Höhe l und 2 l Blättern d b c Darin Also: betrachte Teilbäume mit Wurzeln s 1,...,s n, beobachte: Teilbaum mit Wurzel s i hat 2 l l i Blätter. n i=1 2l l i = 2 l n i=1 2 l i = 1. 6/23
21 Beweis der Ungleichung von Kraft/McMillan ( ) Gegeben: l 1,...,l n mit S := n i=1 2 l i 1 Ziel: Präfixkode 7/23
22 Beweis der Ungleichung von Kraft/McMillan ( ) Gegeben: l 1,...,l n mit S := n i=1 2 l i 1 Ziel: Präfixkode O. B.d.A.: l 1 l 2 l n =: l. 7/23
23 Beweis der Ungleichung von Kraft/McMillan ( ) Gegeben: l 1,...,l n mit S := n i=1 2 l i 1 Ziel: Präfixkode O. B.d.A.: l 1 l 2 l n =: l. Induktion über l l = 1: Dann n 2 und 0 bzw. 0,1 sind passende Präfixkodes. 7/23
24 Beweis der Ungleichung von Kraft/McMillan ( ) Gegeben: l 1,...,l n mit S := n i=1 2 l i 1 Ziel: Präfixkode O. B.d.A.: l 1 l 2 l n =: l. Induktion über l l = 1: Dann n 2 und 0 bzw. 0,1 sind passende Präfixkodes. l > 1: Fallunterscheidung nach S S 1/2: Entweder l 1 = 1, dann aber l = 1 und Präfixkode trivial. Oder l 1 2, dann benutze n i=1 1) = 2S 1, 2 (li wende IV auf l 1 1, l 2 1,...,l n 1 an und hänge vor die erhaltenen Kodes je eine 0. Präfixkode mit gewünschten Längen. 7/23
25 Beweis der Ungleichung von Kraft/McMillan ( ) Gegeben: l 1,...,l n mit S := n i=1 2 l i 1 Ziel: Präfixkode O. B.d.A.: l 1 l 2 l n =: l. Induktion über l l = 1: Dann n 2 und 0 bzw. 0,1 sind passende Präfixkodes. l > 1: Fallunterscheidung nach S S 1/2: Entweder l 1 = 1, dann aber l = 1 und Präfixkode trivial. Oder l 1 2, dann benutze n i=1 1) = 2S 1, 2 (li wende IV auf l 1 1, l 2 1,...,l n 1 an und hänge vor die erhaltenen Kodes je eine 0. Präfixkode mit gewünschten Längen. S > 1/2: Beobachtung: 2 l1 2 l2 2 ln, Definiere m := min{k k i=1 1/2} 2 li Beobachtung: m i=1 2 li = 1/2, da m 1 i=1 1/2 2 2 li lm IV anwenden auf {l 1,..., l m } und {l m+1,..., l n }, gib erhaltenen Präfixkodes neue Präfixe (0 bzw. 1). 7/23
26 Informationstheorie Hintergrund: probabilistisches Modell Quelle erzeugt unabh. Ereignisse, hier Buchstaben s Σ = {s 1,...,s n } mit Auftrittswahrscheinlichkeiten Prob(s) für s Σ. 8/23
27 Informationstheorie Hintergrund: probabilistisches Modell Quelle erzeugt unabh. Ereignisse, hier Buchstaben s Σ = {s 1,...,s n } mit Auftrittswahrscheinlichkeiten Prob(s) für s Σ. Selbstinformation für Ereignis s ist i(s) = log 1 Prob(s), mindestens 1 für Σ 2. 8/23
28 Informationstheorie Hintergrund: probabilistisches Modell Quelle erzeugt unabh. Ereignisse, hier Buchstaben s Σ = {s 1,...,s n } mit Auftrittswahrscheinlichkeiten Prob(s) für s Σ. Selbstinformation für Ereignis s ist i(s) = log 1 Prob(s), mindestens 1 für Σ 2. Entropie H(Σ) = s Σ Prob(s) i(s) = s ΣProb(s)log(Prob(s)) als Erwartungswert der Selbstinformation 8/23
29 Informationstheorie Hintergrund: probabilistisches Modell Quelle erzeugt unabh. Ereignisse, hier Buchstaben s Σ = {s 1,...,s n } mit Auftrittswahrscheinlichkeiten Prob(s) für s Σ. Selbstinformation für Ereignis s ist i(s) = log 1 Prob(s), mindestens 1 für Σ 2. Entropie H(Σ) = s Σ Prob(s) i(s) = s ΣProb(s)log(Prob(s)) als Erwartungswert der Selbstinformation Satz: durchschnittliche Kodierungslänge Entropie (Beweis später) 8/23
30 Informationstheorie Hintergrund: probabilistisches Modell Quelle erzeugt unabh. Ereignisse, hier Buchstaben s Σ = {s 1,...,s n } mit Auftrittswahrscheinlichkeiten Prob(s) für s Σ. Selbstinformation für Ereignis s ist i(s) = log 1 Prob(s), mindestens 1 für Σ 2. Entropie H(Σ) = s Σ Prob(s) i(s) = s ΣProb(s)log(Prob(s)) als Erwartungswert der Selbstinformation Satz: durchschnittliche Kodierungslänge Entropie (Beweis später) Problem: im Allgemeinen Entropie unbekannt probabilistisches Modell aufstellen oder schätzen 8/23
31 Erzeugung von Präfixkodes aus probabilistischen Modellen Einige Eigenschaften Präfixkode gegeben: Kodierung und Dekodierung in Linearzeit gegenüber fester Kodierung: Gewinn durch kurze Kodierung häufiger Zeichen bei rein zufälligen Texten (Gleichverteilung über Σ) sinnlos 9/23
32 Erzeugung von Präfixkodes aus probabilistischen Modellen Einige Eigenschaften Präfixkode gegeben: Kodierung und Dekodierung in Linearzeit gegenüber fester Kodierung: Gewinn durch kurze Kodierung häufiger Zeichen bei rein zufälligen Texten (Gleichverteilung über Σ) sinnlos Annahmen: Zeichen s i Σ unabhängig, Prob(s i ) bekannt Erwartete Länge eines Kodeworts c: L c := n i=1 Prob(s i) c(s i ) Damit erwartete Kodierungslänge eines Textes X: X L c 9/23
33 Erzeugung von Präfixkodes aus probabilistischen Modellen Einige Eigenschaften Präfixkode gegeben: Kodierung und Dekodierung in Linearzeit gegenüber fester Kodierung: Gewinn durch kurze Kodierung häufiger Zeichen bei rein zufälligen Texten (Gleichverteilung über Σ) sinnlos Annahmen: Zeichen s i Σ unabhängig, Prob(s i ) bekannt Erwartete Länge eines Kodeworts c: L c := n i=1 Prob(s i) c(s i ) Damit erwartete Kodierungslänge eines Textes X: X L c Gesucht: optimaler Präfixkode c, d.h. mit minimalem L c 9/23
34 Erzeugung von Präfixkodes aus probabilistischen Modellen Einige Eigenschaften Präfixkode gegeben: Kodierung und Dekodierung in Linearzeit gegenüber fester Kodierung: Gewinn durch kurze Kodierung häufiger Zeichen bei rein zufälligen Texten (Gleichverteilung über Σ) sinnlos Annahmen: Zeichen s i Σ unabhängig, Prob(s i ) bekannt Erwartete Länge eines Kodeworts c: L c := n i=1 Prob(s i) c(s i ) Damit erwartete Kodierungslänge eines Textes X: X L c Gesucht: optimaler Präfixkode c, d.h. mit minimalem L c Im Folgenden: drei Ansätze für kurze Präfixkodes 9/23
35 Shannon-Algorithmus Notation: p i := Prob(s i ), P i := i 1 j=1 p j O. B.d.A.: p 1 p 2 p n 10/23
36 Shannon-Algorithmus Notation: p i := Prob(s i ), P i := i 1 j=1 p j O. B.d.A.: p 1 p 2 p n Shannon-Algorithmus (1948) 1. Für i = 1,...,n 2. l i := log p i 3. c(s i ) := b 1 b 2...b li nach Binärdarstellung für P i = 0,b 1 b 2 b /23
37 Shannon-Algorithmus Notation: p i := Prob(s i ), P i := i 1 j=1 p j O. B.d.A.: p 1 p 2 p n Shannon-Algorithmus (1948) 1. Für i = 1,...,n 2. l i := log p i 3. c(s i ) := b 1 b 2...b li nach Binärdarstellung für P i = 0,b 1 b 2 b 3... Beispiel: Σ = {a, b, c, d, e}, Wkten. (0,4; 0,25; 0,15; 0,1; 0,1) s i p i l i P i P i binär c(s i ) a 0, , b 0,25 2 0,4 0, c 0,15 3 0,65 0, d 0,1 4 0,8 0, e 0,1 4 0,9 0, /23
38 Shannon-Algorithmus Notation: p i := Prob(s i ), P i := i 1 j=1 p j O. B.d.A.: p 1 p 2 p n Shannon-Algorithmus (1948) 1. Für i = 1,...,n 2. l i := log p i 3. c(s i ) := b 1 b 2...b li nach Binärdarstellung für P i = 0,b 1 b 2 b 3... Beispiel: Σ = {a, b, c, d, e}, Wkten. (0,4; 0,25; 0,15; 0,1; 0,1) s i p i l i P i P i binär c(s i ) a 0, , b 0,25 2 0,4 0, c 0,15 3 0,65 0, d 0,1 4 0,8 0, e 0,1 4 0,9 0, Erwartete Kodelänge = 0, , , , ,1 4 = 2,55 korrekt? 10/23
39 Shannon-Algorithmus: Korrektheit Theorem Der Shannon-Algorithmus erzeugt einen Präfixkode. 11/23
40 Shannon-Algorithmus: Korrektheit Theorem Der Shannon-Algorithmus erzeugt einen Präfixkode. Beweis Algo. setzt l i := log p i, also l i log(1/p i ). 11/23
41 Shannon-Algorithmus: Korrektheit Theorem Der Shannon-Algorithmus erzeugt einen Präfixkode. Beweis Algo. setzt l i := log p i, also l i log(1/p i ). Daher: j > i P j P i = j 1 k=i p k p i 2 l i. 11/23
42 Shannon-Algorithmus: Korrektheit Theorem Der Shannon-Algorithmus erzeugt einen Präfixkode. Beweis Algo. setzt l i := log p i, also l i log(1/p i ). Daher: j > i P j P i = j 1 k=i p k p i 2 l i. Wegen p 1 p n ist l 1 l n. Annahme: kein Präfixkode, dann i < j mit c(s i ) c(s j ). Sei c(s i ) = a 1...a li und c(s j ) = b 1...b lj. 11/23
43 Shannon-Algorithmus: Korrektheit Theorem Der Shannon-Algorithmus erzeugt einen Präfixkode. Beweis Algo. setzt l i := log p i, also l i log(1/p i ). Daher: j > i P j P i = j 1 k=i p k p i 2 l i. Wegen p 1 p n ist l 1 l n. Annahme: kein Präfixkode, dann i < j mit c(s i ) c(s j ). Sei c(s i ) = a 1...a li und c(s j ) = b 1...b lj. Es folgt P j P i = = = ( a1 ( b b l i 2 l i ) a l i 2 l + b l i+1 i 2 l +... i+1 ( ) bli +1 2 l i ( a1 ) ( ali +1 2 l i ) a l i 2 l i ( a a l i 2 l i < 1 2 l i ) +... ) /23
44 Shannon-Algorithmus: Güte Erinnerung: minimale erwartete Kodelänge gesucht, Entropie untere Schranke 12/23
45 Shannon-Algorithmus: Güte Erinnerung: Theorem minimale erwartete Kodelänge gesucht, Entropie untere Schranke Der Shannon-Algorithmus berechnet aus einer Quelle Σ einen Kode c mit L Shannon c H(Σ) /23
46 Shannon-Algorithmus: Güte Erinnerung: Theorem minimale erwartete Kodelänge gesucht, Entropie untere Schranke Der Shannon-Algorithmus berechnet aus einer Quelle Σ einen Kode c mit L Shannon c H(Σ) + 1. Beweis Erinnerung: Kodelänge c(s i ) = log Prob(s i ). 12/23
47 Shannon-Algorithmus: Güte Erinnerung: minimale erwartete Kodelänge gesucht, Entropie untere Schranke Theorem Der Shannon-Algorithmus berechnet aus einer Quelle Σ einen Kode c mit L Shannon c H(Σ) + 1. Beweis Erinnerung: Kodelänge c(s i ) = log Prob(s i ). Somit n L c = (Prob(s i ) log(prob(s i )) ) i=1 n (Prob(s i )( log(prob(s i )) + 1)) = H(Σ) + 1. i=1 12/23
48 Shannon-Algorithmus: Güte Erinnerung: minimale erwartete Kodelänge gesucht, Entropie untere Schranke Theorem Der Shannon-Algorithmus berechnet aus einer Quelle Σ einen Kode c mit L Shannon c H(Σ) + 1. Beweis Erinnerung: Kodelänge c(s i ) = log Prob(s i ). Somit n L c = (Prob(s i ) log(prob(s i )) ) Aber i=1 n (Prob(s i )( log(prob(s i )) + 1)) = H(Σ) + 1. i=1 werden sehen: Shannon-Algo. nicht optimal. 12/23
49 Shannon-Fano-Algorithmus Rekursiv Präfixkodebaum erzeugen 13/23
50 Shannon-Fano-Algorithmus Rekursiv Präfixkodebaum erzeugen Eingabe wieder: Σ mit zugehöriger Wahrscheinlichkeitsverteilung 13/23
51 Shannon-Fano-Algorithmus Rekursiv Präfixkodebaum erzeugen Eingabe wieder: Σ mit zugehöriger Wahrscheinlichkeitsverteilung 1 Falls Σ = 1, erzeuge Baum mit einem Knoten und entsprechender Beschriftung. STOP. 13/23
52 Shannon-Fano-Algorithmus Rekursiv Präfixkodebaum erzeugen Eingabe wieder: Σ mit zugehöriger Wahrscheinlichkeitsverteilung 1 Falls Σ = 1, erzeuge Baum mit einem Knoten und entsprechender Beschriftung. STOP. 2 Teile Σ in Σ 1 und Σ 2 mit s Σ 1 Prob(s) s Σ 2 Prob(s). 13/23
53 Shannon-Fano-Algorithmus Rekursiv Präfixkodebaum erzeugen Eingabe wieder: Σ mit zugehöriger Wahrscheinlichkeitsverteilung 1 Falls Σ = 1, erzeuge Baum mit einem Knoten und entsprechender Beschriftung. STOP. 2 Teile Σ in Σ 1 und Σ 2 mit s Σ 1 Prob(s) s Σ 2 Prob(s). 3 Erzeuge Baum mit unbeschrifteter Wurzel und Shannon-Fano(Σ 1 ) als linkem sowie Shannon-Fano(Σ 2 ) als rechtem Teilbaum. 13/23
54 Shannon-Fano-Algorithmus Rekursiv Präfixkodebaum erzeugen Eingabe wieder: Σ mit zugehöriger Wahrscheinlichkeitsverteilung 1 Falls Σ = 1, erzeuge Baum mit einem Knoten und entsprechender Beschriftung. STOP. 2 Teile Σ in Σ 1 und Σ 2 mit s Σ 1 Prob(s) s Σ 2 Prob(s). 3 Erzeuge Baum mit unbeschrifteter Wurzel und Shannon-Fano(Σ 1 ) als linkem sowie Shannon-Fano(Σ 2 ) als rechtem Teilbaum. Beobachtung: erzeugt Präfixkode 13/23
55 Shannon-Fano-Algorithmus Rekursiv Präfixkodebaum erzeugen Eingabe wieder: Σ mit zugehöriger Wahrscheinlichkeitsverteilung 1 Falls Σ = 1, erzeuge Baum mit einem Knoten und entsprechender Beschriftung. STOP. 2 Teile Σ in Σ 1 und Σ 2 mit s Σ 1 Prob(s) s Σ 2 Prob(s). 3 Erzeuge Baum mit unbeschrifteter Wurzel und Shannon-Fano(Σ 1 ) als linkem sowie Shannon-Fano(Σ 2 ) als rechtem Teilbaum. Beobachtung: erzeugt Präfixkode Probleme: algorithmisch schwierig (Partitionierung), mehrdeutig 13/23
56 Shannon-Fano-Algorithmus: Beispiel Wie oben: Σ = {a, b, c, d, e}, Wkten. (0,4; 0,25; 0,15; 0,1; 0,1) Σ 1 1 = {a,d}, Σ1 2 = {b,c,e} 14/23
57 Shannon-Fano-Algorithmus: Beispiel Wie oben: Σ = {a, b, c, d, e}, Wkten. (0,4; 0,25; 0,15; 0,1; 0,1) Σ 1 1 = {a,d}, Σ1 2 = {b,c,e} Σ 2 1 = {a}, Σ2 2 = {d} 14/23
58 Shannon-Fano-Algorithmus: Beispiel Wie oben: Σ = {a, b, c, d, e}, Wkten. (0,4; 0,25; 0,15; 0,1; 0,1) Σ 1 1 = {a,d}, Σ1 2 = {b,c,e} Σ 2 1 = {a}, Σ2 2 = {d} Σ 3 1 = {c,e}, Σ3 1 = {b} 14/23
59 Shannon-Fano-Algorithmus: Beispiel Wie oben: Σ = {a, b, c, d, e}, Wkten. (0,4; 0,25; 0,15; 0,1; 0,1) Σ 1 1 = {a,d}, Σ1 2 = {b,c,e} Σ 2 1 = {a}, Σ2 2 = {d} Σ 3 1 = {c,e}, Σ3 1 = {b} Σ 4 1 = {c}, Σ4 1 = {e} a d c e b 14/23
60 Shannon-Fano-Algorithmus: Beispiel Wie oben: Σ = {a, b, c, d, e}, Wkten. (0,4; 0,25; 0,15; 0,1; 0,1) Σ 1 1 = {a,d}, Σ1 2 = {b,c,e} Σ 2 1 = {a}, Σ2 2 = {d} Σ 3 1 = {c,e}, Σ3 1 = {b} Σ 4 1 = {c}, Σ4 1 = {e} a d c e b Erwartete Kodelänge = 0, , , , ,25 2 = 2,25 14/23
61 Shannon-Fano-Algorithmus: Beispiel Wie oben: Σ = {a, b, c, d, e}, Wkten. (0,4; 0,25; 0,15; 0,1; 0,1) Σ 1 1 = {a,d}, Σ1 2 = {b,c,e} Σ 2 1 = {a}, Σ2 2 = {d} Σ 3 1 = {c,e}, Σ3 1 = {b} Σ 4 1 = {c}, Σ4 1 = {e} a d c e b Erwartete Kodelänge = 0, , , , ,25 2 = 2,25 Werden sehen: auch nicht optimal 14/23
62 Huffman-Algorithmus Huffman (1952): Iterativ Präfixkodebaum erzeugen 15/23
63 Huffman-Algorithmus Huffman (1952): Iterativ Präfixkodebaum erzeugen Vorgehen: bottom-up mithilfe von Gewichtswerten 1 Erzeuge Wald aus t := n Bäumen, die je nur aus der Wurzel mit Markierung s i bestehen und Gewicht Prob(s i ) haben. 15/23
64 Huffman-Algorithmus Huffman (1952): Iterativ Präfixkodebaum erzeugen Vorgehen: bottom-up mithilfe von Gewichtswerten 1 Erzeuge Wald aus t := n Bäumen, die je nur aus der Wurzel mit Markierung s i bestehen und Gewicht Prob(s i ) haben. 2 Solange t > 1 3 Wähle Bäume T 1 und T 2 mit min. Gewichten w 1 und w 2. 15/23
65 Huffman-Algorithmus Huffman (1952): Iterativ Präfixkodebaum erzeugen Vorgehen: bottom-up mithilfe von Gewichtswerten 1 Erzeuge Wald aus t := n Bäumen, die je nur aus der Wurzel mit Markierung s i bestehen und Gewicht Prob(s i ) haben. 2 Solange t > 1 3 Wähle Bäume T 1 und T 2 mit min. Gewichten w 1 und w 2. 4 Erzeuge Baum T mit unmarkierter Wurzel, linkem Teilbaum T 1, rechtem Teilbaum T 2 und Gewicht w 1 + w 2. 15/23
66 Huffman-Algorithmus Huffman (1952): Iterativ Präfixkodebaum erzeugen Vorgehen: bottom-up mithilfe von Gewichtswerten 1 Erzeuge Wald aus t := n Bäumen, die je nur aus der Wurzel mit Markierung s i bestehen und Gewicht Prob(s i ) haben. 2 Solange t > 1 3 Wähle Bäume T 1 und T 2 mit min. Gewichten w 1 und w 2. 4 Erzeuge Baum T mit unmarkierter Wurzel, linkem Teilbaum T 1, rechtem Teilbaum T 2 und Gewicht w 1 + w 2. 5 Entferne T 1 und T 2. 15/23
67 Huffman-Algorithmus Huffman (1952): Iterativ Präfixkodebaum erzeugen Vorgehen: bottom-up mithilfe von Gewichtswerten 1 Erzeuge Wald aus t := n Bäumen, die je nur aus der Wurzel mit Markierung s i bestehen und Gewicht Prob(s i ) haben. 2 Solange t > 1 3 Wähle Bäume T 1 und T 2 mit min. Gewichten w 1 und w 2. 4 Erzeuge Baum T mit unmarkierter Wurzel, linkem Teilbaum T 1, rechtem Teilbaum T 2 und Gewicht w 1 + w 2. 5 Entferne T 1 und T 2. 6 t := t 1. 15/23
68 Huffman-Algorithmus Huffman (1952): Iterativ Präfixkodebaum erzeugen Vorgehen: bottom-up mithilfe von Gewichtswerten 1 Erzeuge Wald aus t := n Bäumen, die je nur aus der Wurzel mit Markierung s i bestehen und Gewicht Prob(s i ) haben. 2 Solange t > 1 3 Wähle Bäume T 1 und T 2 mit min. Gewichten w 1 und w 2. 4 Erzeuge Baum T mit unmarkierter Wurzel, linkem Teilbaum T 1, rechtem Teilbaum T 2 und Gewicht w 1 + w 2. 5 Entferne T 1 und T 2. 6 t := t 1. Beobachtungen: erzeugt Präfixkode, Laufzeit O(n log n) möglich 15/23
69 Huffman-Algorithmus Huffman (1952): Iterativ Präfixkodebaum erzeugen Vorgehen: bottom-up mithilfe von Gewichtswerten 1 Erzeuge Wald aus t := n Bäumen, die je nur aus der Wurzel mit Markierung s i bestehen und Gewicht Prob(s i ) haben. 2 Solange t > 1 3 Wähle Bäume T 1 und T 2 mit min. Gewichten w 1 und w 2. 4 Erzeuge Baum T mit unmarkierter Wurzel, linkem Teilbaum T 1, rechtem Teilbaum T 2 und Gewicht w 1 + w 2. 5 Entferne T 1 und T 2. 6 t := t 1. Beobachtungen: erzeugt Präfixkode, Laufzeit O(n log n) möglich Anwendungen: Übertragung von Faxen (Gruppen 3 und 4) 15/23
70 Huffman-Algorithmus: Beispiel Wieder: Σ = {a,b,c,d,e}, Wkten. (0,4;0,25;0,15;0,1;0,1) 1,0 0,4 a 0,6 0,25 b 0,35 0,15 c 0,2 0,1 d 0,1 e 16/23
71 Huffman-Algorithmus: Beispiel Wieder: Σ = {a,b,c,d,e}, Wkten. (0,4;0,25;0,15;0,1;0,1) 1,0 0,4 a 0,6 0,25 b 0,35 0,15 c 0,2 0,1 d 0,1 e 16/23
72 Huffman-Algorithmus: Beispiel Wieder: Σ = {a,b,c,d,e}, Wkten. (0,4;0,25;0,15;0,1;0,1) 1,0 0,4 a 0,6 0,25 b 0,35 0,15 c 0,2 0,1 d 0,1 e 16/23
73 Huffman-Algorithmus: Beispiel Wieder: Σ = {a,b,c,d,e}, Wkten. (0,4;0,25;0,15;0,1;0,1) 1,0 0,4 a 0,6 0,25 b 0,35 0,15 c 0,2 0,1 d 0,1 e 16/23
74 Huffman-Algorithmus: Beispiel Wieder: Σ = {a,b,c,d,e}, Wkten. (0,4;0,25;0,15;0,1;0,1) 1,0 0,4 a 0,6 0,25 b 0,35 0,15 c 0,2 0,1 d 0,1 e 16/23
75 Huffman-Algorithmus: Beispiel Wieder: Σ = {a,b,c,d,e}, Wkten. (0,4;0,25;0,15;0,1;0,1) 1,0 0,4 a 0,6 0,25 b 0,35 0,15 c 0,2 0,1 d 0,1 e 16/23
76 Huffman-Algorithmus: Beispiel Wieder: Σ = {a,b,c,d,e}, Wkten. (0,4;0,25;0,15;0,1;0,1) 1,0 0,4 a 0,6 0,25 b 0,35 0,15 c 0,2 0,1 d 0,1 e Erwartete Kodelänge = 0, , , , ,1 4 = 2,15 optimal? 16/23
77 Optimalität der Huffman-Kodierung Theorem Die Huffman-Kodierung hat optimale erwartete Kodelänge. 17/23
78 Optimalität der Huffman-Kodierung Theorem Die Huffman-Kodierung hat optimale erwartete Kodelänge. Beweis per Induktion über Σ. Induktionsanfang für Σ 2 klar. 17/23
79 Optimalität der Huffman-Kodierung Theorem Die Huffman-Kodierung hat optimale erwartete Kodelänge. Beweis per Induktion über Σ. Induktionsanfang für Σ 2 klar. Sei nun Σ > 2 und T ein Baum, der einen optimalen Präfixkode für Σ darstellt. 17/23
80 Optimalität der Huffman-Kodierung Theorem Die Huffman-Kodierung hat optimale erwartete Kodelänge. Beweis per Induktion über Σ. Induktionsanfang für Σ 2 klar. Sei nun Σ > 2 und T ein Baum, der einen optimalen Präfixkode für Σ darstellt. 1. Beobachtung: Jeder innere Knoten in T hat zwei Kinder (sonst Widerspruch zur Optimalität). 17/23
81 Optimalität der Huffman-Kodierung Theorem Die Huffman-Kodierung hat optimale erwartete Kodelänge. Beweis per Induktion über Σ. Induktionsanfang für Σ 2 klar. Sei nun Σ > 2 und T ein Baum, der einen optimalen Präfixkode für Σ darstellt. 1. Beobachtung: Jeder innere Knoten in T hat zwei Kinder (sonst Widerspruch zur Optimalität). 2. Beobachtung: Seien s i und s j die Zeichen mit den geringsten Wahrscheinlichkeiten. Dann haben s i und s j in T maximale Tiefe (sonst Widerspruch zur Optimalität). 17/23
82 Optimalität der Huffman-Kodierung Theorem Die Huffman-Kodierung hat optimale erwartete Kodelänge. Beweis per Induktion über Σ. Induktionsanfang für Σ 2 klar. Sei nun Σ > 2 und T ein Baum, der einen optimalen Präfixkode für Σ darstellt. 1. Beobachtung: Jeder innere Knoten in T hat zwei Kinder (sonst Widerspruch zur Optimalität). 2. Beobachtung: Seien s i und s j die Zeichen mit den geringsten Wahrscheinlichkeiten. Dann haben s i und s j in T maximale Tiefe (sonst Widerspruch zur Optimalität). Also: s i und s j in T wie im Huffman-Baum 17/23
83 Optimalität der Huffman-Kodierung Theorem Die Huffman-Kodierung hat optimale erwartete Kodelänge. Beweis per Induktion über Σ. Induktionsanfang für Σ 2 klar. Sei nun Σ > 2 und T ein Baum, der einen optimalen Präfixkode für Σ darstellt. 1. Beobachtung: Jeder innere Knoten in T hat zwei Kinder (sonst Widerspruch zur Optimalität). 2. Beobachtung: Seien s i und s j die Zeichen mit den geringsten Wahrscheinlichkeiten. Dann haben s i und s j in T maximale Tiefe (sonst Widerspruch zur Optimalität). Also: s i und s j in T wie im Huffman-Baum Ersetze s i und s j durch neuen Buchstaben s mit Prob(s) = Prob(s i ) + Prob(s j ). 17/23
84 Optimalität der Huffman-Kodierung Theorem Die Huffman-Kodierung hat optimale erwartete Kodelänge. Beweis per Induktion über Σ. Induktionsanfang für Σ 2 klar. Sei nun Σ > 2 und T ein Baum, der einen optimalen Präfixkode für Σ darstellt. 1. Beobachtung: Jeder innere Knoten in T hat zwei Kinder (sonst Widerspruch zur Optimalität). 2. Beobachtung: Seien s i und s j die Zeichen mit den geringsten Wahrscheinlichkeiten. Dann haben s i und s j in T maximale Tiefe (sonst Widerspruch zur Optimalität). Also: s i und s j in T wie im Huffman-Baum Ersetze s i und s j durch neuen Buchstaben s mit Prob(s) = Prob(s i ) + Prob(s j ). Indukt.-Vor.: Rest-Huffman-Baum für neues Σ optimal Induktionsschritt. 17/23
85 Huffman-Kodierung und Entropie (1/2) Wissen: erwartete Kodelänge L Huffman c von Huffman-Kode optimal Vergleich mit Entropie (theoretischem Optimum) gewünscht 18/23
86 Huffman-Kodierung und Entropie (1/2) Wissen: erwartete Kodelänge L Huffman c von Huffman-Kode optimal Vergleich mit Entropie (theoretischem Optimum) gewünscht Theorem H(Σ) L Huffman c H(Σ) /23
87 Huffman-Kodierung und Entropie (1/2) Wissen: erwartete Kodelänge L Huffman c von Huffman-Kode optimal Vergleich mit Entropie (theoretischem Optimum) gewünscht Theorem H(Σ) L Huffman c H(Σ) + 1. Beweis Zweite Ungleichung folgt wegen Optimalität von L Huffman c aus L Huffman c L Shannon c H(Σ) /23
88 Huffman-Kodierung und Entropie (1/2) Wissen: erwartete Kodelänge L Huffman c von Huffman-Kode optimal Vergleich mit Entropie (theoretischem Optimum) gewünscht Theorem H(Σ) L Huffman c H(Σ) + 1. Beweis Zweite Ungleichung folgt wegen Optimalität von L Huffman c aus L Huffman c } {{ } H(Σ) L Shannon c H(Σ) + 1. Erste Ungleichung: Betrachte ( ) ( ) Prob(s) c(s) s ΣProb(s)log(Prob(s)) s Σ } {{ } L Huffman c 18/23
89 Huffman-Kodierung und Entropie (2/2) ( ) ( ) Prob(s)log(Prob(s)) Prob(s) c(s) s Σ } {{ } H(Σ) s Σ } {{ } L Huffman c 19/23
90 Huffman-Kodierung und Entropie (2/2) ( ) ( ) Prob(s)log(Prob(s)) Prob(s) c(s) s Σ }{{} H(Σ) = s Σ Prob(s) ( log ( ) 1 Prob(s) s Σ }{{} L Huffman c ) c(s) 19/23
91 Huffman-Kodierung und Entropie (2/2) ( ) ( ) Prob(s)log(Prob(s)) Prob(s) c(s) s Σ }{{} H(Σ) = s Σ Prob(s) ( ( log = ( Prob(s) log s Σ s Σ }{{} L Huffman c ) ) 1 c(s) Prob(s) ( )) 1 Prob(s) 2 c(s) 19/23
92 Huffman-Kodierung und Entropie (2/2) ( ) ( ) Prob(s)log(Prob(s)) Prob(s) c(s) s Σ }{{} H(Σ) = s Σ Prob(s) ( ( log = ( Prob(s) log s Σ s Σ }{{} L Huffman c ) ) 1 c(s) Prob(s) ( )) 1 Prob(s) 2 c(s) = E(log(X)) mit Zufallsv. X = 2 c(s) /Prob(s). 19/23
93 Huffman-Kodierung und Entropie (2/2) ( ) ( ) Prob(s)log(Prob(s)) Prob(s) c(s) s Σ }{{} H(Σ) = s Σ Prob(s) ( ( log = ( Prob(s) log s Σ s Σ }{{} L Huffman c ) ) 1 c(s) Prob(s) ( )) 1 Prob(s) 2 c(s) = E(log(X)) mit Zufallsv. X = 2 c(s) /Prob(s). Jensensche Ungleichung: f konkav: E(f (X)) f (E(X)). 19/23
94 Huffman-Kodierung und Entropie (2/2) ( ) ( ) Prob(s)log(Prob(s)) Prob(s) c(s) s Σ }{{} H(Σ) = s Σ Prob(s) ( ( log = ( Prob(s) log s Σ s Σ }{{} L Huffman c ) ) 1 c(s) Prob(s) ( )) 1 Prob(s) 2 c(s) = E(log(X)) mit Zufallsv. X = 2 c(s) /Prob(s). Jensensche Ungleichung: f konkav: E(f (X)) f (E(X)). ( ) log Prob(s) 2 c(s) Prob(s) s Σ 19/23
95 Huffman-Kodierung und Entropie (2/2) ( ) ( ) Prob(s)log(Prob(s)) Prob(s) c(s) s Σ }{{} H(Σ) = s Σ Prob(s) ( ( log = ( Prob(s) log s Σ s Σ }{{} L Huffman c ) ) 1 c(s) Prob(s) ( )) 1 Prob(s) 2 c(s) = E(log(X)) mit Zufallsv. X = 2 c(s) /Prob(s). Jensensche Ungleichung: f konkav: E(f (X)) f (E(X)). ( ) ( ) log Prob(s) 2 c(s) = log 2 c(s) Prob(s) s Σ s Σ 19/23
96 Huffman-Kodierung und Entropie (2/2) ( ) ( ) Prob(s)log(Prob(s)) Prob(s) c(s) s Σ }{{} H(Σ) = s Σ Prob(s) ( ( log = ( Prob(s) log s Σ s Σ }{{} L Huffman c ) ) 1 c(s) Prob(s) ( )) 1 Prob(s) 2 c(s) = E(log(X)) mit Zufallsv. X = 2 c(s) /Prob(s). Jensensche Ungleichung: f konkav: E(f (X)) f (E(X)). ( ) ( ) log Prob(s) 2 c(s) = log 2 c(s) log(1) = 0 Prob(s) s Σ s Σ wegen der Ungleichung von Kraft/McMillan. 19/23
97 Huffman-Kodierung: Diskussion Frage: Stört +1 in L Huffman c H(Σ) + 1? Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 20/23
98 Huffman-Kodierung: Diskussion Frage: Stört +1 in L Huffman c H(Σ) + 1? Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 Klar: Huffman-Kode c(a) = 0, c(b) = 1 (oder umgekehrt) erwartete Länge L c = 1 0, ,01 = 1 Entropie = 0,99 log(1/0,99) + 0,01 log(1/0,01) 0,081 Konsequenzen? 20/23
99 Huffman-Kodierung: Diskussion Frage: Stört +1 in L Huffman c H(Σ) + 1? Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 Klar: Huffman-Kode c(a) = 0, c(b) = 1 (oder umgekehrt) erwartete Länge L c = 1 0, ,01 = 1 Entropie = 0,99 log(1/0,99) + 0,01 log(1/0,01) 0,081 Konsequenzen? Definition: Redundanz = erwartete Länge Entropie Hier: Redundanz 0, 919 Anders gesagt: Kompression mehr als 1134% länger als optimal 20/23
100 Huffman-Kodierung: Diskussion Frage: Stört +1 in L Huffman c H(Σ) + 1? Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 Klar: Huffman-Kode c(a) = 0, c(b) = 1 (oder umgekehrt) erwartete Länge L c = 1 0, ,01 = 1 Entropie = 0,99 log(1/0,99) + 0,01 log(1/0,01) 0,081 Konsequenzen? Definition: Redundanz = erwartete Länge Entropie Hier: Redundanz 0, 919 Anders gesagt: Kompression mehr als 1134% länger als optimal Problem: a nicht kürzer als 1 Bit kodierbar unabhängig von Prob(a) 20/23
101 Erweiterte Huffman-Kodierung Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 Idee: Zusammenfassung von je 2 Buchstaben zu einem Block 21/23
102 Erweiterte Huffman-Kodierung Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 Idee: Zusammenfassung von je 2 Buchstaben zu einem Block Also: Σ 2 = {aa,ab,ba,bb} mit Prob(aa) = 0,9801, Prob(ab) = Prob(ba) = 0,0099, Prob(bb) = 0, /23
103 Erweiterte Huffman-Kodierung Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 Idee: Zusammenfassung von je 2 Buchstaben zu einem Block Also: Σ 2 = {aa,ab,ba,bb} mit Prob(aa) = 0,9801, Prob(ab) = Prob(ba) = 0,0099, Prob(bb) = 0,0001 Huffman-Kode: c(aa) = 0, c(ab) = 10, c(ba) = 110, c(bb) = /23
104 Erweiterte Huffman-Kodierung Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 Idee: Zusammenfassung von je 2 Buchstaben zu einem Block Also: Σ 2 = {aa,ab,ba,bb} mit Prob(aa) = 0,9801, Prob(ab) = Prob(ba) = 0,0099, Prob(bb) = 0,0001 Huffman-Kode: c(aa) = 0, c(ab) = 10, c(ba) = 110, c(bb) = 111. Erwartete Länge = 0, , , , = 1,0299 Entropie H(Σ 2 ) = 0,9801 log(1/0,9801) + 2 0,0099 log(1/0,0099) + 0,0001 log(1/0,0001) = 0, /23
105 Erweiterte Huffman-Kodierung Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 Idee: Zusammenfassung von je 2 Buchstaben zu einem Block Also: Σ 2 = {aa,ab,ba,bb} mit Prob(aa) = 0,9801, Prob(ab) = Prob(ba) = 0,0099, Prob(bb) = 0,0001 Huffman-Kode: c(aa) = 0, c(ab) = 10, c(ba) = 110, c(bb) = 111. Erwartete Länge = 0, , , , = 1,0299 Entropie H(Σ 2 ) = 0,9801 log(1/0,9801) + 2 0,0099 log(1/0,0099) + 0,0001 log(1/0,0001) = 0, Also: Redundanz 0,869, Kompression nur noch 537% zu lang 21/23
106 Erweiterte Huffman-Kodierung: weiteres Beispiel Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 Idee: Zusammenfassung von je 3 Buchstaben zu einem Block 22/23
107 Erweiterte Huffman-Kodierung: weiteres Beispiel Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 Idee: Zusammenfassung von je 3 Buchstaben zu einem Block Also: Σ 3 = {aaa,aab,aba,baa,abb,bab,bba,bbb} 22/23
108 Erweiterte Huffman-Kodierung: weiteres Beispiel Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 Idee: Zusammenfassung von je 3 Buchstaben zu einem Block Also: Σ 3 = {aaa,aab,aba,baa,abb,bab,bba,bbb} Huffman-Kode:c(aaa) = 0, c(aab) = 100, c(aba) = 101, c(baa) = 110, c(abb) = 11100, c(bab) = 11101, c(bba) = 11110, c(bbb) = /23
109 Erweiterte Huffman-Kodierung: weiteres Beispiel Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 Idee: Zusammenfassung von je 3 Buchstaben zu einem Block Also: Σ 3 = {aaa,aab,aba,baa,abb,bab,bba,bbb} Huffman-Kode:c(aaa) = 0, c(aab) = 100, c(aba) = 101, c(baa) = 110, c(abb) = 11100, c(bab) = 11101, c(bba) = 11110, c(bbb) = Erwartete Länge = 1, Entropie H(Σ 3 ) 0,242 22/23
110 Erweiterte Huffman-Kodierung: weiteres Beispiel Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 Idee: Zusammenfassung von je 3 Buchstaben zu einem Block Also: Σ 3 = {aaa,aab,aba,baa,abb,bab,bba,bbb} Huffman-Kode:c(aaa) = 0, c(aab) = 100, c(aba) = 101, c(baa) = 110, c(abb) = 11100, c(bab) = 11101, c(bba) = 11110, c(bbb) = Erwartete Länge = 1, Entropie H(Σ 3 ) 0,242 Also: Redundanz 0,818, Kompression nur noch 338% zu lang 22/23
111 Erweiterte Huffman-Kodierung: weiteres Beispiel Beispiel: Σ = {a, b}, Prob(a) = 0,99, Prob(b) = 0,01 Idee: Zusammenfassung von je 3 Buchstaben zu einem Block Also: Σ 3 = {aaa,aab,aba,baa,abb,bab,bba,bbb} Huffman-Kode:c(aaa) = 0, c(aab) = 100, c(aba) = 101, c(baa) = 110, c(abb) = 11100, c(bab) = 11101, c(bba) = 11110, c(bbb) = Erwartete Länge = 1, Entropie H(Σ 3 ) 0,242 Also: Redundanz 0,818, Kompression nur noch 338% zu lang Vergleich der 3 Varianten: k H(Σ k ) L c (Σ k ) L c (Σ k )/k L c (Σ k )/k H(Σ k ) L c (Σ k )/k H(Σ) 1 0,081 1,000 1,000 0,919 0, ,161 1,030 0,515 0,354 0, ,242 1,060 0,353 0,111 0,272 22/23
112 Erweiterte Huffman-Kodierung: Analyse Beobachtung: L c (Σ k )/k = bei Blocklänge k erwartete Kodierungslänge eines Zeichens der erweiterten Huffman-Kodierung 23/23
113 Erweiterte Huffman-Kodierung: Analyse Beobachtung: L c (Σ k )/k = bei Blocklänge k erwartete Kodierungslänge eines Zeichens der erweiterten Huffman-Kodierung Theorem L c (Σ k )/k H(Σ) + 1/k. 23/23
Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung
Huffman-Codierung, arithmetische Codierung Theoretische Informatik RWTH-Aachen 4. April 2012 Übersicht 1 Einführung 2 3 4 5 6 Einführung Datenkompression Disziplin,die Kompressionsalgorithmen entwirft
MehrDatenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut
Datenkompression Holger Rauhut 1. September 2010 Skript für die Schülerwoche 2010, 8.-11.9.2010 Hausdorff Center for Mathematics, Bonn 1 Allgemeines Datenkompression hat zum Ziel, Daten in digitaler Form,
Mehr15 Optimales Kodieren
15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen
MehrCodierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau
Codierung Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau Ein bisschen Informationstheorie Betrachten wir das folgende Problem: Wie lautet eine sinnvolle Definition für das quantitative
MehrProseminar WS 2002/2003
Technische Universität Chemnitz Fakultät für Informatik Professur Theoretische Informatik Proseminar WS 2002/2003 Thema: Datenkompression Dynamisches / Adaptives Huffman-Verfahren Danny Grobe Rainer Kuhn
MehrDynamisches Huffman-Verfahren
Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über
Mehr1 Grundlagen. 1.1 Erste Grundbegriffe 1.2 Kryptographische Systeme 1.3 Informationstheoretische Grundlagen
1 Grundlagen 1.1 Erste Grundbegriffe 1.2 Kryptographische Systeme 1.3 Informationstheoretische Grundlagen Die Überlegungen dieses Kapitels basieren auf der Informationstheorie von Shannon. Er beschäftigte
Mehr6. Komprimierung. (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger
Komprimierung 6. Komprimierung (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger Platz brauchen Motivation: beschleunigt Plattenzugriffe oder Datenübertragungen Voraussetzung:
Mehr1. 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
MehrCodierung, Codes (variabler Länge)
Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
Mehr5 Zwei spieltheoretische Aspekte
5 Zwei spieltheoretische Aspekte In diesem Kapitel wollen wir uns mit dem algorithmischen Problem beschäftigen, sogenannte Und-Oder-Bäume (kurz UOB) auszuwerten. Sie sind ein Spezialfall von Spielbäumen,
MehrMathematik für Information und Kommunikation
Mathematik für Information und Kommunikation Am Beispiel des Huffman- Algorithmus Thomas Borys und (Christian Urff) Huffman im Alltag MPEG Telefax JPEG MP3 ZIP avid Huffman avid Huffman [95-999] www.soe.ucsc.edu/people/faculty/huffman.html
MehrDatenkompression. Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg
Vortrag am 25. Januar 200 Werner von Siemens Gymnasium Magdeburg Zeitansatz: 5h (inklusive Programmieraufgaben) Datenkompression Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg
MehrLernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.
6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Randomisierte Algorithmen 5. Zwei spieltheoretische Aspekte Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2015/2016 1 / 36 Überblick
MehrStochastische Lernalgorithmen
Stochastische Lernalgorithmen Gerhard Jäger 14. Mai 2003 Das Maximum-Entropy-Prinzip Der Entropiebegriff Entropie: Chaos, Unordung, Nicht-Vorhersagbarkeit,... Begriff kommt ursprünglich aus der Physik:
MehrReferat zum Thema Huffman-Codes
Referat zum Thema Huffman-Codes Darko Ostricki Yüksel Kahraman 05.02.2004 1 Huffman-Codes Huffman-Codes ( David A. Huffman, 1951) sind Präfix-Codes und das beste - optimale - Verfahren für die Codierung
MehrProblem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert.
Anwendungen von Bäumen 4.3.2 Huffman Code Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert. => nutzbar für Kompression Code fester
MehrMusterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14
Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 23/4 Vorname Nachname Matrikelnummer Hinweise Für die
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
MehrInduktive Beweise und rekursive Definitionen
Induktive Beweise und rekursive Definitionen Vorlesung Logik in der Informatik, HU Berlin 1. Übungsstunde Beweis durch vollständige Induktion über N Aufgabe 1 Zeige, dass für alle n N gilt: n 2 i = 2 n+1
MehrKryptologie und Kodierungstheorie
Kryptologie und Kodierungstheorie Alexander May Horst Görtz Institut für IT-Sicherheit Ruhr-Universität Bochum Lehrerfortbildung 17.01.2012 Kryptologie Verschlüsselung, Substitution, Permutation 1 / 18
MehrÜbung zur Vorlesung Algorithmische Geometrie
Übung zur Vorlesung Algorithmische Geometrie Dipl.-Math. Bastian Rieck Arbeitsgruppe Computergraphik und Visualisierung Interdisziplinäres Zentrum für Wissenschaftliches Rechnen 8. Mai 2012 B. Rieck (CoVis)
MehrTextkomprimierung. Stringologie. Codes. Textkomprimierung. Alle Komprimierung beruht auf Wiederholungen im Text. Textkomprimierung
Stringologie Peter Leupold Universität Leipzig Vorlesung SS 2014 Alle Komprimierung beruht auf Wiederholungen im Text Die Komprimierung muss rückgängig gemacht werden können Je kleiner das Alphabet, desto
MehrKlausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)
Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:
MehrBinäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps
Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer
MehrUmformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.
Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe
MehrInduktive Beweise und rekursive Definitionen
Induktive Beweise und rekursive Definitionen Vorlesung Logik in der Informatik, HU Berlin 1. Übungsstunde Beweis durch vollständige Induktion über N Aufgabe 1 Zeige, dass für alle n N gilt: n 2 i = 2 n+1
MehrMinimal spannende Bäume
http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale
MehrOrganisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele
Organisation Was kommt zum Test? Buch Informatik Grundlagen bis inkl Kapitel 74 Wissensfragen und Rechenbeispiele 3 Vorträge zur Übung Informationstheorie, Huffman-Codierung und trennzeichenfreie Codierung
Mehr4. 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
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon
MehrBegriffe aus der Informatik Nachrichten
Begriffe aus der Informatik Nachrichten Gerhard Goos definiert in Vorlesungen über Informatik, Band 1, 1995 Springer-Verlag Berlin Heidelberg: Die Darstellung einer Mitteilung durch die zeitliche Veränderung
MehrEigenschaften von Kompressionsverfahren
6 Textkompression Eigenschaften von Kompressionsverfahren Das Ziel der Datenkompression ist es, eine gegebene Information (Datenquelle) auf eine kompaktere Weise zu repräsentieren. Dies geschieht, indem
MehrRandomisierte Algorithmen 2. Erste Beispiele
Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest
MehrKodierungsalgorithmen
Kodierungsalgorithmen Komprimierung Verschlüsselung Komprimierung Zielsetzung: Reduktion der Speicherkapazität Schnellere Übertragung Prinzipien: Wiederholungen in den Eingabedaten kompakter speichern
MehrAbschnitt 18: Effizientes Suchen in Mengen
Abschnitt 18: Effizientes Suchen in Mengen 18. Effizientes Suchen in Mengen 18.1 Vollständig ausgeglichene binäre Suchbäume 18.2 AVL-Bäume 18.3 Operationen auf AVL-Bäumen 18.4 Zusammenfassung 18 Effizientes
MehrAufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.
Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April
MehrHuffman-Kodierung. Fachbereich Medieninformatik. Hochschule Harz. Huffman-Kodierung. Referat. Henner Wöhler. Abgabe:
Fachbereich Medieninformatik Hochschule Harz Huffman-Kodierung Referat Henner Wöhler 11459 Abgabe: 15.01.2007 Inhaltsverzeichnis Einleitung...I 1. Entropiekodierung...1 1.1 Morse Code...2 1.2 Shannon-Fano-Kodierung...3
MehrEinführung in Kompressionstechniken
Einführung in Kompressionstechniken W. Kowarschick 7. Februar 997. November 9 W. Kowarschick Motivation Dateigrößen Text Vektorgraphiken Rasterbilder Tomographien Telephon CD-Stereo Bildfolgen VD7 VD7
MehrProseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...)
Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Inhalt: Einleitung, Begriffe Baumtypen und deren Kodierung Binäre Bäume Mehrwegbäume Prüfer
MehrDank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II.
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrAbgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
MehrS=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J
Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2016 20.04.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
MehrDatenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität
Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind
MehrDank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)
ank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert iese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
MehrGrammatiken. Einführung
Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
MehrKryptographie und Codierung für den Mathematikunterricht
Kryptographie und Codierung für den Mathematikunterricht Pädagogische Hochschule Karlsruhe University of Education École Supérieure de Pédagogie Institut für Mathematik und Informatik Th. Borys Was verstehst
MehrUniversität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck
Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Clusteranalyse Tobias Scheffer Thomas Vanck Überblick Problemstellung/Motivation Deterministischer Ansatz: K-Means Probabilistischer
MehrLösung zur Übung für Analysis einer Variablen WS 2016/17
Blatt Nr. 3 Prof. F. Merkl Lösung zur Übung für Analysis einer Variablen WS 206/7 Aufgabe Das Guthaben G setzt sich zusammen aus der Summe aller bisherigen Einzahlungen multipliziert mit ( + p) k, wobei
MehrLemma Für jede monotone Grammatik G gibt es eine kontextsensitive
Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G
MehrViel Spaÿ! Aufgabe 0.1. Laufzeit unter Verdoppelung (-)
Datenstrukturen (DS) Sommersemester 2015 Prof. Dr. Georg Schnitger Dipl-Inf. Bert Besser Hannes Seiwert, M.Sc. Institut für Informatik AG Theoretische Informatik Übung 0 Ausgabe: 14.04.2015 Abgabe: - Wenn
Mehr1 / 33. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V5 07. Mai / 33
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V5 07. Mai 204 7 / 33 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V5 07. Mai 204 8 / 33 ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik
MehrStefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie
Stefan Schmid TU Berlin & T-Labs, Berlin, Germany Reduktionen in der Berechenbarkeitstheorie Problem: Wie komme ich von hier zum Hamburger Hbf? 2 Beispiel P1 Wie komme ich von hier zum Hamburger Hbf? kann
Mehr3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36
Mehr2 i. i=0. und beweisen Sie mittels eines geeigneten Verfahrens die Korrektheit der geschlossenen Form.
für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Vollständige Induktion): Finden Sie eine geschlossene Form für die
MehrÜbrigens: um den Algorithmus im Unterricht einzuführen, sind keine Formeln notwendig! Warum reicht die normale ASCII-Codierung nicht aus?
Huffman-Code Dieser Text ist als Hintergrundinformation ausschliesslich für die Lehrperson gedacht. Der Text ist deshalb eher technisch gehalten. Er lehnt sich an das entsprechende Kapitel in "Turing Omnibus"
MehrÜbersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.
Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.
MehrCODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005
CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005. Das Problem.. Quellcodierung und Datenkompression. Wir wollen eine Nachricht über einen digitalen Kanal, der nur 0 oder übertragen kann, schicken.
MehrInformation und Codierung
Richard W. Hamming Information und Codierung Technische Universität Darmstadt FACHBEREICH INFORMATIK BIBLIOTHEK Invantar-Nr.: Sachgebiete:. Standort: VCH Inhalt Vorwort zur 1. Auflage der Originalausgabe
MehrDer RSA-Algorithmus. 2. Anschließend ist n = p q und ϕ (n) = (p 1) (q 1) zu berechnen.
Kapitel 4 Der RSA-Algorithmus Der RSA-Algorithmus ist das heute bekannteste Verfahren aus der Familie der Public-Key-Kryptosysteme. Es wurde 1978 der Öffentlichkeit vorgestellt und gilt bis heute als der
MehrRedundanz. Technische Informationsquelle Entropie und Redundanz Huffman Codierung. Martin Werner WS 09/10. Martin Werner, Dezember 09 1
Information, Entropie und Redundanz Technische Informationsquelle Entropie und Redundanz Huffman Codierung Martin Werner WS 9/ Martin Werner, Dezember 9 Information und Daten Informare/ Informatio (lat.)
Mehr3. Musterlösung. Problem 1: Boruvka MST
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines
MehrInformationstheorie und Codierung
Informationstheorie und Codierung 3. Codierung diskreter Quellen Gleichmäßiger Code Ungleichmäßiger Code Fano-, Huffman-Codierung Optimalcodierung von Markoff-Quellen Lauflängencodes nach Golomb und Rice
MehrSeminar über Algorithmen, SS2004. Textkompression. von Christian Grümme und Robert Hartmann
Seminar über Algorithmen, SS2004 Textkompression von Christian Grümme und Robert Hartmann 1. Einleitung Textkompression wird zur Verringerung des Speicherbedarfs und der Übertragungskapazität von allgemeinen
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
Mehrt 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
Mehr2 Informationstheorie
2 Informationstheorie Formale Grundlagen der Informatik I Herbstsemester 2012 Robert Marti Vorlesung teilweise basierend auf Unterlagen von Prof. emer. Helmut Schauer Grundbegriffe Informatik (IT: Information
Mehrkontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung
Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum
Mehr4. Induktives Definieren - Themenübersicht
Induktives Definieren 4. Induktives Definieren - Themenübersicht Induktives Definieren Natürliche Zahlen Operationen auf natürlichen Zahlen Induktive Algorithmen Induktiv definierte Mengen Binärbäume Boolesche
MehrStrukturelle Rekursion und Induktion
Kapitel 2 Strukturelle Rekursion und Induktion Rekursion ist eine konstruktive Technik für die Beschreibung unendlicher Mengen (und damit insbesondere für die Beschreibung unendliche Funktionen). Induktion
MehrAlgorithmische Bioinformatik 1
Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Paarweises
MehrETWR Teil B. Spezielle Wahrscheinlichkeitsverteilungen (stetig)
ETWR Teil B 2 Ziele Bisher (eindimensionale, mehrdimensionale) Zufallsvariablen besprochen Lageparameter von Zufallsvariablen besprochen Übertragung des gelernten auf diskrete Verteilungen Ziel des Kapitels
MehrVerlustfreie Kompression
Verlustfreie Kompression Tim Rolff Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 8. Juni 2016 Tim Rolff
MehrAlgorithms for Regression and Classification
Fakultät für Informatik Effiziente Algorithmen und Komplexitätstheorie Algorithms for Regression and Classification Robust Regression and Genetic Association Studies Robin Nunkesser Fakultät für Informatik
Mehr12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang
12 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne
MehrResolutionsalgorithmus
112 Resolutionskalkül Mit dem Begriff Kalkül bezeichnet man eine Menge von syntaktischen Umformungsregeln, mit denen man semantische Eigenschaften der Eingabeformel herleiten kann. Für den Resolutionskalkül:
MehrTheoretische Informatik 1
Theoretische Informatik 1 Boltzmann Maschine David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2014 Übersicht Boltzmann Maschine Neuronale Netzwerke Die Boltzmann Maschine Gibbs
MehrGrundlagen der Theoretischen Informatik
1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G
MehrInduktive Definitionen
Priv.-Doz. Dr.rer.nat.habil. Karl-Heinz Niggl Technische Universität Ilmenau Fakultät IA, Institut für Theoretische Informatik Fachgebiet Komplexitätstheorie und Effiziente Algorithmen J Induktive Definitionen
MehrIdee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10
Binäre Bäume Bäume gehören zu den wichtigsten Datenstrukturen in der Informatik. Sie repräsentieren z.b. die Struktur eines arithmetischen Terms oder die Struktur eines Buchs. Bäume beschreiben Organisationshierarchien
MehrLösungsvorschläge Blatt 4
Theoretische Informatik Departement Informatik Prof. Dr. Juraj Hromkovič http://www.ita.inf.ethz.ch/theoinf16 Lösungsvorschläge Blatt 4 Zürich, 21. Oktober 2016 Lösung zu Aufgabe 10 (a) Wir zeigen mit
MehrInformatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum
lausthal Beispiele Stammbaum Informatik II. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann Informatik - SS 06 Stammbaum Stammbaum / Parse tree, Rekursionsbaum Parse tree, Rekursionsbaum
MehrBayes sches Lernen: Übersicht
Bayes sches Lernen: Übersicht Bayes sches Theorem MAP, ML Hypothesen MAP Lernen Minimum Description Length Principle Bayes sche Klassifikation Naive Bayes Lernalgorithmus Teil 5: Naive Bayes + IBL (V.
MehrKapitel 2: Informationstheorie. 3. Quellencodierung
ZHAW, NTM2, Rumc, 2.3-1 Kapitel 2: Informationstheorie 3. Quellencodierung Inhaltsverzeichnis 1. EINLEITUNG... 1 2. QUELLENCODIERUNGSTHEOREM... 2 3. HUFFMAN-QUELLENCODIERUNG... 3 4. DATENKOMPRESSION MIT
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 7. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@informatik.uni-leipzig.de aufbauend auf den Kursen der letzten Jahre von E. Rahm, G. Heyer,
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 3 14. Mai 2010 Einführung in die Theoretische
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
MehrMinimal spannende Bäume
Minimal spannende Bäume Ronny Harbich 4. Mai 006 (geändert 19. August 006) Vorwort Ich danke Patrick Bahr und meinem Bruder Steffen Harbich für die Unterstützung bei dieser Arbeit. Sie haben sowohl zu
Mehr4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
Mehr