Grundbegriffe der Informatik

Größe: px
Ab Seite anzeigen:

Download "Grundbegriffe der Informatik"

Transkript

1 Ich hoffe, es werden Ew. Hochfürstliche Durchlaucht in Gnaden vermerken, daß ich sowohl dem Gebrauche, als meinem Gemüths=Triebe zu Folge, bei dem eingetretenen neuen Jahre, auf dieses und viele folgende, Denenselben in beständiger Gesundheit alle selbst verlangende hohe Fürstliche Ersprießlichkeit zu gemeinem und Dero Lande besondern Besten, aus treuem Herzen anwünsche. 1/44

2 Ich hoffe, es werden Ew. Hochfürstliche Durchlaucht in Gnaden vermerken, daß ich sowohl dem Gebrauche, als meinem Gemüths=Triebe zu Folge, bei dem eingetretenen neuen Jahre, auf dieses und viele folgende, Denenselben in beständiger Gesundheit alle selbst verlangende hohe Fürstliche Ersprießlichkeit zu gemeinem und Dero Lande besondern Besten, aus treuem Herzen anwünsche. schrieb in einem Brief datiert auf den 2. Januar 1697 an den Herzog von Braunschweig-Wolfenbüttel 1/44

3 Ich hoffe, es werden Ew. Hochfürstliche Durchlaucht in Gnaden vermerken, daß ich sowohl dem Gebrauche, als meinem Gemüths=Triebe zu Folge, bei dem eingetretenen neuen Jahre, auf dieses und viele folgende, Denenselben in beständiger Gesundheit alle selbst verlangende hohe Fürstliche Ersprießlichkeit zu gemeinem und Dero Lande besondern Besten, aus treuem Herzen anwünsche. schrieb in einem Brief datiert auf den 2. Januar 1697 an den Herzog von Braunschweig-Wolfenbüttel der Philosoph, Mathematiker, Physiker, Bibliothekar,... Gottfried Wilhelm Leibniz ( ) 1/44

4 Grundbegriffe der Informatik Einheit 10: Codierungen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 2/44

5 Überblick Codierungen Von Wörtern zu Zahlen und zurück Dezimaldarstellung von Zahlen Andere Zahldarstellungen Von Zahlen zu ihren Darstellungen Von einem Alphabet zum anderen Ein Beispiel: Übersetzung von Zahldarstellungen Homomorphismen Beispiel Unicode: UTF-8 Huffman-Codierung Algorithmus zur Berechnung von Huffman-Codes Weiteres zu Huffman-Codes Inhalt 3/44

6 Codierungen Von Wörtern zu Zahlen und zurück Dezimaldarstellung von Zahlen Andere Zahldarstellungen Von Zahlen zu ihren Darstellungen Von einem Alphabet zum anderen Ein Beispiel: Übersetzung von Zahldarstellungen Homomorphismen Beispiel Unicode: UTF-8 Huffman-Codierung Algorithmus zur Berechnung von Huffman-Codes Weiteres zu Huffman-Codes Codierungen Von Wörtern zu Zahlen und zurück 4/44

7 Dezimaldarstellung von Zahlen aus Indien Ziffern des Alphabetes Z 10 = {0,..., 9}. Bedeutung num 10 (x) einer einzelnen Ziffer x als Zahl: x num 10 (x) Bedeutung eines Wortes x k 1 x 0 Z 10 von Ziffern Num 10 : Z 10 N 0 Schule: 10 k 1 num 10 (x k 1 ) num 10 (x 1 ) num 10 (x 0 ) Pünktchenvermeidung: Num 10 (ε) = 0 w Z10 x Z 10 : Num 10 (wx) = 10 Num 10 (w) + num 10 (x) Codierungen Von Wörtern zu Zahlen und zurück 5/44

8 Gottfried Wilhelm Leibniz geboren 1. Juli 1646 (Leipzig), gestorben am 14. November 1716 (Hannover) baute zum Beispiel die erste Maschine, die zwei Zahlen multipliziern konnte in einem Brief vom 2. Januar 1697 an den Herzog von Braunschweig-Wolfenbüttel: Man kann auch alle nichtnegativen Zahlen darstellen, und vernünftig rechnen, wenn man nur zwei Ziffern 0 und 1 benutzen darf. Bildquelle Codierungen Von Wörtern zu Zahlen und zurück 6/44

9 Binärdarstellung von Zahlen Ziffernmenge Z 2 = {0, 1} definiere: num 2 (0) = 0 num 2 (1) = 1 Num 2 (ε) = 0 w Z2 x Z 2 : Num 2 (wx) = 2 Num 2 (w) + num 2 (x) Z. B.: Num 2 (1101) = 2 Num 2 (110) + 1 = 2 (2 Num 2 (11) + 0) + 1 = 2 (2 (2 Num 2 (1) + 1) + 0) + 1 = 2 (2 ( ) + 0) + 1 = 13 Codierungen Von Wörtern zu Zahlen und zurück 7/44

10 Hexadezimaldarstellung Ziffern Z 16 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. Manchmal Kleinbuchstaben statt Großbuchstaben Ziffernwerte: x num 16 (x) x 8 9 A B C D E F num 16 (x) Zuordnung von Wörtern zu Zahlen gegeben durch Num 16 (ε) = 0 w Z 16 x Z 16 : Num 16 (wx) = 16 Num 16 (w) + num 16 (x) Codierungen Von Wörtern zu Zahlen und zurück 8/44

11 ein kleines Problem die Alphabete Z 2, Z 3, usw. sind nicht disjunkt Darstellungen mehrdeutig; z. B. ist 111 Num 2 (111) die Zahl sieben, Num 8 (111) die Zahl dreiundsiebzig, Num 10 (111) die Zahl einhundertelf und Num 16 (111) die Zahl zweihundertdreiundsiebzig. in manchen Programmiersprachen Präfix 0b für Darstellungen zur Basis 2 Präfix 0o für Darstellungen zur Basis 8 Präfix 0x für Darstellungen zur Basis 16 Codierungen Von Wörtern zu Zahlen und zurück 9/44

12 Man kann zu w Z k die repräsentierte Zahl Num k(w) berechnen. Umgekehrt geht es auch: zu n N 0 die sogenannte k-äre Darstellung berechnen Alphabet Z k mit k Ziffern Bedeutung: die Zahlen in Gk für i Gk sei repr k (i) das entsprechende Zeichen repr k ist also gerade die Umkehrfunktion zu num k Gesucht: eine Repräsentation von n N 0 als Wort w Zk mit der Eigenschaft Num k (w) = n für die naheliegende Definition von Numk gleich: solche Wörter gibt es immer Und wenn, dann auch immer gleich unendlich viele: wenn Num k (w) = n, dann auch Num k (0w) = n Codierungen Von Wörtern zu Zahlen und zurück 10/44

13 Algorithmus für Berechnung der k-ären Darstellung einer Zahl / Eingabe: n N 0 y n w ε { 1 + log m k (n) falls n > 0 1 falls n = 0 for i 0 to m 1 do od r y mod k w repr k (r) w y y div k / am Ende: n = Num k (w) Codierungen Von Wörtern zu Zahlen und zurück 11/44

14 Beispielberechnung Nehme k = 10 und n = 4711 Dann ist m = 4 für jedes i G 5 haben die Variablen r, w und y nach i Schleifendurchläufen die folgenden Werte i r w ε y Schleifeninvariante y 10 i + Num k (w) = n drängt sich auf Wenn man weiß, dass am Ende y = 0 ist, ist man fertig. Codierungen Von Wörtern zu Zahlen und zurück 12/44

15 Algorithmus liefert kürzestes Wort w Zk mit Num k(w) = n. schreiben dafür Repr k (n). Es ist stets Num k (Repr k (n)) = n. Beachte: umgekehrt im allgemeinen Repr k (Num k (w)) w weil überflüssige führende Nullen wegfallen. Codierungen Von Wörtern zu Zahlen und zurück 13/44

16 Wir halten fest Das sollten Sie mitnehmen: Umwandlungen zwischen Zahlen und Wörtern mal wieder Schleifen in passenden Beispielen ist Schleifeninvariante gut zu sehen schon Leibniz kannte die Binärdarstellung Das sollten Sie üben: selber Zahlen verschieden repräsentieren Algorithmen auch in Randfällen ausprobieren Codierungen Von Wörtern zu Zahlen und zurück 14/44

17 Codierungen Von Wörtern zu Zahlen und zurück Dezimaldarstellung von Zahlen Andere Zahldarstellungen Von Zahlen zu ihren Darstellungen Von einem Alphabet zum anderen Ein Beispiel: Übersetzung von Zahldarstellungen Homomorphismen Beispiel Unicode: UTF-8 Huffman-Codierung Algorithmus zur Berechnung von Huffman-Codes Weiteres zu Huffman-Codes Codierungen Von einem Alphabet zum anderen 15/44

18 Von Hexadezimal- zu Binärdarstellung Betrachte die Funktion Trans 2,16 = Repr 2 Num 16 Trans 2,16 : Z16 Z 2 Z. B. Trans 2,16 (A3) = Repr 2 (Num 16 (A3)) = Repr 2 (163) = wesentlicher Punkt: A3 und haben die gleiche Bedeutung nämlich die Zahl einhundertdreiundsechzig So etwas wollen wir eine Übersetzung nennen. Codierungen Von einem Alphabet zum anderen 16/44

19 Übersetzungen Allgemein: Man schreibt Wörter aus einer formalen Sprache L A A und meint aber etwas anderes, ihre Bedeutung. Menge der Bedeutungen je nach Anwendungsfall sehr unterschiedlich einfach: Zahlen, kompliziert: Ausführung von Java-Programmen im Folgenden schreiben wir einfach Sem für die Menge der Bedeutungen Codierungen Von einem Alphabet zum anderen 17/44

20 Übersetzungen Allgemein: Man schreibt Wörter aus einer formalen Sprache L A A und meint aber etwas anderes, ihre Bedeutung. Menge der Bedeutungen je nach Anwendungsfall sehr unterschiedlich einfach: Zahlen, kompliziert: Ausführung von Java-Programmen im Folgenden schreiben wir einfach Sem für die Menge der Bedeutungen Gegeben: zwei Alphabete A und B LA A und L B B zwei Abbildungen sema : L A Sem und sem B : L B Sem Eine Abbildung f : L A L B heiße eine Übersetzung bezüglich sem A und sem B, wenn f die Bedeutung erhält, d. h. w L A : sem A (w) = sem B (f (w)) Codierungen Von einem Alphabet zum anderen 17/44

21 Beispiel Trans 2,16 Trans 2,16 = Repr 2 Num 16. einfacher Fall: L A = A = Z2 und L B = B = Z16. Bedeutungsfunktionen: sem A = Num 16 und sem B = Num 2 Nachrechnen, dass Trans 2,16 eine Übersetzung ist: sem B (f (w)) = Num 2 (Trans 2,16 (w)) = Num 2 (Repr 2 (Num 16 (w))) = Num 16 (w) = sem A (w) Codierungen Von einem Alphabet zum anderen 18/44

22 Komplizierte Menge Sem zum Beispiel bei der Übersetzung von Programmiersprachen Was ist Sem? Das lernt man in Vorlesungen zur Semantik von Programmiersprachen. Andeutung: Man kann als Semantik von x 5 die Abbildung definieren, die einer Speicherbelegung m die neue Speicherbelegung memwrite(m, x, 5) zuordnet. Codierungen Von einem Alphabet zum anderen 19/44

23 Wozu Übersetzungen Legalität: Manchmal ist ein bestimmter Zeichensatz vorgeschrieben (z. B. ASCII in s) Lesbarkeit: Übersetzungen können zu kürzer und daher besser lesbar sein: vergleiche A3 mit Kompression: Übersetzungen können kürzer sein und zwar ohne größeres Alphabet gleich: Huffman-Codes Verschlüsselung: nicht verbesserte Lesbarkeit, sondern am liebsten gar keine Lesbarkeit, jedenfalls für Außenstehende siehe Vorlesungen über Kryptographie Fehlererkennung und Fehlerkorrektur: man mache Texte durch Übersetzung so länger, dass man selbst dann, wenn ein korrekter Funktionswert f (w) zufällig kaputt (Übertragungsfehler) gemacht wird man u. U. die Fehler korrigieren kann, oder zumindest erkennt, dass Fehler passiert sind. typisches Beispiel: lineare Codes Codierungen Von einem Alphabet zum anderen 20/44

24 Codierungen bzw. Codes Forderung sem A (w) = sem B (f (w)) in Spezialfällen kein Problem: z. B. bei Verschlüsselung und manchen Anwendungen von Kompression: man will vom Übersetzten f (x) eindeutig zurückkommen können möchte zum ursprünglichen x. f ist injektiv. Dann kann man dann die Bedeutung sem B im wesentlichen definieren durch die Festlegung sem B (f (x)) = sem A (x). Beachte: Dafür ist Injektivität von f wichtig! Wenn f injektiv ist, heiße das eine Codierung Die Menge {f (w) w L A } heißt dann auch ein Code. Codierungen Von einem Alphabet zum anderen 21/44

25 Wie spezizifiziert man eine Übersetzung? Wenn L A unendlich ist, kann man nicht alle Möglichkeiten aufzählen... Auswege: Homomorphismen Block-Codierungen Codierungen Von einem Alphabet zum anderen 22/44

26 Homomorphismen Gegeben: zwei Alphabete A und B und eine Abbildung h : A B. Zu h definiert man Funktion h : A B vermöge h (ε) = ε w A : x A : h (wx) = h (w)h(x) Beispiel: h(a) = 10 und h(b) = 001 dann ist h(babb) = h(b) h(a) h(b) h(b) = = Eine solche Abbildung h nennt man einen Homomorphismus. Häufig schreibt man statt h einfach wieder h. Homomorphismus heißt ε-frei, wenn x A : h(x) ε. Codierungen Von einem Alphabet zum anderen 23/44

27 Präfixfreie Codes Gegeben: Abbildung h : A B Frage: ist Abbildung h : A B eine Codierung, also injektiv? im allgemeinen nicht ganz einfach zu sehen. einfacher Spezialfall: h ist präfixfrei Das bedeutet: für keine zwei verschiedenen Symbole x 1, x 2 A gilt: h(x 1 ) ist ein Präfix von h(x 2 ). Codierungen Von einem Alphabet zum anderen 24/44

28 UTF-8 Codierung: ein Homomorphismus Die Codierung einzelner Zeichen wird gleich definiert Wörter werden zeichenweise codiert. Codierungen Von einem Alphabet zum anderen 25/44

29 Auszug aus RFC 3629 Char. number range (hexadecimal) UTF-8 octet sequence (binary) F 0xxxxxxx FF 110xxxxx 10xxxxxx FFFF 1110xxxx 10xxxxxx 10xxxxxx FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx Determine the number of octets required... Prepare the high-order bits of the octets... Fill in the bits marked x... Start by putting the lowest-order bit of the character number in the lowest-order position of the last octet of the sequence, then put the next higher-order bit of the character number in the next higher-order position of that octet,... When the x bits of the last octet are filled in, move on to the next to last octet, then to the preceding one, etc.... Codierungen Von einem Alphabet zum anderen 26/44

30 Wir halten fest Das sollten Sie mitnehmen: Übersetzungen sind in verschiedenen Situationen nützlich Homomorphismen Codes UTF-8 Das sollten Sie üben: Homomorphismen anwenden Zeichen in UTF-8 codieren Codierungen Von einem Alphabet zum anderen 27/44

31 Codierungen Von Wörtern zu Zahlen und zurück Dezimaldarstellung von Zahlen Andere Zahldarstellungen Von Zahlen zu ihren Darstellungen Von einem Alphabet zum anderen Ein Beispiel: Übersetzung von Zahldarstellungen Homomorphismen Beispiel Unicode: UTF-8 Huffman-Codierung Algorithmus zur Berechnung von Huffman-Codes Weiteres zu Huffman-Codes Codierungen Huffman-Codierung 28/44

32 Huffman-Codierung Gegeben: ein Alphabet A und ein Wort w A Eine sogenannte Huffman-Codierung von w ist eine Abbildung h : A Z2, die ein ε-freier Homomorphismus ist. h also eindeutig festgelegt durch die h(x) für alle x A. Jedes Symbol x A kommt mit einer gewissen absoluten Häufigkeit N x (w) in w vor. Bei Huffman-Codes werden häufigere Symbole durch kürzere Wörter codiert und seltener vorkommende Symbole durch längere. Huffman-Codierungen werden zum Beispiel von Kompressionsverfahren wie gzip oder bzip2 verwendet. Im folgenden erst der Algorithmus anschließend einige Bemerkungen Codierungen Huffman-Codierung 29/44

33 Voraussetzungen Gegeben ein w A und die Anzahlen N x (w) aller Symbole x A in w o. B. d. A. alle Nx (w) > 0 (den Rest muss man nicht codieren) Algorithmus zur Bestimmung eines Huffman-Codes arbeitet in zwei Phasen: 1. es wird ein Baum konstruiert dessen Blätter den x A entsprechen und dessen Kanten mit 0 und 1 beschriftet sind 2. Ablesen der Codes aus dem Baum (Pfadbeschriftungen) Codierungen Huffman-Codierung 30/44

34 Algorithmus für Huffman-Codes Beispiel: w = afebfecaffdeddccefbeff Baum am Ende: , e 6 7, f , a 2, b 3, c Homomorphismus (präfixfrei!) 3, d x a b c d e f h(x) Codierungen Huffman-Codierung 31/44

35 Konstruktion des Huffman-Baumes (1) Zu jedem Zeitpunkt hat man eine Menge M i von noch zu betrachtenden Symbolmengen mit ihren Häufigkeiten und eine ebenso große Menge von schon konstruierten Teilbäumen Initialisierung: M 0 ist die Menge aller {(x, N x (w))} für x A, Als Anfang für die Konstruktion des Baumes zeichnet man für jedes Symbol einen Knoten mit Markierung (x, N x (w)). Beispiel M 0 = { ({a}, 2), ({b}, 2), ({c}, 3), ({d}, 3), ({e}, 5), ({f}, 7) } Codierungen Huffman-Codierung 32/44

36 Konstruktion des Huffman-Baumes (2) Initialbaum im Beispiel: 5, e 7, f 2, a 2, b 3, c 3, d Codierungen Huffman-Codierung 33/44

37 Konstruktion des Huffman-Baumes (3) Iterationsschritt des Algorithmus: Solange Menge M i noch mindestens zwei Paare enthält, Bestimme Menge M i+1 wie folgt: Wähle zwei Paare (X 1, k 1 ) und (X 2, k 2 ), deren Häufigkeiten zu den kleinsten noch vorkommenden gehören. Entferne diese Paare aus Mi und fügt statt dessen das eine Paar (X 1 X 2, k 1 + k 2 ) hinzu. Das ergibt M i+1. im Graphen Füge einen weiteren Knoten hinzu, markiert mit der Häufigkeit k1 + k 2 und Kanten zu den Knoten, die für (X 1, k 1 ) und (X 2, k 2 ) eingefügt worden waren. Codierungen Huffman-Codierung 34/44

38 Konstruktion des Huffman-Baumes (4) Beispiel: M 1 = { ({a, b}, 4), ({c}, 3), ({d}, 3), ({e}, 5), ({f}, 7) } 4 5, e 7, f 2, a 2, b 3, c 3, d Codierungen Huffman-Codierung 35/44

39 Konstruktion des Huffman-Baumes (5) Beispiel: M 2 = { ({a, b}, 4), ({c, d}, 6), ({e}, 5), ({f}, 7) } 4 5, e 6 7, f 2, a 2, b 3, c 3, d Codierungen Huffman-Codierung 36/44

40 Konstruktion des Huffman-Baumes (6) Beispiel M 3 = { ({a, b, e}, 9), ({c, d}, 6), ({f}, 7) } 9 4 5, e 6 7, f 2, a 2, b 3, c 3, d Codierungen Huffman-Codierung 37/44

41 Konstruktion des Huffman-Baumes (7) Beispiel M 4 = { ({a, b, e}, 9), ({c, d, f}, 13) } , e 6 7, f 2, a 2, b 3, c 3, d Codierungen Huffman-Codierung 38/44

42 Konstruktion des Huffman-Baumes (8) Beispiel M 5 = { ({a, b, c, d, e, f}, 22) } , e 6 7, f 2, a 2, b 3, c 3, d Codierungen Huffman-Codierung 39/44

43 Beschriftung der Kanten an jedem Knoten: die nach links führende Kante wird mit 0 beschriftet die nach rechts führende Kante wird mit 1 beschriftet Codes für ein Zeichen x: gehe auf kürzestem Weg von der Wurzel des Baumes zu dem Blatt, das x entspricht, konkateniere der Reihe nach alle Symbole, mit denen die Kanten auf diesem Weg beschriftet sind. Codierungen Huffman-Codierung 40/44

44 Eigenschaften von Huffman-Codes Im Beispiel war immer klar, welche zwei Knoten zu einem neuen zusammengefügt werden mussten Im allgemeinen gibt es mehrere Möglichkeiten. Außerdem ist nicht festgelegt, welcher Knoten linker Nachfolger und welcher rechter Nachfolger eines inneren Knotens wird. Konsequenz dieser Mehrdeutigkeiten: Huffman-Code nicht eindeutig macht aber nichts: alle sind gleich gut. diese Güte kann man präzisieren: Unter allen präfixfreien Codes führen Huffman-Codes zu kürzesten Codierungen. Codierungen Huffman-Codierung 41/44

45 Block-Codierungen Verallgemeinerung des obigen Verfahrens: Betrachte nicht Häufigkeiten einzelner Symbole, sondern für Teilwörter einer festen Länge b > 1. einziger Unterschied: an den Blättern des Huffman-Baumes stehen Wörter der Länge b. So etwas nennt man eine Blcok-Codierung. Statt h(x) für x A festzulegen, legt man h(w) für alle Blöcke w A b fest, und erweitert dies zu einer Funktion h : (A b ) B. Codierungen Huffman-Codierung 42/44

46 Wir halten fest Das sollten Sie mitnehmen: Huffman-Codierung liefert kürzest mögliche präfixfreie Codes Algorithmus zur Bestimmung des Huffman-Baumes warum die Anführungszeichen? Das sollten Sie üben: Huffman-Codes berechnen Codierungen Huffman-Codierung 43/44

47 Zusammenfassung Zahldarstellungen Übersetzungen und Codes Huffman-Codierung Codierungen Zusammenfassung 44/44

Grundbegriffe der Informatik

Grundbegriffe der Informatik Ich hoffe, es werden Ew. Hochfürstliche Durchlaucht in Gnaden vermerken, daß ich sowohl dem Gebrauche, als meinem Gemüths=Triebe zu Folge, bei dem eingetretenen neuen Jahre, auf dieses und viele folgende,

Mehr

Brief vom 2. Januar 1697 an den Herzog von Braunschweig-Wolfenbüttel

Brief vom 2. Januar 1697 an den Herzog von Braunschweig-Wolfenbüttel Ich hoffe, es werden Ew. Hochfürstliche Durchlaucht in Gnaden vermerken, daß ich sowohl dem Gebrauche, als meinem Gemüths=Triebe zu Folge, bei dem eingetretenen neuen Jahre, auf dieses und viele folgende,

Mehr

10 Ü 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 von wörtern zu zahlen und zurück

10 Ü 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 von wörtern zu zahlen und zurück 10 Ü 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 Von natürlichen Sprachen weiß man, dass man übersetzen kann. Beschränken wir uns im weiteren der Einfachheit halber als erstes auf Inschriften.

Mehr

6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N. 6.1 von wörtern zu zahlen und zurück Dezimaldarstellung von Zahlen Num 10

6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N. 6.1 von wörtern zu zahlen und zurück Dezimaldarstellung von Zahlen Num 10 6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N 6.1 von wörtern zu zahlen und zurück 6.1.1 Dezimaldarstellung von Zahlen Num 10 Num10(ε) = 0 (6.1) für jedes w Z 10 für jedes x Z 10 Num 10 (wx)

Mehr

8 Ü 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. 8.1 von wörtern zu zahlen und zurück

8 Ü 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. 8.1 von wörtern zu zahlen und zurück 8 Ü 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 Von natürlichen Sprachen weiß man, dass man übersetzen kann. Beschränken wir uns im weiteren der Einfachheit halber als erstes auf Inschriften. Was

Mehr

Grundbegriffe der Informatik Tutorium 3

Grundbegriffe 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

Mehr

2. die die schöne Eigenschaft hat, dass jedes Ausgangswort und seine Übersetzung die gleiche Bedeutung haben.

2. die die schöne Eigenschaft hat, dass jedes Ausgangswort und seine Übersetzung die gleiche Bedeutung haben. 10 Ü 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 Von natürlichen Sprachen weiß man, dass man übersetzen kann. Beschränken wir uns im weiteren der Einfachheit halber als erstes auf Inschriften.

Mehr

Grundbegriffe der Informatik Tutorium 5

Grundbegriffe 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

Mehr

Tutorium 23 Grundbegriffe der Informatik (6. Sitzung)

Tutorium 23 Grundbegriffe der Informatik (6. Sitzung) Tutorium 23 Grundbegriffe der Informatik (6. Sitzung) Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum Karlsruhe GmbH and Universität

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 14: Endliche Automaten Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/38 Überblick Erstes Beispiel: ein Getränkeautomat Mealy-Automaten

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung Teil 3: Daten und Algorithmen Prof. Dr. Peer Kröger, Florian Richter, Michael Fromm Wintersemester 2018/2019 Übersicht 1. Datendarstellung durch Zeichenreihen 2. Syntaxdefinitionen

Mehr

Grundbegriffe der Informatik Aufgabenblatt 6

Grundbegriffe der Informatik Aufgabenblatt 6 Grundbegriffe der Informatik Aufgabenblatt 6 Matr.nr.: Nachname: Vorname: Tutorium: Nr. Name des Tutors: Ausgabe: 27. November 23 Abgabe: 6. Dezember 23, 2:3 Uhr im GBI-Briefkasten im Untergeschoss von

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 14: Endliche Automaten Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/31 Überblick Erstes Beispiel: ein Getränkeautomat Mealy-Automaten

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete, Abbildungen, Aussagenlogik Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/32 Überblick Alphabete

Mehr

Grundbegriffe der Informatik Kapitel 3: Mengen, Alphabete, Abbildungen

Grundbegriffe der Informatik Kapitel 3: Mengen, Alphabete, Abbildungen Grundbegriffe der Informatik Kapitel 3: Mengen, Alphabete, Abbildungen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 1: Grundlagen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Ziel Einführung der wichtigsten

Mehr

Abschnitt 2: Daten und Algorithmen

Abschnitt 2: Daten und Algorithmen Abschnitt 2: Daten und Algorithmen 2. Daten und Algorithmen 2.1 Zeichenreihen 2.2 Datendarstellung durch Zeichenreihen 2.3 Syntaxdefinitionen 2.4 Algorithmen 2 Daten und Algorithmen Einf. Progr. (WS 08/09)

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

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

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

Mehr

Daten und Algorithmen

Daten und Algorithmen LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 3 Daten und Algorithmen Skript zur Vorlesung Einführung in die Programmierung g im Wintersemester 2012/13 Ludwig-Maximilians-Universität

Mehr

Grundbegriffe der Informatik Aufgabenblatt 4

Grundbegriffe der Informatik Aufgabenblatt 4 Matr.nr.: Nachname: Vorname: Grundbegriffe der Informatik Aufgabenblatt 4 Tutorium: Nr. Name des Tutors: Ausgabe: 12. November 2014 Abgabe: 21. November 2014, 12:30 Uhr im GBI-Briefkasten im Untergeschoss

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 4: Wörter Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 2: Signale, Nachrichten, Informationen, Daten Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 29/21 1/19 Überblick Signale

Mehr

Einleitung. Kapitel 1

Einleitung. Kapitel 1 Kapitel 1 Einleitung In diesem Abschnitt geben wir einen kurzen Überblick über den Inhalt der Vorlesung. Wir werden kurz die wesentlichen Probleme erläutern, die wir ansprechen wollen. Wir werden auch

Mehr

2.7 Der Shannon-Fano-Elias Code

2.7 Der Shannon-Fano-Elias Code 2.7 Der Shannon-Fano-Elias Code Die Huffman-Codierung ist ein asymptotisch optimales Verfahren. Wir haben auch gesehen, dass sich die Huffman-Codierung gut berechnen und dann auch gut decodieren lassen.

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 4: Wörter (und vollständige Induktion) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/29 Überblick Wörter Wörter Das leere Wort Mehr zu

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 9: Speicher Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2013/2014 1/19 Überblick Bit und Byte Speicher als Tabellen und

Mehr

Lösungsvorschläge zur Klausur zur Vorlesung Grundbegriffe der Informatik 7. September 2010

Lösungsvorschläge zur Klausur zur Vorlesung Grundbegriffe der Informatik 7. September 2010 Lösungsvorschläge zur Klausur zur Vorlesung Grundbegriffe der Informatik 7. September 2010 Klausurnummer Name: Vorname: Matr.-Nr.: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 5 6 8 6 7 8 tats. Punkte Gesamtpunktzahl:

Mehr

Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60

Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60 Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester

Mehr

Isomorphie von Bäumen

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

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)

Mehr

Abschnitt 4: Daten und Algorithmen

Abschnitt 4: Daten und Algorithmen Abschnitt 4: Daten und Algorithmen 4. Daten und Algorithmen 4.1 4.2 Syntaxdefinitionen 4.3 Eigenschaften von Algorithmen 4.4 Paradigmen der Algorithmenentwicklung Peer Kröger (LMU München) Einführung in

Mehr

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 3: Kodierung 1 Motivation 2 Exkurs Grundlagen formaler Sprachen 3 Grundlagen 4 Beispielkodierungen FM2 (WS 2014/15,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 9: Speicher Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen

Mehr

Referat zum Thema Huffman-Codes

Referat zum Thema Huffman-Codes Referat zum Thema Huffman-Codes Darko Ostricki Yüksel Kahraman 05.02.2004 1 Huffman-Codes Huffman-Codes ( David A. Huffman, 1951) sind Präfix-Codes und das beste - optimale - Verfahren für die Codierung

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 6: formale Sprachen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/18 Überblick Formale Sprachen Formale Sprachen

Mehr

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45 Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009

Mehr

Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung

Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung Huffman-Codierung, arithmetische Codierung Theoretische Informatik RWTH-Aachen 4. April 2012 Übersicht 1 Einführung 2 3 4 5 6 Einführung Datenkompression Disziplin,die Kompressionsalgorithmen entwirft

Mehr

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

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

Mehr

Einführung in die Informatik II Aus der Informationstheorie: Datenkompression

Einführung in die Informatik II Aus der Informationstheorie: Datenkompression Einführung in die Informatik II Aus der Informationstheorie: Datenkompression Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität München Sommersemester 2 2. Juli 2 Copyright 2 Bernd

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 22 (20.7.2016) Greedy Algorithmen - Datenkompression Algorithmen und Komplexität Greedy Algorithmen Greedy Algorithmen sind eine Algorithmenmethode,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Diskrete 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

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 17 (8.7.2014) Minimale Spannbäume II Union Find, Prioritätswarteschlangen Algorithmen und Komplexität Minimaler Spannbaum Gegeben: Zus. hängender,

Mehr

Ein Fragment von Pascal

Ein Fragment von Pascal Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische 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

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

3 Codierung diskreter Quellen. Quelle Quellcodierer Kanalcodierer reduziert die benötigte Datenmenge. fügt Daten zur Fehlerkorrektur ein.

3 Codierung diskreter Quellen. Quelle Quellcodierer Kanalcodierer reduziert die benötigte Datenmenge. fügt Daten zur Fehlerkorrektur ein. 3 Codierung diskreter Quellen 3 Einführung 32 Ungleichmäßige Codierung 33 Präfix-Codes 34 Grenzen der Code-Effizienz 35 Optimal-Codierung 3 Zusammenfassung < 24 / 228 > 3 Codierung diskreter Quellen Quelle

Mehr

Dynamisches Huffman-Verfahren

Dynamisches Huffman-Verfahren Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit

Mehr

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Klausur 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:

Mehr

Konstruktion von Suffix Bäumen

Konstruktion von Suffix Bäumen Konstruktion von Suffix Bäumen Prof. Dr. S. Albers Prof. Dr. Th. Ottmann 1 Ukkonen s Algorithmus: Impliziter Suffix Baum Definition: Ein impliziter Suffix Baum ist der Baum, den man aus dem Suffix Baum

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 9: Speicher Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/19 Überblick Speicher Bit und Byte Speicher als Tabellen und Abbildungen

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 21 (11.7.2018) String Matching (Textsuche) II Greedy Algorithmen I Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei

Mehr

Aufgabe: Platz-effiziente Kompression von Textdaten

Aufgabe: Platz-effiziente Kompression von Textdaten 7.3 Huffman-Bäume Anwendung von Binärbäumen Aufgabe: Platz-effiziente Kompression von Textdaten Standardcodierungen von Textdaten ISO-8859-1: 8 Bit pro Zeichen UTF-16: 16 Bit pro Zeichen Codierungen mit

Mehr

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/18

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/18 Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/18 9. November 2017 1/34 Beispiel 3.6 Wir können die rationalen Zahlen wie folgt konstruieren:

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/42 Graphische Darstellung von Zusammenhängen schon an vielen Stellen

Mehr

Algorithmische Bioinformatik 1

Algorithmische 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

Mehr

Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert.

Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert. Anwendungen von Bäumen 4.3.2 Huffman Code Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert. => nutzbar für Kompression Code fester

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 17: Relationen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2013/2014 1/61 Anmerkung Änderung im Wintersemester 2013/2014:

Mehr

Grundbegriffe der Informatik Tutorium 3

Grundbegriffe der Informatik Tutorium 3 Grundbegriffe der Informatik Tutorium 3 Tutorium Nr. 32 Philipp Oppermann 9. November 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Vorlesung 2. Tilman Bauer. 6. September 2007

Vorlesung 2. Tilman Bauer. 6. September 2007 Vorlesung 2 Universität Münster 6. September 2007 Organisatorisches Meine Koordinaten: Sprechstunden: Di 13:30-14:30 Do 9:00-10:00 tbauer@uni-muenster.de Zimmer 504, Einsteinstr. 62 (Hochhaus) für alle

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Technische Informatik - Eine Einführung Darstellung von Zeichen und

Mehr

Klammersprache Definiere

Klammersprache Definiere Klammersprache w=w 1...w n {(,)}* heißt korrekt geklammert, falls die Anzahl ( ist gleich der Anzahl ). in jedem Anfangsstück w 1,...,w i (i n) ist die Anzahl ( nicht kleiner als die Anzahl ). Definiere

Mehr

TU München. Hauptseminar: WS 2002 / Einführung in Suffix - Bäume

TU 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

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität Gierige Algorithmen: Berechne Lösung schrittweise In jedem Schritt mache lokal optimale Wahl Daumenregel: Wenn optimale Lösung

Mehr

Effiziente Algorithmen und Komplexitätstheorie

Effiziente 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

Mehr

2 Repräsentation von elementaren Daten

2 Repräsentation von elementaren Daten 2 Repräsentation von elementaren Daten Alle (elemtaren) Daten wie Zeichen und Zahlen werden im Dualsystem repräsentiert. Das Dualsystem ist ein spezielles B-adisches Zahlensystem, nämlich mit der Basis

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Inhalt. 2.1 Darstellung von Zahlen. 2.2 Darstellung von Zeichen. 2.3 Boolesche Algebra. 2.4 Aussagenlogik. Informatik 1 / Kapitel 2: Grundlagen

Inhalt. 2.1 Darstellung von Zahlen. 2.2 Darstellung von Zeichen. 2.3 Boolesche Algebra. 2.4 Aussagenlogik. Informatik 1 / Kapitel 2: Grundlagen 2. Grundlagen Inhalt 2.1 Darstellung von Zahlen 2.2 Darstellung von Zeichen 2.3 Boolesche Algebra 2.4 Aussagenlogik 2 2.1 Darstellung von Zahlen Im Alltag rechnen wir gewöhnlich im Dezimalsystem, d.h.

Mehr

Vorlesung 15a. Quellencodieren und Entropie

Vorlesung 15a. Quellencodieren und Entropie Vorlesung 15a Quellencodieren und Entropie 1 1. Volle Binärbäume als gerichtete Graphen und die gewöhnliche Irrfahrt von der Wurzel zu den Blättern 2 3 ein (nicht voller) Binärbaum Merkmale eines Binärbaumes:

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme Stefan Brass: OOP (Java), 3. 1/31 Objektorientierte Programmierung Kapitel 3: Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/ brass/oop14/

Mehr

Grundbegriffe der Informatik Tutorium 33

Grundbegriffe der Informatik Tutorium 33 Tutorium 33 02.02.2017 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Gliederung 1 2 3 Ein ist ein Tupel A = (Z, z 0, X, f, Y, h)

Mehr

Computer-orientierte Mathematik

Computer-orientierte Mathematik Computer-orientierte Mathematik 8. Vorlesung - Christof Schuette 16.12.16 Memo: Stabilität Stabilität: Motivation des Stabilitäts- und Algorithmusbegriffs. Abgrenzung zur Kondition. Relative Stabilität

Mehr

Lö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 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

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 4: Wörter und vollständige Induktion Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/40 Überblick Wörter Wörter

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Darstellung von Text Plain Text Abstraktion: Text wird durch eine Folge von Symbolen (Buchstaben, Zahlen, Interpunktion) dargestellt Verzicht auf Informationen über

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 14: Der Begriff des Algorithmus (einige grundlegende Aspekte) Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der

Mehr

Seminarvortrag über den Satz von Nielsen-Schreier

Seminarvortrag über den Satz von Nielsen-Schreier Seminarvortrag über den Satz von Nielsen-Schreier Andreas Peter am Karlsruher Institut für Technologie (KIT) 16. April 2010 Zusammenfassung Eine freie Gruppe besteht, grob gesprochen, aus den Wörtern über

Mehr

Gierige Algorithmen Interval Scheduling

Gierige Algorithmen Interval Scheduling Gierige Algorithmen Interval Scheduling IntervalScheduling(s,f). n length[s] 2. A {} 3. j 4. for i 2 to n do 5. if s[i] f[j] then 6. A A {i} 7. j i 8. return A Gierige Algorithmen Interval Scheduling Beweisidee:

Mehr

Konstruktion von Suffix Bäumen

Konstruktion von Suffix Bäumen Konstruktion von Suffix Bäumen Prof. Dr. S. Albers Prof. Dr. Th. Ottmann 1 : Impliziter Suffix Baum Definition: Ein impliziter Suffix Baum ist der Baum, den man aus dem Suffix Baum für t$ enthält indem

Mehr

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48 Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009

Mehr

(Prüfungs-)Aufgaben zur Codierungstheorie

(Prüfungs-)Aufgaben zur Codierungstheorie (Prüfungs-)Aufgaben zur Codierungstheorie 1) Gegeben sei die folgende CCITT2-Codierung der Dezimalziffern: Dezimal CCITT2 0 0 1 1 0 1 1 1 1 1 0 1 2 1 1 0 0 1 3 1 0 0 0 0 4 0 1 0 1 0 5 0 0 0 0 1 6 1 0 1

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 2: Signale, Nachrichten, Informationen, Daten Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/19 Überblick Signale

Mehr

Minimal spannende Bäume

Minimal spannende Bäume http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen

Mehr

Strings. Stringsuche, Boyer-Moore, Textkompression, Huffman Codes.

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

Mehr

F u n k t i o n e n Grundbegriffe

F u n k t i o n e n Grundbegriffe F u n k t i o n e n Grundbegriffe Gottfried Wilhelm Leibniz (*66 in Leipzig, 76 in Hannover) war ein deutscher Philosoph und Wissenschaftler, Mathematiker, Diplomat, Physiker, Historiker, Bibliothekar

Mehr

Vorlesung 12. Quellencodieren und Entropie

Vorlesung 12. Quellencodieren und Entropie Vorlesung 12 Quellencodieren und Entropie 1 S sei eine abzählbare Menge (ein Alphabet ). Die Elemente von S nennen wir Buchstaben. Wir wollen die Buchstaben a, b,... durch (möglichst kurze) 01-Folgen k(a),

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 24. April 2019 [Letzte Aktualisierung: 24/04/2019,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 4: Wörter und vollständige Induktion Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/41 Überblick Wörter Wörter

Mehr

4.9.7 Konstruktion der Suffixbäume

4.9.7 Konstruktion der Suffixbäume .9.7 Konstruktion der Suffixbäume Beipiel: xabxa (siehe Abbildung.27) Man beginnt mit der Konstruktion eines Suffixbaumes für gesamten String und schreibt eine 1 am Blatt, weil der Suffix xabxa an der

Mehr

3 A L P H A B E T E, A B B I L D U N G E N, AU S S A G E N L O G I K

3 A L P H A B E T E, A B B I L D U N G E N, AU S S A G E N L O G I K 3 A L P H A B E T E, A B B I L D U N G E N, AU S S A G E N L O G I K In der Einheit über Signale, Nachrichten,... haben wir auch über Inschriften gesprochen. Ein typisches Beispiel ist der Rosetta-Stein

Mehr

3 A L P H A B E T E. 3.1 alphabete

3 A L P H A B E T E. 3.1 alphabete 3 A L P H A B E T E In der Einheit über Signale, Nachrichten,... haben wir auch über Inschriften gesprochen. Ein typisches Beispiel ist der Rosetta-Stein (Abb. 3.1), der für Jean-François Champollion die

Mehr

3 A L P H A B E T E. 3.1 alphabete

3 A L P H A B E T E. 3.1 alphabete 3 A L P H A B E T E In der Einheit über Signale, Nachrichten,... haben wir auch über Inschriften gesprochen. Ein typisches Beispiel ist der Rosetta-Stein (Abb. 2), der für Jean-François Champollion die

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 16: Erste Algorithmen in Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für

Mehr