Textkompression: Burrows-Wheeler-Transformation
|
|
|
- Günter Engel
- vor 9 Jahren
- Abrufe
Transkript
1
2 Textkompression: Burrows-Wheeler-Transformation Proseminar Algorithmen der Bioinformatik Uli Köhler 12. November 2012 Folie 2 von 49
3 Aufbau dieser Präsentation Kompression in der Bioinformatik Die Burrows-Wheeler-Transformation Algorithmus der Hintransformation Algorithmus der Rücktransformation Probleme der BWT Diskussion verschiedener Resultate Burrows & Wheeler Cox & Bauer Eigene Resultate Folie 3 von 49
4 Groÿe Datenmengen in der Bioinformatik I High-Throughput-Sequencing erzeugt durch n-fache Abdeckung groÿe Datenmengen Oft Speicherung der Rohdaten gewünscht Speicherplatz ist teuer, teils langsamer Zugri Folie 4 von 49
5 Groÿe Datenmengen in der Bioinformatik II Lösung: Verlustfreie Datenkompression Daten unter Einsatz von weniger Speicherplatz darstellen Prinzip: Eliminierung von Redundanzen Anforderungen je nach Anwendung: Schnelle Kompression/Dekompression Wenig Speicherplatzverbrauch Folie 5 von 49
6 Ein naiver Kompressionsalgorithmus I Eingabestring S := AAAAAAAAATTT S = 12 Der Algorithmus fasst gleiche aufeinanderfolgende Zeichen (Runs) zusammen Resultat: S = 9A3T S = 4 75% Speicherplatzeinsparung Problem: Viele Strings (z.b. ATATATAT) können nicht komprimiert werden Folie 6 von 49
7 Ein naiver Kompressionsalgorithmus II Aufeinanderfolgende gleiche Zeichen können von diesem Algorithmus besser komprimiert werden Einige reale Kompressionsalgorithmen können davon ebenfalls protieren Ist es möglich, einen String reversibel so umzuordnen, dass möglichst viele, möglichst lange Runs auftreten? Burrows-Wheeler-Transformation Folie 7 von 49
8 BWT - Kompression I Eingabestring S := aabrac Initialisierung einer Matrix M der Dimensionen S S Bildung aller zyklischen Rotationen des Eingabestrings M 0 aabrac 1 abraca 2 bracaa 3 racaab 4 acaabr 5 caabra Folie 8 von 49
9 BWT - Kompression II Lexikographische Sortierung der Rotationen des Eingabestrings M aabrac abraca acaabr bracaa caabra racaab Folie 9 von 49
10 BWT - Kompression III Resultat: Das Tupel (L, I ), wobei L die letzte Spalte der Matrix ist und I der Index des Eingabestrings in der Matrix ist (L, I ) = (caraab, 1) M 0 aabrac 1 abraca 2 acaabr 3 bracaa 4 caabra 5 racaab Folie 10 von 49
11 BWT Rücktransformation I Eingabetupel: (L, I ) Initialisierung einer Matrix M der Dimensionen L L Bereits bekannt: L ist die letzte Spalte von M M c a r a a b Folie 11 von 49
12 BWT Rücktransformation II Die erste Spalte ist immer sortiert Kann durch sortieren von L ausgefüllt werden M a c a a a r b a c a r b Folie 12 von 49
13 BWT Rücktransformation III Die entstandene Matrix wird um ein Zeichen rotiert M ca aa ra ab ac br Folie 13 von 49
14 BWT Rücktransformation IV Die Matrix wird lexikographisch sortiert M aa ab ac br ca ra Folie 14 von 49
15 BWT Rücktransformation V Die Schritte Schreiben von L in die rechteste freie Spalte Lexikographisches Sortieren werden wiederholt bis die Matrix voll ist Folie 15 von 49
16 BWT Rücktransformation VI M caa aab rac abr aca bra Sortieren M aab abr aca bra caa rac Folie 16 von 49
17 BWT Rücktransformation VII M caab aabr raca abra acaa brac Sortieren M aabr abra acaa brac caab raca Folie 17 von 49
18 BWT Rücktransformation VIII M _caabr _aabra _racaa _abrac _acaab _braca Sortieren M _aabra _abrac _acaab _braca _caabr _racaa Folie 18 von 49
19 BWT Rücktransformation IX M caabra aabrac racaab abraca acaabr bracaa Sortieren M aabrac abraca acaabr bracaa caabra racaab Folie 19 von 49
20 BWT Rücktransformation X M wurde vollständig rekonstruiert Zeile I ist der Originaltext M 0 aabrac 1 abraca 2 acaabr 3 bracaa 4 caabra 5 racaab Folie 20 von 49
21 BWT Rücktransformation (Original) Besseres Laufzeitverhalten - keine mehrfache Sortierung notwendig Berechnung von C[ch] := Anzahl der Zeichen in L, die im Alphabet vor ch vorkommen Berechnung von P[i] := Anzahl der Vorkommen von L[i] im Präx von L der Länge i Rekursive Berechnung des Originaltextes S i[ L ] := I (1) i j 1 := P[i j ] + C[L[i j ]] (2) S[j] := L[i j+1 ] (3) Folie 21 von 49
22 Eziente Kompression Die Kompression kann ezient mit Sux Trees implementiert werden Aber: Sux Trees sind auf realer Hardware vergleichsweise langsam Lösung: Sux Arrays Vortrag am Folie 22 von 49
23 Komprimierbarkeit Einige Zeichenkombinationen tauchen häuger in Texten auf als andere, z.b. an in and Alle Zeilen von M, die mit nd beginnen, tauchen nacheinander auf (Sortierung) Durch Rotation ist bei nahezu allen Zeilen, die mit nd beginnen, das letzte Zeichen a L enthält viele aufeinanderfolgende a Folie 23 von 49
24 Skalierbarkeit Komplexität der BWT-Transformation ist O(n 2 ) Anwendung der BWT auf sehr groÿe Datensätze (z.b. Genome) skaliert nicht Zeitverbrauch hauptsächlich durch Sortierung Wahl des Sortieralgorithmus wichtig Burrows und Wheeler stellen einen für englische Texte optimierten Quicksort vor Lösung: Unterteilung des Datensatzes in kleinere Blöcke - Anwendung der BWT auf diese Blöcke Folie 24 von 49
25 Overhead Die Länge des Tupels (L, I ) ist insgesamt gröÿer als S Genauer Längenunterschied hängt von der Repräsentation von (L, I ) ab Lösung: Anwendung eines Kompressionsalgorithmus, z.b. der Human-Kodierung auf (L, I ) Je nach Kompressionsalgorithmus oft vorherige Anwendung einer Codierung wie der Move-To-Front-Codierung (MTF) Folie 25 von 49
26 Vergleich mit anderen Algorithmen Kompression ist meist ein Kompromiss zwischen Geschwindigkeit und Platzeinsparung Einige Algorithmen sind für spezielle Datentypen (z.b. Bilder) besser geeignet Einige Algorithmen (z.b. bzip2) benutzen bereits die BWT Kein Vergleich möglich Folie 26 von 49
27 Resultate von Burrows & Wheeler I 600 Zeitaufwand verschiedener Algorithmen 400 Dauer (s) Typ Dekompression Kompression LZW Deflate BWT+Huffman comp 2 Algorithmus Folie 27 von 49
28 Resultate von Burrows & Wheeler II Größe nach Kompression in Bytes (Calgary Corpus) LZW Deflate BWT+Huffman comp 2 Algorithmus Folie 28 von 49
29 Resultate von Burrows & Wheeler III Größeneinsparung / Zeit verschiedener Algorithmen Größeneinsparung in Bytes pro Sekunde 4e+05 3e+05 2e+05 1e+05 Typ Dekompression/Größe Kompression/Größe 0e+00 LZW Deflate BWT+Huffman comp 2 Algorithmus Folie 29 von 49
30 Diskussion der Resultate von Burrows & Wheeler Zeitdaten sind kritisch zu bewerten - Hardware von 1994 BWT+Human: Gute Kompression, aber dennoch akzeptables Verhältnis Kompression / Zeit Beispiele beziehen sich nicht auf Bioinformatik-Datensätze, sondern auf einen Kompressionstestkorpus Folie 30 von 49
31 Resultate von Cox & Bauer I BWT muss zur Anwendung von Sequenzdaten generalisiert werden Cox & Bauer denieren dafür den BWT-SAP-Algorithmus Ein Algorithmus von Bauer zur Reduktion des BWT-Speicherverbrauches ohne stark erhöhten CPU-Zeitverbrauch wird verwendet Folie 31 von 49
32 Resultate von Cox & Bauer II 2.0 Kompression nach Cox und Bauer 1.5 Bits pro Base 1.0 Kompressionsstufe PPMd(default) Keine BWT BWT SAP Codierungsstufe Folie 32 von 49
33 Resultate von Cox & Bauer III 4000 Kompressionsdauer nach Cox und Bauer Kumulative Kompressionsdauer in Sekunden Kompressionsstufe PPMd(default) 0 Keine BWT BWT SAP Codierungsstufe Folie 33 von 49
34 Resultate von Cox & Bauer IV Kompression / Sekunde nach Cox und Bauer Reduktion in Bits/Base pro Sekunde Kompressionsstufe PPMd(default) Keine BWT BWT SAP Codierungsstufe Folie 34 von 49
35 Resultate von Cox & Bauer V Im Vergleich zu früheren Verfahren konnte die Kompressionsrate um 10% erhöht werden Die Kompressionszeit wurde von 14 Stunden auf 1 Stunde gesenkt (auf schnellerer Hardware) Folie 35 von 49
36 Warum eine eigene Implementierung? Alle vorgestellten Resultate verwenden die BWT zusammen mit anderen Verfahren Oene Fragen: Wie verhält sich die BWT alleine und zusammen mit anderen Verfahren Welche Kombination von anderen Verfahren erzielt für welche Datensätze die besten/schnellsten Resultate? Sind moderne (nicht-bwt-basierte) Kompressionsalgorithmen der BWT für bestimmte Anforderungen überlegen? Welche Blockgröÿen sind für die BWT optimal? Sind Bioinformatikdaten mit den bekannten Kompressionstestkorpora vergleichbar? Folie 36 von 49
37 Methodik Erstellung eines Bioinformatik-Kompressionstestkorpus Software in C++ zur Kompression der Datensätze mit verschiedenen Kombinationen von Algorithmen Teilweise wird auf Speicherung von kleinen Datenmengen verzichtet, um Verzerrung zu vermeiden Messung von: Kompressionszeit Resultierende Dateigröÿe Folie 37 von 49
38 Implementierte Verfahren Verfahren BWT Komprimierend MTF Entropie Huffman- Codierung RLE Dictionary Deflate Snappy LZO... Folie 38 von 49
39 Resultate der Eigenimplementierung I Kompression des Calgary Corpus, book1 (Fiction book) 60 Relative Größe (%) Erste Codierungsstufe BWT(10k) BWT(500) Keine 0 gzip Algorithmus Folie 39 von 49
40 Resultate der Eigenimplementierung II Kompression des C. Elegans Chromosoms III (FASTA) 30 Relative Größe (%) Erste Codierungsstufe BWT(10k) BWT(500) Keine 0 gzip Algorithmus Folie 40 von 49
41 Resultate der Eigenimplementierung III Kompression book1 Calgary Corpus (Fictional text) 1.6 Dateigröße 1.2 Algorithm BWT+MTF+Huffman MTF+Huffman Snappy Blockgröße Folie 41 von 49
42 Resultate der Eigenimplementierung IV Kompression des Chromosoms III aus C. Elegans (FASTA) 1.0 Relative Dateigröße in % Algorithm BWT+MTF+Huffman MTF+Huffman Snappy Blockgröße Folie 42 von 49
43 Resultate der Eigenimplementierung V Kompression des Chromosoms III aus C. Elegans (FASTA) Kompressionszeit (ms) 5000 Algorithm BWT+MTF+Huffman Deflate Snappy Blockgröße Folie 43 von 49
44 Diskussion der eigenen Resultate I Nur ein kleiner Teil der Resultate konnte hier diskutiert werden Verbreitete Dictionary-basierte Verfahren wie Deate erzeugen mit BWT gröÿere Dateien als ohne BWT Kompression von BWT+MTF+Human erzeugt unter den BWT-Verfahren die besten Gröÿeneinsparungen Aber: Langsame Kompression Implementierung langsam? Stark Optimierter Encoder in C++ Folie 44 von 49
45 Diskussion der eigenen Resultate II BWT+MTF+Human erzeugt bei Genomdatensätzen nur unwesentlich kleinere Dateien als MTF+Human Andere Datensätze - auch Bioinformatische - zeigen diesen Eekt nicht Groÿe Blockgröÿen (über etwa 50 kibytes) erhöhen die Laufzeit bei der BWT, erhöhen die Kompressionsrate aber nur unwesentlich Folie 45 von 49
46 Diskussion der eigenen Resultate III Konklusion: Unmodizierte BWT ist oft ungeeignet, wenn die Kompressions- oder Dekompressionszeit eine übergeordnete Rolle spielt BWT-SAP Mögliche Alternative: Asymmetrische Kompressionsalgorithmen Einzelfallentscheidung Folie 46 von 49
47 Zusammenfassung I Datenkompression ist aufgrund der enormen Datenmengen, die durch Methoden wie High-Throughput-Sequencing entstehen, oftmals notwendig Verschiedene Algorithmen erreichen verschiedene Kompressionsraten und benötigen unterschiedlich viel Rechenzeit für Kompression und Dekompression Folie 47 von 49
48 Zusammenfassung II Die Burrows-Wheeler-Transformation ist ein Algorithmus, um Zeichenketten besser komprimierbar zu machen Im Unix-Programm bzip2 wird die BWT eingesetzt BWT-basierte Algorithmen sind nicht für alle Anwendungsfälle Folie 48 von 49
49 Vielen Dank für eure Aufmerksamkeit! Alle Quellen unter Folie 49 von 49
Textkompression: Burrows-Wheeler-Transformation
Proseminar Algorithmen der Bioinformatik Ausarbeitung Textkompression: Burrows-Wheeler-Transformation Uli Köhler 12.11.2012 Inhaltsverzeichnis 1 Einleitung 2 2 Verlustfreie Kompression 2 3 Die 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
Die Burrows-Wheeler-Transformation
Die Burrows-Wheeler-Transformation Martin Knapp Proseminar Datenkompression 11. Dezember 2002 Inhaltsverzeichnis 1. Einleitung 3 2. Funktionsweise 4 2.1 Grundlagen.........................................................
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
Der LZ77 Algorithmus. von. Stefan Mühlinghaus Matrikelnummer: 11033988 Benutzerkennung: ai495
Der LZ77 Algorithmus von Stefan Mühlinghaus Matrikelnummer: 11033988 Benutzerkennung: ai495 Über den Algorithmus: Der LZ77 Algorithmus wurde von seinen Erfindern Abraham Lempel und Jacob Ziv erstmalig
Kompression.pdf h. völz /17
Kompression.pdf h. völz 23.5.02 1/17 Lauflängen-Codierung CCCCCCAABBBBAAAAEE _ 6C2A4B4A2E Pixel- und Zähl-Byte unterscheiden Pointer-Verfahren ABRABRIKADABRA Ab 4. Buchstaben ABR _ Verweis . total
Effiziente Algorithmen und Komplexitätstheorie
1 Effiziente Algorithmen und Komplexitätstheorie Vorlesung Thomas Jansen 22.06.2006 2 Ein anderer Ansatz Beobachtung in Dokumenten eines Typs wiederkehrende Muster Idee Muster in Wörterbuch speichern,
Algorithmen und Datenstrukturen 2-3. Seminar -
Algorithmen und Datenstrukturen 2-3. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 3. Übungsserie: 3 Aufgaben, insgesamt 30 Punkte A7 Huffmann-Codierung
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
I. II. I. II. III. IV. I. II. III. I. II. III. IV. I. II. III. IV. V. I. II. III. IV. V. VI. I. II. I. II. III. I. II. I. II. I. II. I. II. III. I. II. III. IV. V. VI. VII. VIII.
Kompression: Lempel/Ziv-Algorithmen
Unversität Koblenz-Landau Abteilung Koblenz Fachbereich Informatik Dipl.-Inf. Jörg Müller Proseminar WS 2000/2001 Algorithmen Kompression: Lempel/Ziv-Algorithmen 9. Januar 2001 Tobias Koch
Kapitel 2 Quellencodierung
Kapitel 2 Quellencodierung Prof. Dr. Dirk W. Hoffmann Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik Übersicht Quelle Senke Kompression Huffman-, Arithmetische-, Lempel-Ziv
16 - Kompressionsverfahren für Texte
16 - Kompressionsverfahren für Texte Prof. Dr. S. Albers Kompressionsverfahren für Texte Verlustfreie Kompression Original kann perfekt rekonstruiert werden Beispiele: Huffman Code, Lauflängencodierung,
Kompressionsverfahren
Kompressionsverfahren Quelle: Steinmetz, Ralf: Multimedia-Technologie: Einführung und Grundlagen, Springer, Verlag Verlustlose Kompressionsalgorithmen RLC Huffman Adaptive Huffman Kodierung Arithmetische
Kompression und Datenformate. Grundlagen der Bildspeicherung, Kompressionsverfahren, Datenformate
Kompression und Datenformate Grundlagen der Bildspeicherung, Kompressionsverfahren, Datenformate Digitale Speicherung von Bildern Digitalisierung Informationsgehalt Speicherbedarf Kompression von Multimediadaten
Suffix Arrays Eine Datenstruktur für Stringalgorithmen
Suffix Arrays Eine Datenstruktur für Stringalgorithmen Karsten Klein Vorlesung Algorithmen und Datenstrukturen WS 08/09 13.November 2008 TU Dortmund, Fakultät Informatik, LS11 Algorithm Engineering Übersicht
4.4 Anwendungen von Suffixbäumen und Suffix-Arrays
4.4 Anwendungen von Suffixbäumen und Suffix-Arrays exakte Suche in unveränderlichen Texten (schon besprochen) inexakte Suche in unveränderlichen Texten Finden von Regelmäßigkeiten (z.b. längste Wiederholungen)
Datenkompression: Weitere verlustfreie Komprimierungsverfahren. H. Fernau
Datenkompression: Weitere verlustfreie Komprimierungsverfahren email: [email protected] SoSe 2013 Universität Trier 1 Weitere verlustfreie Verfahren : Lauängencodierung Facsimile-Übertragung BWT Fortschreitende
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
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,
Datenkompression. Theorie
Datenkompression Theorie Einleitung Übersicht Wie lassen sich beliebige Daten verdichtet (komprimiert) darstellen? verlustfreie Kompression: Programme Texte verlustbehaftete Kompression: Audio Video Kompressionsfaktor:
LZSS und Deflate. Lars Kunert. April 18, Seminar Kompressionsalgorithmen RWTH Aachen
LZSS und Deflate Lars Kunert Seminar Kompressionsalgorithmen RWTH Aachen April 18, 2012 Übersicht 1 LZ - Storer, Szymanski (LZSS, 1982) 2 Deflate (1996) 3 Anwendung LZSS - 1 Verbesserungen gegenüber LZ77:
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
Kompressionsverfahren für Texte
Kompressionsverfahren für Texte Prof. Dr. S. Albers Prof. Dr. Th. Ottmann 1 Zeichenkettenverarbeitung Suche in Texten, Textindizes Mustererkennung (Pattern-Matching) Verschlüsseln Komprimiern Analysieren
Datenbanken: Datenkompression. Dr. Matthias Uflacker, Stefan Klauck 2. Mai 2018
Datenbanken: Datenkompression Dr. Matthias Uflacker, Stefan Klauck 2. Mai 2018 Vorlesungsinhalte/-aufbau Phase 1 Einführung zu Unternehmensanwendungen (2 Vorlesungen) Grundlagen von spaltenorientierten
Untersuchung von Verfahren zur Messdatenreduktion und kompression für den Einsatz in einer Nanomessmaschine
Untersuchung von Verfahren zur Messdatenreduktion und kompression für den Einsatz in einer Nanomessmaschine Dipl.-Ing. T. Machleidt PD Dr.-Ing. habil. K.-H. Franke Fachgebiet Graphische Datenverarbeitung
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:...
Algorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Informationen zur Klausur Termin: 21. Februar 2013,
Eine Variante der Burrows-Wheeler Transformation mit Permutationen
Institut für Formale Methoden der Informatik Universität Stuttgart Universitätsstraße 38 D 70569 Stuttgart Diplomarbeit Nr. 3117 Eine Variante der Burrows-Wheeler Transformation mit Permutationen Philipp
Pat Trees und Pat Arrays Datenstrukturen zur effizienten Suche in Texten
Pat Trees und Pat Arrays Datenstrukturen zur effizienten Suche in Texten Ruprecht-Karls-Universität Heidelberg HS Information Retrieval Dozentin: Dr. Karin Haenelt Referenten: Doina Gliga und Katja Niemann
Textkompression. Komprimierung von Daten. Runlength Komprimierung (2) Runlength Komprimierung (1) Herkömmliche Kodierung. Runlength Komprimierung (3)
Komprimierung von Daten Textkompression Effiziente Algorithmen VU 2.0 WS 2008/09 Bin Hu Ziel: Platz und Zeit sparen Kompression durch - Effiziente Kodierung - Verminderung der Redundanzen (verlustfrei)
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
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,
Nutzung der Oracle Database InMemory Option für SAP BW
Nutzung der Oracle Database InMemory Option für SAP BW Schlüsselworte Oracle, SAP-BW, InMemory, Star-Schema. Jörn Bartels Oracle München Einleitung In SAP BW wurde bisher ein erweitertes Snow Flake Schema
Projekt Systementwicklung
Projekt Systementwicklung Effiziente Codierung: Laufzeitoptimierung Prof. Dr. Nikolaus Wulff Effiziente Codierung Der Wunsch effizienten Code zu schreiben entstammt mehreren Quellen: Zielplattformen mit
Zeichenketten Benedikt Straßner. Programming Systems Group Martensstr Erlangen Germany
Zeichenketten 16.04.2018 Benedikt Straßner Programming Systems Group Martensstr. 3 91058 Erlangen Germany Übersicht String Matching Algorithmen Naive Stringsuche Knuth Morris Pratt (KMP) Algorithmus Boyer-Moore
2. Digitale Codierung und Übertragung
2. Digitale Codierung und Übertragung 2.1 Informationstheoretische Grundlagen 2.2 Verlustfreie universelle Kompression 2.3 Digitalisierung, Digitale Medien Ludwig-Maximilians-Universität München, Medieninformatik,
1 Kompressionsarten Verlustfreie Kompression Verlustbehaftete Kompression... 3
Inhaltsverzeichnis 1 Kompressionsarten 3 1.1 Verlustfreie Kompression......................... 3 1.2 Verlustbehaftete Kompression...................... 3 2 Mathematische Modelle 4 2.1 Grundlagen................................
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
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.
Algorithmen und Datenstrukturen in der Bioinformatik Drittes Übungsblatt WS 05/06 Musterlösung
Konstantin Clemens Johanna Ploog Freie Universität Berlin Institut für Mathematik II Arbeitsgruppe für Mathematik in den Lebenswissenschaften Algorithmen und Datenstrukturen in der Bioinformatik Drittes
Suffix Arrays Eine Datenstruktur für Stringalgorithmen
Suffix Arrays Eine Datenstruktur für Stringalgorithmen Karsten Klein Vorlesung Algorithmen und Datenstrukturen WS 08/09 11.November 2008 TU Dortmund, Fakultät Informatik, LS11 Algorithm Engineering Überblick
3.2. Divide-and-Conquer-Methoden
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE 3.2. Divide-and-Conquer-Methoden Divide-and-Conquer-Methoden Einfache Sortieralgorithmen reduzieren die Größe des noch
Programmierung. Rückblick. VWA - Programmierung Winter Algorithmus. Programmiersprache. Variable. Zuweisung. Bedingung.
Programmierung 1 Rückblick Algorithmus Programmiersprache Variable Zuweisung Bedingung Schleife (c) Peter Sturm, University of Trier 1 3 Aufgabe: Viele, viele bunte Smarties Rechengeschwindigkeit CPU 5
Grundlagen des Burrows-Wheeler-Kompressionsalgorithmus
Grundlagen des Burrows-Wheeler-Kompressionsalgorithmus JÜRGEN ABEL Universität Duisburg-Essen Der Burrows-Wheeler-Kompressionsalgorithmus hat als ein universelles Kompressionsverfahren in den letzten Jahren
Interaktive Visualisierung zeitabhängiger Volumendaten
Interaktive Visualisierung zeitabhängiger Volumendaten Diplomarbeit von Dario Kardas graphische datenverarbeitung, universität erlangen-nürnberg Skalare Volumendaten Volumen besteht aus Schichtbildern
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,
Übung Datenstrukturen. Sortieren
Übung Datenstrukturen Sortieren Aufgabe 1 Gegeben sei nebenstehender Sortieralgorithmus für ein Feld a[] ganzer Zahlen mit N Elementen: a) Um welches Sortierverfahren handelt es sich? b) Geben Sie möglichst
5. Übungsblatt zu Algorithmen I im SoSe 2016
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Dennis Hofheinz Lukas Barth, Lisa Kohl 5. Übungsblatt zu Algorithmen I im SoSe 2016 https://crypto.iti.kit.edu/index.php?id=algo-sose16
Vorbesprechung. Proseminar Bioinformatik. Sommersemester Februar 2015
Vorbesprechung Proseminar Bioinformatik Sommersemester 2015 5. Februar 2015 0 Zeitplan Proseminar Vorbesprechung (heute) Einführungsveranstaltung (13.04.) 11 Vorträge (ab 20.04.) Abschlussveranstaltung
Praktikum BKSPP. Aufgabenblatt Nr. 1. 1 Umrechnung zwischen Stellenwertsystemen
Dr. David Sabel Institut für Informatik Fachbereich Informatik und Mathematik Johann Wolfgang Goethe-Universität Frankfurt am Main Praktikum BKSPP Sommersemester 21 Aufgabenblatt Nr. 1 Abgabe: Mittwoch,
PPM - Prediction by Partial Matching
PPM - Prediction by Partial Matching 20. September 2012 Zusammenfassung Der PPM-Algorithmus ist eine prinzipiell relativ einfache Möglichkeit, Daten sehr stark zu komprimieren. In dieser Arbeit soll der
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.
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
Fehlererkennung und Fehlerkorrektur in Codes
Fehlererkennung und Fehlerkorrektur in Codes Blockcodes und Hamming Abstand Untersuchungen zu Codierungen von Informationen, die über einen Nachrichtenkanal übertragen werden sollen, konzentrieren sich
Algorithmen auf Sequenzen
Algorithmen auf Sequenzen Fehlertolerante Mustersuche: Distanz- und Ähnlichkeitsmaße Sven Rahmann Genominformatik Universitätsklinikum Essen Universität Duisburg-Essen Universitätsallianz Ruhr Einführung
Digitale Medien. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid. Übung zur Vorlesung
Übung zur Vorlesung Digitale Medien Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid Wintersemester 2016/17 LZW-Komprimierung Idee: Nicht einzelne Zeichen werden günstig kodiert, sondern ganze Zeichenketten
Farb-Fernsehsignal (Composite FBAS)
Farb-Fernsehsignal (Composite FBAS) Quelle: Ze-Nian Li : Script Multimedia Systems, Simon Fraser University, Canada VIDEO- Digitalisierung Gemeinsame Kodierung FBAS Farbbild- Austast- und Synchronsignal
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:
zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
Verlustfreie Kompression
Verlustfreie Kompression Tim Rolff Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 8. Juni 2016 Tim Rolff
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
zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
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
Abschnitt 19: Sortierverfahren
Abschnitt 19: Sortierverfahren 19. Sortierverfahren 19.1 Allgemeines 19.2 Einfache Sortierverfahren 19.3 Effizientes Sortieren: Quicksort 19.4 Zusammenfassung 19 Sortierverfahren Informatik 2 (SS 07) 758
Basisinformationstechnologie II
Basisinformationstechnologie II Sommersemester 2015 13. Mai 2015 Algorithmen der Bildverarbeitung I: Kompression Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Dr. Jan
Datenkompression. 1. Einleitung. Einfache Techniken. RLE (Text/Bild) Move-to-Front Coding. 1.1 Einteilung der Verfahren.
Grundlegende Techniken 1. Einleitung Einfache Techniken Was versteht man unter Kompression? Einteilung der Kompressionsverfahren RLE (Text/Bild) Move-to-Front Coding Michael Muth 1999 Michael Muth Folie
Kombinatorische Optimierung
Kombinatorische Optimierung Zuweisungsprobleme 2 1 3 5 4 Kombinatorische Optimierung Rucksackpackproblem 1 10 2 4 6 3 5 8 6 Aufspannende Bäume Travelling Salesman VLSI Design C. Kanzow, M. Gerdts Kombinatorische
Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion:
Übungsblatt 1 Aufgabe 1.1 Beweisen oder widerlegen Sie, dass für die im Folgenden definierte Funktion f(n) die Beziehung f(n) = Θ(n 4 ) gilt. Beachten Sie, dass zu einem vollständigen Beweis gegebenenfalls
Klausur Informatik 1 SS 08. Aufgabe 1 2 3 4 Max. Punkte 30 40 40 10 Punkte. Gesamtpunkte:
Klausur Informatik 1 SS 08 Aufgabe 1 2 3 4 Max. Punkte 30 40 40 10 Punkte Gesamtpunkte: Note: Bearbeitungszeit 120 Minuten Keine Hilfsmittel Tragen Sie als erstes Ihren vollständigen Namen und Ihre Matrikelnummer
