Theoretische Grundlagen der Informatik
|
|
- Ulrike Holzmann
- vor 6 Jahren
- Abrufe
Transkript
1 Theoretische Grundlagen der Informatik Informationstheorie Vorlesung vom 2. und 4. Februar 26 INSTITUT FÜR THEORETISCHE KIT Universität des Gog, Landes Sanders, Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik INSTITUT FÜR THEORETISCHE nationales Forschungszentrum in der Helmholtz-Gemeinschaft
2 Thema dieses Kapitels Informationstheorie hat Anwendungen in Quellkodierung Kanalkodierung Kryptographie Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
3 Thema dieses Kapitels Informationstheorie hat Anwendungen in Quellkodierung Reduktion von Redundanz/Irrelevanz am Ausgang einer Informationsquelle Hauptaufgabe: Datenkompression Interessante Anwendung: Komprimierte Datenstrukturen Unterscheidung: Verlustfrei vs. verlustbehaftete Kompression Hohe wirtschaftliche Bedeutung Kanalkodierung Kryptographie Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
4 Thema dieses Kapitels Informationstheorie hat Anwendungen in Quellkodierung Kanalkodierung Übertragung von digitalen Daten über gestörte Kanäle Schutz vor Übertragungsfehlern durch Redundanz Fehlerkorrektur Kryptographie Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
5 Thema dieses Kapitels Informationstheorie hat Anwendungen in Quellkodierung Kanalkodierung Kryptographie Informationssicherheit: Konzeption, Definition und Konstruktion von Informationssystemen, die widerstandsfähig gegen unbefugtes Lesen und Verändern sind Kryptographie bildet zusammen mit Kryptoanalyse die Kryptologie Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
6 Material für Informationstheorie Vorlesungsfolien Martin Werner: Information und Codierung, VIEWEG TEUBNER, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
7 Information Sei Σ = {,..., n} eine Menge von Zeichen mit Wahrscheinlichkeiten {p,..., p n }. Wir betrachten eine Informationsquelle X, die Zeichen i Σ mit Wahrscheinlichkeit p i liefert. Bemerkung: X wird auch diskrete, endliche Zufallsvariable genannt Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
8 Information Sei Σ = {,..., n} eine Menge von Zeichen mit Wahrscheinlichkeiten {p,..., p n }. Wir betrachten eine Informationsquelle X, die Zeichen i Σ mit Wahrscheinlichkeit p i liefert. Bemerkung: X wird auch diskrete, endliche Zufallsvariable genannt. Beispiel Ein idealer Würfel wird durch die Wahrscheinlichkeiten ( 6, 6, 6, 6, 6, 6 ) dargestellt. Das Ergebnis des idealen Würfels ist schwer vorherzusagen. Der Erkenntnisgewinn nach Ausgang des Experiments ist deshalb groß Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
9 Information Sei Σ = {,..., n} eine Menge von Zeichen mit Wahrscheinlichkeiten {p,..., p n }. Wir betrachten eine Informationsquelle X, die Zeichen i Σ mit Wahrscheinlichkeit p i liefert. Bemerkung: X wird auch diskrete, endliche Zufallsvariable genannt. Beispiel Betrachte den gezinkten Würfel mit Wahrscheinlichkeiten (,,,,, 2 ). Hier ist schon klarer, welche Zahl als nächstes gewürfelt wird. Der Erkenntnisgewinn ist also kleiner Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
10 Information Sei Σ = {,..., n} eine Menge von Zeichen mit Wahrscheinlichkeiten {p,..., p n }. Wir betrachten eine Informationsquelle X, die Zeichen i Σ mit Wahrscheinlichkeit p i liefert. Bemerkung: X wird auch diskrete, endliche Zufallsvariable genannt. Frage Wir suchen ein Maß für den Erkenntnisgewinn nach Ausgang k mit Wahrscheinlichkeit p k. Wir bezeichnen diesen Erkenntnisgewinn als Information I pk Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
11 Information Sei Σ = {,..., n} eine Menge von Zeichen mit Wahrscheinlichkeiten {p,..., p n }. Wir betrachten eine Informationsquelle X, die Zeichen i Σ mit Wahrscheinlichkeit p i liefert. Bemerkung: X wird auch diskrete, endliche Zufallsvariable genannt. Wünsche an die Definition von Information Information soll nicht negativ sein. In Formeln: I pi Ein sicheres Ereignis (also p i = ) 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 Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
12 Information Sei Σ = {,..., n} eine Menge von Zeichen mit Wahrscheinlichkeiten {p,..., p n }. Wir betrachten eine Informationsquelle X, die Zeichen i Σ mit Wahrscheinlichkeit p i liefert. Bemerkung: X wird auch diskrete, endliche Zufallsvariable genannt. Wünsche an die Definition von Information Wunsch: Eine doppelt so lange Zeichenkette soll doppelte Information enthalten können Deshalb fordern wir, dass I pi p j = I pi + I pj Dies soll später sicherstellen, dass die Information einer (unabhängigen) Zeichenkette gleich der Summe der Einzelinformationen ist Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
13 Information Sei Σ = {,..., n} eine Menge von Zeichen mit Wahrscheinlichkeiten {p,..., p n }. Wir betrachten eine Informationsquelle X, die Zeichen i Σ mit Wahrscheinlichkeit p i liefert. Bemerkung: X wird auch diskrete, endliche Zufallsvariable genannt. Definition Information Sei p eine Wahrscheinlichkeit. Die Information von p (zur Basis b) ist I p = log b ( p ) = log b(p) Im Folgenden verwenden wir immer die Basis b = Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
14 Wiederholung: Rechenregeln Logarithmus log a (x y) = log a (x) + log a (y) log a (/x) = log a (x) Basiswechsel: log a (x) = log b(x) log b (a) 2 K p K4 K6 Nützliche Ungleichung: K8 log e x x bzw. log 2 x log 2 e (x ) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
15 Information Definition Information Sei p eine Wahrscheinlichkeit. Die Information von p (zur Basis b) ist I p = log b ( p ) = log b(p) Im Folgenden verwenden wir immer die Basis b = 2. Beispiel 2: Betrachte einen Münze mit Seiten, und Wkten p = p = 2. Die Information eines Münzwurfs ist log(/ 2 ) = log(2) =. Werfen wir die Münze k mal, so ist die Wahrscheinlichkeit für einen bestimmen Ausgang gleich =. 2 k Die Information ist dann log( 2 k ) = log(2 k ) = k Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
16 Entropie Anschaulich formuliert Entropie ist ein Maß für den mittleren Informationsgehalt pro Zeichen einer Quelle Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
17 Entropie Entropie Die Entropie (zur Basis 2) einer diskreten Zufallsvariable mit Ereignissen (Zeichen) X und Wahrscheinlichkeiten p(x) für x X, ist definiert durch H(X ) = p(x) log 2 ( p(x) ) x X dabei gelten die folgenden Konventionen log :=, a log a := Bemerkung Es gilt immer H(X ) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
18 Bemerkungen zur Entropie H(X ) = x X p(x) log 2 ( p(x) ) Die Entropie einer diskreten, endlichen Zufallsvariable mit n Zeichen wird maximal, wenn alle Zeichen gleichwahrscheinlich sind. Die maximale Entropie beträgt dann log 2 (n). Die Entropie der deutschen Sprache liegt etwa bei 4,. Bei 26 Buchstaben ergibt sich eine maximale Entropie von log 2 (26) 4, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
19 Entropie einer Münze mit Wkt p für Zahl..75 H(X) [Bit].5.25 H(X ) = x X p p(x) log 2 ( p(x) ) = p log 2(p) ( p) log 2 ( p) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
20 (Platzsparende) Codierungen Wir betrachten eine Informationsquelle X, die Zeichen i Σ mit Wahrscheinlichkeit p i liefert. Zum Codieren der Zeichen aus Σ haben wir aber nur Zeichenketten aus {, } zur Verfügung. Wie können wir Σ ohne Informationsverlust codieren, dass die erwartete Länge der Ausgabe möglichst klein wird? Formal Wir ordnen jedem Zeichen i Σ ein Codewort z i {, } mit n i Zeichen zu. Die mittlere Codewortlänge ist n = i Σ p i n i Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
21 Codierungsbäume Wir codieren im Folgenden binär. Sei Σ = {,... n} ein Alphabet mit Präfix-Code C = {c,... c n }. Der Codierungsbaum T von (Σ, C) ist ein gerichteter, binärer Baum so dass jede Kante mit oder annotiert ist, ausgehend von einem Knoten höchstens eine Kante mit und höchstens eine Kante mit annotiert ist, die Blätter von T genau die Elemente in Σ sind, der Weg von der Wurzel zu i Σ mit c i annotiert ist. a b c d e f g h Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
22 Codierungsbäume a b c d e f g h Beispiele Zeichen c hat Code Zeichen f hat Code Zeichen h hat Code Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
23 Codierungsbäume Bemerkungen a b c d e f g h Es besteht ein direkter Zusammenhang zwischen Codierungen und den zugehörigen Bäumen. Die Tiefe d T (v) eines Knotens v in einem Baum T ist die Anzahl der Kanten auf einem kürzesten Weg von der Wurzel zu v Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
24 Codierungsbäume Bemerkungen a b c d e f g h Gegeben sei eine Codierung für Alphabet Σ mit Wahrscheinlichkeit p i für i Σ, Codewortlänge n i für i Σ und zugehörigem Codierungsbaum T. Die mittlere Codewortlänge ist n = i Σ p i n i = v Σ p v d T (v) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
25 Beispiel Betrachte eine Informationsquelle X mit Σ = {a, b, c, d, e, f, g, h} und Wahrscheinlichkeiten p s = /8 für s Σ. a b c d e f g h Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
26 Beispiel Betrachte eine Informationsquelle X mit Σ = {a, b, c, d, e, f, g, h} und Wahrscheinlichkeiten p s = /8 für s Σ. a b c d e f g h Mittlere Codewortlänge Hier haben alle Codes Länge 3. Die mittlere Codewortlänge ist also Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
27 Beispiel Betrachte eine Informationsquelle X mit Σ = {a, b, c, d, e, f, g, h} und Wahrscheinlichkeiten p s = /8 für s Σ. a b c d e f g h Anzahl der codierten Zeichen Mit jedem zusätzlichen Bit verdoppelt sich die Größe des darstellbaren Alphabets. Um ein Alphabet Σ mit Wörtern gleicher Länge zu kodieren braucht man also log( Σ ) Bits Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
28 Präfix-Codes Bei Codes mit variabler Länge muss man wissen, wann ein neues Codewort beginnt. Ein Präfix-Code ist ein Code, so dass kein Codewort Anfang eines anderen Codeworts ist. Für Präfix-Codes benötigt man deswegen keine Trennzeichen. Jeder Präfix-Code kann auf die in der letzten Folie benutze Art als Baum dargestellt werden Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
29 Beispiel: Morse-Alphabet 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 Morsezeichen A 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 Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
30 Quellencodierungstheorem Es seien Codes mit variabler Länge erlaubt. Es ist dann nützlich, häufige Zeichen mit kurzen Wörtern zu codieren. Dies verkleinert die mittlere Codewortlänge. Satz (Shannon s Quellencodierungstheorem): Sei X eine diskrete endliche Zufallsvariable mit Entropie H(X ). Dann existiert ein Präfix-Code für X mit einem Codealphabet aus D Zeichen so, dass für die mittlerer Codewortlänge n gilt H(X ) log 2 D n < H(X ) log 2 D +. Bemerkung In der Vorlesung betrachten wir den Fall D = 2, d.h. wir verwenden den binären Code. Entropie und mittlere Codewortlänge werden dann in Anzahl Binärzeichen (Bit) angegeben Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
31 Quellencodierungstheorem Beweis Schritt Kraftsche Ungleichung Für die Existenz eines binären Präfixcodes mit K Codewörtern der Länge n, n 2,..., n K ist notwendig und hinreichend, dass die kraftsche Ungleichung erfüllt ist. 2 n k i Beweis Auf der i-ten Ebene des Coderierungsbaum gibt es 2 i Konten Zu jedem Knoten der i-ten Ebene gehören genau 2 n i Knoten in der letzten (n-ten) Ebene Der Codebaum liefert einen Präfixcode Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
32 Quellencodierungstheorem Beweis Ebene # Knoten 2 = 2 = 2 z = 4 z 3 z = 8 z z z 9 z 8 z 7 z 6 z 5 z = Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
33 Quellencodierungstheorem Beweis Ordne Codewortlänge der Größe nach n n 2 n K = n Das Codewort z i sperrt 2 n n i Blattknoten; da die gesperrten Blätter unterschiedlicher Codewörter nicht überlappen gilt insgesamt: K 2 n n k k= Blätter gesperrt. Ein Code mit maximaler Länge n hat maximal 2 n Wörter. D.h. K k= 2n n k 2 n. Division mit 2 n liefert also: K 2 n k k= Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
34 Quellencodierungstheorem Beweis Wir haben gerade die Präfixeigenschaft des Codes benutzt. Die Aussage lässt sich von Präfixcodes auf eindeutig decodierbare Codes erweitern. Satz von Mc Millan Jeder eindeutig decodierbare Code erfüllt die kraftsche Ungleichung Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
35 Quellencodierungstheorem Beweis Schritt 2 Linke Seite: H(X ) n H(X ) n = K k= mit log x (x ) log e p k log p k K p k log 2 n k log e p k= k K k= K k= = log e p k n k = K p k log 2 n k p k= k [ 2 n ] k p k p k K 2 n k k= } {{ } Kraft K p k k= }{{} = Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
36 Quellencodierungstheorem Beweis Schritt 3 Rechte Seite: n < H(X ) + Es gilt die kraftschen Ungl. und es existiert ein Code mit entspr. Längen n,..., n K. Somit K 2 n K k = p k k= k= Solange die kraftsche Ungl. gilt, sind wir frei in der Wahl der n k. Wähle n k so, dass 2 n k p k wobei n k die kleinste nat. Zahl sei, welche die Ungl. erfüllt. Damit gilt für jedes n k p k < 2 n k Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
37 Quellencodierungstheorem Beweis Logarithmieren und multipliziere mit p k ergibt: Aufsummieren über alle k ergibt: p k log p k < n k p k + p k K k= p k log p k < n + n < H(X ) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
38 Beispiel: Shannon-Fano Codierung Elemente Wahrscheinlichkeiten Codewort,59,388 2,25 3,946 4,796 5,669 6,563 7,473 8,398 9,334,28,237 2, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
39 Beispiel: Shannon-Fano Codierung Elemente Wahrscheinlichkeiten Codewort,59,388 2,25 3,946 4,796 5,669 6,563 7,473 8,398 9,334,28,237 2, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
40 Beispiel: Shannon-Fano Codierung Elemente Wahrscheinlichkeiten Codewort,59,388 2,25 3,946 4,796 5,669 6,563 7,473 8,398 9,334,28,237 2, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
41 Beispiel: Shannon-Fano Codierung Elemente Wahrscheinlichkeiten Codewort,59,388 2,25 3,946 4,796 5,669 6,563 7,473 8,398 9,334,28,237 2, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
42 Beispiel: Shannon-Fano Codierung Elemente Wahrscheinlichkeiten Codewort,59,388 2,25 3,946 4,796 5,669 6,563 7,473 8,398 9,334,28,237 2, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
43 Beispiel: Shannon-Fano Codierung Elemente Wahrscheinlichkeiten Codewort,59,388 2,25 3,946 4,796 5,669 6,563 7,473 8,398 9,334,28,237 2, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
44 Beispiel: Shannon-Fano Codierung Elemente Wahrscheinlichkeiten Codewort,59,388 2,25 3,946 4,796 5,669 6,563 7,473 8,398 9,334,28,237 2, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
45 Beispiel: Shannon-Fano Codierung Ein paar Zwischenschritte später... Elemente Wahrscheinlichkeiten Codewort,59,388 2,25 3,946 4,796 5,669 6,563 7,473 8,398 9,334,28,237 2, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
46 Shannon-Fano Codierung Funktion ShannonFano(Z ) Eingabe: Zeichenliste Z = (z,..., z k ) mit Wkten p,... p k Ausgabe: Shannon-Fano Codierung (c,..., c k ) Wenn k = return (c = ɛ) and exit Sortiere Zeichen Z absteigend nach Wkt p i (d.h p p 2,... p k ). Trenne Z in Z (z,... z l ) Z 2 (z l+,... z k ) so dass l i= p i k i=l+ p i minimal ist. (c,... c l ) ShannonFano(Z ) (c l+,... c k ) ShannonFano(Z 2 ) return (c,... c k ) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
47 Codierungsbaum Shannon-Fano Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
48 Bemerkung Die mittlere Codewortlänge der Shannon-Fano Codierung muss nicht optimal sein. Sie ist deswegen nicht sehr verbreitet. Wir werden sehen, dass die Huffman-Codierung optimale mittlere Codewortlänge besitzt Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
49 Beispiel: Huffman-Codierung d, 4 f, 2 b, 5 e, 5 a, 5 c, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
50 Beispiel: Huffman-Codierung d, 4 f, 2 b, 5 e, 5 a, 5 c, 5, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
51 Beispiel: Huffman-Codierung d, 4 f, 2 b, 5 e, 5 a, 5 c, 5,, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
52 Beispiel: Huffman-Codierung d, 4 f, 2 b, 5 e, 5 a, 5 c, 5, 35,, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
53 Beispiel: Huffman-Codierung d, 4 f, 2 b, 5 e, 5 a, 5 c, 5, 35,, 25, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
54 Beispiel: Huffman-Codierung d, 4 f, 2 b, 5 e, 5 a, 5 c, 5, 35,, 25, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
55 Beispiel: Huffman-Codierung d, 4 f, 2 b, 5 e, 5 a, 5 c, 5, 35,, 25, 6 Beispiele Zeichen c hat Code Zeichen e hat Code Zeichen d hat Code Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
56 Huffman-Codierung Eingabe: Zeichen,..., n mit Wahrscheinlichkeiten p,..., p n Ausgabe: Baum T des Huffman-Codes Menge Q = {,... n} Füge alle Zeichen aus Q als Blätter in T ein Für i =,... n Erzeuge neuen Knoten z für T u extrahiere Element x aus Q mit p x minimal Bestimme u als linker Nachfolger von z v extrahiere Element x aus Q mit p x minimal Bestimme v als rechter Nachfolger von z Wahrscheinlichkeit p z von z ist p u + p v Füge z in Q ein r extrahiere letztes Element aus Q return r (r ist Wurzel von T ) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
57 Optimalität der Huffman-Codierung Satz: Der Huffman-Algorithmus berechnet einen Codierungsbaum mit minimaler mittlerer Codewortlänge Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
58 Vorbereitendes Lemma Satz: Sei Σ = {,..., n} ein Alphabet mit Wahrscheinlichkeiten P, wobei P = {p,..., p n }. Seien x, y Σ, x = y eine beliebige Wahl für die zwei unwahrscheinlichsten Zeichen. Dann gibt es einen Codierungsbaum T für (Σ, P) mit minimaler mittlerer Codewortlänge, so dass x und y den gleichen Elternknoten besitzen Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
59 Vorbereitendes Lemma: Beweis Sei Σ = {,..., n} ein Alphabet mit Wkten P = {p,..., p n }. Seien x, y Σ, x = y eine beliebige Wahl für die zwei unwahrscheinlichsten Zeichen. Beweis Sei T ein beliebiger Codierungsbaum für (Σ, P) mit minimaler mittlerer 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 : z hat nur x als Nachkommen Dann könnte man z löschen und durch x ersetzen. Dieser Baum hätte eine kleinere mittlere Codewortlänge. Widerspruch zur Optimalität von T. x z y Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
60 Vorbereitendes Lemma: Beweis Sei Σ = {,..., n} ein Alphabet mit Wkten P = {p,..., p n }. Seien x, y Σ, x = y eine beliebige Wahl für die zwei unwahrscheinlichsten Zeichen. Beweis Sei T ein beliebiger Codierungsbaum für (Σ, P) mit minimaler mittlerer 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 Nachkommen Sei w = y ein Nachfahre von z von maximaler Tiefe. Optimalität von T : p w p x. Wahl von x, y: p w = p x. Tausche x mit w. Weiter mit Fall 3. x z w q y Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
61 Vorbereitendes Lemma: Beweis Sei Σ = {,..., n} ein Alphabet mit Wkten P = {p,..., p n }. Seien x, y Σ, x = y eine beliebige Wahl für die zwei unwahrscheinlichsten Zeichen. Beweis Sei T ein beliebiger Codierungsbaum für (Σ, P) mit minimaler mittlerer 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 Nachkommen Sei q = x der andere Nachfahre von z. Tausche q mit y. q und y gleiche Tiefe: Tauschen ok. q tiefer als y: Wegen Optimalität p q = p y. x z q y Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
62 Optimalität der Huffman-Codierung Satz: Der Huffman-Algorithmus berechnet einen Codierungsbaum mit minimaler mittlerer Codewortlänge. Beweis Wir benutzen Induktion nach der Anzahl der Zeichen Σ des Alphabets Σ. Induktionsanfang: Die Aussage ist für ein Zeichen erfüllt Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
63 Beweis - Induktionsschluss Induktions-Voraussetzung Der Huffman-Algorithmus berechnet einen optimalen Codierungsbaum für alle Alphabete Σ mit Σ n und alle Möglichkeiten für P. Induktions-Schluss Gegeben sei Alphabet Σ = {,..., n + } mit Wahrscheinlichkeiten P = {p,... p n+ }. Für einen Codierungsbaum T bezeichne f (T ) = v Σ p v d T (v) die zugehörige mittlere Wortlänge. Wir machen einen Widerspruchsbeweis. Bezeichne T huff einen Huffman-Baum für (Σ, P). Sei T opt einen Codierungsbaum für (Σ, P) mit f (T opt ) < f (T huff ) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
64 Beweis - Induktionsschluss Seien x, y Σ die Zeichen, die im Huffman-Algorithmus zuerst zusammengefasst werden. Vorbereitendes Lemma: Wir können T opt so wählen, dass x und y den gleichen Elternknoten besitzen. T opt T huff x y x y Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
65 Beweis - Induktionsschluss Seien x, y Σ die Zeichen, die im Huffman-Algorithmus zuerst zusammengefasst werden. Vorbereitendes Lemma: Wir können T opt so wählen, dass x und y den gleichen Elternknoten besitzen. T opt T huff z z Sei Σ = Σ \ {x, y} {z} Instanz für neues Zeichen z mit Wkt p x + p y. Seien T opt und T huff die Bäume, die sich aus T opt und T huff ergeben, wenn man x, y mit ihrem Elternknoten zu Knoten z verschmilzt Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
66 Beweis - Induktionsschluss Sei Σ = Σ \ {x, y} {z} Instanz für neues Zeichen z mit Wkt p x + p y. Seien T opt und T huff die Bäume, die sich aus T opt und T huff ergeben, wenn man x, y mit ihrem Elternknoten zu Knoten z verschmilzt. T opt T huff z z Es gilt: T huff ist ein Huffman-Baum für Instanz Σ mit den neuen Wkten. T opt ist ein Codierungs-Baum für Instanz Σ mit den neuen Wkten Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
67 Beweis - Induktionsschluss Sei Σ = Σ \ {x, y} {z} Instanz für neues Zeichen z mit Wkt p x + p y. Seien T opt und T huff die Bäume, die sich aus T opt und T huff ergeben, wenn man x, y mit ihrem Elternknoten zu Knoten z verschmilzt. T opt T huff z z Es gilt: f (T huff ) = f (T huff) d Thuff (x)p x d Thuff (y)p y + (d T (z) )p z huff = f (T huff ) p x p y f (T opt) = f (T opt ) d Topt (x)p x d Topt (y)p y + (d T opt (z) )p z = f (T opt ) p x p y Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
68 Beweis - Induktionsschluss Sei Σ = Σ \ {x, y} {z} Instanz für neues Zeichen z mit Wkt p x + p y. Seien T opt und T huff die Bäume, die sich aus T opt und T huff ergeben, wenn man x, y mit ihrem Elternknoten zu Knoten z verschmilzt. T opt T huff z z Damit ist T opt ein besserer Coderierungsbaum für Σ als T huff. Da Σ = n ist dies ein Widerspruch zur Induktionsvoraussetzung Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
69 Nachteile der Huffman-Codierung Unterschiedliche Codewortlängen führen zu unterschiedlichen Bitraten und Decodierungsverzögerung. Datenkompression reduziert die Redundanz und erhöht damit die Fehleranfälligkeit. Die Kenntnis der Wahrscheinlichkeiten der Zeichen wird vorausgesetzt. Universelle Codierverfahren wie der Lempel-Ziv Algorithmus setzen kein a-priori Wissen an die Statistik der Daten voraus Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
70 Lauflängenkodierung Bei der Faxübertragung wird die Vorlage zeilenweise abgetastet und in weiße (w) und schwarze (s) Bildelemente zerlegt. Üblicherweise ist die Zahl der weißen Elemente viel höher als die der schwarzen. Wir nehmen der Einfachheit halber an, dass die Bildpunkte voneinander unabhängig sind. Bei 5% Schwärzungsgrad ergibt sich eine Entropie von H =.85 log 2 (.85).5 log 2 (.5).6 Bei guter Codierung sollte eine entsprechende mittlere Codewortlänge zu erwarten sein Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
71 Lauflängenkodierung Bei der Faxübertragung wird die Vorlage zeilenweise abgetastet und in weiße (w) und schwarze (s) Bildelemente zerlegt. Üblicherweise ist die Zahl der weißen Elemente viel höher als die der schwarzen. Wir nehmen der Einfachheit halber an, dass die Bildpunkte voneinander unabhängig sind. Bei 5% Schwärzungsgrad ergibt sich eine Entropie von H =.85 log 2 (.85).5 log 2 (.5).6 Bei guter Codierung sollte eine entsprechende mittlere Codewortlänge zu erwarten sein. Problem: Wie ist platzsparende Codierung von einem Alphabet mit zwei Zeichen möglich? Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
72 Lauflängencodierung Problem: Wie ist platzsparende Codierung von einem Alphabet mit zwei Zeichen möglich? Möglicher Ansatz: Blockcodes Fasse k Zeichen zu Blöcken zusammen und codiere diesen Beispiel k = 2: Beispiel: Neues Alphabet: ww,ws,sw,ss. Dieses kann platzsparend codiert werden. Zeichen ww ws sw ss 2 2 Wkt 2 Huffman Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
73 Lauflängencodierung Lauflängencodierung Spezielle Zusammenfassung für Bildcodierung bei Fax/Videoanwendungen Die Länge der Blöcke ist variabel. Idee: Codiere nicht die Bildpunkte, sondern den Abstand zwischen zwei schwarzen Bildpunkten. Beispiel: wwwswwsswwwwswswwwwwwswwwwwws wird aufgefasst als Für eine Binärcodierung braucht man noch Codes für die Abstände (also für N). Um dies platzsparend zu machen, benötigt man Wahrscheinlichkeiten für einzelne Abstände Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
74 Lauflängencodierung Lauflängencodierung Wie groß sind die Wkten für die einzelnen Abstände? Annahme: Die Bildpunkte sind voneinander unabhängig. Sei p l die Wkt für einen Block aus l aufeinanderfolgenden weißen Bildpunkten mit einem schwarzen Bildpunkten am Schluss p l = P(w l s) = P l (w) P(s) = P(s) ( P(s)) l. Es ergibt sich eine geometrische Verteilung. Erwartungswert der geometrische Verteilung ist /P(s) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
75 Geometrische Verteilung.8 Wahrscheinlichkeit p i Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
76 Lauflängencodierung Man kann ein Schwarzweißbild über Angabe der Lauflängen verlustfrei rekonstruieren. Sonderbehandlung für letzten Block erforderlich. Weiteres Problem: Lauflängen können beliebig groß werden. Shannon-Fano-Codierung kann trotzdem einfach angewandt werden. Abstand Wkten Codewort,59,388 2,25 3,946 4,796 5,669 6,563 7,473 8,398 9,334,28,237 2, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
77 Succinct Datenstrukturen Sei ein kombinatorisches Objekt T fester Größe n gegeben. Wenn f T (n) die Anzahl verschiedener Instanzen von T ist, dann ist die Informationstheoretische Schranke um alle Instanzen von T eindeutig darzustellen Z T = log 2 f T (n) Bits. Eine Datenstruktur für Objekt T nennen wir succinct, wenn die Platzkomplexität nicht größer als Z T + o(n) ist und Operationen auf T effizient (sublinear) ausführbar sind. Der sublineare Platz wird für den Indexteil benötigt, der die effiziente Ausführung der Operationen ermöglicht Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
78 Succinct Datenstrukturen Beispiel Bitvektor B der Länge n (=Sequenz der Länge n über binärem Alphabet) mit Zugriff (access) und Rang (rank ) Operation. access(i): Wert an i-ter Stelle rank (i): i j= B[i] 2 n verschiedene Instanzen der Länge n. Z = n Bits Mit naiver Darstellung des Bitvektors wird access im RAM Modell in O() Zeit unterstützt. Wie kann man rank (i) in O() Zeit realisieren? Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
79 Bitvektoren mit Zugriff und Rank Operation o(n)-bit Index für die rank Operation Unterteile B in Blöcke der Länge L = log 2 n Berechne und speichere P [i] = rank (i L ) für i {,..., n/l } Unterteile B in Blöcke der Länge L 2 = 2 log n Berechne und speichere P 2 [i] = rank (i L 2 ) P [ (i L 2 )/L ] für i = {,..., n/l 2 } L n. L 2 L L L 2 L 2 L 2. L 2 L 2 L 2 L Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
80 Bitvektoren mit Zugriff und Rank Operation o(n)-bit Index für die rank Operation Für alle n verschiedene Bitvectoren der Länge L 2 = log 2 n berechnen wir für alle i {,..., L 2 } den Wert rank (i) in einer Tabelle P 3 vor. Platzbedarf n L log n+ (für P ) n L 2 2 log log n+ (für P 2 ) n L2 log L 2 (für P 3 ) o(n) für unsere Wahl für L und L 2 L n. L 2 L L L 2 L 2 L 2. L 2 L 2 L 2 L Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
81 Bitvektoren mit Zugriff und Rank Operation Berechnung von rank (i) mit dem o(n)-bit Index Sei j = i/l 2 L 2 und B[l..r] ein Teilvektor rank (i) = P [ i/l ] + P 2 [ i/l 2 ] + P 3 [B[j..j + L 2 ]][(i mod L 2 )] L n. L 2 L L L 2 L 2 L 2. L 2 L 2 L 2 L Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
82 Bitvektoren mit Zugriff und Rank Operation Bemerkung Die inverse Operation zu rank ist die Operation select. Sie gibt die Position der i-ten Eins im Bitvektor zurück. Die select Operation kann ähnlich zu rank auch in konstanter Zeit mit einem o(n)-bit Index realisiert werden Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
83 Komprimierte Datenstrukturen Für eine gegebene Instanz eines Objekt fester Länge n (etwa einer Sequenz) werden die Wkten der Symbole durch Zählen bestimmt. Sei etwa eine Sequenze S der Länge n über einem Alphabet Σ = {,..., σ} und n c sei die Anzahl an Vorkommen des Symbols c in S. Dann ist p(c) = n c n und wir nennen H (S) = c Σ p(c) log 2 ( p(c) ) die empirische Entropie von S. Komprimierte Datenstrukturen repräsentieren die Instanz in n H (S) + o(n) Bits. Der n H (S) Teil repräsentiert die Daten, während der sublineare Term o(n) Indexinformation zur effizienten Ausführung von Operationen enthählt Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
84 Komprimierte Datenstrukturen: Wavelet Tree Der Wavelet Tree ist eine komprimierte Datenstruktur für Sequenzen. Folgende Operationen sollen effizient ausführbar sein: access(i, S): Zugriff auf S[i]. rank(i, c, S): Anzahl an Vorkommen des Symbols c im Präfix S[,..., i ], formal: {j S[j] = c j < i} Wavelet Tree Sei S eine Sequenz der Länge n über Alphabet Σ = {,..., σ }. Jedem c Σ sei ein Wort z c aus einem Präfix-Code C zugeordnet. Ein Wavelet Tree ist ein binärer Baum, dessen Topologie der des Codierungsbaum T von C entspricht. Jedem Knoten v mit Pfadbeschriftung ω(v) der Länge l wird die Teilsequenz S v = {S[i] ω(v) ist Präfix von z S[i] } konzeptionell zugeordnet Knoten v enthält ein Bitvector B v der Länge n v = S v mit B v [i] = ω(s v [i])[l] für l < z Sv [] Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
85 Komprimierte Datenstrukturen: Wavelet Tree arrd$rcbbraaaaaabba a$bbaaaaaabba a$aaaaaaa bbbb dc rrdrcr rrrr Beispiel c z c n c $ a 8 b 4 c d r 4 $ aaaaaaaa c d Tiefe des Wavelet Tree ist log σ = 3. Summe der Bitvektoren und die O(σ) Zeichen um die Topologie darzustellen: n log σ + O(σ log n) Bits Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
86 Komprimierte Datenstrukturen: Wavelet Tree arrd$rcbbraaaaaabba a$bbaaaaaabba a$aaaaaaa bbbb dc rrdrcr rrrr Berechnung von rank a (i) z a entspricht Pfad im WT Bestimme Position i ω (v) von i in jedem S v des Pfads mittels rank (rank ) auf Bitvektoren i za = rank a (i) $ aaaaaaaa c d Beispiel rank a () z a = i ɛ = i = Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
87 Komprimierte Datenstrukturen: Wavelet Tree arrd$rcbbraaaaaabba a$bbaaaaaabba a$aaaaaaa bbbb dc rrdrcr rrrr Berechnung von rank a (i) z a entspricht Pfad im WT Bestimme Position i ω (v) von i in jedem S v des Pfads mittels rank (rank ) auf Bitvektoren i za = rank a (i) $ aaaaaaaa c d Beispiel rank a () z a = i ɛ = i =,i = rank (i ɛ ) = Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
88 Komprimierte Datenstrukturen: Wavelet Tree arrd$rcbbraaaaaabba a$bbaaaaaabba a$aaaaaaa bbbb dc rrdrcr rrrr Berechnung von rank a (i) z a entspricht Pfad im WT Bestimme Position i ω (v) von i in jedem S v des Pfads mittels rank (rank ) auf Bitvektoren i za = rank a (i) $ aaaaaaaa c d Beispiel rank a () z a = i ɛ = i =,i = rank (i ɛ ) = 5, i = rank (i ) = Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
89 Komprimierte Datenstrukturen: Wavelet Tree arrd$rcbbraaaaaabba a$bbaaaaaabba a$aaaaaaa bbbb dc rrdrcr rrrr Berechnung von rank a (i) z a entspricht Pfad im WT Bestimme Position i ω (v) von i in jedem S v des Pfads mittels rank (rank ) auf Bitvektoren i za = rank a (i) $ aaaaaaaa c d Beispiel rank a () z a = i ɛ = i =,i = rank (i ɛ ) = 5, i = rank (i ) = 3, i = rank (i ) = Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
90 Komprimierte Datenstrukturen: Wavelet Tree Die worst case und average case Komplexität der rank-funktion für einen Präfix-Code mit maximaler Tiefe log σ liegt in O(log σ) Platz und average Komplexität lassen sich durch Nutzung des Huffman Codes verbessern: Platz auf n(h (S) + ) + o(n) + O(σ log n) Bits Average Laufzeit auf H (S) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
91 Komprimierte Datenstrukturen: Wavelet Tree $c d$c arrd$rcbbraaaaaabba rrd$rcbbrbb d$cbbbb d bbbb rrrr aaaaaaaa Beispiel H (S) = 3 log log log Bits Optimale Darstellung von S mit nh (S) < 4 Bits Gesamtlänge der Bitvektoren 49 Bits (mit balancierter Topologie) 42 Bits (mit Huffman Topologie, s.l.) $ c Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
92 Elias-Fano Kodierung Elias-Fano Kodierung Sei X eine aufsteigende Sequenz aus {,..., n }. Es gibt eine Darstellung für X in m log m n + 3m + o(m) Bits die Zugriff auf jedes X [i] in konstanter Zeit erlaubt. Naive Darstellung von X würde m log n Platz benötigen X kann auch als Bitvektor der Länge n mit m gesetzten Bits aufgefasst werden. Analog zu der rank Datenstruktur gibt es eine Struktur, welche die Position der i-te in einem Bitvektor in konstanter Zeit berechnet und nur sublinear Platz benötigt. Aufsteigende Sequenzen treten in vielen Anwendungen auf: Adjazenlisten, invertierte Indizes, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
93 Elias-Fano Kodierung Funktionsweise Teile jedes Element von X in zwei Teile: die unteren r = log m n Bits (low part) die oberen log n r Bits (high part) Die low parts werden in einem Array L mit r-bit Einträgen gespeichert. Die Sequenz der high parts ist nicht absteigend. Sei δ i die Differenz des high parts von X [i] und X [i ]. Erzeuge einen Bitvektor H durch die Konkatenation der unären Codierung von δ, δ,..., δ m. Unäre Codierung Eine nicht negative Zahl x wird durch den String u(x) = x unär kodiert. Also gilt u() =, u() =, u(2) =, Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
94 Elias-Fano Kodierung Funktionsweise X = δ = H = L = H enthält m Nullen und höchstens 2 log n log n/m 2 log n (log n/m ) = 2 log m+ = 2m Einsen. Damit benötigt die Elias-Fano Codierung höchstens m log n/m + 3m Bits Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
95 Elias-Fano Codierung Funktionsweise Rekonstruktion eines beliebigen X [i] access(i) p select (i, H) x p i return x 2 log n/m + L[i] Beispiel: X [2] = (5 2) = = Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
96 Elias-Fano Kodierung Anwendung Gegeben ein String S der Länge n über einem Alphabet Σ der Größe σ, etwa die Konkatenation von k Webseiten. Speichere für jedes Symbol c Σ eine Liste, welche an Position i die Position des i-ten Vorkommen von c in S enthält. Sei n i die Länge der Liste Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
97 Elias-Fano Kodierung Anwendung Platzanalyse: = n i log n + 3n n i + o(n i ) + O(log n) c Σ i ( ni ) + 3n + o(n) + O(σ log n) n n log n n c Σ i = n H (S) + 3n + o(n) + O(σ log n) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
98 Wechselseitiger und bedingter Informationsgehalt Quelle X Ereignispaar,,Kopplung (x i,y j ) Quelle Y Betrachte Zeichen/Ergebnispaar zweier Quellen X und Y Für die Wkt gilt: p(x i, y j ) = p(x i y j ) p(y j ) = p(y j x i ) p(x j ) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
99 Wechselseitiger und bedingter Informationsgehalt Durch Logarithmieren: log p(x i, y j ) }{{} I(x i,y j ) Umgestellt: = log p(x i y j ) + log p(y j ) }{{} I(y j ) = log p(y j x i ) + log p(x j ) }{{} I(x j ) I(x i, y j ) = I(y j ) log p(x i y j ) = I(x i ) log p(y j x i ) Addiere = I(x i ) log p(x i ) bzw. = I(y i) log p(y j ) : I(x i, y j ) = I(y j ) + I(x i ) log p(x i y j ) p(x i ) = I(x i ) + I(y j ) log p(y j x i ) p(y j ) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
100 Wechselseitiger und bedingter Informationsgehalt Die wechselseitige Information eines Zeichenpaares ist I(x i ; y j ) = log p(x i y j ) p(x i ) = log p(y j x i ) p(y j ) I(x i ) I(x i ;y j ) I(y j ) und stellt die aufgelöste Ungewissheit über das Zeichen y j dar, wenn x i bekannt ist und umgekeht. Für unabhängige Quellen X und Y gilt: I(x i ; y j ) = Für streng gekoppelte Quellen X und Y gilt: I(x i ; y j ) = I(x i ) = I(y j ), da p(x i y j ) = p(y j x i ) = Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
101 Verbundentropie und bedingte Entropie Verbundentropie Die Verbundentropie zweiter Quellen X und Y ist H(X, Y ) = X p(x, y) log Y p(x, y) Bedingte oder relative Entropie Die bedingte Entropie zweiter Quellen X und Y ist H(X Y ) = X p(x, y) log Y p(x y) und H(Y X ) = X p(x, y) log Y p(y x) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
102 Verbundentropie und bedingte Entropie Zusammenhänge H(X, Y ) = H(X ) + H(Y X ) = H(Y ) + H(X Y ) H(X, Y ) H(X ) + H(Y ) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
103 Übertragungsmodell Sender Quelle X Kanal Empfänger Quelle Y Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
104 Der Symmetrische Binärkanal Quelle X x x -ε ε ε -ε Quelle Y y y Ein simples Beispiel für die Kopplung zweier Quelle ist der symmetrische Binärkanal (Binary Symmetric Channel, BSC) Ein Zeichen x i der Binärquelle X wird mit Fehlerwahrscheinlichkeit ɛ [, 2 ] in y i überführt Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
105 Der Symmetrische Binärkanal Mit Gleichverteilung an den Eingängen gilt für den bedingten Informationsgehalt: und I(y x ) = I(y x ) = log ɛ I(y x ) = I(y x ) = log ɛ Für den wechselseitigen Informationsgehalt eines Paares gilt: I(x ; y ) = I(x ; y ) = log = log( ɛ) Bits 2 ( ɛ) I(x ; y ) = I(x ; y ) = log = log(ɛ) Bits ɛ Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
106 ..75 Bit.5 I(x ; y ) I(y x ) ɛ ɛ = : I(x ; y ) = ; Die Information wird vollständig weitergegeben Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
107 ..75 Bit.5 I(x ; y ) I(y x ) ɛ ɛ = 2 : I(x ; y ) = : Kein Informationsaustausch; X und Y sind unabhängig Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
108 ..75 Bit.5 I(x ; y ) I(y x ) ɛ ɛ = : I(x ; y ) = ; Die Information wird vollständig vertauscht weitergegeben Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
109 Transinformation (mutual information) Definition Die Transinformation zweier diskreten Quellen X und Y gibt die mittlere Informationsgehalt zwischen X und Y an und ist definiert durch I(X; Y ) = X p(y x) p(x, y) log p(y) Y = X p(x y) p(x, y) log p(x) Y Oder auch: I(X; Y ) = p(x, y) log p(x y) log p(x) p(x, y) X } Y {{ } X Y } {{ } H(X Y ) } {{ =p(x) } =H(X ) Analog: I(X; Y ) = H(Y ) H(Y X ) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
110 Transinformation (mutual information) Rückschlussentropie H(X Y) H(X) Transinformation I(X;Y) =H(X)-H(X Y)=H(Y)-H(Y X) H(Y) Streuentropie H(Y X) I(X; Y ) wobei X (X; Y ) = genau dann ist wenn X und Y unabhängig sind Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
111 Kanalkapazität Definition Die Kanalkapazität eines Kanals K ist definiert durch C = max X I(X; Y ) wobei X die speisende Quelle ist und I(X; Y ) über alle möglichen Wahrscheinlichkeitsverteilungen von X maximiert wird. Bemerkung Berechnung der Kanalkapazität ist ein Optimierungsproblem Wähle Wkten p(x) der Quelle X so, dass I(X; Y ) maximal wird unter Nebenbedingungen < p(x) und p(x) = X Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
112 Kanalkapazität des BSC Für den BSC ist H(X Y ) = ɛ log ɛ + ( ɛ) log ɛ (also unabhängig von der Verteilung der Wkten von X) Damit wird I(X; Y ) maximal wenn H(X ) maximal wird (bei Gleichverteilung) ( ) C BSC = ɛ log ɛ + ( ɛ) log ɛ = H({ɛ, ɛ}) Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
113 Kanalkapazität des BSC. C BSC [Bit/Zeichen] ɛ Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
114 Codierung zum Schutz gegen Übertragungsfehler Quelle Störung Kanal Senke Kanaldecodierung Quellendecodierung Quellencodierung Kanalcodierung Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
115 Codierung zum Schutz gegen Übertragungsfehler Qualität einer digitalen Übertragung wird häufig als gemessene Bitfehlerquote bzw. Bitfehlerwahrscheinlichkeit angegeben. Beherrschung von Übertragungsfehlern: Fehlerkorrektur (beim Empfänger), Fehlererkennung und Wiederholungsanforderung. Tradeoff: Wahrscheinlichkeit unentdeckter Fehler vs. Datendurchsatz Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
116 Paritätscodes - Einfach Binär Quelle: Wikipedia Paritätscode der RS232-Schnittstelle. Neunpoliges Kabel ermöglicht die parallele Übertragung von 8 Bit. Dabei werden nur sieben Bits b,... b 7 für die Nachrichtenübertragung genutzt. Das achte Bit b 8 wird Paritätsbit genannt Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
117 Paritätscodes - Einfach Binär Paritätscode der RS232-Schnittstelle. Neunpoliges Kabel ermöglicht die parallele Übertragung von 8 Bit. Dabei werden nur sieben Bits b,... b 7 für die Nachrichtenübertragung genutzt. Das achte Bit b 8 wird Paritätsbit genannt. Wiederholung XOR-Verknüpfung Es wird b 8 so gesendet, dass b 8 = b b 2 b 3 b 4 b 5 b 6 b Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
118 Paritätscodes - Einfach Binär Wiederholung XOR-Verknüpfung Es wird b 8 so gesendet, dass b 8 = b b 2 b 3 b 4 b 5 b 6 b 7. Mit dem Paritätscode werden einfache Fehler im Codewort erkannt. Gleichzeitiger Übertragungsfehler von 2 Fehlern werden nicht erkannt. Falls ein Fehler erkannt wird, kann die ursprüngliche Nachricht nicht rekonstruiert werden: Die Fehlerstelle ist unbekannt Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
119 Kreuzsicherung Dient zum Schutz gegen Doppelfehler Erklärung am Beispiel Lochkarte Paritätszeichen Längsparität Paritätszeichen Querparität Transportrichtung Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
120 Kreuzsicherung Alle,2,3 fachen Fehler sind erkennbar Ab 4 Fehlern nicht zwingend erkennbar Paritätszeichen Längsparität Paritätszeichen Querparität Transportrichtung Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
121 Kreuzsicherung Alle,2,3 fachen Fehler sind erkennbar Ab 4 Fehlern nicht zwingend erkennbar Paritätszeichen Längsparität Paritätszeichen Querparität Transportrichtung Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
122 Kreuzsicherung Alle,2,3 fachen Fehler sind erkennbar Ab 4 Fehlern nicht zwingend erkennbar Paritätszeichen Längsparität Paritätszeichen Querparität Transportrichtung Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
123 Kreuzsicherung Alle,2,3 fachen Fehler sind erkennbar Ab 4 Fehlern nicht zwingend erkennbar Paritätszeichen Längsparität Paritätszeichen Querparität Transportrichtung Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
124 Paritätscodes Paritätscodes Gegeben ein Alphabet Σ = {, 2,..., q }. Ein Code der Länge n zur Basis q sei eine Menge von Folgen mit Elementen aus Σ. Einzelne Folgen werden Codewörter genannt. Ein Paritätscode liegt vor, wenn für jedes Codewort a, a 2,..., a n gilt. (a + a a n ) mod q = Satz: Jeder Paritätscode erkennt Einzelfehler Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
125 Beweis Sei a,..., a n das ursprüngliche Codewort. Annahme: Das i-te Element wurde fehlerhaft als ã i übertragen. Ein Übertragungsfehler liegt vor, wenn (a + a ã i a n ) mod q =. Für das ursprüngliche Codewort gilt: Also (a + a a n ) mod q =. = (a + a ã i a n ) mod q = (a + a a n ) mod q Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
126 Beweis = (a + a ã i a n ) mod q = (a + a a n ) mod q Damit = (a + a ã i a n ) mod q (a + a a n ) mod q = (ã i a i ) mod q Um dies zu erfüllen muss (ã i a i ) durch q teilbar sein. Weil aber a i < q folgt ã i a i < q Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
127 Paritätscodes gegen Vertauschungsfehler Häufige Fehlerart bei manueller Eingabe: Vertauschungsfehler. Diese werden von gewöhnlichen Paritätscodes nicht erkannt. Sei wieder a,..., a n ein Codewort. Paritätscode mit Gewichten: Wir führen zusätzlich ganzzahlige Gewichte w,..., w n ein, so dass (w a + w 2 a w n a n + a n ) mod q = gilt. Zusatzbedingung: Alle Gewichte w i müssen teilerfremd zu q sein Gog, Sanders, Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Informationstheorie INSTITUT FÜR THEORETISCHE KIT 8.2.22 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik INSTITUT
MehrKlausur Informationstheorie und Codierung
Klausur Informationstheorie und Codierung WS 2013/2014 23.01.2014 Name: Vorname: Matr.Nr: Ich fühle mich gesundheitlich in der Lage, die Klausur zu schreiben Unterschrift: Aufgabe A1 A2 A3 Summe Max. Punkte
Mehr2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung
2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0
MehrEinleitung. Kapitel 1
Kapitel 1 Einleitung In diesem Abschnitt geben wir einen kurzen Überblick über den Inhalt der Vorlesung. Wir werden kurz die wesentlichen Probleme erläutern, die wir ansprechen wollen. Wir werden auch
Mehr2.7 Der Shannon-Fano-Elias Code
2.7 Der Shannon-Fano-Elias Code Die Huffman-Codierung ist ein asymptotisch optimales Verfahren. Wir haben auch gesehen, dass sich die Huffman-Codierung gut berechnen und dann auch gut decodieren lassen.
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
MehrGrundlagen der Informationstheorie. Hanna Rademaker und Fynn Feldpausch
Grundlagen der Informationstheorie Hanna Rademaker und Fynn Feldpausch . Thema Informationstheorie geht zurück auf Claude Shannon The Mathematical Theory of Communication beschäftigt sich mit Information
MehrWann sind Codes eindeutig entschlüsselbar?
Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C
MehrEinführung in die Informatik II Aus der Informationstheorie: Datenkompression
Einführung in die Informatik II Aus der Informationstheorie: Datenkompression Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität München Sommersemester 2 2. Juli 2 Copyright 2 Bernd
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.)
MehrEntropie. Um der Begriff der Entropie zu erläutern brauchen wir erst mal einige Definitionen, z.b.
Entropie Grundlegend für das Verständnis des Begriffes der Komprimierung ist der Begriff der Entropie. In der Physik ist die Entropie ein Maß für die Unordnung eines Systems. In der Informationstheorie
MehrWir erinnern uns: Um eine Zufallsvariable mit N verschiedenen, gleichwahrscheinlichen Zuständen binär zu codieren, benötigen wir
Kapitel 3: Entropie Motivation Wir erinnern uns: Um eine Zufallsvariable mit N verschiedenen, gleichwahrscheinlichen Zuständen binär zu codieren, benötigen wir log N Bits log p N Bits Die Information steht
MehrTechnische Informatik - Eine Einführung
Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Technische Informatik - Eine Einführung Darstellung von Zeichen und
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
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
MehrÜbungsaufgaben zur Vorlesung Quellencodierung
Übungsaufgaben zur Vorlesung Quellencodierung Aufgabe 1: Gegeben seien die Verbundwahrscheinlichkeiten zweier diskreter Zufallsvariablen x und y: P(x, y) x 1 = 1 x 2 = 2 x 3 = 3 y 1 = 1 0.1 0.1 0.1 y 2
Mehr(Prüfungs-)Aufgaben zur Codierungstheorie
(Prüfungs-)Aufgaben zur Codierungstheorie 1) Gegeben sei die folgende CCITT2-Codierung der Dezimalziffern: Dezimal CCITT2 0 0 1 1 0 1 1 1 1 1 0 1 2 1 1 0 0 1 3 1 0 0 0 0 4 0 1 0 1 0 5 0 0 0 0 1 6 1 0 1
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Übung 8 Dirk Achenbach 7. Februar 2013 I NSTITUT FÜR K RYPTOGRAPHIE UND S ICHERHEIT KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrGrundbegriffe der Informatik Tutorium 3
Grundbegriffe der Informatik Tutorium 3 Tutorium Nr. 16 Philipp Oppermann 18. November 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrGierige Algorithmen Interval Scheduling
Gierige Algorithmen Interval Scheduling IntervalScheduling(s,f). n length[s] 2. A {} 3. j 4. for i 2 to n do 5. if s[i] f[j] then 6. A A {i} 7. j i 8. return A Gierige Algorithmen Interval Scheduling Beweisidee:
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
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
MehrSeminar 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
MehrÜbungsblatt Nr. 6. Lösungsvorschlag
Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Nico Döttling Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 6 Aufgabe (K) (4 Punkte)
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
MehrKapitel 9: Informationstheorie. 2. Entropie
ZHAW, NT, FS2008, Rumc, Kapitel 9: 2-1 Kapitel 9: Informationstheorie 2. Entropie Inhaltsverzeichnis 2.1. INFORATIONSQUELLEN...2 2.2. INFORATIONSGEHALT...3 2.3. INIALE ANZAHL BINÄRE FRAGEN...5 2.4. ENTROPIE
MehrGrundbegriffe der Informatik Tutorium 5
Grundbegriffe der Informatik Tutorium 5 Tutorium Nr. 32 Philipp Oppermann 13. Januar 2015 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
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
MehrSignale und Codes Vorlesung 4
Signale und Codes Vorlesung 4 Nico Döttling December 6, 2013 1 / 18 2 / 18 Letztes Mal Allgemeine Hamming Codes als Beispiel linearer Codes Hamming Schranke: Obere Schranke für k bei gegebenem d bzw. für
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 7. Dezember 2017 INSTITUT FÜR THEORETISCHE 0 07.12.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
MehrMolekulare Bioinformatik
Molekulare Bioinformatik Wintersemester 203/204 Prof. Thomas Martinetz Institut für Neuro- und Bioinformatik Universität zu Luebeck 07.0.204 Molekulare Bioinformatik - Vorlesung 0 Wiederhohlung Die Entropie
MehrGrundbegrie der Codierungstheorie
Grundbegrie der Codierungstheorie Pia Lackamp 12. Juni 2017 Inhaltsverzeichnis 1 Einleitung 2 2 Hauptteil 3 2.1 Blockcodes............................ 3 2.1.1 Beispiele.......................... 3 2.2
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:
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
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,
MehrLösungsvorschlag 3. Übung Technische Grundlagen der Informatik II Sommersemester 2009
Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag 3. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Aufgabe 3.1: Codierungen a) Vervollständigen Sie folge Tabelle,
MehrCODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005
CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005 1. Das Problem 1.1. Kanalcodierung und Fehlerkorrektur. Wir wollen eine Nachricht über einen digitalen Kanal, der nur 0 oder 1 übertragen kann, schicken.
MehrOptimalcodierung. Thema: Optimalcodierung. Ziele
Optimalcodierung Ziele Diese rechnerischen und experimentellen Übungen dienen der Vertiefung der Kenntnisse im Bereich der Optimalcodierung, mit der die Zeichen diskreter Quellen codiert werden können.
MehrCodierungstheorie Rudolf Scharlau, SoSe 2006 9
Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets
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
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 206 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Organisatorisches Weiterer Ablauf: heute und Donnerstag,
Mehr16 - Kompressionsverfahren für Texte
16 - Kompressionsverfahren für Texte Prof. Dr. S. Albers Kompressionsverfahren für Texte Verlustfreie Kompression Original kann perfekt rekonstruiert werden Beispiele: Huffman Code, Lauflängencodierung,
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
MehrSeite 2 Information = Unsicherheit e Info (e) := - log p(e) Info ( A und B) = Info (A) + Info (B) Definition: = Info (nie eintretendes Ereignis) eines
Seite 1 Georg-August-Universität Göttingen Robert Schaback Zum Begriff der Information in Mathematik und Informatik Seite 2 Information = Unsicherheit e Info (e) := - log p(e) Info ( A und B) = Info (A)
Mehrx x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008
Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 3. November 008 1 / 47 / 47 jede Boolesche Funktion lässt mit,, realisieren wir wollen wir uns jetzt in Richtung Elektrotechnik und
MehrFormale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016
Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 3: Kodierung 1 Motivation 2 Exkurs Grundlagen formaler Sprachen 3 Grundlagen 4 Beispielkodierungen FM2 (WS 2014/15,
MehrInformationstheorie und Codierung. Prof. Dr.-Ing. Lilia Lajmi
Informationstheorie und Codierung Prof. Dr.-Ing. Lilia Lajmi l.lajmi@ostfalia.de Organisatorisches Vorlesung 2 SWS ( 2,5 LP) - Dienstags. 12:00-13:30 Uhr, Raum L122 Unterlagen - Vorlesungsfolien - Übungsaufgaben
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
MehrMathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16
Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16 21. Januar 2016 Definition 8.1 Eine Menge R zusammen mit zwei binären Operationen
MehrEffiziente Algorithmen und Komplexitätstheorie
1 Effiziente lgorithmen und Komplexitätstheorie Vorlesung Thomas Jansen 29.06.2006 2 Burrows-Wheeler-Kompression: Verbesserungen dreischrittiges Kompressionsverfahren Burrows- Wheeler- Transformation Globale
Mehrzu Aufgabe 26: a) A 3 A 2 A 4 A 1 A 5 A 0 A 6
zu ufgabe 6: a) 3 5 6 7 p( ) p( ) p( 3 ) p( ) p( 5 ) p( 6 ) p( 7 ) = p( 3 ) = p( 3 ) = p( 3 ) = p( ) = p( ) = p( ) = p( ) = p( ) = p( ) = p( ) = p( ) = 8 p( ) = p( ) = p( ) = p( ) Lösung: b) binär 8 p(
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
MehrStatistische Methoden in der Sprachverarbeitung
' Statistische Methoden in der Sprachverarbeitung Gerhard Jäger 7. Mai 22 Inforationstheorie Der Entropiebegriff Entropie: Chaos, Unordung, Nicht-Vorhersagbarkeit,... Begriff kot ursprünglich aus der Physik:
MehrÜbung zur Vorlesung Berechenbarkeit und Komplexität
RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein
MehrÜbung zur Vorlesung. Informationstheorie und Codierung
Übung zur Vorlesung Informationstheorie und Codierung Prof. Dr. Lilia Lajmi Juni 25 Ostfalia Hochschule für angewandte Wissenschaften Hochschule Braunschweig/Wolfenbüttel Postanschrift: Salzdahlumer Str.
MehrTheoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme
Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien
MehrAlle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).
8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame
MehrKapitel 2. Suche nach endlich vielen Wörtern. R. Stiebe: Textalgorithmen, Winter 2005/06 113
Kapitel 2 Suche nach endlich vielen Wörtern R. Stiebe: Textalgorithmen, Winter 2005/06 113 Übersicht Aufgabenstellung Gegeben: Text T und eine endliche Menge von Wörtern P = {P 1,..., P r }; Gesucht: alle
MehrAlgorithmische Methoden für schwere Optimierungsprobleme
Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrDie Größe A(n, d) und optimale Codes
Die Größe A(n, d) und optimale Codes Definition Optimaler Code Wir definieren A(n, d) = max{m binärer (n, M, d) Code} Ein (n, M, d)-code heißt optimal, falls M = A(n, d). Bestimmung von A(n, d) ist offenes
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
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"
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15
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 18. März
MehrMathe III. Garance PARIS. Mathematische Grundlagen III. Informationstheorie. 20. Juni /1
Mathematische Grundlagen III Informationstheorie 20 Juni 20 / Informationstheorie Ein Gerüst, um über den Informationsgehalt von (linguistischen) Ereignissen nachzudenken Einige Beispiele für Anwendungen:
MehrEinwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008
Problemseminar Komplexitätstheorie und Kryptographie Martin Huschenbett Student am Institut für Informatik an der Universität Leipzig 30. Oktober 2008 1 / 33 Gliederung 1 Randomisierte Algorithmen und
MehrGreedy Algorithmen. Grundlegendes. Organisatorisches. VL-21: Greedy Algorithmen. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger
Organisatorisches VL-21: Greedy Algorithmen (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen: Tim
MehrWoche 2: Zufallsvariablen
Woche 2: Zufallsvariablen Patric Müller ETHZ WBL 17/19, 24.04.2017 Wahrscheinlichkeit und Statistik Patric Müller WBL 2017 Teil III Zufallsvariablen Wahrscheinlichkeit
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 5. Dezember 2017 INSTITUT FÜR THEORETISCHE 0 05.12.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
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
MehrProf. Dr. Stefan Weinzierl Audiosymbole mit einer Länge von 8 bit werden mit einem Paritätsbit zur Fehlererkennung kodiert.
Audiotechnik II Digitale Audiotechnik: 8. Tutorium Prof. Dr. Stefan Weinzierl 9.2.23 Musterlösung: 9. Dezember 23, 8:34 Fehlerkorrektur II Audiosymbole mit einer Länge von 8 bit werden mit einem Paritätsbit
MehrEinführung in die Codierungstheorie
Einführung in die Codierungstheorie Monika König 11.12.2007 Inhaltsverzeichnis 1 Einführung und Definitionen 2 2 Fehlererkennende Codes 3 2.1 Paritycheck - Code............................... 3 2.2 Prüfziffersysteme................................
Mehr5. Woche Perfekte und Optimale Codes, Schranken. 5. Woche: Perfekte und Optimale Codes, Schranken 88/ 142
5 Woche Perfekte und Optimale Codes, Schranken 5 Woche: Perfekte und Optimale Codes, Schranken 88/ 142 Packradius eines Codes (Wiederholung) Definition Packradius eines Codes Sei C ein (n, M, d)-code Der
MehrProseminar Datenkompression Universelles Codieren ganzer Zahlen
Proseminar Datenkompression Universelles Codieren ganzer Zahlen Marcel Heinz, Sebastian Leuoth 17. Januar 2003 Inhaltsverzeichnis 1 Ziel 2 2 Vorbemerkungen 2 2.1 Verwendete Symbole und Begriffe.......................
MehrKodierungsalgorithmen
Kodierungsalgorithmen Komprimierung Verschlüsselung Komprimierung Zielsetzung: Reduktion der Speicherkapazität Schnellere Übertragung Prinzipien: Wiederholungen in den Eingabedaten kompakter speichern
MehrStochastik I. Vorlesungsmitschrift
Stochastik I Vorlesungsmitschrift Ulrich Horst Institut für Mathematik Humboldt-Universität zu Berlin Inhaltsverzeichnis 1 Grundbegriffe 1 1.1 Wahrscheinlichkeitsräume..................................
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
MehrBinary Decision Diagrams (Einführung)
Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von
MehrKodierung und Sicherheit
Skript zur Vorlesung: Kodierung und Sicherheit 0000 00000 000 0000 0000 000 00 000 Wintersemester 2004-2005 Dr. Andreas Jakoby Institut für Theoretische Informatik Universität zu Lübeck Inhaltsverzeichnis
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.
Mehr2. Digitale Codierung und Übertragung
2. Digitale Codierung und Übertragung 2.1 Informationstheoretische Grundlagen 2.2 Verlustfreie universelle Kompression 2.3 Digitalisierung, Digitale Medien Weiterführende Literatur zum Thema Informationstheorie:
MehrEffiziente Algorithmen 2
Effiziente Algorithmen 2 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 Algorithmen
Mehr5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)
5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Datenstruktur BDD 2 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer:
MehrÜbungsblatt Nr. 7. Lösungsvorschlag
Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Nico Döttling Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 7 svorschlag Aufgabe (K)
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 25. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 25.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
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
MehrLaufzeit einer DTM, Klasse DTIME
Laufzeit einer DTM, Klasse DTIME Definition Laufzeit einer DTM Sei M eine DTM mit Eingabealphabet Σ, die bei jeder Eingabe hält. Sei T M (w) die Anzahl der Rechenschritte d.h. Bewegungen des Lesekopfes
MehrCodierungstheorie Teil 1: Fehlererkennung und -behebung
Codierungstheorie Teil 1: Fehlererkennung und -behebung von Manuel Sprock 1 Einleitung Eine Codierung ist eine injektive Abbildung von Wortmengen aus einem Alphabet A in über einem Alphabet B. Jedem Wort
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00
MehrDie Mathematik in der CD
Lehrstuhl D für Mathematik RWTH Aachen Lehrstuhl D für Mathematik RWTH Aachen St.-Michael-Gymnasium Monschau 14. 09. 2006 Codes: Definition und Aufgaben Ein Code ist eine künstliche Sprache zum Speichern
MehrModul Diskrete Mathematik WiSe 2011/12
Modul Diskrete Mathematik WiSe / Ergänzungsskript zum Kapitel 3.4. Hinweis: Dieses Manuskript ist nur verständlich und von Nutzen für Personen, die regelmäßig und aktiv die zugehörige Vorlesung besuchen
MehrPraktikum Digitaltechnik
dig A) Vorbereitungsaufgaben: 1) Ermitteln Sie anhand der gegebenen zwei Blockschaltbilder die Schaltgleichungen und vereinfachen Sie weitmöglich! y 1 =(/(/(x 0 x 1 )/(x 0 +x 1 )))+(/(/(x 0 x 1 )+/(x 0
MehrMehrwegbäume Motivation
Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung
Mehr(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.
(a, b)-bäume / 1. Szenario: Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. Konsequenz: Kommunikation zwischen Hauptspeicher und Festplatte - geschieht nicht Byte für Byte,
MehrUniversität Basel Wirtschaftswissenschaftliches Zentrum. Zufallsvariablen. Dr. Thomas Zehrt
Universität Basel Wirtschaftswissenschaftliches Zentrum Zufallsvariablen Dr. Thomas Zehrt Inhalt: 1. Einführung 2. Zufallsvariablen 3. Diskrete Zufallsvariablen 4. Stetige Zufallsvariablen 5. Erwartungswert
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
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
Mehr