Informatik II, SS 2018

Größe: px
Ab Seite anzeigen:

Download "Informatik II, SS 2018"

Transkript

1 Informatik II - SS 28 (Algorithmen & Datenstrukturen) Vorlesung 22 (6.7.28) Greedy Algorithmen II (Datenkompression) Algorithmen und Komplexität

2 Datenkompression Reduziert Größen von Files Viele Verfahren für unterschiedliche Anwendungen: MP3, MPEG, JPEG, Wie funktioniert Datenkompression? Zwei Typen von Kompression: Verlustbehaftete Kompression (Bilder, Musik, Filme, ) Verlustfreie Kompression (Programme, Texte, ) 2

3 Beispiel: Alphabet S={a,b,c,d,,x,y,z,,.,:,!,?,&} (32 Zeichen) 5 Bits pro Symbol: 2 5 = 32 Möglichkeiten a b z. :!? & Fragen? Sind 4 Bits pro Symbol nicht genug? Müssen wir im Durchschnitt 5 Bits für jedes Vorkommen eines Symbols in langen Texten verwenden? 3

4 Beobachtung: Nicht jeder Buchstabe kommt gleich häufig vor z. B. kommen x, y und z in der deutschen Sprache viel seltener vor als e, n oder r Idee: Benutze kurze Bitstrings für Symbole die häufig vorkommen Effekt: Gesamtlänge der Kodierung einer Symbolfolge (eines Textes) wird reduziert 4

5 Präfix-Kodierung: Eine Präfix-Kodierung für ein Alphabet S ist eine Funktion g, die jeden Buchstaben x S auf eine endliche Sequenz von und abbildet, so dass für x,y S, x y, die Sequenz g(x) kein Präfix der Sequenz g(y) ist. Beispiel (Präfix-Kodierung): x S g(x) 5

6 Definition (Frequenz) Die Frequenz f[x] eines Buchstaben x S bezeichnet den Bruchteil der Buchstaben im Text, die x sind. Beispiel: S = {,,2} Text = 22 ( Zeichen) f[] = 3/5 f[] = /5 f[2] = /5 6

7 Definition (Kodierungslänge) Die Kodierungslänge eines Textes mit n Zeichen bzgl. einer Kodierung g ist definert als Kodierungslänge = n f x γ x Beispiel: x X S = {a,b,c,d} g(a) = ; g(b) =; g(c)= ; g(d)= Text = aacdaabb Kodierungslänge = 6 7

8 Definition (durchschn. Kodierungslänge) Die durchschnittliche Kodierungslänge eines Buchstabens in einem Text mit n Zeichen und bzgl. einer Kodierung g ist definiert als ABL γ = f x γ x x Σ Beispiel: Average Bits per Letter S = {a,b,c,d} g(a) = ; g(b) =; g(c)= ; g(d)= Text = aacdaabb Durchschnittliche Kodierungslänge = 6/8 = 2 8

9 Problem einer optimalen Präfix-Kodierung: Eingabe: Alphabet S und für jedes x S seine Frequenz f[x] Ausgabe: Eine Präfix-Kodierung g, die ABL(g) minimiert 9

10 Binärbäume und Präfix-Kodierungen: x S g(x) a b a b c d c d

11 Präfix-Kodierungen und Binärbäume: x S g(x) a b c d c b d a

12 Definition: Die Tiefe eines Baumknotens ist die Länge seines Pfades zur Wurzel. b a d c Tiefe(c) = 3 2

13 Neue Problemformulierung: Suche Binärbaum T, dessen Blätter die Symbole aus S sind und der minimiert. ABL T = x X f x Tiefe T x 3

14 Definition: Ein Binärbaum heißt voll, wenn jeder innere Knoten genau zwei Kinder hat. b a d c Ein voller Binärbaum 4

15 Definition: Ein Binärbaum heißt voll, wenn jeder innere Knoten genau zwei Kinder hat. b a d Ein nicht voller Binärbaum, da der rote innere Knoten keine zwei Kinder hat 5

16 Lemma: Der Binärbaum, der einer optimalen Präfix-Kodierung entspricht, ist voll. b d a 6

17 Lemma: Der Binärbaum, der einer optimalen Präfix-Kodierung entspricht, ist voll. d Greedy Algorithmen Datenkompression a b Beweis: Annahme: T ist optimal und hat inneren Knoten u mit einem Kind v Ersetze u durch v Dies verkürzt die Tiefe einiger Knoten, erhöht aber keine Tiefe Damit verbessert man die Kodierung 7

18 Lemma: Der Binärbaum, der einer optimalen Präfix-Kodierung entspricht, ist voll. d v Greedy Algorithmen Datenkompression a b Beweis: Annahme: T ist optimal und hat inneren Knoten u mit einem Kind v Ersetze u durch v Dies verkürzt die Tiefe einiger Knoten, erhöht aber keine Tiefe Damit verbessert man die Kodierung 8

19 Ein Gedankenexperiment: Angenommen, jemand gibt uns den optimalen Baum T*, aber nicht die Bezeichnung der Blätter Wie schwierig ist es, die Bezeichnungen zu finden? 9

20 Lemma: Seien u und v Blätter von T* mit Tiefe(u) < Tiefe(v). Seien u bzw. v in einer optimalen Kodierung mit y S bzw. z S bezeichnet. Dann gilt f[y] f[z]. u y v z 2

21 Lemma: Seien u und v Blätter von T* mit Tiefe(u) < Tiefe(v). Seien u bzw. v in einer optimalen Kodierung mit y S bzw. z S bezeichnet. Dann gilt f[y] f[z]. x S f[x] a % b 2% c 8% d 6% 2

22 Beobachtung Greedy Algorithmen Datenkompression Sei v der tiefste Blattknoten in T*. Dann hat v einen Geschwisterknoten und dieser ist ebenfalls ein Blattknoten. d c a w (Geschwisterknoten von v) b v 22

23 Zusammenfassende Behauptung Es gibt eine optimale Präfix-Kodierung mit zugehörigem Baum T*, so dass die beiden Blattknoten, denen die Symbole mit den kleinsten Frequenzen zugewiesen wurden, Geschwisterknoten in T* sind. x S f[x] a % c d b 2% c 8% d 6% a b 23

24 Idee des Algorithmus: Die beiden Symbole y* und z* mit den niedrigsten Frequenzen sind Geschwisterknoten Fasse y* und z* zu einem neuen Symbol zusammen Löse das Problem für die übrigen n- Symbole (z.b. rekursiv) y* z* 24

25 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} 9. return deletemin(q) x S f[x] a 23% b 2% c 55% d % 25

26 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} 9. return deletemin(q) x S f[x] a 23% b 2% c 55% d % 26

27 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} 9. return deletemin(q) x S f[x] a 23% b 2% c 55% d % Q: % 2% 23% 55% 27

28 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} 9. return deletemin(q) i= x S f[x] a 23% b 2% c 55% d % Q: % 2% 23% 55% 28

29 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} x: 9. return deletemin(q) i= x S Q: 2% 23% 55% % f[x] a 23% b 2% c 55% d % 29

30 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} x: 9. return deletemin(q) y: i= Q: 23% 55% % 2% x S f[x] a 23% b 2% c 55% d % 3

31 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} z: 9. return deletemin(q) i= Q: 23% 55% 22% x S % 2% f[x] a 23% b 2% c 55% d % 3

32 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} z: 9. return deletemin(q) i= Q: 23% 55% 22% x S % 2% f[x] a 23% b 2% c 55% d % 32

33 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} 9. return deletemin(q) i= x S f[x] a 23% b 2% c 55% d % Q: 22% 23% 55% % 2% 33

34 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} 9. return deletemin(q) i=2 x S f[x] a 23% b 2% c 55% d % Q: 22% 23% 55% % 2% 34

35 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} x: 9. return deletemin(q) i=2 Q: 23% 55% 22% % 2% x S f[x] a 23% b 2% c 55% d % 35

36 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} 9. return deletemin(q) Q: i=2 55% x S x: 22% y: % 2% f[x] a 23% b 2% c 55% d % 23% 36

37 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) Q: 7. f[z] f[x] + f[y] z: 8. Q Q {z} 9. return deletemin(q) i=2 55% 22% % 2% x S 45% f[x] a 23% b 2% c 55% d % 23% 37

38 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] z: 8. Q Q {z} 9. return deletemin(q) Q: i=2 55% 22% % 2% x S 45% f[x] a 23% b 2% c 55% d % 23% 38

39 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} 9. return deletemin(q) i=2 x S f[x] a 23% b 2% c 55% d % Q: 45% 55% 22% % 2% 23% 39

40 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} 9. return deletemin(q) i=3 x S f[x] a 23% b 2% c 55% d % Q: 45% 55% 22% % 2% 23% 4

41 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) Q: 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} 9. return deletemin(q) i=3 55% x: 22% % 2% x S 45% f[x] a 23% b 2% c 55% d % 23% 4

42 % 2% x S a 23% Huffman(S). n S b 2% 2. Q S /* Priority Queue bzgl. f[x] */ c 55% 3. for i to n- do i=3 d % 4. x deletemin(q) 5. y deletemin(q) Q: 6. z new BinTree(x, f[x]+f[y],y) x: y: 7. f[z] f[x] + f[y] 8. Q Q {z} 22% 23% 9. return deletemin(q) f[x] 45% 55% 42

43 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) Q: 6. z new BinTree(x, f[x]+f[y],y) z: 7. f[z] f[x] + f[y] 8. Q Q {z} 9. return deletemin(q) 22% i=3 % 2% x S f[x] a 23% b 2% c 55% d % 45% 55% 23% % 43

44 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) Q: 6. z new BinTree(x, f[x]+f[y],y) z: 7. f[z] f[x] + f[y] 8. Q Q {z} 9. return deletemin(q) 22% i=3 % 2% x S f[x] a 23% b 2% c 55% d % 45% 55% 23% % 44

45 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} 9. return deletemin(q) Q: 22% i=3 % 2% x S f[x] a 23% b 2% c 55% d % 45% 55% 23% % 45

46 Huffman(S). n S 2. Q S /* Priority Queue bzgl. f[x] */ 3. for i to n- do 4. x deletemin(q) 5. y deletemin(q) 6. z new BinTree(x, f[x]+f[y],y) 7. f[z] f[x] + f[y] 8. Q Q {z} 9. return deletemin(q) Q: 22% i=3 % 2% x S f[x] a 23% b 2% c 55% d % 45% 55% 23% % 46

47 Theorem Der Huffman(S)-Alg. berechnet eine optimale Präfix-Kodierung. 47

48 Theorem Der Huffman(S)-Alg. berechnet eine optimale Präfix-Kodierung. 48

49 Optimale durchschn. Codewortlänge Was ist die durchschnittliche Codewortlänge der Huffman-Codierung? Zur Einfachheit nehmen wir an, dass alle Frequenzen (rel. Häufigkeiten) von der Form Τ2 k sind 49

50 Optimale durchschn. Codewortlänge Beobachtung: Falls alle Frequenzen von der Form Τ 2 k sind und /2 k min die kleinste Frequenz ist, dann hat es mindestens zwei Zeichen mit Frequenz /2 k min. 5

51 Optimale durchschn. Codewortlänge Lemma: Falls alle Frequenzen von der Form Τ 2 k sind, dann hat ein Zeichen mit Frequenz /2 k ein Codewort der Länge genau k. 5

52 Optimale durchschn. Codewortlänge Durchschnittliche Codewortlänge eines Huffman-Codes Annahme: Alle Frequenzen von der Form Τ2 k 52

53 Entropie Häufigkeitsverteilung / Wahrscheinlichkeitsvert. p x Elemente X, Element x X hat Frequenz p x Entropie H X H X p x log 2 p x x X Untere Schranke für die optimale durchschn. Codewortlänge Im Grenzwert (genug lange Zeichenketten) kann man mit durschn. Codewortlänge H X codieren Idee: Für genug grosses (konstantes) k, bestimme Codewort für jedes k-tupel von Zeichen aus X Verwende Huffman-Codierung 53

54 The End 54

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 22 (20.7.2016) Greedy Algorithmen - Datenkompression Algorithmen und Komplexität Greedy Algorithmen Greedy Algorithmen sind eine Algorithmenmethode,

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität Gierige Algorithmen: Berechne Lösung schrittweise In jedem Schritt mache lokal optimale Wahl Daumenregel: Wenn optimale Lösung

Mehr

Gierige Algorithmen Interval Scheduling

Gierige 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:

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 21 (11.7.2018) String Matching (Textsuche) II Greedy Algorithmen I Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei

Mehr

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

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 581 21. Greedy Algorithmen Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 Aktivitäten Auswahl 582 Koordination von Aktivitäten, die gemeinsame Resource exklusiv

Mehr

Übersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen

Übersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Übersicht Greedy Algorithmen Einführung Aktivitäten-Auswahl-Problem Huffman Codierung Matthias Zwicker Universität Bern Frühling 2009 2 Greedy Algorithmen Entwurfsstrategie

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit

Mehr

Effiziente Algorithmen und Komplexitätstheorie

Effiziente Algorithmen und Komplexitätstheorie Fakultät für Informatik Lehrstuhl 2 Vorlesung Effiziente Algorithmen und Komplexitätstheorie Sommersemester 2008 Ingo Wegener; Vertretung: Carsten Witt 7. Juli 2008 Vorlesung am 14.07. (nächste Woche):

Mehr

21. Dynamic Programming III

21. Dynamic Programming III Approximation 21. Dynamic Programming III FPTAS [Ottman/Widmayer, Kap. 7.2, 7.3, Cormen et al, Kap. 15,35.5] Sei ein ε (, 1) gegeben. Sei I eine bestmögliche Auswahl. Suchen eine gültige Auswahl I mit

Mehr

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

Einfü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

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann 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

Mehr

Referat zum Thema Huffman-Codes

Referat 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

2. 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 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

Einleitung. Kapitel 1

Einleitung. 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

Mehr

Kapitel 7: Optimalcodierung und Huffman Coding

Kapitel 7: Optimalcodierung und Huffman Coding Kapitel 7: codierung und Huffman Coding Ziele des Kapitels Auftreten von Fehlern bei zu starker Kompression Konstruktion optimaler Codes Huffman Coding 2 Bisher Theorem (Shannon I): Die mittlere Codewortlänge

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 31. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 31. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 3..29 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Thema dieses Kapitels Informationstheorie

Mehr

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Wintersemester 2012/13. Dr. Tobias Lasser. 7 Fortgeschrittene Datenstrukturen

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Wintersemester 2012/13. Dr. Tobias Lasser. 7 Fortgeschrittene Datenstrukturen Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 202/3 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 7 Fortgeschrittene Datenstrukturen 8 Such-Algorithmen

Mehr

16 - Kompressionsverfahren für Texte

16 - 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,

Mehr

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

3 Codierung diskreter Quellen. Quelle Quellcodierer Kanalcodierer reduziert die benötigte Datenmenge. fügt Daten zur Fehlerkorrektur ein. 3 Codierung diskreter Quellen 3 Einführung 32 Ungleichmäßige Codierung 33 Präfix-Codes 34 Grenzen der Code-Effizienz 35 Optimal-Codierung 3 Zusammenfassung < 24 / 228 > 3 Codierung diskreter Quellen Quelle

Mehr

Kompressionsverfahren für Texte

Kompressionsverfahren für Texte Kompressionsverfahren für Texte Prof. Dr. S. Albers Prof. Dr. Th. Ottmann 1 Zeichenkettenverarbeitung Suche in Texten, Textindizes Mustererkennung (Pattern-Matching) Verschlüsseln Komprimiern Analysieren

Mehr

Mathematik für Information und Kommunikation

Mathematik für Information und Kommunikation Mathematik für Information und Kommunikation Am Beispiel des Huffman- Algorithmus Thomas Borys und (Christian Urff) Huffman im Alltag MPEG Telefax JPEG MP3 ZIP avid Huffman avid Huffman [95-999] www.soe.ucsc.edu/people/faculty/huffman.html

Mehr

Greedy Algorithmen. Grundlegendes. Organisatorisches. VL-21: Greedy Algorithmen. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger

Greedy 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

Mehr

Definition Information I(p)

Definition Information I(p) Definition Information I(p) Definition I(p) Die Information I(p) eines Symbols mit Quellws p > 0 ist definiert als I(p) = log 1 p. Die Einheit der Information bezeichnet man als Bit. DiMa II - Vorlesung

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen 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,

Mehr

Kompression. Tim Kilian

Kompression. Tim Kilian Kompression Tim Kilian Seminar Effiziente Programmierung Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg

Mehr

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut

Datenkompression. 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,

Mehr

Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung

Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung Huffman-Codierung, arithmetische Codierung Theoretische Informatik RWTH-Aachen 4. April 2012 Übersicht 1 Einführung 2 3 4 5 6 Einführung Datenkompression Disziplin,die Kompressionsalgorithmen entwirft

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine

Mehr

Codierung, Codes (variabler Länge)

Codierung, 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

Mehr

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2013/14

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2013/14 Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2013/14 Vorname Nachname Matrikelnummer Hinweise Für die

Mehr

h = 1 7 ( ) = 21 7 = 3

h = 1 7 ( ) = 21 7 = 3 Zur mittleren Höhe von Binärbäumen mittlere Höhe von Binärbäumen Entropie gewichtete mittlere Höhe von Binärbäumen Quellcodierung, Datenkompression Shannons Theorem optimale Quellcodierung (Huffman) wobei

Mehr

Informatik II, SS 2014

Informatik 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

Grundlagen der Technischen Informatik. 3. Übung

Grundlagen der Technischen Informatik. 3. Übung Grundlagen der Technischen Informatik 3. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 3. Übungsblatt Themen Aufgabe : Aufgabe 2: Aufgabe 3: Informationstheorie Huffman-Code Entropie

Mehr

Übungsblatt 5 - Musterlösung

Übungsblatt 5 - Musterlösung Universität Mannheim Lehrstuhl für Praktische Informatik IV Prof. Dr. W. Effelsberg Christoph Kuhmünch, Gerald Kühne Praktische Informatik II SS 2000 Übungsblatt 5 - Musterlösung Aufgabe 1: Huffman-Codierung

Mehr

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Alle 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

Mehr

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13 Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13 Vorname Nachname Matrikelnummer Hinweise Für

Mehr

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

6. Komprimierung. (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger Komprimierung 6. Komprimierung (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger Platz brauchen Motivation: beschleunigt Plattenzugriffe oder Datenübertragungen Voraussetzung:

Mehr

Grundbegriffe der Informatik Tutorium 3

Grundbegriffe 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

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 6 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 16. Mai 2018 [Letzte Aktualisierung: 18/05/2018,

Mehr

Molekulare Bioinformatik

Molekulare 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

Mehr

Proseminar Datenkompression Suchstrategien und Präfixcodes

Proseminar Datenkompression Suchstrategien und Präfixcodes Proseminar Datenkompression Suchstrategien und Präfixcodes Patrick Sonntag Mittwoch, den 05.02.2003 I. Einführung - Suche elementares Problem in Informatik - hierbei Beschränkung auf binäre Tests nur 2

Mehr

Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert.

Problem: 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

Mehr

2.7 Der Shannon-Fano-Elias Code

2.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.

Mehr

15 Optimales Kodieren

15 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

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen 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

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 11 (1.6.2016) Binäre Suchbäume III Algorithmen und Komplexität Tiefe eines binären Suchbaums Worst-Case Laufzeit der Operationen in binären

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 17 (8.7.2014) Minimale Spannbäume II Union Find, Prioritätswarteschlangen Algorithmen und Komplexität Minimaler Spannbaum Gegeben: Zus. hängender,

Mehr

Grundbegriffe der Informatik Tutorium 5

Grundbegriffe 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

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 24. April 2019 [Letzte Aktualisierung: 24/04/2019,

Mehr

RLE Arithm. Shannon Fano Huffman Grenzen. Komprimierung. Ingo Blechschmidt, Michael Hartmann. 6. Dezember 2006

RLE Arithm. Shannon Fano Huffman Grenzen. Komprimierung. Ingo Blechschmidt, Michael Hartmann. 6. Dezember 2006 RLE Arithm. Shannon Fano Huffman Grenzen Ingo Blechschmidt, Michael Hartmann 6. Dezember 2006 RLE Arithm. Shannon Fano Huffman Grenzen Inhalt 1 Lauflängenkodierung 2 Arithmetische Kodierung 3 Shannon Fano-Kodierung

Mehr

Definition Information I(p)

Definition Information I(p) Definition Information I(p) Definition I(p) Die Information I(p) eines Symbols mit Quellws p > 0 beträgt I(p) = log 1 p. Die Einheit der Information bezeichnet man als Bit. DiMa II - Vorlesung 03-05.05.2009

Mehr

Informationsgehalt einer Nachricht

Informationsgehalt einer Nachricht Informationsgehalt einer Nachricht Betrachten folgendes Spiel Gegeben: Quelle Q mit unbekannten Symbolen {a 1, a 2 } und p 1 = 0.9, p 2 = 0.1. Zwei Spieler erhalten rundenweise je ein Symbol. Gewinner

Mehr

Aufgabe: Platz-effiziente Kompression von Textdaten

Aufgabe: Platz-effiziente Kompression von Textdaten 7.3 Huffman-Bäume Anwendung von Binärbäumen Aufgabe: Platz-effiziente Kompression von Textdaten Standardcodierungen von Textdaten ISO-8859-1: 8 Bit pro Zeichen UTF-16: 16 Bit pro Zeichen Codierungen mit

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Informationen zur Klausur Termin: 21. Februar 2013,

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 20 (9.7.2018) String Matching (Textsuche) Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 1 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 11. April 2018 [Letzte Aktualisierung: 11/04/2018,

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

Polygontriangulierung

Polygontriangulierung Vorlesung Algorithmische Geometrie Polygone triangulieren LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 26.04.2011 Das Kunstgalerie-Problem

Mehr

Dynamisches Huffman-Verfahren

Dynamisches 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

Mehr

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Gierige Algorithmen Michael Baer Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Einführung Definition Verwendung und Grenzen Abgrenzung zur DP

Mehr

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:

Mehr

Tutorium 23 Grundbegriffe der Informatik (6. Sitzung)

Tutorium 23 Grundbegriffe der Informatik (6. Sitzung) Tutorium 23 Grundbegriffe der Informatik (6. Sitzung) Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum Karlsruhe GmbH and Universität

Mehr

Praktikum BKSPP: Blatt 2

Praktikum BKSPP: Blatt 2 Praktikum BKSPP: Blatt 2 PD Dr. David Sabel WS 2014/15 Zeichenbasierte Komprimierung Stringersatzverfahren Codebäume Huffman-Kodierung Zeichenbasierte Komprimierung mit Codebäumen Idee: Kodiere jedes Zeichen

Mehr

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1

Mehr

Vorlesung 12. Quellencodieren und Entropie

Vorlesung 12. Quellencodieren und Entropie Vorlesung 12 Quellencodieren und Entropie 1 S sei eine abzählbare Menge (ein Alphabet ). Die Elemente von S nennen wir Buchstaben. Wir wollen die Buchstaben a, b,... durch (möglichst kurze) 01-Folgen k(a),

Mehr

6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N. 6.1 von wörtern zu zahlen und zurück Dezimaldarstellung von Zahlen Num 10

6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N. 6.1 von wörtern zu zahlen und zurück Dezimaldarstellung von Zahlen Num 10 6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N 6.1 von wörtern zu zahlen und zurück 6.1.1 Dezimaldarstellung von Zahlen Num 10 Num10(ε) = 0 (6.1) für jedes w Z 10 für jedes x Z 10 Num 10 (wx)

Mehr

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

3. Woche Information, Entropie. 3. Woche: Information, Entropie 45/ 238 3 Woche Information, Entropie 3 Woche: Information, Entropie 45/ 238 Informationsgehalt einer Nachricht Intuitiv: Je kleiner die Quellws, desto wichtiger oder strukturierter die Information, bzw höher

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 15b (13.06.2018) Graphenalgorithmen IV Algorithmen und Komplexität Prims MST-Algorithmus A = while A ist kein Spannbaum do e = u, v ist

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Übung zur Vorlesung Algorithmische Geometrie

Übung zur Vorlesung Algorithmische Geometrie Übung zur Vorlesung Algorithmische Geometrie Dipl.-Math. Bastian Rieck Arbeitsgruppe Computergraphik und Visualisierung Interdisziplinäres Zentrum für Wissenschaftliches Rechnen 8. Mai 2012 B. Rieck (CoVis)

Mehr

Strings. Stringsuche, Boyer-Moore, Textkompression, Huffman Codes.

Strings. Stringsuche, Boyer-Moore, Textkompression, Huffman Codes. Strings Stringsuche, Boyer-Moore, Textkompression, Huffman Codes. Suche Substring Häufiges Problem Relevante Beispiele: Suche ein Schlagwort in einem Buch Alphabet: A-Za-z0-9 Suche Virussignatur auf der

Mehr

Textkompression. Komprimierung von Daten. Runlength Komprimierung (2) Runlength Komprimierung (1) Herkömmliche Kodierung. Runlength Komprimierung (3)

Textkompression. Komprimierung von Daten. Runlength Komprimierung (2) Runlength Komprimierung (1) Herkömmliche Kodierung. Runlength Komprimierung (3) Komprimierung von Daten Textkompression Effiziente Algorithmen VU 2.0 WS 2008/09 Bin Hu Ziel: Platz und Zeit sparen Kompression durch - Effiziente Kodierung - Verminderung der Redundanzen (verlustfrei)

Mehr

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 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

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: 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

Mehr

Polygontriangulierung

Polygontriangulierung Übung Algorithmische Geometrie Polygontriangulierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann 07.05.204 Ablauf Vergabe der Projekte Übungsblatt

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 21 (29.7.2014) String Matching (Textsuche) II Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)

Mehr

Digitale Medien. Übung

Digitale Medien. Übung Digitale Medien Übung Übungsbetrieb Informationen zu den Übungen: http://www.medien.ifi.lmu.de/dm Zwei Stunden pro Woche Praktische Anwendungen des theoretischen Vorlesungsstoffs Wichtige Voraussetzung

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Informationstheorie Vorlesungen vom 30. Januar und 1. Februar 2018 INSTITUT FÜR THEORETISCHE 0 30.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik

Mehr

Vorlesung 15a. Quellencodieren und Entropie

Vorlesung 15a. Quellencodieren und Entropie Vorlesung 15a Quellencodieren und Entropie 1 1. Volle Binärbäume als gerichtete Graphen und die gewöhnliche Irrfahrt von der Wurzel zu den Blättern 2 3 ein (nicht voller) Binärbaum Merkmale eines Binärbaumes:

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 5. Vorlesung Uwe Quasthoff Abteilung Automatische Sprachverarbeitung Institut für Informatik Universität Leipzig 9. Mai 2012 1 / 35 Datenkompression Bisheriges Hauptziel

Mehr

So lösen Sie die algebraische Gleichung der komplexen Ebene (weiblich)

So lösen Sie die algebraische Gleichung der komplexen Ebene (weiblich) Klausur Theoretische Informatik Herbst 2005 Aufgabe 1-1. (4 Punkte) Semi- Thue-Systeme Gegeben seien Zeichenketten der Form < a > A < /a >, < /a >< a > A < a >, usw. über dem Alphabet {, A, a, /}.

Mehr

Kap. 3ff: Untere Laufzeitschranke und Lineare Verfahren

Kap. 3ff: Untere Laufzeitschranke und Lineare Verfahren Kap. 3ff: Untere Laufzeitschranke und Lineare Verfahren Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 8. VO DAP2 SS 2009 12. Mai 2009 1 1. Übungstest Termin:

Mehr

Motivation Überblick

Motivation Überblick Kap. ff: Untere Laufzeitschranke und Lineare Verfahren Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund 8. VO DAP SS 009. Mai 009. Übungstest Termin: Di 9. Mai

Mehr

Digitaltechnik I WS 2006/2007. Klaus Kasper

Digitaltechnik I WS 2006/2007. Klaus Kasper Digitaltechnik I WS 2006/2007 Klaus Kasper Studium 6 Semester 5. Semester: Praxissemester im Anschluss: Bachelorarbeit 6. Semester: WPs Evaluation der Lehre Mentorensystem 2 Organisation des Studiums Selbständigkeit

Mehr

Proportional Symbol Maps

Proportional Symbol Maps Vorlesung Algorithmische Kartografie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann Martin Nöllenburg 25.06.2015 1 Statistische Visualisierung

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung 17.11.2006 schindel@informatik.uni-freiburg.de 1 Prinzip des Kellerautomats Push-Down-Automaton (PDA) Ein Kellerautomat vereinigt

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 20 (13.7.2016) String Matching (Textsuche) Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)

Mehr

1. Vordiplom D-INFK Prüfung Informatik I + II 2. Oktober 2003

1. Vordiplom D-INFK Prüfung Informatik I + II 2. Oktober 2003 Eidgenössische Technische Hochschule Zürich Institut für Theoretische Informatik Peter Widmayer Jörg Derungs Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology

Mehr

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

Datenkompression. Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg Vortrag am 25. Januar 200 Werner von Siemens Gymnasium Magdeburg Zeitansatz: 5h (inklusive Programmieraufgaben) Datenkompression Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Präsenzübung Musterlösung Dienstag, 28.05.2013 Aufgabe 1 (Allgemeine Fragen [20 Punkte]) 1. Tragen Sie in der folgenden Tabelle die Best-, Average- und Worst-Case-

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein

Mehr

Effiziente Algorithmen und Komplexitätstheorie

Effiziente 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

Mehr

Effiziente Algorithmen

Effiziente Algorithmen Effiziente Algorithmen Greedy-Algorithmen Vorlesender: Martin Aumüller (nach Folien von Prof. Martin Dietzfelbinger) Mai 202 FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 202 Kapitel 3: Greedy-Algorithmen

Mehr

Lösungsvorschläge Blatt 4

Lösungsvorschläge Blatt 4 Theoretische Informatik Departement Informatik Prof. Dr. Juraj Hromkovič http://www.ita.inf.ethz.ch/theoinf16 Lösungsvorschläge Blatt 4 Zürich, 21. Oktober 2016 Lösung zu Aufgabe 10 (a) Wir zeigen mit

Mehr

Technische Universität München. Fakultät für Informatik. Huffman-Codierung. Proseminar im Rahmen der Vorlesung. Perlen der Informatik.

Technische Universität München. Fakultät für Informatik. Huffman-Codierung. Proseminar im Rahmen der Vorlesung. Perlen der Informatik. Technische Universität München Fakultät für Informatik Huffman-Codierung Proseminar im Rahmen der Vorlesung Perlen der Informatik Thema: Huffman-Codierung von: Martin Klenk gehalten am: 10. Juli 2008 Betreuer:

Mehr

Allgemeines Halteproblem Hilberts 10. Problem

Allgemeines Halteproblem Hilberts 10. Problem Allgemeines Halteproblem Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Reduktion / Hilberts 10. Problem

Reduktion / Hilberts 10. Problem Reduktion / Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 9. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr