Proseminar WS 2002/2003

Größe: px
Ab Seite anzeigen:

Download "Proseminar WS 2002/2003"

Transkript

1 Technische Universität Chemnitz Fakultät für Informatik Professur Theoretische Informatik Proseminar WS 2002/2003 Thema: Datenkompression Dynamisches / Adaptives Huffman-Verfahren Danny Grobe Rainer Kuhn

2 Dynamisches / Adaptives Huffman-Verfahren Huffman-Kode: Von David A. Huffman stammt ein Algorithmus, welcher zu einer gegebenen Nachricht einen Präfixkode erzeugt, der die Länge einer kodierten Nachricht unter der Annahme einer shannonschen Quelle minimiert. Der durch diesen Algorithmus konstruierte Kode wird als Huffman-Kode zu einer Nachricht bezeichnet. Die Huffman- Kodierung einer Nachricht ist eine binäre Kodierung der Nachricht, deshalb sei im folgenden angenommen, dass die Zeichen der Nachricht durch den Huffman-Kode über dem Alphabet {0, 1} kodiert werden. Der Algorithmus wurde im Jahre 1952 von Huffman in "A method for the construction of minimum redundancy codes" veröffentlicht. Arten der Huffmankodierung: Die Huffman-Kodierung kann statisch, dynamisch oder adaptiv vorgenommen werden. Bei der statischen Kodierung ist die Codetabelle dem Coder und dem Decoder bekannt. Bei der dynamischen Kodierung wird der Prefixcode für den jeweiligen Datenstrom (Block) neu berechnet. In diesem Fall muss neben dem kodierten Signal jedoch zusätzlich die gültige Codeworttabelle übertragen werden. Die adaptive Variante geht von einer initialen Codetabelle (oftmals leer) aus, aktualisiert diese aber während des Kodierens. Der Decoder aktualisiert seine Codetabelle entsprechend. Minimaleigenschaft: Bei der der Huffman-Kodierung will man unter der Annahme der shannonschen Quelle die Länge der kodierten Nachricht möglichst gering halten. Bezeichnet h(x) die absolute Häufigkeit des Zeichens x in der Nachricht N über dem Alphabet A und l(x) die Länge der Kodierung des Zeichens, dann ist die Länge l(n) der kodierten Nachricht offenbar durch gegeben. Betrachtet man zum Beispiel die Nachricht "baa", so gilt: h(a)= 2 und h(b)= 1. Wird dabei "a" mit einer Länge von 3 und "b" mit einer Länge von 4 kodiert, so erhält man: Die kodierte Nachricht hat also eine Länge von 10. Ziel bei der Konstruktion eines Huffman- Kodes zu einer endlichen Nachricht ist die Minimierung der Länge l(n) durch geeignete Wahl der l(x). Unter der Annahme einer shannonschen Quelle ist für jedes Zeichen, welches in der Nachricht auftreten kann, also aus dem Alphabet A, über welchem die Nachricht kodiert ist, stammt, die relative Auftrittswahrscheinlichkeit durch Abzählung oder Abschätzung

3 ermittelbar. Mithilfe dieser Wahrscheinlichkeiten p(x) ermittelt man die Entropie H, den mittleren Informationsgehalt pro Zeichen, der Nachricht zu wobei ld der Logarithmus zur Basis zwei ist. Unter der Betrachtung der Entropie lässt sich die Minimaleigenschaft des gesuchten Kodes anders formulieren: Die durchschnittliche Kodierungslänge D des Kodes, welche durch gegeben ist, wobei l(x) die Kodierungslänge des Zeichens x und p(x) die Auftrittswahrscheinlichkeit des Zeichens x aus dem Alphabet A sei, soll minimiert werden. Man sucht also den Kode derart, dass es keinen Kode gibt, welche eine geringere durchschnittliche Kodierungslänge der Zeichen hat. Dabei kann die durchschnittliche Kodierungslänge D nicht geringer als die theoretische Grenze der Entropie H werden. Im Idealfall hat also der gesuchte Kode eine durchschnittliche Kodierungslänge, welche der Entropie entspricht, wobei dieser Fall auftritt, wenn die Wahrscheinlichkeiten Potenzen von zwei sind. Betrachtet man dabei speziell eine endliche Nachricht und setzt die Auftrittswahrscheinlichkeiten zu den Häufigkeiten der Zeichen in der Nachricht, so ergibt sich die zuerst betrachtete Festlegung der Minimalbedingung, welche die kodierte Länge der Nachricht minimieren soll. Baumdarstellung: Kodes lassen sich sehr anschaulich mithilfe von Bäumen darstellen. Jeder Knoten hat eine bestimmte Anzahl von Nachfolger, wobei diese Anzahl durch die Anzahl der Zeichen im Kodealphabet beschränkt ist. Nachrichten werden sehr oft über dem Alphabet {0, 1} kodiert, in diesem Fall entsteht ein binärer Baum. Jede Kante des Baumes wird derart mit einem Zeichen aus dem Kodealphabet versehen, dass jeder Knoten höchstens eine abgehende Kante mit einem bestimmten Zeichen des Kodealphabets besitzt. Hätte ein Knoten zwei abgehende Kanten mit gleicher Bezeichnung, so könnte man die Knoten, an welchen die Kanten enden, zu einem Knoten zusammenfassen. Dies könnte aber dazu führen, dass eine bestimmte Folge von Kodezeichen mehrere Zeichen kodiert, was natürlich nicht zugelassen ist. Binäre Kodierung in Baumdarstellung

4 Die Zuordnung des Kodes zu einem Zeichen ist einfach gegeben durch die Folge der Kanten, wenn man von der Wurzel aus zu dem Zeichen geht, dabei ist der Weg eindeutig, denn ein Baum ist frei von Zyklen. Finden des Kodes eines bestimmten Zeichens, "C" wird durch "110" kodiert Durch die Darstellung mithilfe eines Baumes hat man offenbar eine weitere Charakterisierung für die Erfüllung der Präfixbedingung gewonnen: Eine Zuordnung ist genau dann ein Präfixkode, falls alle Knoten, welche zu Zeichen gehören, Blätter des Baumes sind, also keine Nachfolger haben. Aufwandsbetrachtung: Eine für die Konstruktion eines Huffman-Kodes günstige Datenstruktur ist die Halde, welche bei einer Größe von m Elementen für Einfügen und Löschen nur O(log(m)) Schritte benötigt. Mithilfe einer Halde lässt sich die Konstruktion des Huffman-Kodes wie folgt durchführen Man speichert in der Halde nur die noch zu betrachtenden Knoten mit deren Häufigkeiten ab, so sind zu Anfang die n in der Nachricht vorkommenden, verschiedenen Zeichen in der Halde. In jedem Schritt werden die beiden Knoten mit minimaler Gewichtung von der Halde entfernt und zu einem neuen Knoten, welcher in die Halde eingefügt wird, zusammengefasst. Da jedes Einfügen und Löschen in O(log(n)) Schritten durchgeführt werden kann und O(n) Schritte ausreichen, da anfangs n Elemente vorhanden sind und in jedem Schritt eines weniger auf der Halde bleibt, kann man den Huffman-Kode in O(n*log(n)) Schritten konstruieren, wenn man annimmt, dass die Häufigkeiten der n Zeichen bekannt sind. Anwendung von Huffman-Kodes: Für Kodierungen von Zeichen verwendet man im Allgemeinen keine Kodes, welche verschiedene Längen haben, weil diese einen sehr hohen Aufwand zur Folge haben. Deshalb werden Huffman-Kodes nur in Ausnahmefällen eingesetzt, um eine geeignete Kodierung für Zeichen zu finden, wie zum Beispiel beim Morsealphabet. Eine weitere Einsatzmöglichkeit von Huffman-Kodes eröffnet sich durch ihre Eigenschaft, die Länge kodierter Nachrichten zu minimieren. Dabei werden Huffman-Kodes nur im Verbund mit anderen Methoden zur Kompression eingesetzt, vor allem bei Bild- oder Audiodaten. Dies ist darauf zurückzuführen, dass bei der Kodierung mit Huffman-Kodes angenommen wird, dass eine shannonsche Nachricht vorliegt. Da dies fast nie gegeben ist und darüber hinaus für

5 häufig vorkommende Daten, wie zum Beispiel Text, Bilder oder Musik, wesentlich bessere Methoden zur Kompression zur Verfügung stehen, wird der Huffman-Kode nie alleine zur Kompression von Daten verwendet. Huffman-Kodes sind als Ergänzung der Kompression in verschiedenen Dateiformaten aufzufinden. Im JPEG-Format (Joint Graphic Experts Group) für Bilddaten kommt neben einer diskreten Kosinustransformation (DCT) auch die Huffman- Kodierung zum Einsatz, um Bilder mit möglichst wenig Speicherverbrauch zu speichern. Im PNG-Format (Portable Network Graphic-Format) wird die Huffman-Kodierung eingesetzt, um Bilder ohne Verlust zu komprimieren. Im MP3-Format für Audiodaten kommt neben einigen anderen Verfahren die Huffman-Kodierung zum Einsatz, um schon verlustbehaftete Daten weiter ohne Verlust zu komprimieren (circa 20% Kompression möglich). Bei diesem Format ergänzen sich die Huffman-Kodierung und andere Verfahren derart, dass oft immer ein Verfahren eine gute Kompression leistet. Im MPEG-Format für Bilddaten ist neben verlustbehafteten Methoden die Huffman-Kodierung zur nachträglichen Reduktion der Daten eingesetzt. Die verbreiteten Komprimierungsprogramme bzip und bzip2 verwenden neben einem Burrows-Wheeler-Algorithmus ebenfalls die Huffman-Kodierung, um Daten beliebigen Typs ohne Verlust zu komprimieren. Dynamisches Huffman-Verfahren: Der Text wird in Blöcke unterteilt, welche mit dem normalen Huffman-Verfahren komprimiert werden. Dabei wird für jeden Block eine eigene Codetabelle ermittelt, mit dieser dann der Block komprimiert wird. Beides (Codetabelle und komprimierter Block) werden zusammen übermittelt. Beim Dekomprimieren wird die jeweilige Codetabelle benutzt um den dazugehörigen Block zu entschlüsseln. Die dekomprimierten Blöcke ergeben in der richten Reihenfolge aneinandergereiht wieder den Ausgangstext. Komprimieren eines Blockes nach Standard-Huffman: - Ermitteln der absoluten Zeichenhäufigkeiten über den ganzen Block - Wald erstellen mit Zeichen und zugehörigen Häufigkeiten - Solange bis nur noch 1 fertiger Baum entstanden ist o immer die zwei Bäume mit den minimalen Häufigkeiten durch einen Parentknoten verknüpfen, dem die Summe der Häufigkeiten der beiden Teilbäume zugewiesen wird. Baum aus dem man die Kodes für jedes Zeichen ablesen kann Kodetabelle Kodetabelle abspeichern und ersetzen der Zeichen durch den erhaltenen Bitcode Vorteil der Unterteilung in Blöcke: Die dynamische Huffmancodierung bildet das Verfahren auf eine Blocklänge größer als eins ab. Der einfache Ansatz kann bei einer ungleichmäßigen Wahrscheinlichkeitsverteilung, also wenn auf ein Symbol ein großes Gewicht fällt und andere dafür kaum vorkommen, stark von der Entropie abweichen. Diesem kann man entgegenwirken, wenn man Blöcke aus mehreren Symbolen zur Codelänge benutzt. Allgemein kann man so eine durchschnittliche Codelänge erreichen, die näher an der Entropie liegt.

6 Beispiel für das Komprimieren eines Blockes: Inhalt des Blockes: halloballo Ermittelte Zeichen, die im Text vorkommen und deren absolute Häufigkeit: Zeichen h a l o b H absolut Resultierender Huffmanbaum: Resultierende Codetabelle: h a l o b Zeichen h a l o b Code Komprimierter Text: Länge: 22 bit Bei der 7bit-ASCII-Codierung hätte sich eine Länge von 10 Zeichen * 7 bit = 70 bit ergeben. Komprimierungsleistung: 69 % (bei Vernachlässigung der Codetabelle) Adaptives Huffman-Verfahren: Bei diesem Verfahren kennt man die Häufigkeiten der Symbole zuerst nicht, allerdings wird beim enkodieren der Codebaum adaptiv aus den vorkommenden Symbolen aufgebaut, ausgehend von dem Fall der Gleichverteilung. So passen sich die Codes im Laufe der Datei immer besser an die Häufigkeiten an. Da derselbe Prozess auch beim Decodieren verwendet wird, kann dieser Prozess auch eindeutig Rückgängig gemacht werden.

7 Der Huffmanbaum wird folgendermaßen aufgebaut: - Anfangsbaum der nur aus NYT (Escape)-Knoten besteht, der Gewicht NULL hat - Zeichen einlesen - wenn Zeichen noch nicht im Baum enthalten dann: o Suche NYT und erhöhe dessen Wichtung und die der Knoten auf dem Pfad dort hin um 1 o Anhängen von 2 Blättern an das NYT-Blatt wird zum Knoten und ist daher unmarkiert o linkes Blatt = neues NYT mit Wichtung 0 o rechtes Blatt = neues Zeichen mit Wichtung 1 o Ausgabe des Bitcodes der zum neuen Zeichen führt, gefolgt vom neuen Zeichen - sonst: o suche Zeichen o alle Knotenwichtungen auf dem Pfad zwischen Wurzel und Zeichen um 1 erhöhen o Ausgabe des Bitcodes - Überprüfung der Wichtungen: o Die Knotenwichtungen einer Ebene müssen immer kleiner sein als die der übergeordneten Ebene, sonst tausche die Teilbäume! o Wichtungen von Knoten einer Ebene müssen von links nach rechts aufsteigend sortiert sein, sonst sortierendes Tauschen! NYT bedeutet not yet transmitted, das heißt, dass an seiner Stelle Zeichen eingefügt werden, die bis jetzt noch nicht aufgetreten sind. Im Folgenden soll anhand des Textes halloballo die Funktionsweise des adaptiven Huffmanverfahrens nahe gebracht werden. NYT Begonnen wird mit einem Baum, der nur aus dem NYT-Knoten mit der Wichtung 0 besteht.

8 Als erstes Zeichen wurde das h transferiert. Jedes neue Zeichen wird rechts an den NYT- Knoten gehangen mit der Wichtung 1. Außerdem wird links ein neues Blatt angehangen, das der neue NYT-Knoten mit der Wichtung 0 wird. Der alte NYT-Knoten verliert seine Markierung und erhält die Summe der Wichtungen seiner Söhne. Ausgabe: h Wieder wird ein neues Zeichen eingefügt, das a. Damit der Decoder weiß, dass ein neues Zeichen folgt, wird ihm der Pfad zum NYT-Knoten übermittelt, gefolgt vom neuen Zeichen. Die Wichtungen aller Knoten werden von unten nach oben aktualisiert, so dass jeder Knoten die Summe der Wichtungen seiner Söhne als Wichtung erhält. Dieser Schritt wird nach jeder Änderung am Baum durchgeführt. Ausgabe: 0 a

9 Nach dem Einfügen des l am NYT-Knoten und der Aktualisierung der Wichtungen erweist es sich als notwendig, die beiden Teilbäume zu vertauschen, da rechts immer der Sohn mit der höheren Wichtung hängen muss. Ausgabe: 0 0 l Ein weiteres l wurde übermittelt. Da das Zeichen im Baum bereits vorhanden ist, wird die Wichtung des l -Knotens um 1 erhöht. Der Weg zum l -Knoten wird ausgegeben und die Wichtungen aktualisiert. Da der l -Knoten nun die Wichtung 2 hat, somit schwerer ist als der h -Knoten, und die Regel Für jeden Knoten k1 und k2 mit dem Level l1 und l2 muss gelten, wenn l1<l2, dann w(k1)>=w(k2). beachtet werden muss, war es notwendig den l -Knoten mit dem h -Knoten zu vertauschen. Ausgabe: 1 0 1

10 Das o wird als neues Zeichen am NYT-Knoten angefügt und die Wichtungen aktualisiert. Danach ist es erforderlich den Knoten a mit seinem linken Bruder zu vertauschen, da dieser nun eine höhere Wichtung besitzt als er. Es gilt: Die Wichtung eines rechten Sohnes muss immer größer gleich der Wichtung des linken Sohnes sein. Ausgabe: o Da nun alle Regeln erläutert wurden, beschränken wir uns nun nur noch auf die Ausgabe. Ausgabe: b

11 Ausgabe: Ausgabe: 1 1 Ausgabe: 1 1

12 Ausgabe: Komprimierter Text: h 0 a 0 0 l o b Länge (ohne Buchstaben 1 ): 26 bit Bei der 7bit-ASCII-Codierung hätte sich eine Länge von 10 Zeichen * 7 bit = 70 bit ergeben. Komprimierungsleistung: 63 % Vergleich der beiden Verfahren: Dynamisches Verfahren einfaches Verfahren zur Erzeugung des Huffmanbaumes bei Beschädigung eines Blockes ist nur dieser beschädigt Vorteile Adaptives Verfahren Daten müssen nur einmal eingelesen werden Nachteile zweimaliges Einlesen der Daten notwendig stark anfällig für Fehler aufwendige Verwaltung des Huffmanbaumes 1 Die Buchstaben werden nicht mit gezählt, da sie jeweils nur ein mal auftreten und dadurch bei längeren Texten nicht ins Gewicht fallen.

13 Quellenverzeichnis: Sedgewick, R., Algorithmen, Addison-Wesley, Bonn, München, Paris [u.a.], Heun, V., Grundlegende Algorithmen, Vieweg, 1. Auflage, Oktober 2000 Internetquellen: Übersicht über Varianten von Huffmans Algorithmen Algorithmen Datenkompression an der FH Flensburg Applet zum dynamischen Huffman-Verfahren Applet zum adaptiven Huffman-Verfahren Funktionsweise des adaptiven Huffman-Verfahrens

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

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

Proseminar. Thema: Shannon-Fano und Huffman Verfahren

Proseminar. Thema: Shannon-Fano und Huffman Verfahren Proseminar Datenkompression Thema: Shannon-Fano und Huffman Verfahren Gehalten am 27.11.2002 von Lars Donat 1. Huffman Code Bei diesem bereits 1951 von David A. Huffman veröffentlichtem Algorithmus handelt

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

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

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

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

Übrigens: um den Algorithmus im Unterricht einzuführen, sind keine Formeln notwendig! Warum reicht die normale ASCII-Codierung nicht aus?

Übrigens: um den Algorithmus im Unterricht einzuführen, sind keine Formeln notwendig! Warum reicht die normale ASCII-Codierung nicht aus? Huffman-Code Dieser Text ist als Hintergrundinformation ausschliesslich für die Lehrperson gedacht. Der Text ist deshalb eher technisch gehalten. Er lehnt sich an das entsprechende Kapitel in "Turing Omnibus"

Mehr

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

Freiwillige Übung zum Thema: Adaptive Huffman-Kodierung

Freiwillige Übung zum Thema: Adaptive Huffman-Kodierung Freiwillige Übung zum Thema: Adaptive Huffman-Kodierung Hintergrund-Info: Adaptive Verfahren (Quelle: Uni Karlsruhe) Die einfache Huffman-Kodierung verwendete für die Konstruktion der Kodes die Häufigkeiten

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

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...)

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Inhalt: Einleitung, Begriffe Baumtypen und deren Kodierung Binäre Bäume Mehrwegbäume Prüfer

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

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

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

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

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

Wie muss der Eingabetext beschaffen sein, damit er sich gut komprimieren lässt?

Wie muss der Eingabetext beschaffen sein, damit er sich gut komprimieren lässt? Lernaufgabe 1a Beim Kofferpacken können wir durch Druck die Luft herauslassen und bringen somit mehr Kleidungsstücke in den Koffer. Im Unterricht haben wir vom Huffman-Code gehört und wissen, dass er nach

Mehr

Huffman-Kodierung. Fachbereich Medieninformatik. Hochschule Harz. Huffman-Kodierung. Referat. Henner Wöhler. Abgabe:

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

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

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

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

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

Technische Informatik - Eine Einführung

Technische 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

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

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

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

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

Kap.4 JPEG: Bildkompression. Ziel: Gegeben sind Daten y R N. Bestimme C R N N mit C C T = I, so dass x = C y dünbesetzt ist.

Kap.4 JPEG: Bildkompression. Ziel: Gegeben sind Daten y R N. Bestimme C R N N mit C C T = I, so dass x = C y dünbesetzt ist. Kap.4 JPEG: Bildkompression Ziel: Gegeben sind Daten y R N. Bestimme C R N N mit C C T = I, so dass x = C y dünbesetzt ist. Originalbild y (30Kbt) Komprimiertes Bild z y(7kbt) JPEG (Joint Photographic

Mehr

Optimalcodierung. Thema: Optimalcodierung. Ziele

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

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

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

Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte

Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte Fachhochschule Wedel Seminararbeit Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte Sven Reinck 7. Januar 2007 Inhaltsverzeichnis Inhaltsverzeichnis Motivation 2 Wörterbuch 2.

Mehr

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen Suchbäume Suchbäume Prinzip Suchbaum Der Wert eines Knotens wird als Schlüssel verstanden Knoten kann auch weitere Daten enthalten, die aber hier nicht weiter betrachtet werden Werte der Schlüssel müssen

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15

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

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

Seminar über Algorithmen, SS2004. Textkompression. von Christian Grümme und Robert Hartmann

Seminar über Algorithmen, SS2004. Textkompression. von Christian Grümme und Robert Hartmann Seminar über Algorithmen, SS2004 Textkompression von Christian Grümme und Robert Hartmann 1. Einleitung Textkompression wird zur Verringerung des Speicherbedarfs und der Übertragungskapazität von allgemeinen

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

Christian Rieck, Arne Schmidt

Christian Rieck, Arne Schmidt Institute of Operating Systems and Computer Networks Algorithms Group Algorithmen und Datenstrukturen Wintersemester 207/208 Übung#5, 2.2.207 Christian Rieck, Arne Schmidt Bäume Satz Jeder gerichtete Baum

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

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

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 EINI LW/WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

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

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO INF.02031UF (2-4)-Bäume robert.legenstein@igi.tugraz.at 1 7. Bäume Bäume als Datenstruktur Binärbäume Balancierte Bäume (2-4)-Bäume Anwendung: Mischbare Warteschlangen

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

Informatik-Seminar Thema 6: Bäume

Informatik-Seminar Thema 6: Bäume Informatik-Seminar 2003 - Thema 6: Bäume Robin Brandt 14. November 2003 1 Robin Brandt Informatik-Seminar 2003 - Thema 6: Bäume Übersicht Definition Eigenschaften Operationen Idee Beispiel Datendefinition

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

Praktikum BKSPP. Aufgabenblatt Nr. 2

Praktikum BKSPP. Aufgabenblatt Nr. 2 PD Dr. David Sabel Institut für Informatik Fachbereich Informatik und Mathematik Johann Wolfgang Goethe-Universität Frankfurt am Main Praktikum KSPP Wintersemester 24/5 Aufgabenblatt Nr. 2 Abgabe: Dienstag,

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes

Mehr

Kompression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Folie 2

Kompression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Folie 2 Kompression Kompression Encoder Decoder Beseitigung der unnötigen Daten... Redundanz Folie 2 1 Inhalte Redundanz Channel Encoding Loss-less Compression Hufmann Coding Runlength Coding Lossy Compression

Mehr

Image Compression. Vorlesung FH-Hagenberg DSB

Image Compression. Vorlesung FH-Hagenberg DSB Image Compression Vorlesung FH-Hagenberg DSB Kompression Encoder Decoder Beseitigung der unnötigen Daten... Redundanz Inhalte Redundanz Loss-less Compression Hufmann Coding Runlength Coding Lossy Compression

Mehr

Bäume 1. Thomas Röfer

Bäume 1. Thomas Röfer Bäume Thomas Röfer Preisverleihung Begriffsdefinitionen Eigenschaften Implementierung von Bäumen Durchlaufen von Bäumen Breitensuche/Tiefensuche Huffman-Kodierung Rückblick Sortieren Permutieren nach Dijkstra

Mehr

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) WS 2013/14 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2013ws/ds/uebung/ 22. Januar 2014 ZÜ DS ZÜ XIII

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

13 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

13 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 13 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne

Mehr

Lösungen zu Kapitel 5

Lösungen zu Kapitel 5 Lösungen zu Kapitel 5 Lösung zu Aufgabe : (a) Es gibt derartige Graphen: (b) Offensichtlich besitzen 0 der Graphen einen solchen Teilgraphen. Lösung zu Aufgabe : Es sei G = (V, E) zusammenhängend und V

Mehr

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 12 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne

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

Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund

Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund EINI LW/WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 12/13 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

1 AVL-Bäume. 1.1 Aufgabentyp. 1.2 Überblick. 1.3 Grundidee

1 AVL-Bäume. 1.1 Aufgabentyp. 1.2 Überblick. 1.3 Grundidee AVL-Bäume. Aufgabentyp Fügen Sie in einen anfangs leeren AVL Baum die folgenden Schlüssel ein:... Wenden Sie hierbei konsequent den Einfüge /Balancierungsalgorithmus an und dokumentieren Sie die ausgeführten

Mehr

Digitale Medien. Übung

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

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

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

Datenstrukturen. einfach verkettete Liste

Datenstrukturen. einfach verkettete Liste einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten

Mehr

Grundlagen der Informatik II Übungsblatt: 5, WS 17/18 mit Lösungen

Grundlagen der Informatik II Übungsblatt: 5, WS 17/18 mit Lösungen PD. Dr. Pradyumn Shukla Marlon Braun Micaela Wünsche Dr. Friederike Pfeiffer-Bohnen Dr. Lukas König Institut für Angewandte Informatik und Formale Beschreibungsverfahren Grundlagen der Informatik II Übungsblatt:

Mehr

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg Image Compression Vorlesung FH-Hagenberg SEM Kompression Encoder Decoder Beseitigung der unnötigen Daten... Redundanz 1 Inhalte Redundanz Error-Free Compression Hufmann Coding Runlength Coding Lossy Compression

Mehr

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008 Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 8

Mehr

Redundanz. Technische Informationsquelle Entropie und Redundanz Huffman Codierung. Martin Werner WS 09/10. Martin Werner, Dezember 09 1

Redundanz. 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.)

Mehr

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

Textkompression: Burrows-Wheeler-Transformation

Textkompression: Burrows-Wheeler-Transformation Proseminar Algorithmen der Bioinformatik WS 2010/11 Textkompression: Burrows-Wheeler-Transformation Johann Hawe Johann Hawe, WS 2010/11 1 Gliederung 1. Einleitung 2. BWT Kompressionstransformation 2.1

Mehr

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg Image Compression Vorlesung FH-Hagenberg SEM Kompression Encoder Decoder Beseitigung der unnötigen Daten... Redundanz 1 Inhalte Redundanz Channel Encoding Error-Free Compression Hufmann Coding Runlength

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 3 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12 EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de

Mehr

Digitalisierung. analoges Signal PAM. Quantisierung

Digitalisierung. analoges Signal PAM. Quantisierung Digitalisierung U analoges Signal t U PAM t U Quantisierung t Datenreduktion Redundanzreduktion (verlustfrei): mehrfach vorhandene Informationen werden nur einmal übertragen, das Signal ist ohne Verluste

Mehr

Run Length Coding und Variable Length Coding

Run Length Coding und Variable Length Coding Fachbereich Medieninformatik Hochschule Harz Run Length Coding und Variable Length Coding Referat Matthias Zittlau 11034 Abgabe: 15.01.2007 Inhaltsverzeichnis 1. RLC...1 2.1 Einführung...1 2.2 Prinzip...1

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

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

Datenstrukturen Kurzanleitung

Datenstrukturen Kurzanleitung Datenstrukturen Kurzanleitung Insertionsort p = (7, 5, 4, 83, 6, 6) n = 6 Start: K ist sortierte Folge. Für i =, 3, 4,..., n: Füge ki in eine sortierte Folge ( k, k, k 3,..., k n ) in der richtigen Position

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

3.3 Optimale binäre Suchbäume

3.3 Optimale binäre Suchbäume 3.3 Optimale binäre Suchbäume Problem 3.3.1. Sei S eine Menge von Schlüsseln aus einem endlichen, linear geordneten Universum U, S = {a 1,,...,a n } U und S = n N. Wir wollen S in einem binären Suchbaum

Mehr

Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen

Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen Definition Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen Seminar über Algorithmen WS 2005/2006 Vorgetragen von Oliver Rieger und Patrick-Thomas Chmielewski basierend auf der Arbeit

Mehr

Eigenschaften von Kompressionsverfahren

Eigenschaften von Kompressionsverfahren 6 Textkompression Eigenschaften von Kompressionsverfahren Das Ziel der Datenkompression ist es, eine gegebene Information (Datenquelle) auf eine kompaktere Weise zu repräsentieren. Dies geschieht, indem

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

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

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure 7. Dynamische Datenstrukturen Bäume Informatik II für Verkehrsingenieure Übersicht dynamische Datenstrukturen Wozu? Oft weiß man nicht von Beginn an, wieviele Elemente in einer Datenstruktur untergebracht

Mehr

Übung zur Vorlesung. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider

Übung zur Vorlesung. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider Übung zur Vorlesung Digitale Medien Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider Wintersemester 2016/17 Bilder 20 x 14 Pixel (= Bildpunkte) 16 Bit Farben (= 65.536 Farben) 560

Mehr

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr)

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr) WS 2011/12 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2011ws/ds/uebung/ 25. Januar 2012 ZÜ DS ZÜ XIII

Mehr

Natürliche Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. Natürliche Bäume 1/16

Natürliche Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. Natürliche Bäume 1/16 Natürliche Bäume (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun Letzte Änderung: 18.03.2018 18:16 Natürliche Bäume 1/16 Bäume Begriffe (1/2) Bäume sind verallgemeinerte Listenstrukturen ein

Mehr

Arithmetisches Codieren

Arithmetisches Codieren Arithmetisches Codieren 1. Motivation: Als Alternative zum arithmetischen Codieren bot sich damals als effizientester Algorithmus das Huffmann-Coding an. Dieses jedoch hatte einen entscheidenden Nachteil:

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

Seminar. Codierungstheorie

Seminar. Codierungstheorie Seminar Codierungstheorie Lempel-Ziv-Verfahren Informatik Sommersemester 25 Tim Schweisgut, Juni 25 Inhalt INHALT... 2 WÖRTERBUCHMETHODEN... 3 Statische Wörterbuchmethoden... 3 Beispiel:... 3 Bemerkung:...

Mehr

Musterlösung: 11. Dezember 2014, 10:43. Informationstheorie und Entropiekodierung

Musterlösung: 11. Dezember 2014, 10:43. Informationstheorie und Entropiekodierung Audiotechnik II Digitale Audiotechnik: 8. Übung Prof. Dr. Stefan Weinzierl 11.12.2014 Musterlösung: 11. Dezember 2014, 10:43 Informationstheorie und Entropiekodierung Bei der Entropiekodierung werden die

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

Untersuchung des Huffman- Algorithmus auf seine Effizienz

Untersuchung des Huffman- Algorithmus auf seine Effizienz Untersuchung des Huffman- Algorithmus auf seine Effizienz :) Wettbewerb "Jugend Forscht" 2004 Markus Kramer (19 Jahre) Arbeitsgemeinschaft "Jugend Forscht" des Christian-Gymnasiums Hermannsburg Leitung:

Mehr

Grundlagen der Informationstheorie. Hanna Rademaker und Fynn Feldpausch

Grundlagen 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

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