Theoretische Grundlagen der Informatik Vorlesung am 31 ......Vorlesung am 31. Januar 2019 INSTITUT...
Transcript of Theoretische Grundlagen der Informatik Vorlesung am 31 ......Vorlesung am 31. Januar 2019 INSTITUT...
0 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
KIT – Die Forschungsuniversität in derHelmholtz-Gemeinschaft www.kit.edu
Thema dieses Kapitels
1 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Informationstheorie hat Anwendungen inQuellkodierungKanalkodierungKryptographie
Thema dieses Kapitels
1 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Informationstheorie hat Anwendungen inQuellkodierung
Reduktion von Redundanz/Irrelevanz am Ausgang einer InformationsquelleHauptaufgabe: DatenkompressionUnterscheidung: Verlustfrei vs. verlustbehaftete KompressionHohe wirtschaftliche Bedeutung
KanalkodierungKryptographie
Thema dieses Kapitels
1 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Informationstheorie hat Anwendungen inQuellkodierungKanalkodierung
Übertragung von digitalen Daten über gestörte KanäleSchutz vor Übertragungsfehlern durch RedundanzFehlerkorrektur
Kryptographie
Thema dieses Kapitels
1 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Informationstheorie hat Anwendungen inQuellkodierungKanalkodierungKryptographie
Informationssicherheit:Konzeption, Definition und Konstruktion von Informationssystemen, diewiderstandsfähig gegen unbefugtes Lesen und Verändern sindKryptographie bildet zusammen mit Kryptoanalyse die Kryptologie.
Material für Informationstheorie
2 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
VorlesungsfolienTGI-Skript von Prof. Müller-Quade aus dem WS 08/09(auf der TGI-Homepage verlinkt)Martin Werner: Information und Kodierung, VIEWEG TEUBNER, 2008
Information
3 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Sei Σ = {1, . . . ,n} eine Menge von Zeichen mit Wahrscheinlichkeiten{p1, . . . ,pn}.
Wir betrachten eine Informationsquelle X , die Zeichen i ∈ Σ mitWahrscheinlichkeit pi liefert.Bemerkung: X wird auch diskrete, endliche Zufallsvariable genannt.
Information
3 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Sei Σ = {1, . . . ,n} eine Menge von Zeichen mit Wahrscheinlichkeiten{p1, . . . ,pn}.
Wir betrachten eine Informationsquelle X , die Zeichen i ∈ Σ mitWahrscheinlichkeit pi liefert.Bemerkung: X wird auch diskrete, endliche Zufallsvariable genannt.
BeispielEin idealer Würfel wird durch die Wahrscheinlichkeiten( 1
6 ,16 ,
16 ,
16 ,
16 ,
16 ) dargestellt.
Das Ergebnis des idealen Würfels ist schwer vorherzusagen.Der Erkenntnisgewinn nach Ausgang des Experiments ist deshalbgroß.
Information
3 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Sei Σ = {1, . . . ,n} eine Menge von Zeichen mit Wahrscheinlichkeiten{p1, . . . ,pn}.
Wir betrachten eine Informationsquelle X , die Zeichen i ∈ Σ mitWahrscheinlichkeit pi liefert.Bemerkung: X wird auch diskrete, endliche Zufallsvariable genannt.
BeispielBetrachte den gezinkten Würfel mit Wahrscheinlichkeiten( 1
10 ,110 ,
110 ,
110 ,
110 ,
12 ).
Hier ist schon klarer, welche Zahl als nächstes gewürfelt wird.Der Erkenntnisgewinn ist also kleiner.
Information
3 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Sei Σ = {1, . . . ,n} eine Menge von Zeichen mit Wahrscheinlichkeiten{p1, . . . ,pn}.
Wir betrachten eine Informationsquelle X , die Zeichen i ∈ Σ mitWahrscheinlichkeit pi liefert.Bemerkung: X wird auch diskrete, endliche Zufallsvariable genannt.
FrageWir suchen ein Maß für den Erkenntnisgewinn nach Ausgang k mitWahrscheinlichkeit pk .Wir bezeichnen diesen Erkenntnisgewinn als Information Ipk
Information
3 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Sei Σ = {1, . . . ,n} eine Menge von Zeichen mit Wahrscheinlichkeiten{p1, . . . ,pn}.
Wir betrachten eine Informationsquelle X , die Zeichen i ∈ Σ mitWahrscheinlichkeit pi liefert.Bemerkung: X wird auch diskrete, endliche Zufallsvariable genannt.
Wünsche an die Definition von InformationInformation soll nicht negativ sein. In Formeln: Ipi ≥ 0
Ein sicheres Ereignis (also pi = 1) soll keine Information liefern.
Kleine Änderungen an der Wahrscheinlichkeit sollen nur kleineÄnderungen an der Information bewirken.Etwas mathematischer ausgedrückt: Information soll stetig sein.
Information
3 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Sei Σ = {1, . . . ,n} eine Menge von Zeichen mit Wahrscheinlichkeiten{p1, . . . ,pn}.
Wir betrachten eine Informationsquelle X , die Zeichen i ∈ Σ mitWahrscheinlichkeit pi liefert.Bemerkung: X wird auch diskrete, endliche Zufallsvariable genannt.
Wünsche an die Definition von InformationWunsch: Eine doppelt so lange Zeichenkette soll doppelte Informationenthalten könnenDeshalb fordern wir, dass Ipi ·pj = Ipi + Ipj
Dies soll später sicherstellen, dass die Information einer(unabhängigen) Zeichenkette gleich der Summe derEinzelinformationen ist.
Information
3 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Sei Σ = {1, . . . ,n} eine Menge von Zeichen mit Wahrscheinlichkeiten{p1, . . . ,pn}.
Wir betrachten eine Informationsquelle X , die Zeichen i ∈ Σ mitWahrscheinlichkeit pi liefert.Bemerkung: X wird auch diskrete, endliche Zufallsvariable genannt.
Definition InformationSei p eine Wahrscheinlichkeit. Die Information von p (zur Basis b) ist
Ip = logb(1p) = − logb(p)
Im Folgenden verwenden wir immer die Basis b = 2.
Wiederholung: Rechenregeln Logarithmus
4 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
loga(x · y) = loga(x) + loga(x)loga(1/x) = − loga(x)
Basiswechsel: loga(x) =logb(x)logb(a)
p1 2 3 4 5 6 7 8 9 10
K8
K6
K4
K2
0
2
Information
5 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Definition InformationSei p eine Wahrscheinlichkeit. Die Information von p (zur Basis b) ist
Ip = logb(1p) = − logb(p)
Im Folgenden verwenden wir immer die Basis b = 2.
Beispiel 2:Betrachte einen Münze mit Seiten 0,1 und Wkten p0 = p1 = 1
2 .
Die Information eines Münzwurfs ist log(1/ 12 ) = log(2) = 1.
Werfen wir die Münze k mal, so ist die Wahrscheinlichkeit für einenbestimmen Ausgang gleich 1
2 · . . . · 12 = 1
2k .
Die Information ist dann − log( 12k ) = log(2k ) = k
Entropie
6 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Anschaulich formuliertEntropie ist ein Maß für den mittleren Informationsgehalt pro Zeicheneiner Quelle.
Interessante andere SichtweiseEntropie eines Strings bezeichnet die Länge unter der ein String nichtkomprimiert werden kann.
Die Kolmogorov-Komplexität eines String ist die Länge eineskürzesten Programms, das diesen String ausgibt.
Damit ist Entropie eine untere Schranke für dieKolmogorov-Komplexität.
Entropie
7 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
EntropieDie Entropie (zur Basis 2) einer diskreten Zufallsvariable X mit Ergeb-nissen (Zeichen) in Σ und Wahrscheinlichkeiten p(a) > 0 für a ∈ Σ,ist definiert durch
H(X ) = ∑a∈Σ
p(a) log2(1
p(a)).
BemerkungEs gilt immer H(X ) > 0.
Bemerkungen zur Entropie
8 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
H(X ) = ∑a∈Σ
p(a) log2(1
p(a))
Die Entropie einer diskreten, endlichen Zufallsvariable mit |Σ| = nZeichen wird maximal, wenn alle Zeichen gleichwahrscheinlich sind:p(a) = 1/n für jedes a ∈ Σ.Die maximale Entropie beträgt dann
H(X ) = ∑a∈Σ
p(a) log2(1
p(a)) = n · 1
n· log2(
11/n
) = log2(n).
Die Entropie der deutschen Sprache liegt etwa bei 4,1.Bei 26 Buchstaben ergibt sich eine maximale Entropie vonlog2(26) ≈ 4,7.
Entropie einer Münze mit Wkt p für Zahl
9 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
p0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
H(X ) = ∑a∈Σ
p(a) log2(1
p(a)) = p · log2(
1p) + (1− p) · log2(
11− p
)
(Platzsparende) Kodierungen
10 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Wir betrachten eine Informationsquelle X , die Zeichen i ∈ Σ mitWahrscheinlichkeit pi liefert.Zum Kodieren der Zeichen aus Σ haben wir aber nur Zeichenkettenaus {0,1}∗ zur Verfügung.Wie können wir Σ ohne Informationsverlust kodieren, dass dieerwartete Länge der Ausgabe möglichst klein wird?
FormalWir ordnen jedem Zeichen i ∈ Σ ein Codewort ci ∈ {0,1}∗ zu.Wir verwenden keine Trennzeichen.
BeispielA: 00 H: 110 L: 10 O: 01
11000101001 ist eine Folge von fünf Codewörtern und steht für: HALLO
Präfix-Codes
11 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Bei Codes mit variabler Länge muss man wissen, wann ein neuesCodewort beginnt.Ein Präfix-Code ist ein Code, so dass kein Codewort Anfang einesanderen Codeworts ist.Für Präfix-Codes benötigt man deswegen keine Trennzeichen.Jeder Präfix-Code kann als Baum dargestellt werden . . .
Kodierungsbäume
12 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Wir kodieren im Folgenden binär.Sei Σ = {1, . . . ,n} ein Alphabet mit Präfix-Code C = {c1, . . . , cn}.Der Kodierungsbaum T von (Σ,C) ist ein gerichteter, binärer Baum sodass
jede Kante mit 0 oder 1 annotiert ist,ausgehend von einem Knoten höchstens eine Kante mit 0 und höchstenseine Kante mit 1 annotiert ist,die Blätter von T genau die Elemente in Σ sind,der Weg von der Wurzel zu i ∈ Σ mit ci annotiert ist.
10
10
0 1 0 1 0 1 0 1
10
a b c d e f g h
Kodierungsbäume
13 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
10
10
0 1 0 1 0 1 0 1
10
a b c d e f g h
BeispieleZeichen b hat Code 001Zeichen e hat Code 100Zeichen h hat Code 111
Kodierungsbäume
13 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
10
10
0 1 0 1 0 1 0 1
10
a b c d e f g h
BemerkungenEs besteht ein direkter Zusammenhang zwischen Kodierungen undden zugehörigen Bäumen.Die Tiefe dT (v) eines Knotens v in einem Baum T ist die Anzahl derKanten auf einem kürzesten Weg von der Wurzel zu v .
Kodierungsbäume
13 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
10
10
0 1 0 1 0 1 0 1
10
a b c d e f g h
BemerkungenGegeben sei eine Kodierung für Alphabet Σ mit
Wahrscheinlichkeit pi für i ∈ Σ,Codewortlänge ni für i ∈ Σ undzugehörigem Kodierungsbaum T .
Die mittlere Codewortlänge ist n = ∑i∈Σ pini = ∑v∈Σ pv dT (v).
Beispiel
14 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Betrachte eine Informationsquelle X mit Σ = {a,b, c,d ,e, f ,g,h} undWahrscheinlichkeiten pi = 1/8 für i ∈ Σ.
10
10
0 1 0 1 0 1 0 1
10
a b c d e f g h
Beispiel
14 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Betrachte eine Informationsquelle X mit Σ = {a,b, c,d ,e, f ,g,h} undWahrscheinlichkeiten pi = 1/8 für i ∈ Σ.
10
10
0 1 0 1 0 1 0 1
10
a b c d e f g h
Mittlere CodewortlängeHier haben alle Codewörter Länge 3.Die mittlere Codewortlänge ist also 3.
Beispiel
14 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Betrachte eine Informationsquelle X mit Σ = {a,b, c,d ,e, f ,g,h} undWahrscheinlichkeiten pi = 1/8 für i ∈ Σ.
10
10
0 1 0 1 0 1 0 1
10
a b c d e f g h
Anzahl der kodierten ZeichenMit jedem zusätzlichen Bit, verdoppelt sich die Größe desdarstellbaren Alphabets.Um ein Alphabet Σ mit Wörtern gleicher Länge zu kodieren brauchtman also log2(|Σ|) Bits pro Codewort.
Beispiel: Morse-Alphabet
15 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Das Morse-Alphabet hat variable Länge.Das Morse-Alphabet ist kein Präfix-Code.Zur Unterscheidung von A und ET benötigt man ein Trennzeichen.Das Morsealphabet besteht deswegen aus 3 Zeichen.
Buchstabe Morsezeichen Buchstabe MorsezeichenA ◦− N −◦B − ◦ ◦◦ O −−−C − ◦−◦ P ◦ −−◦D − ◦ ◦ Q −− ◦−E ◦ R ◦ − ◦F ◦ ◦ −◦ S ◦ ◦ ◦G −− ◦ T −H ◦ ◦ ◦◦ U ◦ ◦ −I ◦◦ V ◦ ◦ ◦−J ◦ −−− W ◦ −−K − ◦− X − ◦ ◦−L ◦ − ◦◦ Y − ◦−−M −− Z −− ◦◦
Quellenkodierungstheorem
16 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Es seien Codes mit variabler Länge erlaubt.Es ist dann nützlich, häufige Zeichen mit kurzen Wörtern zu kodieren.Dies verkleinert die mittlere Codewortlänge.
Satz (Shannon’s Quellenkodierungstheorem):Sei X eine diskrete endliche Zufallsvariable mit Entropie H(X ). Weitersei ein Präfix-Code für X mit einem Codealphabet aus D Zeichen undminimaler mittlerer Codewortlänge n gegeben. Dann gilt
H(X )
log2 D≤ n <
H(X )
log2 D+ 1 .
Beispiel: Shannon-Fano Kodierung
17 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Zeichen Wahrscheinlichkeiten Codewort0 0,15911 0,13882 0,11253 0,09464 0,07965 0,06696 0,05637 0,04738 0,03989 0,033410 0,028111 0,023712 0,0199. . . . . . . . .
Beispiel: Shannon-Fano Kodierung
17 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Zeichen Wahrscheinlichkeiten Codewort0 0,1591 01 0,1388 02 0,1125 03 0,0946 04 0,0796 15 0,0669 16 0,0563 17 0,0473 18 0,0398 19 0,0334 110 0,0281 111 0,0237 112 0,0199 1. . . . . . . . .
Beispiel: Shannon-Fano Kodierung
17 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Zeichen Wahrscheinlichkeiten Codewort0 0,1591 001 0,1388 002 0,1125 013 0,0946 014 0,0796 15 0,0669 16 0,0563 17 0,0473 18 0,0398 19 0,0334 110 0,0281 111 0,0237 112 0,0199 1. . . . . . . . .
Beispiel: Shannon-Fano Kodierung
17 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Zeichen Wahrscheinlichkeiten Codewort0 0,1591 0001 0,1388 0012 0,1125 013 0,0946 014 0,0796 15 0,0669 16 0,0563 17 0,0473 18 0,0398 19 0,0334 110 0,0281 111 0,0237 112 0,0199 1. . . . . . . . .
Beispiel: Shannon-Fano Kodierung
17 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Zeichen Wahrscheinlichkeiten Codewort0 0,1591 0001 0,1388 0012 0,1125 0103 0,0946 0114 0,0796 15 0,0669 16 0,0563 17 0,0473 18 0,0398 19 0,0334 110 0,0281 111 0,0237 112 0,0199 1. . . . . . . . .
Beispiel: Shannon-Fano Kodierung
17 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Zeichen Wahrscheinlichkeiten Codewort0 0,1591 0001 0,1388 0012 0,1125 0103 0,0946 0114 0,0796 105 0,0669 106 0,0563 107 0,0473 108 0,0398 119 0,0334 1110 0,0281 1111 0,0237 1112 0,0199 11. . . . . . . . .
Beispiel: Shannon-Fano Kodierung
17 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Zeichen Wahrscheinlichkeiten Codewort0 0,1591 0001 0,1388 0012 0,1125 0103 0,0946 0114 0,0796 1005 0,0669 1006 0,0563 1017 0,0473 1018 0,0398 119 0,0334 1110 0,0281 1111 0,0237 1112 0,0199 11. . . . . . . . .
Beispiel: Shannon-Fano Kodierung
17 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Ein paar Zwischenschritte später ...
Zeichen Wahrscheinlichkeiten Codewort0 0,1591 0001 0,1388 0012 0,1125 0103 0,0946 0114 0,0796 10005 0,0669 10016 0,0563 10107 0,0473 10118 0,0398 110009 0,0334 1100110 0,0281 1101011 0,0237 1101112 0,0199 111000. . . . . . . . .
Shannon-Fano Kodierung
18 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Funktion ShannonFano(Z )Eingabe: Zeichenliste Z = (z1, . . . , zk ) mit Wkten p1, . . . ,pk
Ausgabe: Shannon-Fano Kodierung (c1, . . . , ck )
Wenn k = 1return (c1 = ε) and exit
Sortiere Zeichen Z absteigend nach Wkt pi (d.h p1 ≥ p2 ≥ . . . ≥ pk ).Trenne Z in
Z1 ← (z1, . . . , zl )Z2 ← (zl+1, . . . , zk )
so dass |∑li=1 pi −∑k
i=l+1 pi | minimal ist.
(c1, . . . , cl )← (0s1, . . . ,0sl ) mit (s1, . . . , sl )← ShannonFano(Z1)
(cl+1, . . . , ck )← (1sl+1, . . . ,1sk ) mit(sl+1, . . . , sk )← ShannonFano(Z2)
return (c1, . . . , ck )
Kodierungsbaum Shannon-Fano
19 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
1 2 3 4 5 6 7 8 9 10 11 12
0 1 0 1 0 1 0 1 0 1 0 1
1 2 3 4 5 6 7 8 9 10 11 120
0 1
0
0
00
0 1
1
1
1
Bemerkung
20 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Die mittlere Codewortlänge der Shannon-Fano Kodierung muss nichtoptimal sein.
Sie ist deswegen nicht sehr verbreitet.
Wir werden sehen, dass die Huffman-Kodierung optimale mittlereCodewortlänge besitzt.
Beispiel: Huffman-Kodierung
21 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
c 0, 05
a 0, 05
e 0, 15
f 0, 2
d 0, 4
b 0, 15
Beispiel: Huffman-Kodierung
21 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
c 0, 05
a 0, 050, 1
e 0, 15
f 0, 2
d 0, 4
b 0, 15
1
0
Beispiel: Huffman-Kodierung
21 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
c 0, 05
a 0, 050, 1
e 0, 15
f 0, 2
0, 25
d 0, 4
b 0, 15
11
0
0
Beispiel: Huffman-Kodierung
21 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
c 0, 05
a 0, 050, 1
e 0, 15
f 0, 2
0, 25
d 0, 4
b 0, 150, 35
1
11
0
0
0
Beispiel: Huffman-Kodierung
21 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
c 0, 05
a 0, 050, 1
e 0, 15
f 0, 2
0, 25
d 0, 4
b 0, 150, 35
0, 61
11
1
0
0
0
0
Beispiel: Huffman-Kodierung
21 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
c 0, 05
a 0, 050, 1
e 0, 15
f 0, 2
0, 25
d 0, 4
b 0, 150, 35
0, 6
1
1
1
11
1
0
00
0
0
Beispiel: Huffman-Kodierung
21 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
c 0, 05
a 0, 050, 1
e 0, 15
f 0, 2
0, 25
d 0, 4
b 0, 150, 35
0, 6
1
1
1
11
1
0
00
0
0
Beispiele
Zeichen c hat Code 0111Zeichen e hat Code 010Zeichen d hat Code 1
Huffman-Kodierung
22 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Eingabe: Zeichen 1, . . . ,n mit Wahrscheinlichkeiten p1, . . . ,pnAusgabe: Baum T des Huffman-Codes
Menge Q = {1, . . . ,n}Füge alle Zeichen aus Q als Blätter in T einFür i = 1, . . . ,n− 1
Erzeuge neuen Knoten z für T
u ← extrahiere Element x aus Q mit px minimalBestimme u als linker Nachfolger von z
v ← extrahiere Element x aus Q mit px minimalBestimme v als rechter Nachfolger von z
Wahrscheinlichkeit pz von z ist pu + pvFüge z in Q ein
r ← extrahiere letztes Element aus Qreturn r (r ist Wurzel von T )
Optimalität der Huffman-Kodierung
23 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Satz:Der Huffman-Algorithmus berechnet einen Kodierungsbaum mit mini-maler mittlerer Codewortlänge.
Vorbereitendes Lemma
24 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Satz:Sei Σ = {1, . . . ,n} ein Alphabet mit Wahrscheinlichkeiten P, wobeiP = {p1, . . . ,pn}. Seien x , y ∈ Σ, x 6= y eine beliebige Wahl für diezwei unwahrscheinlichsten Zeichen.
Dann gibt es einen Kodierungsbaum T für (Σ,P) mit minimaler mitt-lerer Codewortlänge, so dass x und y den gleichen Elternknoten be-sitzen.
Vorbereitendes Lemma: Beweis
25 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Sei Σ = {1, . . . ,n} ein Alphabet mit Wkten P = {p1, . . . ,pn}.Seien x , y ∈ Σ, x 6= y eine beliebige Wahl für die zweiunwahrscheinlichsten Zeichen.
BeweisSei T ′ ein beliebiger Kodierungsbaum für (Σ,P) mit minimalermittlerer Codewortlänge.O.B.d.A gelte für die Tiefe, dass d ′T (x) ≥ d ′T (y).Sei z der Elternknoten von x in T ′.
Fall 1: z hat nur x als NachkommenDann könnte man z löschen unddurch x ersetzen.Dieser Baum hätte eine kleineremittlere Codewortlänge.Widerspruch zur Optimalität von T ′.
x
yz
Vorbereitendes Lemma: Beweis
25 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Sei Σ = {1, . . . ,n} ein Alphabet mit Wkten P = {p1, . . . ,pn}.Seien x , y ∈ Σ, x 6= y eine beliebige Wahl für die zweiunwahrscheinlichsten Zeichen.
BeweisSei T ′ ein beliebiger Kodierungsbaum für (Σ,P) mit minimalermittlerer Codewortlänge.O.B.d.A gelte für die Tiefe, dass d ′T (x) ≥ d ′T (y).Sei z der Elternknoten von x in T ′.
Fall 2: z hat mehr als 2 NachkommenSei w 6= x ein Nachfahre von z vonmaximaler Tiefe.Optimalität von T ′: pw ≤ px .Wahl von x , y : pw = px .Tausche x mit w . Weiter mit Fall 3.
x
yz
w
q
Vorbereitendes Lemma: Beweis
25 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Sei Σ = {1, . . . ,n} ein Alphabet mit Wkten P = {p1, . . . ,pn}.Seien x , y ∈ Σ, x 6= y eine beliebige Wahl für die zweiunwahrscheinlichsten Zeichen.
BeweisSei T ′ ein beliebiger Kodierungsbaum für (Σ,P) mit minimalermittlerer Codewortlänge.O.B.d.A gelte für die Tiefe, dass d ′T (x) ≥ d ′T (y).Sei z der Elternknoten von x in T ′.
Fall 3: z hat genau 2 NachkommenSei q 6= x der andere Nachfahre vonz. Tausche q mit y .q und y gleiche Tiefe: Tauschen ok.q tiefer als y : Wegen Optimalitätpq = py .
x
yz
q
Optimalität der Huffman-Kodierung
26 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Satz:Der Huffman-Algorithmus berechnet einen Kodierungsbaum mit mini-maler mittlerer Codewortlänge.
BeweisWir benutzen Induktion nach der Anzahl der Zeichen |Σ| desAlphabets Σ.
Induktionsanfang: Die Aussage ist für ein Zeichen erfüllt.
Beweis – Induktionsschluss
27 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Induktions-VoraussetzungDer Huffman-Algorithmus berechnet einen optimalenKodierungsbaum für alle Alphabete Σ mit |Σ| ≤ n und alleMöglichkeiten für P.
Induktions-SchlussGegeben sei Alphabet Σ = {1, . . . ,n + 1} mit WahrscheinlichkeitenP = {p1, . . . ,pn+1}.Für einen Kodierungsbaum T bezeichne f (T ) = ∑v∈Σ pv dT (v) diezugehörige mittlere Wortlänge.
Wir machen einen Widerspruchsbeweis.
Bezeichne Thuff einen Huffman-Baum für (Σ,P).
Sei Topt einen Kodierungsbaum für (Σ,P) mit f (Topt) < f (Thuff).
Beweis – Induktionsschluss
28 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Seien x , y ∈ Σ die Zeichen, die im Huffman-Algorithmus zuerstzusammengefasst werden.
Vorbereitendes Lemma: Wir können Topt so wählen, dass x und y dengleichen Elternknoten besitzen.
x y
Topt Thuff
x y
Beweis – Induktionsschluss
28 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Seien x , y ∈ Σ die Zeichen, die im Huffman-Algorithmus zuerstzusammengefasst werden.
Vorbereitendes Lemma: Wir können Topt so wählen, dass x und y dengleichen Elternknoten besitzen.
z z
T ′opt T ′
huff
Sei Σ′ = Σ \ {x , y} ∪ {z} Instanz für neues Zeichen z mit Wktpx + py .Seien T ′opt und T ′huff die Bäume, die sich aus Topt und Thuff ergeben,wenn man x , y mit ihrem Elternknoten zu Knoten z verschmilzt.
Beweis – Induktionsschluss
29 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Sei Σ′ = Σ \ {x , y} ∪ {z} Instanz für neues Zeichen z mit Wktpx + py .Seien T ′opt und T ′huff die Bäume, die sich aus Topt und Thuff ergeben,wenn man x , y mit ihrem Elternknoten zu Knoten z verschmilzt.
z z
T ′opt T ′
huff
Es gilt:T ′huff ist ein Huffman-Baum für Instanz Σ′ mit den neuen Wkten.T ′opt ist ein Kodierungs-Baum für Instanz Σ′ mit den neuen Wkten.
Beweis – Induktionsschluss
29 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Sei Σ′ = Σ \ {x , y} ∪ {z} Instanz für neues Zeichen z mit Wktpx + py .Seien T ′opt und T ′huff die Bäume, die sich aus Topt und Thuff ergeben,wenn man x , y mit ihrem Elternknoten zu Knoten z verschmilzt.
z z
T ′opt T ′
huff
Es gilt: f (T ′huff) = f (Thuff)− dThuff(x)px − dThuff
(y)py + dT ′huff(z)pz
= f (Thuff)− px − py
f (T ′opt) = f (Topt)− dTopt(x)px − dTopt(y)py + dT ′opt(z)pz
= f (Topt)− px − py
Beweis – Induktionsschluss
29 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Sei Σ′ = Σ \ {x , y} ∪ {z} Instanz für neues Zeichen z mit Wktpx + py .Seien T ′opt und T ′huff die Bäume, die sich aus Topt und Thuff ergeben,wenn man x , y mit ihrem Elternknoten zu Knoten z verschmilzt.
z z
T ′opt T ′
huff
Damit ist T ′opt ein besserer Coderierungsbaum für Σ′ als T ′huff.
Da |Σ′| = n ist dies ein Widerspruch zur Induktionsvoraussetzung.
Nachteile der Huffman-Kodierung
30 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Unterschiedliche Codewortlängen führen zu unterschiedlichenBitraten und Dekodierungsverzögerung.
Datenkompression reduziert die Redundanz und erhöht damit dieFehleranfälligkeit.
Die Kenntnis der Wahrscheinlichkeiten der Zeichen wirdvorausgesetzt.
Universelle Kodierverfahren wie der Lempel-Ziv Algorithmus setzenkein a-priori Wissen an die Statistik der Daten voraus.
Lauflängenkodierung
31 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Bei der Faxübertragung wird die Vorlage zeilenweise abgetastet undin weiße (w) und schwarze (s) Bildelemente zerlegt.
Üblicherweise ist die Zahl der weißen Elemente viel höher, als die derschwarzen.
Wir nehmen der Einfachheit halber an, dass die Bildpunktevoneinander unabhängig sind.
Bei 15% Schwärzungsgrad ergibt sich eine Entropie vonH = −0.85 · log2(0.85)− 0.15 · log2(0.15) ≈ 0.61
Bei guter Kodierung sollte eine entsprechende mittlere Codewortlängezu erwarten sein.
Lauflängenkodierung
31 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Bei der Faxübertragung wird die Vorlage zeilenweise abgetastet undin weiße (w) und schwarze (s) Bildelemente zerlegt.
Üblicherweise ist die Zahl der weißen Elemente viel höher, als die derschwarzen.
Wir nehmen der Einfachheit halber an, dass die Bildpunktevoneinander unabhängig sind.
Bei 15% Schwärzungsgrad ergibt sich eine Entropie vonH = −0.85 · log2(0.85)− 0.15 · log2(0.15) ≈ 0.61
Bei guter Kodierung sollte eine entsprechende mittlere Codewortlängezu erwarten sein.
Problem:Wie ist platzsparende Kodierung von einem Alphabet mit zweiZeichen möglich?
Lauflängenkodierung
32 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Problem:Wie ist platzsparende Kodierung von einem Alphabet mit zweiZeichen möglich?
Möglicher Ansatz: Block-CodesFasse k Zeichen zu Blöcken zusammen und kodiere diesenBeispiel k = 2:
Neues Alphabet: ww,ws,sw,ss.Dieses kann platzsparend kodiert werden.
Beispiel:
Zeichen ww ws sw ss
Wkt 12
210
210
110
Huffman 0 11 100 101
Lauflängenkodierung
33 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Lauflängenkodierung
Spezielle Zusammenfassung für Bildkodierung beiFax/VideoanwendungenDie Länge der Blöcke ist variabel.Idee: Kodiere nicht die Bildpunkte, sondern den Abstand zwischenzwei schwarzen Bildpunkten.Beispiel:
wwwswwsswwwwswswwwwwwswwwwwwswird aufgefasst als 3204166.Für eine Binärkodierung braucht man noch Codes für die Abstände(also für N).Um dies platzsparend zu machen, benötigt man Wahrscheinlichkeitenfür einzelne Abstände.
Lauflängenkodierung
33 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Lauflängenkodierung
Wie groß sind die Wkten für die einzelnen Abstände?Annahme: Die Bildpunkte sind voneinander unabhängig.Sei pk die Wkt für einen Block aus k aufeinanderfolgenden weißenBildpunkten mit einem schwarzen Bildpunkt am Schluss
pk = P(wk s) = Pk (w) ·P(s).
Es ergibt sich eine geometrische Verteilung.
Geometrische Verteilung
34 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Quelle: Wikipedia.
Lauflängenkodierung
35 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
Man kann einSchwarzweißbild überAngabe der Lauflängenverlustfrei rekonstruieren.Sonderbehandlung fürletzten Block erforderlich.Weiteres Problem:Lauflängen können beliebiggroß werden.Shannon-Fano-Kodierungkann trotzdem einfachangewandt werden.
Abstand Wkten Codewort0 0,1591 0001 0,1388 0012 0,1125 0103 0,0946 0114 0,0796 10005 0,0669 10016 0,0563 10107 0,0473 10118 0,0398 110009 0,0334 1100110 0,0281 1101011 0,0237 1101112 0,0199 111000. . . . . . . . .
Kodierung zum Schutz gegenÜbertragungsfehler
36 31.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der InformatikVorlesung am 31. Januar 2019
INSTITUT FÜR THEORETISCHE INFORMATIK
KIT
QuelleQuellen-kodierung
Kanal-kodierung
Kanal
Kanal-dekodierung
Quellen-dekodierung
Empfanger
Storung