h = 1 7 ( ) = 21 7 = 3

Größe: px
Ab Seite anzeigen:

Download "h = 1 7 ( ) = 21 7 = 3"

Transkript

1 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 t : Binärbaum h(t) = e(t) b E(t) h(b, t) E(t) : Menge der Blätter (external nodes) von t e(t) = E(t) : Anzahl der Blätter von t h(b, t) : Höhe des Blattes b in t 2 h(t) = h(t l) h(t r) = 3 t r h(t r ) = 2 ( + ) = 2 2 h = 7 ( ) = 2 7 = 3 t l h(t l ) = 5 ( ) =

2 Zusammenhang mit dem rekursiven Aufbau von Binärbäumen h( )= h(, t l, t r )= e(t) = e(t) b E(t) b E(t l ) = e(t l) + e(t r ) e(t) h(b, t) [h(b, t l ) + ] + b E(t r ) + e(t l) e(t) h(t l) + e(t r) e(t) h(t r) = + e(t l) e(t) h(t l) + e(t r) e(t) h(t r) [h(b, t r ) + ] Fundamentale Ungleichung für Binärbäume h(t) log e(t) folgt per Induktion über der rekursiven Aufbau h( )= = log h(, t l, t r )= + e(t l) e(t) h(t l) + e(t r) e(t) h(t r) + e(t l) e(t) log e(t l) + e(t r) e(t) log e(t r) = + e(t l) e(t) log e(t l) e(t) + e(t r) e(t) log e(t r) + log e(t) e(t) {z } H( e(t l ) e(t), e(t r ) e(t) ) = H( e(t l) e(t), e(t r) e(t) ) + log e(t) {z } 5 6 Dabei ist die Entropiefunktion H(x, x) = x log x ( x) log( x) Shannons Entropie X : Zufallsvariable, die endlich-viele Werte, z.b., 2,..., n annimmt p k = P [X = k] : Wahrscheinlichkeit für Eintreten des Ereignisses X = k also n p k ( k n) mit p k = k= Bezeichnung: p = p, p 2,..., p n Information(sgehalt) des Ereignisses X = k I[X = k] = log p k Entropie = Erwartungswert der Information n H(p) = H(p,..., p n ) = E(I, p) = p k log p k k= 7 8

3 Eigenschaften der Entropiefunktion. H(p,..., p n ) 2. H(p,..., p n ) = p k = δ i,k für ein i {,..., n} 3. H(p,..., p n ) wird maximal für die Gleichverteilung p =... = p n = n 4. H(p,..., p n ) ist invariant unter Permutation der Komponenten p k 5. H(p,..., p n, ) = H(p,..., p n ) 6. H(/n,..., /n) H(/(n + ),..., /(n + )) 7. H(p,..., p n ) ist stetige Funktion der Variablen p k 8. H(/mn,..., /mn) = H(/m,..., /m) + H(/n,..., /n) 9. für p,... p m und q,..., q n mit p + + p m = p, q + q n = q und p + q = gilt Bemerkung: Alle diese Eigenschaften ausgenommen vielleicht 3. (s.u.) lassen sich ausgehend von der Definition leicht nachrechnen. Was wichtiger ist: diese Eigenschaften erscheinen als plausible Forderungen, wenn man ausgeht von der intuitiven Vorstellung von der Entropie als dem Informationsgewinn beim Durchführen eines Experiments So beschreibt 8. das Verhalten bei der Kombination unabhängiger und gleichverteilter Experimente zu einem Produktexperiment und 9. bei der Ausführung eines Experiments in zwei Stufen. H(p,..., p m, q..., q n ) = H(p, q) + p H(p /p,..., p n /p) + q H(q /q,..., q n /q) 9 Zum Beweis der Eigenschaft 3. der Entropiefunktion: Folgende Aussage bezeichnet man in der Informationstheorie als key lemma : Für Wahrscheinlichkeitsverteilungen p = (p,..., p n ) und q = (q,..., q n ) gilt H(p,..., p n ) n p k log q k k= und es gilt = genau dann, wenn p = q. Als Konsequenz hat man, indem man für q die Gleichverteilung q =... = q n = n wählt: H(p,..., p n ) log n Beweis des key lemmas : Die Logarithmusfunktion ist konvex und es gilt daher ln x x (x > ) mit = genau dann, wenn x =. Also ist k n k n ln q k p k q k p k ( k n) p k ln q k p k p k ln q k k n k n q k p k ln p k k n p k = mit = genau dann, wenn p = q. 2

4 Theorem: Die Eigenschaften.-9. bestimmen die Entropiefunktion eindeutig (bis auf einen konstanten Faktor), d.h. Eine Funktion mit den Eigenschaften.-9. ist notwendig von der Form mit einer Konstanten c >. H(p,..., p n ) = c n p k log p k k= Binäre Bäume mit Gewichten (auf den Blättern) betrachten t, p wobei t : binärer Baum p = (p b ) b E(t) Wahrscheinlichkeitsverteilung auf den Blättern von t untersuchen Erwartungswert der Höhe der Blätter ( gewichtete mittlere Höhe, gewichtete externe Pfadlänge ) h(t, p) = p b h(b, t) b E(t) für den Fall der Gleichverteilung auf E(t) ist das gerade h(t) Erinnerung: h(t) log e(t) ( information theory bound ) 3 4 h(t ) = 3 h(t 2 ) = h(t ) = 5 ( ) = 2 5 h(t 2 ) = 5 ( ) = h(t, p) = = 2.2 h(t 2, p) = =

5 Fundamentales Problem der Informationstheorie.6 wie klein kann h(t, p) bei gegebenem p gemacht werden, indem man den Binärbaum t geeignet wählt? Antwort: Shannons Quellcodierungstheorem.6... untere Schranke: für jeden gewichteten Binärbaum t, p gilt... H(p) h(t, p) obere Schranke: zu jeder WV p gibt es einen Binärbaum t mit.. h(t, p) < H(p) + h(t, q) = = 2.2 h(t 2, q) = = Der Beweis für den ersten Teil (untere Schranke für h(t, p)) geht genauso wie der Beweis für log e(t) h(t) im Fall der Gleichverteilung. Sei t =, t l, t r Binärbaum mit Knotengewichten (p,..., p m ) auf E(t l ) = (b,..., b m ) (q,..., q n ) auf E(t r ) = (c,..., c n ) Dabei sind p = (p,..., p m, q,..., q n ) p l = (p /p,..., p m /p) mit p = p + + p m p r = (q /q,..., q n /q) mit q = q + + q n Wahrscheinlichkeitsverteilungen auf E(t) bzw. E(t l ) bzw. E(t r ). Dann gilt (Induktion!) h(t, p)= b E(t) = b E(t l ) = i m p b h(b, t) p b h(b, t) + c E(t r ) p i (h(b i, t l ) + ) + p c h(c, t) j n = p + q + p h(t l, p l ) + q h(t r, p r ) + p H(p l ) + q H(p r ) = H(p, q) +H(p) H(p) }{{} wegen Eigenschaften 3. und 9. der Entropiefunktion. q j (h(c j, t r ) + ) 9 2

6 (Verlustfreie) Datenkompression durch Quellcodierung mit variabler Länge A = {a, b, c,...} : endliche Menge von Nachrichten (Quellalphabet) {, } : Kanalalphabet (binäre) Codierung ist injektive Abbildung Φ : A {, } + fortgesetzt zu Homomorphismus Φ : A {, }, falls die Decodierbedingung (unique decipherability) erfüllt ist: (UD) für jedes w {, } gilt Φ (w) Φ(A) = {Φ(a), Φ(b), Φ(c),...} : Menge der Codewörter, Code Beispiele (A = {a, b, c, d}) a a a b b b Φ : Φ 2 : Φ 3 : c c c d d d Φ : Codierung mit konstanter Länge Φ (abadc) = = Φ 2 : Codierung mit variabler Länge Φ 2 (abadc) = = Φ 3 : keine Codierung! Φ 3 (bda) = = = = Φ 3 (acd) 2 22 Eine Codierung Φ (ein Code Φ(A)) hat die Präfix-Eigenschaft (ist ein Präfixcode), wenn gilt: (PP) kein Codewort ist Präfix eines anderen Codewortes Φ (und allgemein alle Codes konstanter Länge) sowie Φ 2 haben die (PE), die Abbildung Φ 3 nicht es gilt offensichtlich: (PP) (UD), aber (UD) (PP) Beispiele (A = {a, b, c, d, e}) a b Φ 4 : c d e a b Φ 5 : c d e Präfixcodes sind binäre Bäume in einem erweiterten Sinn: innere Knoten können einen (rechten oder linken) oder zwei (rechten und linken) Nachfolger haben a Φ b c d a Φ 2 d c b a b Φ 4 c d e Φ 4 hat (PP), Φ 5 hat (UD), aber nicht (PP) 23 24

7 Vergleich von Codierungen Datenkompression Φ 4 Φ 5 aaaea abaedbc Welche Codierung ist besser? Das hängt davon ab, mit welchen Wahrscheinlichkeiten die Quellsymbole a, b, c, d, e vorkommen! Eine Quelle Q = A, p ist ein Paar, bestehend aus einem Quellalphabet A = {a, b, c,...} einer Wahrscheinlichkeitsverteilung p = (p a, p b, p c,...) auf A. Für Codierungen Φ : A {, } + einer Quelle Q = A, p ist µ(q, Φ) = p x Φ(x) x A mittlere oder erwartete Codewortlänge des Codes C = Φ(A). Für Präfixcodes: mittlere Codewortlänge = gewichtete mittlere Höhe des entsprechenden Binärbaumes (im erweiterten Sinn) Beispiel Q = A, p mit A = {a, b, c, d} und p = (p a, p b, p c, p d ) = (.9,.5,.25,.25) Φ : a, b, c, d µ(q, Φ ) = = 2 Φ 2 : a, b, c, d µ(q, Φ 2 ) = =.2 Beispiel Q = A, q mit A = {a, b, c, d} und q = (q a, q b, q c, q d ) = (.35,.25,.25,.5) Φ : a, b, c, d µ(q, Φ ) = = 2 Φ 2 : a, b, c, d µ(q, Φ 2 ) = = 2.3 Folgerung (Shannon): Bei gegebener Quellverteilung p = (p a, p b, p c,...) gibt die Entropie H(p) ein Maß dafür an, welche Kompression (mittlere Wortlänge) bei keiner Codierung unterschritten werden kann. Bemerkungen: für optimale Codierung kann man sich auf die Verwendung von (echten) Binärbäumen beschränken Präfixcodes lassen sich online decodieren Codes ohne (PP) lassen sich i.a. nicht online decodieren Verwendung von (UD)-Codes, die nicht die (PP) haben, kann die Situation nicht verbessern: zu jeder Quelle Q = A, p und zu jedem (UD)-Code Φ(A) gibt es einen (PP)-Code Ψ(A) mit µ(q, Φ) = µ(q, Ψ) (Satz von Macmillan) Konstruktion optimaler Präfixcodes: Verfahren von Huffman 27 28

8 Existenz von Präfix-Codes mit gegebenen Wortlängen l, l 2,..., l n Es existiert ein Präfixcode {w, w 2,..., w n } {, } mit Wortlängen w k = l k ( k n) genau dann, wenn 2 l k k n (Ungleichung von Kraft) Beachte: ist t ein Binärbaum (im ursprünglichen Sinn), so gilt immer 2 h(b,t) = b E(t) Beweis der Ungleichung von Kraft (notwendig): Es sei l n = max k n l k. Die Wortmengen w k {, } l n l k {, } l n ( k n) sind wegen (PP) paarweise disjunkt, deshalb 2 l n l k 2 l n k n 29 3 Für n = bzw. n = 2 leisten { l } bzw. { l, l 2 } das Gewünschte Sei die Behauptung für n > bewiesen. l... l n l n+ genüge der Ungleichung von Kraft. Beispiel zu Ungleichung von Kraft Die gilt dann auch für die n + Zahlen l, l 2,..., l n, l n, l n und wegen 2 l n + 2 l n = 2 (ln ) auch für die n Zahlen l, l 2,..., l n, l n Es existiert also ein Präfixcode {w, w 2,..., w n } mit w k = l k ( k < n) und w n = l n Der Präfixcode {w, w 2,..., w n, w n, w n l n+ l n + } Wortlängen Code 2, 3, 3, 3, 5, 7 {,,,,, } 2, 3, 3, 3, 4 {,,,, } 2, 2, 3, 3 {,,, } 2, 2, 2 {,, }, 2 {, } {ɛ} leistet das Verlangte. 3 32

9 Beweis des Theorems von Shannon (obere Schranke) Q = A, p : Quelle mit A = {a,..., a n }, p = (p, p 2,..., p n ), wobei p k > ( k n). Mit sei l k = log p k ( k n) log p k l k < log p k ( k n) Eine Abschätzung für die mittlere Wortlänge dieses Codes ergibt sich aus der rechten Ungleichung und somit (linke Ungleichung) Es existiert also ein Präfixcode k n 2 l k µ(q, Φ) = p k l k < p k ( log p k ) = + H(p) k n k n Φ : A {w, w 2,..., w n } : a i w i ( i n) mit Wortlängen w k = l k = 2 log p k ( k n) Konstruktion optimaler (Präfix-)Codes (Huffman) optimale Codierung Φ für eine Quelle Q = A, p µ(q, Φ) = min{ µ(q, Ψ) ; Ψ Codierung für Q } Das Theorem von Shannon garantiert für optimales Φ: H(p) µ(q, Φ) < + H(p) Die Konstruktion eines optimalen Φ kann mit Hilfe eines greedy -Algorithmus ausgeführt werden, der sich am Beweis der Ungleichung von Kraft orientiert Für eine Quelle Q = A, p mit A 2 gilt: ist Φ optimal für Q und sind a, b A mit p a > p b, so ist Φ(a) Φ(b) Begründung: andernfalls könnte man die Codierungen von a und b vertauschen, d.h. a Φ(b) Ψ : b Φ(a) c Φ(c) (c A \ {a, b}) und damit die mittlere Codelänge verkleinern: µ(q, Ψ) = µ(q, Φ) p a ( Φ(a) Ψ(a) ) p b ( Φ(b) Ψ(b) ) = µ(q, Φ) (p a p b ) ( Φ(a) Φ(b) ) }{{} > ist Φ optimal für Q, so ist der Code Φ(A) ein Binärbaum (im strikten Sinn) 35 36

10 ist Φ optimal für Q, so kann man annehmen (d.h., durch Umordnung erreichen), dass es Symbole a, b A mit minimalen Wahrscheinlichkeiten p a, p b gibt, d.h. p a, p b min p c, c A\{a,b} die als Geschwister codiert sind, d.h. es gibt ein w {, } mit Φ(a) = w und Φ(b) = w Begründung: Knoten auf dem höchsten Niveau eines Binärbaumes (im engeren Sinne) treten immer als Geschwisterpaare auf. Durch Umordung der Wahrscheinlichkeiten auf dem höchsten Niveau kann man die angegebene Situation erreichen, ohne die mittlere Wortlänge zu ändern. Fusion von Quellsymbolen a, b A: Q = A, p A = (A \ {a, b}) {α} p p x für x A \ {a, b} x = p a + p b für x = α Q = A, p Φ (strikter) Präfixcode für Q, bei dem Φ(a) und Φ(b) Geschwister sind, d.h. Φ(a) = w, Φ(b) = w für ein w {, } Φ : A {, } + x Φ(x) für x A \ {a, b} : α w Φ (strikter) Präfixcode für Q Φ (strikter) Präfixcode für Q x Φ (x) für x A \ {a, b} Φ : A {, } + : a Φ (α) b Φ (α) Φ (strikter) Präfixcode für Q, bei dem Φ(a) und Φ(b) Geschwister sind hierbei gilt Folgerung µ(q, Φ) µ(q, Φ ) = p a Φ(a) + p b Φ(b) p α Φ (α) = p a Φ(a) + p b Φ(b) (p a + p b ) ( Φ(a) ) = p a + p b = p α Entsteht die Quelle Q = A, p aus der Quelle Q = A, p durch Fusion zweier Symbole a, b A mit minimalen Wahrscheinlichkeiten p a, p b, so gilt (mit dem obigen Zusammenhang zwischen Φ und Φ ) Φ optimal für Q Φ optimal für Q Diese Aussage erlaubt die rekursive Konstruktion optimaler Präfixcodes. 39 4

11 Realisierung dieser Idee Q (2) Q (3) Q (n ) Q (n) = Q Φ (2) Φ (3) Φ (n ) Φ (n) = Φ Dabei Q (k) : Quelle mit k Symbolen Φ (k) : optimaler Präfixcode für Q (k) Q (k ) Q (k) : Fusion von zwei Symbolen mit minimaler W.keit Φ (k ) Φ (k) : Konstruktion entlang Umkehrung der Fusion Q (2) = {a, b}, (p a, p b ) Φ (2) = a, b Beispiel zur Konstruktion von Huffman (mit Symbolhäufigkeiten statt Wahrscheinlichkeiten) Q (4) Q (5) Q (6) Φ (4) a 9 b 8 cdf e 5 Q (3) ab 7 cdf e 5 Φ (5) a 9 b 8 c 5 df 5 e 5 Q (2) Φ (3) Φ (2) ab 7 cdef 25 Φ (6) a 9 b 8 c 5 d 3 e 5 f 2 µ(q (6), Φ (6) ) = = + = = NB H( 9 42, 8 42, 5 42, 3 42, 5 42, 2 42 ) = Implementierung der Huffman-Konstruktion e / 5 a / 9 b / 8 c / 5 d / 3 f / Quelle Q = A, p mit A, p = (p,..., p n ) e / 5 a / 9 b / 8 c / 5 5 e / 5 a / 9 b / 8 konstruiere Folge F (n), F (n ),..., F (3), F (2), F () von Wäldern d / 3 f / 2 c / 5 5 F (k) = {(t (k), g ),..., (t (k), g k)} k e / 5 c / 5 a / 9 b / 8 5 d / 3 f / 2 e / 5 25 d / 3 f / a / 9 b / 8 t (k),..., t(k) k Binärbäume g,..., g k Gewichte mit g g 2... g k und g + + g k = F (n) = {(, p ),..., (, p n )} F (k) F (k ) : mit s =, t (k) k, t(k) k, h = g k + g k ( F (k ) = F (k) \ { (t (k) k, g k ), (t (k) k, g k) }) (s, h) e / 5 7 a / 9 b / 8 c / 5 5 c / 5 5 d / 3 f / 2 (nach Gewichten ordnen!) t () ist der Huffman-Code d / 3 f /

12 Komplexität der Huffman-Konstruktion Information über die Gewichte g j in einer priority queue organisieren! Diese Queue als min-heap implementieren. Aufbau des heaps: O(n) n heap-operationen (2 deletemin, reheap) mit Aufwand O(log n) Gesamtaufwand (Vergleichsoperationen): O(n log n) Huffmans Konstruktion ist ein klassischer greedy-algorithmus. Weitere bekannte greedy-algorithmen Zahldarstellung in Positionssystemen (incl. Fibonacci) Minimale Gerüste (Spannbäume) (Kruskal, Prim) Kürzeste Wege (Dijkstra) Knapsack ( fractional ) greedy gehört mit divide-and-conquer, dynamic programming, backtracking mit branch-and-bound, randomization zu den fundamentalen Entwurfsprinzipien für Algorithmen das Typische an greedy-problemen: optimale Lösungen von Teilproblemen lassen sich immer zu global-optimalen Lösungen fortsetzen greedy kann man nicht immer einsetzen, aber wenn ja, ist es sehr effizient man kann genau charakterisieren, in welchen Situationen greedy funktioniert ( Matriode ) Literaturhinweise V. Heun behandelt in Grundlegende Algorithmen die Huffman-Konstruktion in Kapitel 6.5 (Datenkompression). Alles über Datenkompression erfährt man in S. C. Salomon, Data Compression The Complete Reference, Springer, 997. Für eine Diskussion des Entropiebegriffs, Quellcodierung etc. muss man in Bücher über Informationstheorie schauen, z.b. D. Welsh, Codes and Cryptography, Oxford UP, 988. R. J. McEliece, The Theory of Information and Coding, Addison-Wesley, 977. Alle soliden Lehrbücher über Algorithmen(-entwurf) behandeln mehr oder weniger ausführlich die Huffman-Konstruktion im Kontext der greedy-algorithmen, siehe z.b. Kapitel 6 in T. H. Cormen, C. L. Leiserson, R. L. Rivest, C. Stein, An Introduction to Algorithms (2nd. ed.), MIT Press, 2. Dort erfährt man auch etwas über den theoretischen Hintergrund (Matroide). 47

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

Die mittlere Höhe eines Binärbaumes. h(t) = 1 e(t) mit E(t) = Menge der Blätter von t, h(b, t) = Höhe des Blattes b in t

Die mittlere Höhe eines Binärbaumes. h(t) = 1 e(t) mit E(t) = Menge der Blätter von t, h(b, t) = Höhe des Blattes b in t Höhe von Binärbäumen Die mittlere Höhe eines Binärbaumes h(t) = 1 e(t) b E(t) mit E(t) = Menge der Blätter von t, h(b, t) = Höhe des Blattes b in t h(b, t), Höhe von Binärbäumen Die mittlere Höhe eines

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

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

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

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

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

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

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

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

Ü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

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 28 (Algorithmen & Datenstrukturen) Vorlesung 22 (6.7.28) Greedy Algorithmen II (Datenkompression) Algorithmen und Komplexität Datenkompression Reduziert Größen von Files Viele Verfahren

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

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

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

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

5. Vorrangwarteschlangen - Priority Queues

5. Vorrangwarteschlangen - Priority Queues 5. Vorrangwarteschlangen - Priority Queues Priority Queues unterstützen die Operationen Insert(), Delete(), ExtractMin(), FindMin(), DecreaseKey(), Merge(). Priority Queues per se sind nicht für IsElement()-Anfragen,

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

Wir erinnern uns: Um eine Zufallsvariable mit N verschiedenen, gleichwahrscheinlichen Zuständen binär zu codieren, benötigen wir

Wir 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

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

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

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

Information nachher = Unsicherheit vorher.

Information nachher = Unsicherheit vorher. 1 Entropie Wir machen folgendes Gedankenexperiment. Gegeben ist die Menge X = {x 1,...,x n } von Ausgängen eines Experimentes mit den Wahrscheinlichkeiten p(x i )=p i. H(X) =H(p 1,...,p n ) ist das Informationsmaß,

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

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

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

Kolmogoroffkomplexität Teil 3 Informationstheorie und Kodierung. Torsten Steinbrecher

Kolmogoroffkomplexität Teil 3 Informationstheorie und Kodierung. Torsten Steinbrecher Kolmogoroffkompleität Teil 3 Informationstheorie und Kodierung Torsten Steinbrecher Informationstheorie Information ist Δ Wahlfreiheit beim Sender Δ Unbestimmtheit beim Empfänger Information ist nicht

Mehr

Vollständige Induktion. Analysis I. Guofang Wang. Universität Freiburg

Vollständige Induktion. Analysis I. Guofang Wang. Universität Freiburg Universität Freiburg 26.10.2011 Vollständige Induktion Wir unterbrechen jetzt die Diskussion der Axiome der reellen Zahlen, um das Beweisverfahren der vollständigen Induktion kennenzulernen. Wir setzen

Mehr

Grundlagen der Algorithmen und Datenstrukturen Kapitel 6

Grundlagen der Algorithmen und Datenstrukturen Kapitel 6 Grundlagen der Algorithmen und Datenstrukturen Kapitel 6 Christian Scheideler + Helmut Seidl SS 2009 25.05.09 Kapitel 6 1 Priority Queue M: Menge von Elementen Jedes Element e identifiziert über key(e).

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

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 208 (Algorithmen & Datenstrukturen) Vorlesung 4 (..208) Graphenalgorithmen III Algorithmen und Komplexität Bäume Gegeben: Zusammenhängender, ungerichteter Graph G = V, E Baum: Zusammenhängender,

Mehr

Beispiel: Zeigen Sie, dass H(x) = H 0 = I gilt, wenn alle Zeichen gleichwahrscheinlich sind.

Beispiel: Zeigen Sie, dass H(x) = H 0 = I gilt, wenn alle Zeichen gleichwahrscheinlich sind. 1 2 Im ersten Schritt werden wir uns mit dem Begriff und der Definition der Information beschäftigen. Ferner werden die notwendigen math. Grundlagen zur Quellencodierung gelegt. Behandelt werden Huffman,

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kapitel 4: Datenstrukturen Kapitel 4.2: Union-Find-Strukturen Union-Find-Strukturen Gegeben: Datensätze

Mehr

(Prüfungs-)Aufgaben zur Codierungstheorie

(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

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik VI Algorithmen und Datenstrukturen Vorlesungsmitschrift zur Vorlesung im SS 2004 Prof. Dr.-Ing. H. Ney Letzte Überarbeitung:

Mehr

Entropie. Um der Begriff der Entropie zu erläutern brauchen wir erst mal einige Definitionen, z.b.

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

Mehr

Diskrete Mathematik II

Diskrete Mathematik II Diskrete Mathematik II Alexander May Fakultät für Mathematik Ruhr-Universität Bochum Sommersemester 2008 DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 1 / 36 Organisatorisches

Mehr

Vorlesung 13b. Relative Entropie

Vorlesung 13b. Relative Entropie Vorlesung 13b Relative Entropie 1 S sei eine abzählbare Menge (ein Alphabet ). 2 S sei eine abzählbare Menge (ein Alphabet ). Die Elemente von S nennen wir Buchstaben. S sei eine abzählbare Menge (ein

Mehr

Codierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau

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

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

5. Vorrangwarteschlangen (priority queues)

5. Vorrangwarteschlangen (priority queues) 5. Vorrangwarteschlangen (priority queues) Definition 200 Eine Vorrangwarteschlange (priority queue) ist eine Datenstruktur, die die folgenden Operationen effizient unterstützt: 1 Insert 2 ExtractMin Extrahieren

Mehr

Stochastik I. Vorlesungsmitschrift

Stochastik I. Vorlesungsmitschrift Stochastik I Vorlesungsmitschrift Ulrich Horst Institut für Mathematik Humboldt-Universität zu Berlin Inhaltsverzeichnis 1 Grundbegriffe 1 1.1 Wahrscheinlichkeitsräume..................................

Mehr

Abschnitt 18: Effizientes Suchen in Mengen

Abschnitt 18: Effizientes Suchen in Mengen Abschnitt 18: Effizientes Suchen in Mengen 18. Effizientes Suchen in Mengen 18.1 Vollständig ausgeglichene binäre Suchbäume 18.2 AVL-Bäume 18.3 Operationen auf AVL-Bäumen 18.4 Zusammenfassung 18 Effizientes

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

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

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

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

Umgekehrt kann eine Datenbank-Instanz in eine konjunktive Anfrage umgewandelt werden: hasairport. ans. fly n 1 n 2 n 3 n 2 Bonn n 4.

Umgekehrt kann eine Datenbank-Instanz in eine konjunktive Anfrage umgewandelt werden: hasairport. ans. fly n 1 n 2 n 3 n 2 Bonn n 4. der Chase, jetzt formal... Datenbank-Instanzen 1 Wir fixieren drei unendliche, paarweise disjunkte Mengen, null und V. ist der zugrunde gelegte Domain. null = {n 1, n 2,...} ist die Menge der Null-Werte.

Mehr

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1 Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau

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

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

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

7. Sortieren Lernziele. 7. Sortieren

7. Sortieren Lernziele. 7. Sortieren 7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche

Mehr

Die Höhe von binären Suchbäumen Ausarbeitung zum Seminar zu Stochastischen Rekursionsgleichungen im WS 2011/2012

Die Höhe von binären Suchbäumen Ausarbeitung zum Seminar zu Stochastischen Rekursionsgleichungen im WS 2011/2012 Die Höhe von binären Suchbäumen Ausarbeitung zum Seminar zu Stochastischen Rekursionsgleichungen im WS 011/01 Sandra Uhlenbrock 03.11.011 Die folgende Ausarbeitung wird, basierend auf Branching Processes

Mehr

Restricted Isometry Property und der Zusammenhang mit dem Johnson-Lindenstrauss Lemma

Restricted Isometry Property und der Zusammenhang mit dem Johnson-Lindenstrauss Lemma Restricted Isometry Property und der Zusammenhang mit dem Johnson-Lindenstrauss Lemma Sabrina Pfeiffer. Dezember 009 Sabrina Pfeiffer () Compressed Sensing.1.009 1 / 5 Übersicht 1 P1-Eigenschaft Restricted

Mehr

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

Mehr

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

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

Mehr

Beweis: Annahme: T (n) c n, wobei c = c(m) konstant ist. Die Annahme ist ok, falls T (n)

Beweis: Annahme: T (n) c n, wobei c = c(m) konstant ist. Die Annahme ist ok, falls T (n) Beweis: Annahme: T (n) c n, wobei c = c(m) konstant ist. Die Annahme ist ok, falls T (n) ( ( ) n 3 T + T m ) 4 n n 3 c + m 4 n c + n n + C m + cn; dies gilt, falls m 2 n m C m + n 2 (bis auf, ) c m + 3

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

Konstruktion reeller Zahlen aus rationalen Zahlen

Konstruktion reeller Zahlen aus rationalen Zahlen Konstruktion reeller Zahlen aus rationalen Zahlen Wir nehmen an, daß der Körper der rationalen Zahlen bekannt ist. Genauer wollen wir annehmen: Gegeben ist eine Menge Q zusammen mit zwei Verknüpfungen

Mehr

Kap. 6.5: Minimale Spannbäume ff

Kap. 6.5: Minimale Spannbäume ff Kap. 6.: Minimale Spannbäume ff Professor Dr. Karsten Klein Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 20. VO 2. TEIL DAP2 SS 2009 2. Juli 2009 SS08 1 Überblick 6.:

Mehr

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Saskia Klaus 07.10.016 1 Motivation In den ersten beiden Vorträgen des Vorkurses haben wir gesehen, wie man aus schon bekannten Wahrheiten

Mehr

Signale und Codes Vorlesung 4

Signale 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

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

Methoden für den Entwurf von Algorithmen

Methoden für den Entwurf von Algorithmen Methoden für den Entwurf von Algorithmen Greedy Algorithmen: - Löse ein einfaches Optimierungsproblem durch eine Folge vernünftiger Entscheidungen. - Eine getroffene Entscheidung wird nie zurückgenommen.

Mehr

Kapitel 9: Informationstheorie. 2. Entropie

Kapitel 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

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

Top-down Bottom-up Divide & Conquer Dynamisches Programmieren Caching (Memoization) Branch-and-Bound Greedy

Top-down Bottom-up Divide & Conquer Dynamisches Programmieren Caching (Memoization) Branch-and-Bound Greedy 2.2 Entwurfsparadigmen Top-down Bottom-up Divide & Conquer Dynamisches Programmieren Caching (Memoization) Branch-and-Bound Greedy 1 Top-Down Zerlege das gegebene Problem in Teilschritte Zerlege Teilschritte

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 & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg

Mehr

Hrushovskis primordiales Amalgam

Hrushovskis primordiales Amalgam Hrushovskis primordiales Amalgam M.Z. 27. September 2009 Zusammenfassung Hrushovskis originale Fusion [1]. Seminarvortrag, Freiburg 4.Mai 2005 We prove that the resulting theory is model-complete (26.11.2005).

Mehr

Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n i =.

Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n i =. 2. Der Blum-Floyd-Pratt-Rivest-Tarjan Selektions-Algorithmus Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n

Mehr

Graphentheorie. Zufallsgraphen. Zufallsgraphen. Zufallsgraphen. Rainer Schrader. 23. Januar 2008

Graphentheorie. Zufallsgraphen. Zufallsgraphen. Zufallsgraphen. Rainer Schrader. 23. Januar 2008 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 3. Januar 008 1 / 45 / 45 Gliederung man könnte vermuten, dass ein Graph mit großer chromatischer Zahl einen dichten Teilgraphen enthalten

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:

Mehr

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.

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

1 Kürzeste Pfade in Graphen

1 Kürzeste Pfade in Graphen Praktikum Algorithmen-Entwurf (Teil 3) 03.11.2011 1 1 Kürzeste Pfade in Graphen Es sei ein gerichteter Graph G = (V, E) mit V = n Knoten, E = m Kanten und Kantengewichten c : E R gegeben. Ein Pfad in G

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 der Algorithmen und Datenstrukturen Kapitel 12

Grundlagen der Algorithmen und Datenstrukturen Kapitel 12 Grundlagen der Algorithmen und Datenstrukturen Kapitel 12 Christian Scheideler + Helmut Seidl SS 2009 28.06.09 Kapitel 12 1 Generische Optimierungsverfahren Techniken: Systematische Suche lass nichts aus

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

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

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

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt: 3. Minimale Spannbäume Sei G = (V, E) ein einfacher ungerichteter Graph, der o.b.d.a. zusammenhängend ist. Sei weiter w : E R eine Gewichtsfunktion auf den Kanten von G. Wir setzen E E: w(e ) = e E w(e),

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

Isomorphie von Bäumen

Isomorphie von Bäumen Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................

Mehr

Prof. Dr. H. Brenner Osnabrück SS Analysis II. Vorlesung 50. Hinreichende Kriterien für lokale Extrema

Prof. Dr. H. Brenner Osnabrück SS Analysis II. Vorlesung 50. Hinreichende Kriterien für lokale Extrema Prof. Dr. H. Brenner Osnabrück SS 205 Analysis II Vorlesung 50 Hinreichende Kriterien für lokale Extrema Wir kommen jetzt zu hinreichenden Kriterien für die Existenz von lokalen Extrema einer Funktion

Mehr

Einführung in die Logik

Einführung in die Logik Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3

Mehr

i Der Informatinonsgehalt ist also intuitiv umgekehrt proportional der Auftritswahrscheimlichkeit.

i Der Informatinonsgehalt ist also intuitiv umgekehrt proportional der Auftritswahrscheimlichkeit. 1 2 Im ersten Schritt werden wir uns mit dem Begriff und der Definition der Information beschäftigen. Ferner werden die notwendigen math. Grundlagen zur Quellencodierung gelegt. Behandelt werden Huffman,

Mehr

Diskrete Mathematik II

Diskrete Mathematik II Diskrete Mathematik II Roberto Avanzi (nach Alexander May) Fakultät für Mathematik Ruhr-Universität Bochum Sommersemester 2010 Organisatorisches 1/ 333 Organisatorisches Vorlesung: Mo 12-14 in HIA, Di

Mehr

Fibonacci-Heaps und deren Anwendung

Fibonacci-Heaps und deren Anwendung Fibonacci-Heaps und deren Anwendung Alexander Schiffel und Stefan Hurtz 24. Juli 2005 Inhaltsverzeichnis 1 Einleitung und Motivation 2 2 Die Datenstruktur 2 3 Amortisierte Laufzeitanalyse 3 4 Grundoperationen

Mehr

Gierige Algorithmen. Seminar Hallo Welt! für Fortgeschrittene. Daniel Ziegler Daniel Ziegler Gierige Algorithmen

Gierige Algorithmen. Seminar Hallo Welt! für Fortgeschrittene. Daniel Ziegler Daniel Ziegler Gierige Algorithmen Gierige Algorithmen Seminar Hallo Welt! für Fortgeschrittene Daniel Ziegler 23.05.2016 Daniel Ziegler Gierige Algorithmen 23.05.2016 1 / 48 Inhalt 1 Einführung Allgemeines Wichtige Eigenschaften Gierige-Strategie

Mehr

Seminar Kolmogorovkomplexität. Universität Potsdam Wintersemester 2009/10

Seminar Kolmogorovkomplexität. Universität Potsdam Wintersemester 2009/10 Universität Potsdam Wintersemester 2009/10 Kolmogorovkomplexität Kolmogorovkomplexität (auch Algorithmische Komplexität ) ist der zentrale Begriff der Algorithmischen Informationstheorie (AIT). Kombiniert

Mehr

Die Ringe Z n. Invertierbare Elemente ( Einheiten ) für n > 0 wird auf Z n = {0, 1, 2,..., n 1} definiert: n : Z n Z n Z n : (a, b) (a b) mod n

Die Ringe Z n. Invertierbare Elemente ( Einheiten ) für n > 0 wird auf Z n = {0, 1, 2,..., n 1} definiert: n : Z n Z n Z n : (a, b) (a b) mod n Definitionen Die Ringe Z n für n > 0 wird auf Z n = {0, 1, 2,..., n 1} definiert: Beispiel n = 15 + n : Z n Z n Z n : (a, b) (a + b) mod n n : Z n Z n Z n : (a, b) (a b) mod n 9 + 15 11 = 5 9 15 11 = 9

Mehr

19. Dynamic Programming I

19. Dynamic Programming I 495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.

Mehr

Gierige Algorithmen. Seminar Hallo Welt! für Fortgeschrittene. Daniel Danner. 11. Juni Daniel Danner Gierige Algorithmen

Gierige Algorithmen. Seminar Hallo Welt! für Fortgeschrittene. Daniel Danner. 11. Juni Daniel Danner Gierige Algorithmen Gierige Algorithmen Seminar Hallo Welt! für Fortgeschrittene Daniel Danner 11. Juni 2010 Daniel Danner Gierige Algorithmen 11.06.2010 1 / 33 Überblick 1 Einführung Definition und Anwendung Abgrenzung zu

Mehr

Kapitel III Selektieren und Sortieren

Kapitel III Selektieren und Sortieren Kapitel III Selektieren und Sortieren 1. Einleitung Gegeben: Menge S von n Elementen aus einem total geordneten Universum U, i N, 1 i n. Gesucht: i-kleinstes Element in S. Die Fälle i = 1 bzw. i = n entsprechen

Mehr

19. Dynamic Programming I

19. Dynamic Programming I 495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.

Mehr

Detaillierte Gliederung Algorithmen und Datenstrukturen (für ET/IT)

Detaillierte Gliederung Algorithmen und Datenstrukturen (für ET/IT) Detaillierte Gliederung Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Dr. Tobias Lasser Stand: 7. Juli 2015 1 Einführung Wo kommen Algorithmen und Datenstrukturen vor? Definition und

Mehr