Einleitung. Kapitel 1
|
|
- Damian Beck
- vor 6 Jahren
- Abrufe
Transkript
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 darlegen, wo diese Probleme angewandt werden. Zu Beginn aber wollen wir klarstellen, worum es bei der Codierungstheorie nicht geht. Codierungstheorie ist nicht Kryptographie, es geht nicht um die Sicherung von Daten gegenüber dem Zugriff Unbefugter oder um die Authentisierung von Daten. Die Codierungstheorie beschäftigt sich mit zwei Problemkreisen. Einmal ist das Kompression von Daten zur Speicherung und zur übertragung. Der zweite Problemkreis ist die Sicherung von Daten gegenüber Fehlern bei der Datenübertragung, die hervorgerufen werden durch unvollkommene übertragungsmedien. Beispiele sind Fehler hervorgerufen durch atmosphärische Störungen bei Funk oder Fehler durch zufällige Bitflips auf digitalen Leitungen. In der Algorithmischen Codierungstheorie I beschäftigen wir uns mir der Datenkompression. Fehlerkorrigierende Codes sind das Thema der Vorlesung Algorithmische Codierungstheorie II. Bei der Datenkompression gibt es zwei Möglichkeiten. Man kann einmal Redundanz in der Datenmenge ausnutzen, um diese zu komprimieren. Man kann aber auch eine Häufigkeitsanalyse der in der Datenmenge auftretenden Symbole vornehmen, um diese effizienter durch Folgen anderer Symbole, etwa Folgen von 0, 1 zu codieren. Bekannte Komprimierungsverfahren wie MPEG und AVI bei Video oder JPEG bei einzelnen Bildern benutzen beide Techniken. Wir werden im wesentlichen nur die zweite Technik anhand mehrerer wichtiger Beispiele kennenlernen. Um etwas besser zu verstehen, was die Kompression aufbauend auf einer Häufigkeitsanalyse genauer bedeutet, betrachten wir ein Beispiel. Angenom- 2
2 men wir wollen einen ASCI-Text digital speichern. Das bedeutet, wir müssen jedes ASCI-Zeichen als eine Bitfolge, eine Folge von 0 und 1 also, darstellen. Handelt es sich bei dem ASCI-Text etwa um einen deutschen Text, so werden wir in aller Regel feststellen, dass der Buchstabe e sehr viel häufiger vorkommt als der Buchstabe x. Um den Text durch eine möglichst kurze Bitfolge darzustellen, scheint es daher sinnvoll, den Buchstaben e durch eine sehr viel kürzere Bitfolge zu codieren als den Buchstaben x. Wie werden dieses im Laufe der Vorlesung präzisieren. Wir werden u.a. die Huffmann-Codierung kennenlernen, und wir werden sehen, dass die Huffman-Codierung in einem wohldefinierten Sinn eine optimale Kompression beruhend auf einer Häufigkeitsanalyse erreicht. Die Huffman-Codierung wird in vielen Kompressionsstandards als Unterroutine verwendet. Hierzu gehören JPEG und verschiedene Varianten von MPEG. Neben der Huffman-Codierung werden wir noch zwei weitere Techniken kennenlernen, die Ziv-Lempel-Codierung und die Arithmetische Codierung. Wie wir sehen werden haben beide Vorteile gegenüber der Huffman-Codierung. Insbesondere werden diese beiden Techniken verwendet, wenn keine exakte Häufigkeitsanalyse der zu komprimierende Daten vorliegt und eine solche auch nicht leicht zu erzielen ist. Die Ziv-Lempel-Codierung wird z.b. bei dem Unix-Programm compress benutzt. 3
3 Kapitel 2 Quellcodierung In diesem Kapitel beschäftigen wir uns mit der so genannten Quellcodierung. Dieses ist eine Technik zur Datenkompression. Wir werden zunächst einige grundlegende Begriffe und Sätze über die Quellcodierung kennen lernen. Dann werden die Huffman-Codierung, die Arithmetische-Codierung und die Ziv-Lempel-Codierung kennen lernen. 2.1 Eindeutig entschlüsselbare Codes und Präfix- Codes Unter einer Quelle verstehen wir einen Strom von Symbolen aus einem endlichen Alphabet A = {a 1,..., a n }. Die a i werden auch Worte genannt. Weiter sind Häufigkeiten oder Wahrscheinlichkeiten für die einzelnen Symbole a i gegeben. Wir nehmen in Zukunft in aller Regel an, dass diese Wahrscheinlichkeiten unabhängig voneinander sind. D.h., für jede Position i im Strom gilt Pr(a j ist das i-te Wort des Stroms ) = p j für j = 1,..., N, n unabhängig von der Position i. Es gilt natürlich p j = 1, damit wir eine Wahrscheinlichkeitsverteilung erhalten. Eine Quelle dieser Art nennt man eine erinnerungslose Quelle. Diese ist das einfachste Modell einer Quelle, und wir werden uns im wesentlichen darauf beschränken. Um die Wahrscheinlichkeiten von oben etwas kürzer zu schreiben, führen wir für jede Position i des Stroms eine Variable X i ein. X i kann also Werte aus A annehmen. Die Wahrscheinlichkeiten oder Häufigkeiten von oben können j=1 4
4 dann geschrieben werden als Pr(X i = a j ) = p j, für j = 1,..., n. Unser Ziel wird es nun sein, die Elemente aus A möglichst ökonomisch durch endliche Folgen von Bits, d.h., durch Element aus {0, 1} zu codieren. Ökonomisch soll dabei heißen, dass Elemente mit großer Wahrscheinlichkeit kurze Codierungen erhalten. Später werden wir dieses präzise definieren. Unter einer Codierung des Alphabets A verstehen wir eine injektive Abbildung C : A {0, 1} a i C(a i ) Die Bilder C(a i ) werden wir kürzer auch mit c i bezeichnen. Die c i heißen Codeworte. Die Abbildung C nennen wir auch einen Code. Häufig ist nicht so sehr die Abbildung C als vielmehr nur die Menge der Codeworte {c 1,..., c n } interessant. Insbesondere sind viele kombinatorisch interessante Eigenschaften eines Codes Eigenschaften der Menge der Codeworte und nicht so sehr Eigenschaften der Abbildung C. Die Menge der Codeworte eines Codes C bezeichnen wir ebenfalls mit C. Mit dem Code C kann dann sowohl die Abbildung C als auch die Menge der Codeworte C gemeint sein. Unter einer Nachricht verstehen wir ein Element aus A. Wir können also sagen, dass eine Quelle eine Nachricht ausgibt. Eine Codierung C von A kann nun auf Nachrichten erweitert werden, indem für m = a i1... a il A der Wert C(m) definiert wird als Konkatenation C(m) = C(a i1 )... C(a il ). Um von der Codierung einer Nachricht auf die Nachricht selber schließen zu können, muss ein Code eindeutig entschlüsselbar sein. Dabei heißt ein Code eindeutig entschlüsselbar (kurz: e.e.-code), falls jedes Element aus {0, 1} Bild höchstens einer Nachricht ist. Anders ausgedrückt, die Abbildung C erweitert wie oben erklärt auf A muss injektiv sein. Eine stärkere Eigenschaft besitzt ein Präfix-Code. C heißt Präfix-Code, falls keine Indizes 1 i, j n, i j, existieren, so dass C(a i ) = c i ein Präfix von C(a j ) = c j ist. Wir wollen all diese Begriffe an den Beispielen der folgenden Tabelle erläutern. 5
5 Jeder der vier Spalten entspricht eine Abbildung auf A = {a 1, a 2, a 3, a 4 }. A C 1 C 2 C 3 C 4 a a a a Abbildung C 1 : A {0, 1} ist nicht injektiv, daher ist C 1 kein Code. Die Abbildung C 2 : A {0, 1} ist zwar injektiv, nicht jedoch die Erweiterung C 2 : A {0, 1}. So kann 00 Bild sowohl von a 1 a 1 als auch von a 3 sein. C 2 ist also kein e.e.-code. C 3 ein e.e.-code, aber kein Präfix-Code. C 3 ist kein Präfix-Code, da c 1 = 0 Präfix aller übrigen Codeworte ist. In diesem Beispiel kann eine Codierung C(m) eindeutig zu m decodiert werden, indem man beachtet, dass eine 0 jeweils den Beginn der Codierung eines Wortes bedeutet. Die Codierung f(m) = kann z.b. eindeutig decodiert werden zu m = a 1 a 2 a 1 a 1 a 1 a 2 a 2 a 2. C 4 ist sogar ein Präfix-Code, wie man leicht überprüft, indem alle Präfixe von Codeworten mit allen Codeworten vergleicht. C 4 wird auch als Komma- Code bezeichnet, da 0 jeweils das Ende der Codierung eines Wortes kennzeichnet. Vergleichen wir C 3 und C 4 so stellen wir fest, dass auch C 3 in gewisser Weise ein Komma-Code ist. Leider wurde bei C 3 das Komma an die falsche Stelle, nämlich an den Beginn eines Wortes gesetzt. An den beiden Beispielen C 3, C 4 sehen wir, dass e.e.-code und Präfix-Code nicht äquivalent sind. Präfix-Codes sind leicht zu erkennen. Wir wollen uns auch eine elegante Möglichkeit überlegen, Präfix-Codes zu decodieren. Hierzu konstruieren wir zu einem Präfix-Code C = {c 1,..., c n } einen (unbalancierten) binären Baum. Die aus einem Knoten ausgehenden Kanten labeln wir hierzu mit 0 und 1. Nach links ausgehende Kanten labeln wir mit 0, nach rechts ausgehende Kanten mit 1. Jedes Codewort kann dann als Codierung eines von der Wurzel ausgehenden Pfades in einem Baum aufgefasst werden. Den Knoten am Ende dieses Pfades labeln wir dann mit dem Codewort selber. Ein Code ist genau dann ein Präfix-Code, wenn kein Codewort auf dem Pfad zu einem anderen Codewort liegt. Entfernen wir aus dem Baum dann noch alle Kanten und Knoten, die nicht auf einem Pfad liegen, der durch ein Codewort definiert wird, so erhalten wir einen Baum, dessen Blätter genau den 6
6 Codeworten entsprechen. Für den Code C 4 ist der Baum in Abbildung 2.1 dargestellt. Mit Hilfe des binären Baums für einen Präfix-Code C lässt sich Abbildung 2.1: Der Binärbaum für den Präfix-Code C 4 nun leicht eine Algorithmus zur Decodierung beschreiben. Gegeben eine codierte Nachricht C(m) {0, 1}, fassen wir diese codierte Nachricht auf als die Beschreibung eines Pfades im Binärbaum B C für C. D.h., beginnend in der Wurzel verfolgen wir den Pfad in B C der durch C(m) codiert wird. Gelangen wir dabei zu einem Blatt gelabelt mit dem Codewort c i, geben wir C 1 (c i ) = a i aus, gehen zurück zur Wurzel und machen mit dem nächsten Symbol von C(m) weiter. Um C(m) zu decodieren, wird jedes Zeichen von C(m) genau einmal gelesen und ein Kante in B C verfolgt. Damit gilt Satz Zu jedem Präfix-Code C gibt es einen Decodieralgorithmus, der bei Eingabe C(m), m A in Zeit linear in der Länge von C(m) die Nachricht m berechnet. Zunächst ist es nicht offensichtlich wie man erkennt, ob ein Code ein e.e.- Code ist. Wir wollen jetzt ein einfaches hinreichendes und notwendiges Kriterium für e.e.-codes entwickeln. Hierzu zunächst die folgende Definition. Definition Sei C ein Codes. Eine Folge s {0, 1} ist ein Suffix in C, wenn eine der drei folgenden Bedingungen erfüllt ist. 1. Es existieren Codeworte c i, c j C, so dass c i = c j s. 2. Es existiert ein Codewort c i C und ein Suffix s in C, so dass s = cs. 3. Es existiert ein Codewort c i C und ein Suffix s in C, so dass c = ss. Beispiele: 7
7 1. Im Code C 2 erhalten wir die Suffixe s 1 = 0, s 2 = 1. Denn c 3 = c 1 s 1 und c 4 = c 2 s Im Code C 3 erhalten wir die Suffixe s 1 = 1, s 2 = 11, s 3 = 111. Denn c 2 = c 1 s 1, c 3 = c 1 s 2, c 4 = c 1 s Im Code C 4 gibt es keinerlei Suffixe. Dieses ist nicht überraschend, denn in keinem Präfix-Code kann es Suffixe geben, da die Bedingung 1. aus Definition bei einem Präfix-Code für kein s erfüllt sein kann. 4. Betrachten wir den Code C 5 = {0, 10, 101, 11}. Dieser besitzt die Suffixe s 1 = 1, s 2 = 0, s 3 = 01. Denn c 3 = c 2 s 1, c 2 = s 1 s 2, c 3 = s 1 s Schließlich betrachten wir noch den Code C 6 = {1, 110, 101}. Hier erhalten wir die Suffixe s 1 = 10, s 2 = 01, s 3 = 1, s 4 = 0. Denn c 2 = c 1 s 1, c 3 = c 1 s 2, c 3 = s 1 s 3, s 1 = c 1 s 4. In den Codes C 2, C 5, C 6 gibt es jeweils Suffixe, die auch Codeworte sind. In den Codes C 3, C 4 ist dieses nicht der Fall. Die Codes C 3, C 4 sind e.e.-codes, die Codes C 2, C 5, C 6 sind es nicht. Dieses ist kein Zufall wie der folgende Satz zeigt. Satz Ein Code C ist genau dann ein e.e.-code, wenn kein Suffix in C ein Codewort aus C ist. Statt eines exakten Beweises wollen wir uns anhand von Beispielen von der Korrektheit des Satzes überzeugen. Zunächst wollen wir uns überlegen, dass es in einem Code C, der kein e.e.-code ist, einen Suffix geben muss, das Codewort ist. Ist C kein e.e.-code, so gibt es eine Folge c {0, 1}, die sich auf zwei unterschiedliche Arten als Folge von Codeworten schreiben lässt. Mit Hilfe dieser Aufteilung einer Bitfolge in zwei Codewortfolgen kann nun unter Anwendung der Regeln aus Definition ein Suffix konstruiert werde, das auch Codewort ist. Genauer konstruiert man sukzessive Suffixe, die immer weiter rechts in der Bitfolge c beginnen. Dieser Prozess muss irgendwann stoppen, da die Folge c endliche Länge besitzt. Der letzte erzeugte Suffix ist dann ein Codewort. In Abbildung 2.2 ist eine Bitfolge c und ihre Aufteilung in zwei Folgen von Codeworten d i, e j schematisch dargestellt. In dieser Abbildung haben wir auch die sukzessive Anwendung der Regeln aus Definition dargestellt. Die von links unten nach rechts oben schraffierten Suffixe s wurden dabei durch Anwendung der Regel c i = c j s oder der Regel c = ss erzeugt. Die übrigen Suffixe s wurden durch die Anwendung der Regel s = cs erzeugt. 8
8 Abbildung 2.2: Konstruktion eines Codewortes des Suffix ist Nun müssen wir uns überlegen, dass wir aus einem Suffix in C, das gleichzeitig Codewort in C ist, eine Folge C konstruieren können, die sich auf zwei Arten als Folge von Codeworten schreiben lässt. Denn dann ist C nicht e.e. Ist ein Suffix ein Codewort, so muss dieser Suffix durch die Anwendung der drei Regeln in Definition erzeugt worden sein, wobei mit der Regel c i = c j s begonnen werden muss. Aus diesem Prozess kann nun die gesuchte Folge c konstruiert werden. Betrachten wir als Beispiel den Code C 6 = {1, 110, 101} aus unseren Beispielen oben. Das Codewort c 1 = 1 ist auch ein Suffix in C 6. Die Konstruktion des Suffixes 1 beginnt mit den beiden Codeworten c 1 und c 2, die den Suffix 10 liefern. Wir betrachten nun einmal die Folge, die mit c 1 = 1 beginnt und die Folge, die mit c 2 = 110 beginnt. Der Suffix s 1 = 10 und das Codewort c 3 = 101 liefern unter Anwendung von c i = s s bereits den Suffix s 2 = 1. Da s 1 = 10 ein Suffix des Codewortes c 2 = 110 ist, erweitern wir die Folge, die bislang nur aus c 2 besteht, um den neuen Suffix s 2 = c 1. Die Folge, die bislang nur aus c 1 besteht, wird erweitert um das Codewort c 3, das zur Konstruktion von s 2 = 1 benutzt wurde. Nun gilt aber c 1 c 3 = c 2 c 1. Die gewünschte Folge c, die auf zwei verschiedenen Arten als Folge von Codeworten geschrieben kann, ist konstruiert. 9
9 Wir werden jetzt zeigen, dass die Menge der Suffixe in einem Code effizient berechnet werden kann. Mit Satz folgt dann, dass auch effizient entschieden werden kann, ob ein Code eindeutig entschlüsselbar ist. Um die Menge der Suffixe in einem Code C mit Codeworten c 1,..., c n zu berechnen, benutzen wir folgenden Algorithmus. Eingabe: Code C = {c 1,..., c n }. Algorithmus Suffix-Berechnung (SB) Ausgabe: Die Menge S der Suffixe in C. 1. Setze S :=, T := T. 2. Für alle Paare von Codeworten c i, c j, entscheide, ob es ein s {0, 1} gibt mit c i = c j s oder c j = c i s. Falls ja, setze S := S {s}, T := {s}. 3. Solange T, wiederhole die folgenden Schritte. 3a) Wähle ein s T aus und setze T := T \{ s}. 3b) Für alle Codeworte c i entscheide, ob es ein s {0, 1} gibt, so dass c = ss oder s = c i s. Falls ja, und falls s mit keinem Element in S übereinstimmt, setze S := S {s} und T := T {s}. Nach der Definition von Suffixen in einem Code (Definition 2.1.2) ist klar, dass der Algorithmus SB sämtliche Suffixe eines Codes C berechnet. Hingegen ist nicht ganz so klar, dass der Algorithmus endliche Laufzeit hat. Um dieses zu zeigen, zunächst das folgende Lemma. Lemma Sei C = {c 1,..., c n } ein Code und sei l max := max{ c i i = 1,..., n}. Dann ist die Anzahl der Suffixe in C beschränkt durch nl max. Beweis: Jeder Suffix in C muss Suffix eines Codewortes in C sein. Insgesamt gibt es aber höchstens nl max Suffixe von Codeworten in C. Aus Lemma folgt, dass bei Eingabe des Codes C insgesamt höchstens nl max Elemente jemals in die Menge T eingefügt werden. Denn wird s in T eingefügt, so muss s ein Suffix in C sein. Damit aber werden die Schritte 3a), 3b) höchstens nl max -mal durchlaufen. Schritte 3a), 3b) können nun so implementiert werden, dass ein Durchlauf Zeit polynomiell in n und l max benötigt. Da auch der Schritt 2 in Zeit polynomiell in n, l max durchführbar ist und die Eingabegrösse des Codes C mindestens n + l max ist, erhalten wir 10
10 Satz Es ist in polynomieller Zeit entscheidbar, ob ein Code eindeutig entschlüsselbar ist. 11
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
Mehr2.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.
MehrWann 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
MehrDiskrete Mathematik II
Diskrete Mathematik II Alexander May Fakultät für Mathematik Ruhr-Universität Bochum Sommersemester 2008 DiMA II - Vorlesung 01-07.04.2008 Einführung in die Codierungstheorie, Definition Codes 1 / 36 Organisatorisches
Mehr16 - 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,
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
MehrKompressionsverfahren 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
MehrEinfü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
Mehr3 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
Mehr21. Dynamic Programming III
Approximation 21. Dynamic Programming III FPTAS [Ottman/Widmayer, Kap. 7.2, 7.3, Cormen et al, Kap. 15,35.5] Sei ein ε (, 1) gegeben. Sei I eine bestmögliche Auswahl. Suchen eine gültige Auswahl I mit
MehrÜbersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen
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
MehrInformatik 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,
MehrReferat 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
MehrKapitel 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
MehrInformatik 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
MehrDatenstrukturen 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
Mehr21. 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
Mehr6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N. 6.1 von wörtern zu zahlen und zurück Dezimaldarstellung von Zahlen Num 10
6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N 6.1 von wörtern zu zahlen und zurück 6.1.1 Dezimaldarstellung von Zahlen Num 10 Num10(ε) = 0 (6.1) für jedes w Z 10 für jedes x Z 10 Num 10 (wx)
MehrSeminar. 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:...
MehrModul Diskrete Mathematik WiSe 2011/12
Modul Diskrete Mathematik WiSe / Ergänzungsskript zum Kapitel 3.4. Hinweis: Dieses Manuskript ist nur verständlich und von Nutzen für Personen, die regelmäßig und aktiv die zugehörige Vorlesung besuchen
MehrIsomorphie 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..............................
Mehr2.2 Der Algorithmus von Knuth, Morris und Pratt
Suchen in Texten 2.1 Grundlagen Ein Alphabet ist eine endliche Menge von Symbolen. Bsp.: Σ a, b, c,..., z, Σ 0, 1, Σ A, C, G, T. Wörter über Σ sind endliche Folgen von Symbolen aus Σ. Wörter werden manchmal
MehrBeispiel: 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,
MehrGierige 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Ü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
MehrPraktikum 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
MehrAufgabe: Platz-effiziente Kompression von Textdaten
7.3 Huffman-Bäume Anwendung von Binärbäumen Aufgabe: Platz-effiziente Kompression von Textdaten Standardcodierungen von Textdaten ISO-8859-1: 8 Bit pro Zeichen UTF-16: 16 Bit pro Zeichen Codierungen mit
MehrEffiziente 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):
MehrAlle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).
8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame
Mehr12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP
12 Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, NP 254/ 333 Polynomielle Verifizierer und NP Ḋefinition Polynomieller
MehrAlgorithmen 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Ü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"
MehrDefinition Information I(p)
Definition Information I(p) Definition I(p) Die Information I(p) eines Symbols mit Quellws p > 0 ist definiert als I(p) = log 1 p. Die Einheit der Information bezeichnet man als Bit. DiMa II - Vorlesung
MehrGrundbegriffe der Informatik Tutorium 3
Grundbegriffe der Informatik Tutorium 3 Tutorium Nr. 16 Philipp Oppermann 18. November 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrTheoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der Informatik 0 17.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Evaluation Ergebnisse
MehrEffiziente Algorithmen 2
Effiziente Algorithmen 2 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen
MehrTechnische 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
MehrVorlesung 15a. Quellencodieren und Entropie
Vorlesung 15a Quellencodieren und Entropie 1 1. Volle Binärbäume als gerichtete Graphen und die gewöhnliche Irrfahrt von der Wurzel zu den Blättern 2 3 ein (nicht voller) Binärbaum Merkmale eines Binärbaumes:
MehrNachklausur 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
MehrAlgorithmische Bioinformatik 1
Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen
MehrKompression. Tim Kilian
Kompression Tim Kilian Seminar Effiziente Programmierung Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg
MehrInformatik 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
MehrAlgorithmische Bioinformatik 1
Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen
MehrDynamisches 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
Mehr2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015
2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie
Mehr3.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
MehrKlausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)
Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:
MehrEffiziente Algorithmen und Komplexitätstheorie
1 Effiziente lgorithmen und Komplexitätstheorie Vorlesung Thomas Jansen 29.06.2006 2 Burrows-Wheeler-Kompression: Verbesserungen dreischrittiges Kompressionsverfahren Burrows- Wheeler- Transformation Globale
MehrVorlesung 12. Quellencodieren und Entropie
Vorlesung 12 Quellencodieren und Entropie 1 S sei eine abzählbare Menge (ein Alphabet ). Die Elemente von S nennen wir Buchstaben. Wir wollen die Buchstaben a, b,... durch (möglichst kurze) 01-Folgen k(a),
MehrSeminar 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
MehrNotation und Einführung
Skriptteil zur Vorlesung: Proinformatik - Funktionale Programmierung Dr. Marco Block-Berlitz 30.Juli 2009 Notation und Einführung Der folgende Abschnitt gibt eine kurze Einführung in die Codierungstheorie.
MehrRelationen und DAGs, starker Zusammenhang
Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind
MehrStrings. Stringsuche, Boyer-Moore, Textkompression, Huffman Codes.
Strings Stringsuche, Boyer-Moore, Textkompression, Huffman Codes. Suche Substring Häufiges Problem Relevante Beispiele: Suche ein Schlagwort in einem Buch Alphabet: A-Za-z0-9 Suche Virussignatur auf der
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
Mehr4.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)
MehrPolynomielle Verifizierer und NP
Polynomielle Verifizierer und NP Definition Polynomieller Verifizierer Sei L Σ eine Sprache. Eine DTM V heißt Verifizierer für L, falls V für alle Eingaben w Σ hält und folgendes gilt: w L c Σ : V akzeptiert
MehrFragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!
4 Turingmaschinen Eingabeband nicht nur lesen, sondern auch schreiben kann und die zudem mit ihrem Lese-Schreib-Kopf (LSK) nach links und rechts gehen kann. Das Eingabeband ist zudem in beide Richtungen
MehrGrundbegriffe der Informatik Tutorium 5
Grundbegriffe der Informatik Tutorium 5 Tutorium Nr. 32 Philipp Oppermann 13. Januar 2015 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrProseminar 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
MehrTU München. Hauptseminar: WS 2002 / Einführung in Suffix - Bäume
TU München Hauptseminar: WS 2002 / 2003 Einführung in Suffix - Bäume Bearbeiterin: Shasha Meng Betreuerin: Barbara König Inhalt 1. Einleitung 1.1 Motivation 1.2 Eine kurze Geschichte 2. Tries 2.1 Basisdefinition
MehrGrundbegrie der Codierungstheorie
Grundbegrie der Codierungstheorie Pia Lackamp 12. Juni 2017 Inhaltsverzeichnis 1 Einleitung 2 2 Hauptteil 3 2.1 Blockcodes............................ 3 2.1.1 Beispiele.......................... 3 2.2
MehrGraphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines
MehrEigenschaften 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
MehrMusterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14
Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 23/4 Vorname Nachname Matrikelnummer Hinweise Für die
Mehr5.2 Endliche Automaten
114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch
Mehrkontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung
Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben
MehrDigitaltechnik I WS 2006/2007. Klaus Kasper
Digitaltechnik I WS 2006/2007 Klaus Kasper Studium 6 Semester 5. Semester: Praxissemester im Anschluss: Bachelorarbeit 6. Semester: WPs Evaluation der Lehre Mentorensystem 2 Organisation des Studiums Selbständigkeit
MehrTheoretische 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
MehrArithmetisches 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Übungsblatt Nr. 7. Lösungsvorschlag
Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Nico Döttling Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 7 svorschlag Aufgabe (K)
Mehr(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
MehrADS: 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,
MehrAlgorithmen 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,
MehrADS: 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,
MehrWS 2013/14. Diskrete Strukturen
WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314
MehrKapitel 8: Bipartite Graphen Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken
MehrNachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2013/14
Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2013/14 Vorname Nachname Matrikelnummer Hinweise Für die
Mehr3. Woche Information, Entropie. 3. Woche: Information, Entropie 45/ 238
3 Woche Information, Entropie 3 Woche: Information, Entropie 45/ 238 Informationsgehalt einer Nachricht Intuitiv: Je kleiner die Quellws, desto wichtiger oder strukturierter die Information, bzw höher
MehrBeweis: Färbe jede Kante zufällig und unabhängig mit Ws 1 2. Ereignis A i : i-te Clique K (i), i = 1,..., ( n K (i)
Die Probabilistische Methode Beobachtung: Besitzt ein Ereignis Ws > 0, so muss es existieren! Notation: Sei K n der komplette Graph mit n Knoten und ( n 2) Kanten. Satz Falls 2 (k 2) 1 > ( n k), existiert
MehrBeliebige Anzahl von Signaturen
Beliebige Anzahl von Signaturen Algorithmus Signaturketten Sei Π = (Gen, Sign, Vrfy) ein Einwegsignaturverfahren. 1 Gen : (pk 1, sk 1 ) Gen(1 n ) 2 Sign : Signieren der Nachricht m i. Verwende gemerkten
MehrWie 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
MehrFerien-Übungsblatt 8 Lösungsvorschläge
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Ferien-Übungsblatt 8 Lösungsvorschläge Vorlesung Algorithmentechnik im WS 09/10 Problem 1: Probabilistische Komplexitätsklassen [vgl.
MehrDiskrete Strukturen Kapitel 4: Graphentheorie (Bäume)
WS 2016/17 Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 11 15. Juli 2010 Einführung in die Theoretische
MehrLösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 15. September 2016
Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 15. September 2016 Klausurnummer Nachname: Vorname: Matr.-Nr.: Diese Klausur ist mein 1. Versuch 2. Versuch in GBI
Mehr8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.
MehrAlgorithmen 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
MehrBernd Borchert. Univ. Tübingen WS 13/14. Vorlesung. Kryptographie. Teil 11. Einwegfunktionen, Geheimnisteilung, Steganographie 7.2.
Bernd Borchert Univ. Tübingen WS 13/14 Vorlesung Kryptographie Teil 11 Einwegfunktionen, Geheimnisteilung, Steganographie 7.2.14 P-Zeit berechenbare Funktionen FP ist die Klasse aller Funktionen f : {0,1}*
MehrTheoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der Informatik 0 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Letzte Vorlesung Eine
MehrDigitale 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
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Übung 8 Dirk Achenbach 7. Februar 2013 I NSTITUT FÜR K RYPTOGRAPHIE UND S ICHERHEIT KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrÜbung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:
Svenja Hüning, Michael Kerber, Hannah Schreiber WS 2016/2017 Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist: Hinweise: Dieses Blatt präsentiert Beispiellösungen zu
MehrInformatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung 17.11.2006 schindel@informatik.uni-freiburg.de 1 Prinzip des Kellerautomats Push-Down-Automaton (PDA) Ein Kellerautomat vereinigt
Mehr2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018
2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie
MehrLösungen zur Vorlesung Berechenbarkeit und Komplexität
Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin
MehrDatenstrukturen 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
MehrKlausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014
Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausurnummer Nachname: Vorname: Matr.-Nr.: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 8 4 7 5 6 8 tats. Punkte Gesamtpunktzahl: Note: Punkte Aufgabe
MehrDie Nerode-Relation und der Index einer Sprache L
Die Nerode-Relation und der Index einer Sprache L Eine zweite zentrale Idee: Sei A ein vollständiger DFA für die Sprache L. Repäsentiere einen beliebigen Zustand p von A durch die Worte in Σ, die zu p
Mehr