Effiziente Algorithmen und Komplexitätstheorie
|
|
- David Kirchner
- vor 6 Jahren
- Abrufe
Transkript
1 1 Effiziente Algorithmen und Komplexitätstheorie Vorlesung Thomas Jansen
2 2 Ein anderer Ansatz Beobachtung in Dokumenten eines Typs wiederkehrende Muster Idee Muster in Wörterbuch speichern, codieren durch Index Beispiel Σ = 2 l Wörterbuch D für 2 w häufigste Wörter aus Σ k codiere x D mit w + 1 Bits codiere x / D mit l + k + 1 Bits Hilft das? krude Abschätzung W keit p für x D ohne Wörterbuch für n Wörter n (l + k) Bits mit Wörterbuch für n Wörter erwartet n p (w + 1) + n (1 p) (l + k + 1) Bits klar Wörterbuch besser, wenn p > 1 (l+k) w (viel größer als bei Gleichverteilung)
3 3 Statische Wörterbücher Wann kann man sinnvolle statische Wörterbücher finden? nur hochspezialisierte Anwendungen etwas weniger spezialisiert Buchstabenpaar-Codierung Wörterbuch der Größe 2 w mit 2 w > Σ mit Σ Einträgen s 1,..., s n Σ und mit 2 w Σ Einträgen für die häufigsten Buchstabenpaare Anmerkung für homogene Daten (z. B. Java-Sourcecode) sinnvoll Anmerkung man muss nicht Codierung fester Länge verwenden...
4 4 Adaptive Wörterbücher zwei zentrale Paper Ziv, Lempel (1977): A universal algorithm for sequential data compression. LZ77 Ziv, Lempel (1978): Compression of individual sequences via variable-rate coding. LZ78 LZ77 Lasse Fenster der Größe w über Text laufen. Wörterbuch (search buffer) der Größe s ist linker Teil im Rest (look-ahead buffer) der Größe w s zu codierender Text übermittle Tripel o, l, c aus Offset o, Länge der Übereinstimmung l und nächstes Zeichen c
5 5 Beispiele LZ77 E M U H E N E M E N E T U search buffer look-ahead buffer 0,0,c(M) 4,3,c(T) S C H A L A L A L A!!! search bufferlook-ahead buffer 2,4,c(!) S O R G E N S O R G E N S O R G search buffer look-ahead buffer 0,0,c(S) 0,0,c(O) klar Decodierung immer einfach Größe eines Tripels log S + log W + log Σ
6 Über LZ77 Vorteile einfach, leicht zu implementieren effizient keine Kenntnis über Quelle erforderlich Nachteile Annahme der Lokalität von Musterwiederholungen im Worst Case extrem aufblähend Codierung einzelner Zeichen mit Tripeln unbefriedigend Modifikationen Codierung der Tripel mit variabler Länge Größe des Fensters Flag-Bit für Paar/Einzelzeichen (Paare statt Tripel, effiziente Einzelzeichencodierung) LZSS (Lempel, Ziv, Storer, Syzmanski) Anmerkung Varianten verwendet in zip, pkzip, lharc, arj 6
7 7 LZ78 Verwende ein externes Wörterbuch. Codiere durch Paare i, c(s) (i N 0 Index im Wörterbuch, s Σ erster nicht passender Buchstabe) i, c(s) wird neuer Eintrag wichtig Wörterbuchkonstruktion für Codierung und Decodierung identisch machen! Beispiel S C H A L A L A L A L A! Wörterbuch 1: S 2: C 0,c(S) 0,c(C) 0,c(H) 0,c(A) 0,c(L) 3: H 4,c(L) 6,c(A) 5,c(A) 0,c(!) 4: A 5: L Problem Wörterbuch wächst unbeschränkt 6: AL 7: ALA 8: LA 9:!
8 8 LZW Welch (1984): A technique for high-performance data compression. Ziel modifiziere LZ78 so, dass Übertragung des Index im Wörterbuch ausreicht Algorithmus LZW Starte mit Wörterbuch mit Einträgen für alle s Σ. Übertrage Index des Eintrags mit maximaler Länge. Verlängere dieses Muster um nächsten Buchstaben und füge ein. Übertrage nächstes Muster mit diesem Anfangsbuchstaben.
9 9 Beispiel LZW-Codierung 7 S C H A L A L A L A L A! Wörterbuch 1:! 2: A 3: B 4: C 5: H 6: L 7: S 8: SC 9: CH 10: HA 11: AL 12: LA 13: ALA 14: ALAL 15: LA!
10 10 Beispiel LZW-Decodierung Wörterbuch 1:! 2: A S C H A L A L A L A L A! 3: B 4: C 5: H 6: L Beobachtung korrekt mit Sonderfall 7: S 8: SC 9: CH 10: HA 11: AL 12: LA 13: ALA 14: ALAL 15: LA!
11 11 Beispiel für LZW: compress compress anfangs Wörterbuchgröße 512 Index = 9 wenn Wörterbuch voll Wörterbuchgröße verdoppeln also Wörterbuchgröße 1024 Index = 10 bei vollem Wörterbuch so fortsetzen, bis Index = 16 (Wörterbuchgröße 2 16 = ) ab Wörterbuchgröße statisches Wörterbuch dabei Kompressionsfaktor beobachten, wenn zu schlecht, mit leerem Wörterbuch Wörterbuchaufbau neu starten Beobachtung Kompromiss zwischen Wörterbuchflexibilität und -größe bei Erhaltung der Lokalität des Wörterbuchs
12 12 Weitere Beispiele für LZW Graphics Interchange Format (GIF) sehr ähnlich wie compress Wörterbuchgröße von Farbtiefe abhängig Anmerkung gut geeignet für regelmäßige Bilder weniger gut für Fotos V.42 bis (Datenkompression bei Übertragung über Modems) zwei Modi transparent und compressed minimale Wörterbuchgröße 512 Verhandlung der Wörterbuchgröße Teil des Protokolls reservierte Codewörter für Moduswechsel und Wörterbuchvergrößerung Verwendung des letzten Wörterbucheintrags verboten ( keine Sonderfälle)
13 Noch ein anderer Ansatz ein kleiner Umweg... List Update Liste mit n festen Elementen, ungeordnet Zugriff durch lineares Durchsuchen von vorne nach hinten Problem organisiere die Liste dabei so um, dass Zugriffszeiten klein werden selbstorganisierende Datenstruktur lange bekannter Algorithmus Move-To-Front Move-To-Front Verschiebe zugegriffenes Element an Listenanfang Ist das ein guter Algorithmus? im Worst Case sicher nicht: immer hinterstes Element anfragen Beobachtung Gilt für jeden Algorithmus Wie kann man Performanz vernünftig messen? 13
14 14 Das List-Update-Problem Spielregeln Zugriff auf Element auf Position i verursacht Kosten i nach Zugriff darf Element beliebig nach vorne bewegt werden, dafür keine Kosten bei Problemen üblich Eingabe zu Beginn vollständig bekannt hier Anfragesequenz wird erst nach und nach bekannt Online-Problem Eingabe wird stückweise bekannt Offline-Problem Eingabe sofort ganz bekannt dazu korrespondierend Online-Algorithmus und Offline-Algorithmus Definition 210 A Online-Algorithmus, Kosten A(σ) auf Eingabefolge σ, OPT(σ) Kosten eines optimalen Offline-Algorithmus auf σ. A heißt c-kompetitiv, wenn b : σ : A(σ) c OPT(σ) + b.
15 Kompetitivität von Move-To-Front Theorem 211 Move-To-Front ist ( 2 n) 1 -kompetitiv auf Listen mit n Elementen. Beweis. Sei A optimaler Offline-Algorithmus. Sei L A i Sei L MTF i Liste von A nach i-ten Zugriff. Liste von Move-To-Front nach i-tem Zugriff. initial L A 0 = LMTF 0 amortisierte Analyse mit Potenzialfunktion Φ definiere Φ i := #Inversionen zwischen L A i und L MTF i Betrachte i-ten Zugriff: LookUp(x) Situation vorher L MTF i 1 S U x T L A i 1 T S x U S vor x in beiden Listen T vor x in L A i, hinter x in L MTF i U vor x in L MTF i, hinter x in L A i 15
16 16 Beweis von Theorem 211 L Situation vorher MTF i S U x T L A i T S x U S vor x in beiden Listen T vor x in L A i, hinter x in L MTF i U vor x in L MTF i, hinter x in L A i also darum ti MTF = S + U + 1 ti A = S + T + 1 Φ i Φ i 1 S U amortisierte Rechenzeit a i = t i +Φ i Φ i 1 S + U +1+ S U ( = 2 S + 1 2ti A ) ti A n
17 Move-To-Front-Codierung Was hat das mit Kompression zu tun? Move-To-Front als Vorbereitung zur Kompression 1. für Σ = {s 1, s 2,..., s n } erzeuge Liste s 1, s 2,..., s n 2. für jeden zu codierenden Buchstaben wähle Position 1 als Codierung und benutze Move-To-Front 3. Codiere Zahlenfolge mit Kompressionsverfahren (z. B. Huffman-Codierung) Funktioniert das? Eindeutig decodierbar? anfangs Liste bekannt darum aus erster Zahl und Liste codierter Buchstabe ablesbar außerdem neue Liste durch Move-To-Front herstellbar also nachher Liste bekannt wie vorher Was nützt das? klar Buchstabenfolge a i j0 i 1 Hoffnung 0 noch viel häufiger als häufigster Buchstabe Wunsch lange Buchstabenfolgen a i 17
18 18 Beispiel Move-To-Front S C H A L A L A L A L A! Liste ! A L H C S B relative Häufigkeiten Original A: 13 L: 13 C: 13 H: 13 S: 13!: 13 B: Move-To-Front 1: 13 4: 13 5: 13 6: 13 0: 0 2: 0 3: 0 klar günstig für anschließende Huffman-Codierung
19 19 Noch eine Transformation Burrows, Wheeler (1995): A block-sorting losless data compression algorithm. Idee Ordne Eingabe so um, dass sie Move-To-Front-freundlicher wird. Beobachtung umordnen Permuation (also bijektiv ) ideal wäre sortiere buchstabenweise SCHALALALALA!!AAAAACHLLLLS Invertierbar? grundsätzlich jede Permutation invertierbar Problem benötigte Zusatzinformationen
20 20 Die Burrows-Wheeler-Transformation Eingabe Text X = x 1 x 2 x l 1 x l 1. Betrachte X 1 := x 1 x 2 x l 1 x l X 2 := x l x 1 x l 2 x l 1 X 3 := x l 1 x l x l 3 x l 2. X l := x 2 x 3 x l x 1 2. Sortiere X 1, X 2,..., X l lexikographisch aufsteigend. 3. Gib Folge der letzten Zeichen und Index der Originalzeile als Ausgabe aus. Beispiel SCHALALALALA! Ausgabe ALLLLHSCAAAA!, 12
21 21 Beispiel Burrows-Wheeler-Transformation Beispiel SCHALALALALA! 0 S C H A L A L A L A L A! 1! S C H A L A L A L A L A 2 A! S C H A L A L A L A L 3 L A! S C H A L A L A L A 4 A L A! S C H A L A L A L 5 L A L A! S C H A L A L A 6 A L A L A! S C H A L A L 7 L A L A L A! S C H A L A 8 A L A L A L A! S C H A L 9 L A L A L A L A! S C H A 10 A L A L A L A L A! S C H 11 H A L A L A L A L A! S C 12 C H A L A L A L A L A! S
22 22 Beispiel Burrows-Wheeler-Transformation (Fortsetzung) Beispiel SCHALALALALA! Sortiert 0! S C H A L A L A L A L A 1 A! S C H A L A L A L A L 2 A L A! S C H A L A L A L 3 A L A L A! S C H A L A L 4 A L A L A L A! S C H A L 5 A L A L A L A L A! S C H 6 C H A L A L A L A L A! S 7 H A L A L A L A L A! S C 8 L A! S C H A L A L A L A 9 L A L A! S C H A L A L A 10 L A L A L A! S C H A L A 11 L A L A L A L A! S C H A 12 S C H A L A L A L A L A! Ausgabe ALLLLHSCAAAA!, 12
23 23 Rücktransformation Und das ist invertierbar? Wie ALLLLHSCAAAA!, 12 SCHALALALALA!? Beobachtung jede Zeile und jede Spalte ist Permutation des Originals Beobachtung letzte Spalte sortieren erste Spalte Beobachtung Index identifiziert Anfangsbuchstaben Beobachtung Zeile, die mit diesem Buchstaben endet, beginnt mit zweitem Buchstaben also Original wieder rekonstruierbar
24 Beispiel Rücktransformation ALLLLHSCAAAA!, 12 SCHALALALALA! Index erste Spalte letzte Spalte 0! A 1 A L 2 A L 3 A L 4 A L 5 A H 6 C S 7 H C 8 L A 9 L A 10 L A 11 L A 12 S! 24
25 25 Zur Burrows-Wheeler-Transformation gesehen effizient berechenbar reversibel Warum ist das sinnvoll? klar erste Spalte komplett sortiert ( ideal ) Beobachtung letzte Spalte direkter Nachbar der ersten Spalte Hoffnung benachbarte Spalte mit starken Korrelationen dann letzte Spalte auch ziemlich sortiert Anwendung zur Kompression Burrows-Wheeler-Transformation Move-To-Front-Codierung klassische Kompression (arithmetische Codes oder Huffman)
26 26 Burrows-Wheeler-Transformation und Move-To-Front am Beispiel SCHALALALALA! SCHALALALALA! BWT ALLLLHSCAAAA!, 12 MTF 1, 5, 0, 0, 0, 5, 6, 6, 4, 0, 0, 0, 5, 7, 8, 9 Anmerkungen nach MTF noch besser als nach BWT hier wegen neuer Buchstaben (,, 1, 2 ) nicht so gut in der Praxis mit sehr langen Blocklängen benutzt implementiert z. B. in bzip2 problematisch Speicherplatz
27 27 Burrows-Wheeler-Kompression: Verbesserungen dreischrittiges Kompressionsverfahren Burrows- Wheeler- Transformation Globale Struktur- Transformation Entropie- Kodierung Burrows-Wheeler-Transformation Globale Strukturtransformation Move-To-Front Entropie-Kodierung Huffmann oder arithmetische Codes zur Entropie-Kodierung Huffman-Codierung deutlich schneller arithmetische Codes deutlich bessere Kompression
Kodierungsalgorithmen
Kodierungsalgorithmen Komprimierung Verschlüsselung Komprimierung Zielsetzung: Reduktion der Speicherkapazität Schnellere Übertragung Prinzipien: Wiederholungen in den Eingabedaten kompakter speichern
MehrDer 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
MehrDatenkompression: Lempel-Ziv-Codierung
Gliederung 1) Einleitung 2) Abraham Lempel, Jacob Ziv, Terry Welch 3) Tabellengestützte Modellierung 4) LZ77 5) LZ78 6) LZW 7) Einsatzgebiete 8) Zusätzliche Erläuterungen 9) Quellen 1) Einleitung Aufgabe
MehrProblem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert.
Anwendungen von Bäumen 4.3.2 Huffman Code Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert. => nutzbar für Kompression Code fester
MehrEinführung in Kompressionstechniken
Einführung in Kompressionstechniken W. Kowarschick 7. Februar 997. November 9 W. Kowarschick Motivation Dateigrößen Text Vektorgraphiken Rasterbilder Tomographien Telephon CD-Stereo Bildfolgen VD7 VD7
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 6. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Datenkomprimierung Bei den meisten bisher betrachteten
Mehr10%, 7,57 kb 20%, 5,3 kb 30%, 4,33 kb 40%, 3,71 kb 50%, 3,34 kb. 60%, 2,97 kb 70%, 2,59 kb 80%, 2,15 kb 90%, 1,62 kb 99%, 1,09 kb
Die Komprimierung: Die Abkürzung JPG (oder auch JPEG) steht für "Joint Photographic Experts Group". Dieses Bildformat ist nach der Expertengruppe, die es erfunden hat, benannt. Die Komprimierung empfiehlt
MehrDatenstrukturen und Algorithmen SS07
Datenstrukturen und Algorithmen SS07 Datum: 27.6.2007 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Online Algorithmen Update von Listen Move to Front (MTF) Transpose Approximationen
MehrA2.3: Zur LZ78 Komprimierung
A2.3: Zur LZ78 Komprimierung Im Gegensatz zur Entropiecodierung nach Huffman oder Shannon, bei der man die Quellenstatistik (möglichst genau) kennen muss, sind solche Einschränkungen bei den von Abraham
MehrBilddatenformate BMP GIF JPG. Digitale Bildverarbeitung Liedtke 7.1. Bezeichnung: Microsoft Windows Bitmap, BMP, DIB
Bilddatenformate BMP Bezeichnung: Microsoft Windows Bitmap, BMP, DIB Format: Raster Farben: 1 Bit (s/w), 4 Bit (16 Farben), 8 Bit (256 Farben), 24 Bit (16,7 Mio. Farben) Kompression: Keine (meist) oder
Mehr1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes
1 Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche: Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 5/ 44 Unser Modell Shannon
MehrDigitale Bildverarbeitung (DBV)
Digitale Bildverarbeitung (DBV) Prof. Dr. Ing. Heinz Jürgen Przybilla Labor für Photogrammetrie Email: heinz juergen.przybilla@hs bochum.de Tel. 0234 32 10517 Sprechstunde: Montags 13 14 Uhr und nach Vereinbarung
MehrEine 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
Mehrk-server-algorithmen Alexander Leider 4. Februar 2007
k-server-algorithmen Alexander Leider 4. Februar 2007 1 INHALTSVERZEICHNIS 2 Inhaltsverzeichnis 1 Einleitung 3 1.1 Online-Algorithmen....................... 3 1.2 Kompetitive Algorithmen....................
MehrMethoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen
Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009 16.07.2009 Kapitel 2 1 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle
Mehr1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der
MehrEinführung in die Kodierungstheorie
Einführung in die Kodierungstheorie Einführung Vorgehen Beispiele Definitionen (Code, Codewort, Alphabet, Länge) Hamming-Distanz Definitionen (Äquivalenz, Coderate, ) Singleton-Schranke Lineare Codes Hamming-Gewicht
MehrProseminar Datenkomprimierung Dr. U. Tamm. Bildkompression WS 2002/03. Florian Strunk
Proseminar Datenkomprimierung Dr. U. Tamm Bildkompression WS 2002/03 Florian Strunk Problematik: Die Datencodierung und Kompression ist so alt wie die Geschichte des Computers. Seit dem es hochauflösende
MehrKryptologie und Kodierungstheorie
Kryptologie und Kodierungstheorie Alexander May Horst Görtz Institut für IT-Sicherheit Ruhr-Universität Bochum Lehrerfortbildung 17.01.2012 Kryptologie Verschlüsselung, Substitution, Permutation 1 / 18
MehrÜbung 1: Quellencodierung
ZHAW, NTM2, Rumc, /7 Übung : Quellencodierung Aufgabe : Huffman-Algorithmus. Betrachten Sie die folgende ternäre, gedächtnislose Quelle mit dem Symbolalphabet A = {A,B,C} und den Symbol-Wahrscheinlichkeiten
MehrCodierung, Codes (variabler Länge)
Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls
MehrÜbung 13: Quellencodierung
ZHAW, NTM, FS2008, Rumc, /5 Übung 3: Quellencodierung Aufgabe : Huffmann-Algorithmus. Betrachten Sie die folgende ternäre, gedächtnislose Quelle mit dem Symbolalphabet A = {A,B,C} und den Symbol-Wahrscheinlichkeiten
MehrReihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03
Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen
Mehr3 Quellencodierung. 3.1 Einleitung
Source coding is what Alice uses to save money on her telephone bills. It is usually used for data compression, in other words, to make messages shorter. John Gordon 3 Quellencodierung 3. Einleitung Im
MehrKompetitive Analysen von Online-Algorithmen
Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen
Mehr2. Digitale Codierung und Übertragung
2. Digitle Codierug ud Üertrgug 2.1 Iformtiostheoretische Grudlge 2.2 Speicheredrf ud Kompressio 2.3 Digitlisierug, Digitle Medie Weiterführede Litertur zum Them Dtekompressio: Khlid Syood: Itroductio
MehrÜbersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)
Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter
MehrCODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005
CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005. Das Problem.. Quellcodierung und Datenkompression. Wir wollen eine Nachricht über einen digitalen Kanal, der nur 0 oder übertragen kann, schicken.
MehrIdeen der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn Adrian Neumann viele Folien von Kostas Panagiotou
Ideen der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn Adrian Neumann viele Folien von Kostas Panagiotou Suchen Welche Telefonnummer hat Kurt Mehlhorn? Wie schreibt man das Wort Equivalenz?
MehrCodierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau
Codierung Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau Ein bisschen Informationstheorie Betrachten wir das folgende Problem: Wie lautet eine sinnvolle Definition für das quantitative
Mehr15 Optimales Kodieren
15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen
MehrMathematik für Information und Kommunikation
Mathematik für Information und Kommunikation Am Beispiel des Huffman- Algorithmus Thomas Borys und (Christian Urff) Huffman im Alltag MPEG Telefax JPEG MP3 ZIP avid Huffman avid Huffman [95-999] www.soe.ucsc.edu/people/faculty/huffman.html
MehrAlgorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
MehrReferat für Algorithmische Anwendungen WS 2006/ 07: Verlustfreie Datenkompression mit dem Deflate-Algorithmus (LZ77- und Huffman-Codierung)
Referat für Algorithmische Anwendungen WS 2006/ 07: Verlustfreie Datenkompression mit dem Deflate-Algorithmus (LZ77- und Huffman-Codierung) Benedikt Arnold, 11041025, ai686@gm.fh-koeln.de Sebastian Bieker,
Mehr! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind.
Unterschiede von DBMS und files Speichern von Daten! DBMS unterstützt viele Benutzer, die gleichzeitig auf dieselben Daten zugreifen concurrency control.! DBMS speichert mehr Daten als in den Hauptspeicher
MehrAlgorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer
Algorithmen und Datenstrukturen Große Übung vom 29.10.09 Nils Schweer Diese Folien Braucht man nicht abzuschreiben Stehen im Netz unter www.ibr.cs.tu-bs.de/courses/ws0910/aud/index.html Kleine Übungen
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrEntwurf von Algorithmen - Kontrollstrukturen
Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer
MehrSpezialvorlesung Online-Algorithmen. Matthias Westermann Berthold Vöcking Christian Sohler
Spezialvorlesung Online-Algorithmen Matthias Westermann Berthold Vöcking Christian Sohler Sommersemester 2005 Inhaltsverzeichnis 1 Einleitung 3 1.1 Grundbegriffe.............................. 4 1.2 Amortisierte
MehrSortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block
Inhalt: InsertionSort BubbleSort QuickSort Block M.: "Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren", Springer-Verlag 2007 InsertionSort I Das Problem unsortierte Daten in
MehrB-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP
B-Bäume I Annahme: Sei die Anzahl der Objekte und damit der Datensätze. Das Datenvolumen ist zu groß, um im Hauptspeicher gehalten zu werden, z.b. 10. Datensätze auf externen Speicher auslagern, z.b. Festplatte
Mehr6.2 Perfekte Sicherheit
04 6.2 Perfekte Sicherheit Beweis. H(B AC) + H(A C) = H(ABC) H(AC) + H(AC) H(C) Wegen gilt Einsetzen in die Definition gibt = H(AB C). H(A BC) = H(AB C) H(B C). I(A; B C) = H(A C) H(AB C) + H(B C). Da
MehrKap. 2: Fail-Stop Unterschriften
Stefan Lucks 2: Fail-Stop Unterschriften 17 Digital Unterschreiben und Bezahlen Kap. 2: Fail-Stop Unterschriften Digitale Unterschriften (Synomym: Digitale Signaturen ): Fälschen mutmaßlich hart (RSA-Wurzeln,
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
MehrRechnerstrukturen WS 2012/13
Rechnerstrukturen WS 2012/13 Repräsentation von Daten Repräsentation natürlicher Zahlen (Wiederholung) Repräsentation von Texten Repräsentation ganzer Zahlen Repräsentation rationaler Zahlen Repräsentation
MehrProseminar : Grundlagen Bildverarbeitung/Bildverstehen. Bildkompression. Betreuer : Ernst Bartels. Bearbeiter : Chukwumezie Millverton Francis
Proseminar : Grundlagen Bildverarbeitung/Bildverstehen Bildkompression Bearbeiter : Chukwumezie Millverton Francis Betreuer : Ernst Bartels Vortragstermin : 21.12.2005 Inhaltsverzeichnis 1 Einleitung 3
Mehr3. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der
MehrCodierungstheorie Rudolf Scharlau, SoSe 2006 9
Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets
MehrPaper Computer Science Experiment
Paper Computer Science Experiment Great Principles of Computing Computation (Informationsspeicherung) Thema Digitale Repräsentation von Grafiken und Bildern Unterrichtsform Einzel- und Partnerarbeit Voraussetzung
MehrSortierverfahren für Felder (Listen)
Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es
Mehr2. Digitale Codierung und Übertragung
2. Digitale Codierung und Übertragung 2.1 Informationstheoretische Grundlagen 2.2 Speicherbedarf und Kompression 2.3 Digitalisierung, Digitale Medien Ludwig-Maximilians-Universität München Prof. Hußmann
MehrKapitel 5: Dynamisches Programmieren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrEinführung in Hauptspeicherdatenbanken
Einführung in Hauptspeicherdatenbanken Harald Zankl Probevorlesung 13. 01., 13:15 14:00, HS C Inhaltsverzeichnis Organisation Überblick Konklusion Harald Zankl (LFU) Hauptspeicherdatenbanken 2/16 Organisation
MehrLehreinheit E V2 Verschlüsselung mit symmetrischen Schlüsseln
V-Verschlüsslung Lehreinheit Verschlüsselung mit symmetrischen Schlüsseln Zeitrahmen 70 Minuten Zielgruppe Sekundarstufe I Sekundarstufe II Inhaltliche Voraussetzung V1 Caesar-Chiffre Für Punkt 2: Addieren/Subtrahieren
MehrProgrammieren I. Kapitel 7. Sortieren und Suchen
Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.
MehrKomprimieren von Bildern
Komprimieren von Bildern Weshalb komprimiert man Bilder? Internet-Browser können lediglich eine begrenzte Zahl von Bilddateien lesen: Dies sind die Formate.gif,.jpg und.png. Man kann Bilder jedoch in einer
MehrHINWEISE ZUR ADS-KLAUSUR SS06 für BACHELOR (für beide Termine)
HINWEISE ZUR ADS-KLAUSUR SS06 für BACHELOR (für beide Termine) Für DIPLOMER gelten, wie bereits bekannt, die Bedingungen und Inhalte der Klausuren aus SS04 bzw. WS04/05 weiter klicken sie sich auf unserer
MehrKompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung
Kompakte Graphmodelle handgezeichneter Bilder Einbeziehung in Autentizierung und Bilderkennung Inhaltsverzeichnis 1 Einleitung Das graphische Model.1 Image Thinning................................. 3.
MehrAlignment-Verfahren zum Vergleich biologischer Sequenzen
zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen
MehrGrundlagen der Technischen Informatik. 2. Übung
Grundlagen der Technischen Informatik 2. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit Organisatorisches Übungsblätter zuhause vorbereiten! In der Übung an der Tafel vorrechnen! Bei
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
MehrEin Scan basierter Seitenangriff auf DES
Ein Scan basierter Seitenangriff auf DES Seminar Codes & Kryptographie SS04 Tobias Witteler 29.06.2004 Struktur des Vortrags 1. Einführung / Motivation 2. Struktur von DES 3. Die Attacke Begriffsklärung:
MehrKapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung
Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler
MehrGrundlagen der Informatik II. Teil I: Formale Modelle der Informatik
Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende
MehrLeseprobe. Wolfgang Ertel. Angewandte Kryptographie. ISBN (Buch): 978-3-446-42756-3. ISBN (E-Book): 978-3-446-43196-6
Leseprobe Wolfgang Ertel Angewandte Kryptographie ISBN (Buch): 978-3-446-42756-3 ISBN (E-Book): 978-3-446-43196-6 Weitere Informationen oder Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-42756-3
MehrEinführung in NetLogo. 06.06.2012 Andreas Braun
Einführung in NetLogo 06.06.2012 Andreas Braun entwickelt am Center for Connected Learning (CCL) and Computer-Based Modeling der Northwestern University aktuelle Version 5.0.1. hier: Version 4.1.3. (auf
MehrInstitut fu r Informatik
Technische Universita t Mu nchen Institut fu r Informatik Lehrstuhl fu r Bioinformatik Einfu hrung in die Programmierung fu r Bioinformatiker Prof. B. Rost, L. Richter WS 2013 Aufgabenblatt 3 18. November
MehrBogobit Digimux mit Viessmann Multiplex-Signalen und Märklin Central Station 2
Bogobit Digimux mit Viessmann Multiplex-Signalen und Märklin Central Station 2 1 Ein neues Signal in der CS2 anlegen Führen Sie die folgenden Schritte aus, um ein neues Signal in der CS2 anzulegen und
MehrBetriebsarten von Blockchiffren. ECB Electronic Code Book Mode. Padding. ECB Electronic Code Book Mode
Betriebsarten von Blockchiffren Blocklänge ist fest und klein. Wie große Mengen an Daten verschlüsseln? Blockchiffre geeignet verwenden: ECB Mode (Electronic Code Book) CBC Mode (Cipher Block Chaining)
MehrABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK
ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK (HAUPTTERMIN) Bearbeitungszeit: 270 Minuten Hilfsmittel: Wörterbuch zur deutschen Rechtschreibung Taschenrechner (nicht programmierbar, nicht grafikfähig) (Schüler,
MehrNoch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean
01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2
MehrLeitfaden Lineare Algebra: Determinanten
Leitfaden Lineare Algebra: Determinanten Die symmetrische Gruppe S n. Eine Permutation σ der Menge S ist eine bijektive Abbildung σ : S S. Ist S eine endliche Menge, so reicht es zu verlangen, dass σ injektiv
MehrListener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration)
Protokoll 1: Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration) Abschnitt 2.1 (Ausführungen zum Shutdown / Startup)
Mehr8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen
Stefan Lucks 8: Zufallsorakel 139 Kryptogr. Hashfunkt. (WS 08/09) 8: Zufallsorakel Unser Problem: Exakte Eigenschaften von effizienten Hashfunktionen nur schwer erfassbar (z.b. MD5, Tiger, RipeMD, SHA-1,...)
MehrDie Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
Mehr2 Informationstheorie
2 Informationstheorie Formale Grundlagen der Informatik I Herbstsemester 2012 Robert Marti Vorlesung teilweise basierend auf Unterlagen von Prof. emer. Helmut Schauer Grundbegriffe Informatik (IT: Information
Mehr1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert
Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume
MehrEinführung in die Informatik 1
Einführung in die Informatik 1 Datenorganisation und Datenstrukturen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00
MehrKapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen
reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung
MehrMiGo-Portal V2.21. Produkt-Sheet. Aktueller Stand: 30.11.2012 Verfasst von: Mike Goldhausen. MiGo-WebDesign Wiesenstraße 31 56459 Kölbingen
MiGo-Portal V2.21 Produkt-Sheet Aktueller Stand: 30.11.2012 Verfasst von: Mike Goldhausen Unser aktuelles Portal-System für Ihre individuelle Homepage. Dieses Portal bietet die Möglichkeit verschiedene
MehrAdvoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank
Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen
MehrAKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen
L AKTUEL ZU fritz JOBST JAVA 8 PROGRAMMIEREN IN JAVA 7. Auflage Im Internet: Alle Beispielprogramme und Lösungen 4 1 Der Einstieg in Java keinem Fall zulässig. Die Schreibweisen Hello.java für den Namen
MehrKryptographie und Codierung für den Mathematikunterricht
Kryptographie und Codierung für den Mathematikunterricht Pädagogische Hochschule Karlsruhe University of Education École Supérieure de Pédagogie Institut für Mathematik und Informatik Th. Borys Was verstehst
MehrDATENFORMATE IM INTERNET
DATENFORMATE IM INTERNET Steffen Petermann Projekt reisefieber:// BILDFORMATE JPG / GIF / PNG / SVG MULTIMEDIA FLASH / SHOCKWAVE TEXT-BASIERTE FORMATE HTMP / CSS / JS / CGI / PHP AUDIO & VIDEO MP3 / MOV
MehrSicherheit von PDF-Dateien
Sicherheit von PDF-Dateien 1 Berechtigungen/Nutzungsbeschränkungen zum Drucken Kopieren und Ändern von Inhalt bzw. des Dokumentes Auswählen von Text/Grafik Hinzufügen/Ändern von Anmerkungen und Formularfeldern
MehrSysteme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
MehrJPEG-Format GIF-Format PNG-Format
Bauinformatik I: Bildbearbeitung -Pixelbilder- 07 VL B S.1 Thema: Bildbearbeitung -Pixelbilder- Datei-Formate "Die Bilderwelt teilt sich in zwei Lager": Pixel- und Vektorgrafik. Vektor-Formate Vektorgrafiken
MehrKompakte Graphmodelle handgezeichneter Bilder
Kompakte Graphmodelle handgezeichneter Bilder Einbeziehung in Authentizierung und Bilderkennung Inhaltsverzeichnis Seminar Mustererkennung WS 006/07 Autor: Stefan Lohs 1 Einleitung 1 Das graphische Modell.1
MehrA) Durchsuchen von Datenbanken im Internet durch Endnote
EINLEITUNG/ANWEISUNGEN ZU DIESEM TEXT Wir werden die obere Liste (File/ Edit usw.) benutzen, obwohl die meisten Funktionen auch möglich mit rechtem Mausklick, mit Kombinationen der Tastatur oder mit den
MehrPräfx Trie zur Stringverarbeitung. Cheng Ying Sabine Laubichler Vasker Pokhrel
Präfx Trie zur Stringverarbeitung Cheng Ying Sabine Laubichler Vasker Pokhrel Übersicht: Einführung Eigenschaften von Tries Verwendung von Tries Allgemeine Defnition von Patricia Tries Eigenschaften von
MehrDateiorganisation und Zugriffsstrukturen
Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet
MehrInhalt Software-Metriken Software-Metriken mit Together FindBugs. Software-Metriken. Raimar Lill Matthias Meitner David Föhrweiser Marc Spisländer
Lill, Meitner, Föhrweiser, Spisländer FAU Erlangen-Nürnberg Software-Metriken 1 / 24 Software-Metriken Raimar Lill Matthias Meitner David Föhrweiser Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015. Vorlesung 5, Donnerstag, 20.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 5, Donnerstag, 20. November 2014 (Wie baut man eine Hash Map, Universelles Hashing)
Mehr4 Codierung nach Viginere (Lösung)
Kapitel 4 Codierung nach Viginere (Lösung) Seite 1/14 4 Codierung nach Viginere (Lösung) 4.1 Einführung Blaise de Vigenère lebte von 1523 bis 1596 in Frankreich und war nach dem Studium bei verschiedenen
MehrTextdokument-Suche auf dem Rechner Implementierungsprojekt
Textdokument-Suche auf dem Rechner Implementierungsprojekt Referent: Oliver Petra Seminar: Information Retrieval Institut für Computerlinguistik Ruprecht-Karls-Universität Heidelberg 19.01.2015 Überblick
MehrAbschluss Version 1.0
Beschreibung Der Abschluss wird normalerweise nur einmal jährlich durchgeführt. Dieses Tech-Note soll helfen, diesen doch seltenen aber periodisch notwendigen Vorgang problemlos durchzuführen. Abschlussvarianten
MehrInformatik-Sommercamp 2012. Mastermind mit dem Android SDK
Mastermind mit dem Android SDK Übersicht Einführungen Mastermind und Strategien (Stefan) Eclipse und das ADT Plugin (Jan) GUI-Programmierung (Dominik) Mastermind und Strategien - Übersicht Mastermind Spielregeln
Mehr