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

Größe: px
Ab Seite anzeigen:

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

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. Brief vom 2. Januar 1697 an den Herzog von Braunschweig-Wolfenbüttel GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 1 / 74

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. Brief vom 2. Januar 1697 an den Herzog von Braunschweig-Wolfenbüttel von Gottfried Wilhelm Leibniz ( ) Philosoph, Mathematiker, Physiker, Bibliothekar,... GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 1 / 74

3 Grundbegriffe der Informatik Einheit 8: Codierungen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 2 / 74

4 Von Wörtern zu Zahlen und zurück Von einem Alphabet zum anderen Huffman-Codierung GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 3 / 74

5 Wo sind wir? Von Wörtern zu Zahlen und zurück Dezimaldarstellung von Zahlen Andere Zahldarstellungen Von Zahlen zu ihren Darstellungen Von einem Alphabet zum anderen Huffman-Codierung GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 4 / 74

6 Dezimaldarstellung von Zahlen Ziffern des Alphabetes Z 10 = {0,..., 9}. Bedeutung einzelner Ziffer x als Zahl num 10 (x): x num 10 (x) null eins zwei acht neun GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 5 / 74

7 Dezimaldarstellung von Zahlen Ziffern des Alphabetes Z 10 = {0,..., 9}. Bedeutung einzelner Ziffer x als Zahl num 10 (x): x num 10 (x) Bedeutung einer Ziffernfolge x k 1 x 0 Z 10 Num 10 : Z 10 N 0 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 5 / 74

8 Dezimaldarstellung von Zahlen Ziffern des Alphabetes Z 10 = {0,..., 9}. Bedeutung einzelner Ziffer x als Zahl num 10 (x): x num 10 (x) Bedeutung einer Ziffernfolge x k 1 x 0 Z 10 Num 10 (x k 1 x 1 x 0 ) Num 10 : Z 10 N 0 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 5 / 74

9 Dezimaldarstellung von Zahlen Ziffern des Alphabetes Z 10 = {0,..., 9}. Bedeutung einzelner Ziffer x als Zahl num 10 (x): x num 10 (x) Bedeutung einer Ziffernfolge x k 1 x 0 Z 10 Num 10 : Z 10 N 0 Num 10 (x k 1 x 1 x 0 ) = 10 k 1 num 10 (x k 1 ) num 10 (x 1 ) num 10 (x 0 ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 5 / 74

10 Dezimaldarstellung von Zahlen Ziffern des Alphabetes Z 10 = {0,..., 9}. Bedeutung einzelner Ziffer x als Zahl num 10 (x): x num 10 (x) Bedeutung einer Ziffernfolge x k 1 x 0 Z 10 Num 10 : Z 10 N 0 Num 10 (x k 1 x 1 x 0 ) = 10 k 1 num 10 (x k 1 ) num 10 (x 1 ) num 10 (x 0 ) = 10 ( 10 k 2 num 10 (x k 1 ) num 10 (x 1 ) ) + num 10 (x 0 ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 5 / 74

11 Dezimaldarstellung von Zahlen Ziffern des Alphabetes Z 10 = {0,..., 9}. Bedeutung einzelner Ziffer x als Zahl num 10 (x): x num 10 (x) Bedeutung einer Ziffernfolge x k 1 x 0 Z 10 Num 10 : Z 10 N 0 Num 10 (x k 1 x 1 x 0 ) = 10 k 1 num 10 (x k 1 ) num 10 (x 1 ) num 10 (x 0 ) = 10 ( 10 k 2 num 10 (x k 1 ) num 10 (x 1 ) ) + num 10 (x 0 ) = 10 Num 10 (x k 1 x 1 ) + num 10 (x 0 ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 5 / 74

12 Dezimaldarstellung von Zahlen Ziffern des Alphabetes Z 10 = {0,..., 9}. Bedeutung einzelner Ziffer x als Zahl num 10 (x): x num 10 (x) Bedeutung einer Ziffernfolge x k 1 x 0 Z 10 Num 10 : Z10 N 0 Num 10 (ε) = 0 für jedes w Z10, für jedes x Z 10: Num 10 (wx) = 10 Num 10 (w) + num 10 (x) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 5 / 74

13 Induktive Definitionen über die Wortlänge Abbildungen z. B. der Form f : A M definiere induktiv für jede Wortlänge n N 0 f (v) für jedes v A n Definitionsanfang : Wortlänge n = 0 definiere f (ε) Definitionsschritt : für jede Wortlänge n von n nach n + 1 für jedes v A n+1 definiere f (v) und benutze dabei schon f (w) für w A n jedes v A n+1 ist von der Form wx (bzw. xw) für w A n und x A GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 6 / 74

14 Wo sind wir? Von Wörtern zu Zahlen und zurück Dezimaldarstellung von Zahlen Andere Zahldarstellungen Von Zahlen zu ihren Darstellungen Von einem Alphabet zum anderen Huffman-Codierung GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 7 / 74

15 Gottfried Wilhelm Leibniz: zwei Ziffern reichen aus! geboren 1. Juli 1646 in Leipzig gestorben am 14. November 1716 in Hannover baute erste Maschine, die zwei Zahlen multiplizieren konnte Beobachtung mit nur zwei Ziffern 0 und 1 kann man alle nichtnegativen Zahlen darstellen und vernünftig rechnen Bildquelle GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 8 / 74

16 Binärdarstellung von Zahlen Stellenwertsystem zur Basis 2 Ziffernmenge Z 2 = {0, 1} definiere: num 2 (0) = 0 und num 2 (1) = 1 und Num 2 (ε) = 0 für jedes w Z 2, für jedes x Z 2: Num 2 (wx) = 2 Num 2 (w) + num 2 (x) 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 (2 (2 Num 2 (ε) + 1) + 1) + 0) + 1 = 2 (2 (2 ( ) + 1) + 0) + 1 = = 13 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 9 / 74

17 Binärdarstellung von Zahlen Stellenwertsystem zur Basis 2 Ziffernmenge Z 2 = {0, 1} definiere: num 2 (0) = 0 und num 2 (1) = 1 und Num 2 (ε) = 0 für jedes w Z 2, für jedes x Z 2: Num 2 (wx) = 2 Num 2 (w) + num 2 (x) 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 (2 (2 Num 2 (ε) + 1) + 1) + 0) + 1 = 2 (2 (2 ( ) + 1) + 0) + 1 = = 13 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 9 / 74

18 Binärdarstellung von Zahlen Stellenwertsystem zur Basis 2 Ziffernmenge Z 2 = {0, 1} definiere: num 2 (0) = 0 und num 2 (1) = 1 und Num 2 (ε) = 0 für jedes w Z 2, für jedes x Z 2: Num 2 (wx) = 2 Num 2 (w) + num 2 (x) 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 (2 (2 Num 2 (ε) + 1) + 1) + 0) + 1 = 2 (2 (2 ( ) + 1) + 0) + 1 = = 13 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 9 / 74

19 Hexadezimaldarstellung oder Sedezimaldarstellung Ziffern Z 16 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. 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 für jedes w Z 16, für jedes x Z 16: Num 16 (wx) = 16 Num 16 (w) + num 16 (x) Num 16 (20A) = = 522 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 10 / 74

20 Hexadezimaldarstellung oder Sedezimaldarstellung Ziffern Z 16 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. 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 für jedes w Z 16, für jedes x Z 16: Num 16 (wx) = 16 Num 16 (w) + num 16 (x) Num 16 (20A) = = 522 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 10 / 74

21 Hexadezimaldarstellung oder Sedezimaldarstellung Ziffern Z 16 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. 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 für jedes w Z 16, für jedes x Z 16: Num 16 (wx) = 16 Num 16 (w) + num 16 (x) Num 16 (20A) = = 522 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 10 / 74

22 Ein kleines Problem die Alphabete Z 2, Z 3, usw. sind nicht disjunkt Darstellungen mehrdeutig Num 2 (111) Num 8 (111) Num 10 (111) Num 16 (111) die Zahl sieben die Zahl dreiundsiebzig die Zahl einhundertelf 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 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 11 / 74

23 Wo sind wir? Von Wörtern zu Zahlen und zurück Dezimaldarstellung von Zahlen Andere Zahldarstellungen Von Zahlen zu ihren Darstellungen Von einem Alphabet zum anderen Huffman-Codierung GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 12 / 74

24 Noch offene Frage: Ist jede Zahl darstellbar? eben: zu jedem Wort dargestellte Zahl definierbar (und berechenbar ) nun: zu jeder Zahl eine Darstellung definierbar (und berechenbar ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 13 / 74

25 k-äre Darstellung von Zahlen Es sei k N 0 mit k 2. Alphabet Z k mit k Ziffern Bedeutung: die Zahlen in Z k für i Z k sei repr k (i) das entsprechende Zeichen repr k ist also gerade die Umkehrfunktion zu num k gesehen Num k : Z k N 0 gesucht Repr k : N 0 Z k Repräsentation von n N 0 als w Z k mit Num k (w) = n für die naheliegende Definition von Num k Redeweisen binäre Darstellung falls k = 2 ternäre Darstellung falls k = 3 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 14 / 74

26 Operationen div und mod es sei x N 0 und y N + x mod y Rest der ganzzahligen Division von x durch y 0 x mod y < y x div y Ergebnis der ganzzahligen Division von x durch y für jedes x N 0 und jedes y N + gilt x = y (x div y) + (x mod y) Beispiele 6 div 2 = 3 und 6 mod 2 = 0 7 div 2 = 3 und 7 mod 2 = 1 8 div 2 = 4 und 8 mod 2 = 0 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 15 / 74

27 k-äre Darstellung von Zahlen (2) Es sei k N 0 und k 2. Repr k : N 0 Z k n repr k (n) Repr k (n div k) repr k (n mod k) falls n < k falls n k kann man auch so schreiben n Repr k (n div k) repr k (n mod k) Repr k (n div k) repr k (n mod k) falls n < k falls n k Ist das eine Definition? GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 16 / 74

28 Die Definition von Repr k ist sinnvoll. (1) Repr k : N 0 Z k n repr k (n) Repr k (n div k) repr k (n mod k) falls n < k falls n k Behauptung: Für jedes n N 0 ist Repr k (n) definiert. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 17 / 74

29 Die Definition von Repr k ist sinnvoll. (1) Repr k : N 0 Z k n repr k (n) Repr k (n div k) repr k (n mod k) falls n < k falls n k Behauptung: Für jedes n N 0 ist Repr k (n) definiert. Behauptung: Für jedes m N + gilt: Für jedes n N 0 mit n < k m ist Repr k (n) definiert. Beweis durch vollständige Induktion GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 17 / 74

30 Die Definition von Repr k ist sinnvoll. (2) Repr k (n) = repr k (n) Repr k (n div k) repr k (n mod k) falls n < k falls n k Behauptung: Für jedes m N + gilt: Für jedes n N 0 mit n < k m ist Repr k (n) definiert. Ind.anfang: m = 1, also n < k: Ind.Schritt: sei m N + und gelte: Ind.vor. für jedes n N 0 mit n < k m ist Repr k (n) definiert. zeige: für jedes n N 0 mit n < k m+1 ist Repr k (n) definiert. falls sogar n < k m : wegen I.V. falls k m n < k m+1 : dann n div k < k m (k 2!), also nach I.V. Repr k (n div k) definiert, also auch Repr k (n) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 18 / 74

31 Num k ist linksinvers zu Repr k (1) Lemma. Für jedes n N 0 ist Num k (Repr k (n)) = n umgekehrt im allgemeinen Repr k (Num k (w)) w weil überflüssige führende Nullen wegfallen. Beweis: ähnliche vollständige Induktion wie eben GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 19 / 74

32 Num k ist linksinvers zu Repr k (2) Lemma. Für jedes n N 0 ist Num k (Repr k (n)) = n. Ind.anfang: für jedes n N 0 mit n < k: Ind.schritt: Es sei m N +. Unter der Ind.vor.: für jedes n N 0 mit n < k m ist Num k (Repr k (n)) = n zeige: für jedes n N 0 mit n < k m+1 ist Num k (Repr k (n)) = n. falls sogar n < k m : wegen I.V. falls k m n < k m+1 : dann n div k < k m, also nach I.V. Num k (Repr k (n div k)) = n div k, also auch Num k (Repr k (n)) = Num k (Repr k (k(n div k) + (n mod k))) nach I.V. = Num k (Repr k (n div k) repr k (n mod k)) = k Num k (Repr k (n div k)) + num k (repr k (n mod k)) = k(n div k) + (n mod k) = n GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 20 / 74

33 Num k ist linksinvers zu Repr k (2) Lemma. Für jedes n N 0 ist Num k (Repr k (n)) = n. Ind.anfang: für jedes n N 0 mit n < k: Ind.schritt: Es sei m N +. Unter der Ind.vor.: für jedes n N 0 mit n < k m ist Num k (Repr k (n)) = n zeige: für jedes n N 0 mit n < k m+1 ist Num k (Repr k (n)) = n. falls sogar n < k m : wegen I.V. falls k m n < k m+1 : dann n div k < k m, also nach I.V. Num k (Repr k (n div k)) = n div k, also auch Num k (Repr k (n)) = Num k (Repr k (k(n div k) + (n mod k))) nach I.V. = Num k (Repr k (n div k) repr k (n mod k)) = k Num k (Repr k (n div k)) + num k (repr k (n mod k)) = k(n div k) + (n mod k) = n GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 20 / 74

34 Num k ist linksinvers zu Repr k (2) Lemma. Für jedes n N 0 ist Num k (Repr k (n)) = n. Ind.anfang: für jedes n N 0 mit n < k: Ind.schritt: Es sei m N +. Unter der Ind.vor.: für jedes n N 0 mit n < k m ist Num k (Repr k (n)) = n zeige: für jedes n N 0 mit n < k m+1 ist Num k (Repr k (n)) = n. falls sogar n < k m : wegen I.V. falls k m n < k m+1 : dann n div k < k m, also nach I.V. Num k (Repr k (n div k)) = n div k, also auch Num k (Repr k (n)) = Num k (Repr k (k(n div k) + (n mod k))) nach I.V. = Num k (Repr k (n div k) repr k (n mod k)) = k Num k (Repr k (n div k)) + num k (repr k (n mod k)) = k(n div k) + (n mod k) = n GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 20 / 74

35 Num k ist linksinvers zu Repr k (2) Lemma. Für jedes n N 0 ist Num k (Repr k (n)) = n. Ind.anfang: für jedes n N 0 mit n < k: Ind.schritt: Es sei m N +. Unter der Ind.vor.: für jedes n N 0 mit n < k m ist Num k (Repr k (n)) = n zeige: für jedes n N 0 mit n < k m+1 ist Num k (Repr k (n)) = n. falls sogar n < k m : wegen I.V. falls k m n < k m+1 : dann n div k < k m, also nach I.V. Num k (Repr k (n div k)) = n div k, also auch Num k (Repr k (n)) = Num k (Repr k (k(n div k) + (n mod k))) nach I.V. = Num k (Repr k (n div k) repr k (n mod k)) = k Num k (Repr k (n div k)) + num k (repr k (n mod k)) = k(n div k) + (n mod k) = n GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 20 / 74

36 Num k ist linksinvers zu Repr k (2) Lemma. Für jedes n N 0 ist Num k (Repr k (n)) = n. Ind.anfang: für jedes n N 0 mit n < k: Ind.schritt: Es sei m N +. Unter der Ind.vor.: für jedes n N 0 mit n < k m ist Num k (Repr k (n)) = n zeige: für jedes n N 0 mit n < k m+1 ist Num k (Repr k (n)) = n. falls sogar n < k m : wegen I.V. falls k m n < k m+1 : dann n div k < k m, also nach I.V. Num k (Repr k (n div k)) = n div k, also auch Num k (Repr k (n)) = Num k (Repr k (k(n div k) + (n mod k))) nach I.V. = Num k (Repr k (n div k) repr k (n mod k)) = k Num k (Repr k (n div k)) + num k (repr k (n mod k)) = k(n div k) + (n mod k) = n GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 20 / 74

37 Num k ist linksinvers zu Repr k (2) Lemma. Für jedes n N 0 ist Num k (Repr k (n)) = n. Ind.anfang: für jedes n N 0 mit n < k: Ind.schritt: Es sei m N +. Unter der Ind.vor.: für jedes n N 0 mit n < k m ist Num k (Repr k (n)) = n zeige: für jedes n N 0 mit n < k m+1 ist Num k (Repr k (n)) = n. falls sogar n < k m : wegen I.V. falls k m n < k m+1 : dann n div k < k m, also nach I.V. Num k (Repr k (n div k)) = n div k, also auch Num k (Repr k (n)) = Num k (Repr k (k(n div k) + (n mod k))) nach I.V. = Num k (Repr k (n div k) repr k (n mod k)) = k Num k (Repr k (n div k)) + num k (repr k (n mod k)) = k(n div k) + (n mod k) = n GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 20 / 74

38 Unübliche Methode für negative Zahlen mit der Ziffer meins Ziffernmenge Z = { 1, 0, 1} definiere num : Z Z definiere Num : Z Z wie üblich : Num(ε) = 0 w Z x Z : Num(wx) = 3 Num(w) + num(x) dann z. B. Num( 01) = = 8 Num(1 01) = = GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 21 / 74

39 Unübliche Methode für negative Zahlen Negation und Addition/Subtraktion sind ganz einfach definere inv : Z Z inv(1) =, inv( ) = 1 und inv(0) = 0. inv(ε) = ε und für jedes w Z : für jedes x Z : inv(wx) = inv(w)inv(x) also z. B. inv(1 01) = dann gilt für alle w Z : Num(inv(w)) = Num(w). 1 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 22 / 74

40 Rechnen in Z k (1) Es sei k N 0 mit k 2. binäre Operationen auf Z k ; für jedes x,y Z k sei x + k y = (x + y) mod k x k y = (x y) mod k üblicherweise schreibt man + statt + k (und statt k ) Lemma. Für jedes x,y N 0 ist (x ± y) mod k = (x mod k) ± k (y mod k). Beweis: sei x = kq x + r x und y = kq y + r y mit r x, r y Z k : (x ± y) mod k = (kq x ± kq y + r x ± r y ) mod k = (r x ± r y ) mod k = r x ± k r y GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 23 / 74

41 Rechnen in Z k (2) graphisch: Zahlen als Pfeile kreisförmige Darstellung von Z Addition x + k y Pfeile für x und y hintereinander setzen (Anfang an Spitze) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 24 / 74

42 Rechnen in Z k (2) graphisch: Zahlen als Pfeile kreisförmige Darstellung von Z = Addition x + k y Pfeile für x und y hintereinander setzen (Anfang an Spitze) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 24 / 74

43 Rechnen in Z k (2) graphisch: Zahlen als Pfeile kreisförmige Darstellung von Z = 1 Addition x + k y Pfeile für x und y hintereinander setzen (Anfang an Spitze) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 24 / 74

44 Rechnen in Z k (2) graphisch: Zahlen als Pfeile kreisförmige Darstellung von Z = 13 Addition x + k y Pfeile für x und y hintereinander setzen (Anfang an Spitze) Subtraktion x k y: Pfeile für x und y nebeneinander setzen (Spitze an Spitze) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 24 / 74

45 Zahldarstellungen mit beschränkter fester Länge in Rechnern üblich Mima benutzt 24 Bits (siehe Kapitel 10) Länge l N +, l 2 (zu) einfache Idee: bin l : Z 2 l {0, 1} l bin l (n) = 0 l Repr 2 (n) Repr 2 (n) bin l (n) = l und Num 2 (bin l (n)) = n GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 25 / 74

46 Negative Zahlen Pfeile in die entgegengesetzte Richtung kreisförmige Darstellung von Z GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 26 / 74

47 Negative Zahlen Pfeile in die entgegengesetzte Richtung kreisförmige Darstellung von K 4 (Definition gleich) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 26 / 74

48 Negative Zahlen Pfeile in die entgegengesetzte Richtung kreisförmige Darstellung von K 4 (Definition gleich) = Addition x + y (und auch Subtraktion) analog zum Fall Z k GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 26 / 74

49 Negative Zahlen Pfeile in die entgegengesetzte Richtung kreisförmige Darstellung von K 4 (Definition gleich) = 1 Addition x + y (und auch Subtraktion) analog zum Fall Z k GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 26 / 74

50 Negative Zahlen Pfeile in die entgegengesetzte Richtung kreisförmige Darstellung von K 4 (Definition gleich) = 1 Addition x + y (und auch Subtraktion) analog zum Fall Z k GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 26 / 74

51 Darstellung auch negativer Zahlen Z 16 in Binärdarstellung GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 27 / 74

52 Darstellung auch negativer Zahlen K 4 in Zweierkomplementdarstellung GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 27 / 74

53 Zweierkomplement-Darstellung für negative und nichtnegative Zahlen für die Zahlen in K l = {x Z 2 l 1 x 2 l 1 1} K 2 = { 2, 1, 0, 1} K 8 = { 128, 127,..., 1, 0, 1,..., 127} Zkpl l : K l {0, 1} l äquivalent Zkpl l (x) = 0bin l 1 (x) falls x 0 1bin l 1 (2 l 1 + x) falls x < 0 Zkpl l (x) = bin l (x) falls x 0 bin l (2 l + x) falls x < 0 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 28 / 74

54 Das ist wichtig Das sollten Sie mitnehmen: Umwandlungen zwischen Zahlen und Wörtern schon Leibniz kannte die Binärdarstellung Zweierkomplement-Darstellung Das sollten Sie üben: selber Zahlen verschieden repräsentieren Definitionen auch in Randfällen ausprobieren GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 29 / 74

55 Von Wörtern zu Zahlen und zurück Von einem Alphabet zum anderen Huffman-Codierung GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 30 / 74

56 Wo sind wir? Von Wörtern zu Zahlen und zurück Von einem Alphabet zum anderen Übersetzung von Zahldarstellungen Homomorphismen Beispiel Unicode: UTF-8 Huffman-Codierung GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 31 / 74

57 Von Hexadezimal- zu Binärdarstellung betrachte Trans 2,16 : Z 16 Z 2 mit Trans 2,16 (w) = Repr 2 (Num 16 (w)) Beispiel 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. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 32 / 74

58 Übersetzungen bedeutungserhaltende Abbildungen von Wörtern auf Wörter Wörter aus Sprache L A A haben meist Bedeutung. Menge Sem von Bedeutungen Zahlen Ausführungen von Java-Programmen... GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 33 / 74

59 Übersetzungen bedeutungserhaltende Abbildungen von Wörtern auf Wörter Wörter aus Sprache L A A haben meist Bedeutung. Menge Sem von Bedeutungen Zahlen Ausführungen von Java-Programmen... Gegeben: Alphabete A und B L A A und L B B Abbildungen sem A : L A Sem und sem B : L B Sem f : L A L B heiße eine Übersetzung wenn für jedes w L A : sem A (w) = sem B (f (w)) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 33 / 74

60 Trans 2,16 eine Übersetzung Trans 2,16 = Repr 2 Num 16. einfacher Fall: L A = A = Z 2 und L B = B = Z 16. 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) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 34 / 74

61 Wozu Übersetzungen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 35 / 74

62 Wozu Übersetzungen Legalität: nur bestimmter Zeichensatz erlaubt Lesbarkeit: vergleiche A3 mit Verschlüsselung: nicht verbesserte Lesbarkeit, sondern gar keine Lesbarkeit... für Außenstehende siehe Vorlesungen über Kryptographie Kompression: Übersetzungen können kürzer sein und zwar ohne größeres Alphabet in diesem Kapitel: Huffman-Codes Fehlererkennung und Fehlerkorrektur: durch Übersetzung Text länger so, dass u. U. Fehlererkennung oder gar Fehlerkorrektur möglich siehe Vorlesungen über Codierungstheorie GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 35 / 74

63 Codierungen injektive Übersetzungen sem A (w) = sem B (f (w)) manchmal kein Problem Verschlüsselung, manche Kompressionsverfahren wenn f injektiv von f (x) eindeutig zurück zu x dann sem B definierbar durch sem B (f (x)) = sem A (x) Codierung: Übersetzung mit injektivem f Codewörter: die f (w) Code: {f (w) w L A } GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 36 / 74

64 Wie spezizifiziert man eine Übersetzung? wenn L A unendlich kann man nicht alle Möglichkeiten aufzählen... Auswege: Homomorphismen Block-Codierungen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 37 / 74

65 Wo sind wir? Von Wörtern zu Zahlen und zurück Von einem Alphabet zum anderen Übersetzung von Zahldarstellungen Homomorphismen Beispiel Unicode: UTF-8 Huffman-Codierung GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 38 / 74

66 Homomorphismen mit Konkatenation verträgliche Abbildungen gegeben Abbildung h : A B für Alphabete A und B h Homomorphismus, falls für jedes w 1,w 2 A gilt: h(w 1 w 2 ) = h(w 1 )h(w 2 ). Beispiel: es sei h(a) = 10 und h(b) = 001 dann h(bab) = h(ba) h(b) = h(b) h(a) h(b) = Homomorphismus ε-frei, wenn für jedes x A : h(x) ε. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 39 / 74

67 Homomorphismen lassen das leere Wort unverändert Homomorphismus h : A B, also für jedes w 1,w 2 A : kurze Überlegung h(ε) = h(εε) = h(ε)h(ε) also h(ε) = h(ε) + h(ε) also h(ε) = 0 also h(ε) = ε h(w 1 w 2 ) = h(w 1 )h(w 2 ). GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 40 / 74

68 Homomorphismen die Bilder einzelner Symbole legen alles fest Lemma. Es seien A und B Alphabete und h : A B und д : A B Homomorphismen. Wenn für jedes x A gilt, dass h(x) = д(x) ist, dann gilt für jedes w A, dass h(w) = д(w) ist. Beweis durch vollständige Induktion über die Wortlänge Induktionsanfang: w = ε h(ε) = ε = д(ε) Induktionsschritt: Es seien w A und x A und es gelte die Induktionsvoraussetzung h(w) = д(w). GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 41 / 74

69 Homomorphismen die Bilder einzelner Symbole legen alles fest (2) Induktionsschritt: Es seien w A und x A und es gelte die Induktionsvoraussetzung h(w) = д(w). dann gilt auch h(wx) = h(w)h(x) da h Homomorphismus = д(w)h(x) Induktionsvoraussetzung = д(w)д(x) Voraussetzung des Lemmas = д(wx) da д Homomorphismus GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 42 / 74

70 Homomorphismen so legen die Bilder einzelner Symbole alles fest Es seien A und B Alphabete und f : A B. definiere f : A B vermöge f (ε) = ε für jedes w A, für jedes x A : f (wx) = f (w) f (x) Lemma. f ist ein Homomorphismus. Beweis durch vollständige Induktion... f heißt der durch f induzierte Homomorphismus GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 43 / 74

71 Präfixfreie Codes gegeben Homomorphismus h : A B Frage: Ist h Codierung, also injektiv? im allgemeinen nicht ganz einfach zu sehen einfacher Spezialfall: h ist präfixfrei Das bedeutet: für keine zwei verschiedene Symbole x 1, x 2 A gilt: h(x 1 ) ist ein Präfix von h(x 2 ). gleich: präfixfreie Codes sind injektiv GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 44 / 74

72 Präfixfreie Codes: Decodierung Problem: nicht alle w B sind Codewort d. h. h ist im allgemeinen nicht surjektiv damit Decodierung u trotzdem total definiere u : B (A { }). wenn w B nicht Codewort, dann soll in u(w) das Symbol vorkommen lies: undefiniert Beispiel Homomorphismus h : {a, b, c} {0, 1} mit h(a) = 1, h(b) = 01, h(c) = 001 (präfixfrei) u : {0, 1} {a, b, c, } es soll gelten: u(001) = c u(0101) = bb u(0) = o. ä. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 45 / 74

73 Präfixfreie Codes: Decodierung (2) wir schreiben mal hin (und diskutieren das anschließend): ε, falls w = ε au(w ), falls w = 1w u(w) = bu(w ), falls w = 01w cu(w ), falls w = 001w, sonst sei w = = h(acb); wir rechnen: u(100101) = au(00101) = acu(01) = acbu(ε) = acb GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 46 / 74

74 Präfixfreie Codes: Decodierung (3) ε falls w = ε au(w ) falls w = 1w u(w) = bu(w ) falls w = 01w cu(w ) falls w = 001w sonst u(100101) = au(00101) = acu(01) = acbu(ε) = acb Warum hat das geklappt? GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 47 / 74

75 Präfixfreie Codes: Decodierung (3) ε falls w = ε au(w ) falls w = 1w u(w) = bu(w ) falls w = 01w cu(w ) falls w = 001w sonst u(100101) = au(00101) = acu(01) = acbu(ε) = acb Warum hat das geklappt? In jedem Schritt war klar, welche Zeile der Definition von u anzuwenden war... GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 47 / 74

76 Präfixfreie Codes: Decodierung (4) Man spricht hier von Wohldefiniertheit Problem, wenn Funktionswert potenziell auf mehreren Wegen festgelegt dann klar machen: entweder nur ein Weg gangbar oder auf allen Wegen gleicher Funktionswert präfixfreien Code kann man so decodieren: ε u(w) = x u(w ) falls w = ε falls w = h(x)w für ein x A sonst so einfach geht das nur für präfixfreie Codes GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 48 / 74

77 Wo sind wir? Von Wörtern zu Zahlen und zurück Von einem Alphabet zum anderen Übersetzung von Zahldarstellungen Homomorphismen Beispiel Unicode: UTF-8 Huffman-Codierung GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 49 / 74

78 UTF-8 Codierung von Unicode ein Homomorphismus Codierung einzelner Zeichen: kommt gleich Wörter werden zeichenweise codiert. UTF-8 ist präfixfrei GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 50 / 74

79 UTF-8 Auszug aus RFC 3629 Char. number range (hexadecimal) UTF-8 octet sequence F 0xxxxxxx FF 110xxxxx 10xxxxxx FFFF 1110xxxx 10xxxxxx 10xxxxxx FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx präfixfrei 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... When last octet filled in, move on to the next to last octet,... GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 51 / 74

80 Beispiel: UTF-8 Codierung des Integralzeichens Unicode Codepoint 0x222B benutze also die Zeile Char. number range UTF-8 octet seq FFFF 1110xxxx 10xxxxxx 10xxxxxx 0x222B in Bits also = also UTF-8 Codierung GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 52 / 74

81 Das ist wichtig Das sollten Sie mitnehmen: Übersetzungen sind in verschiedenen Situationen nützlich Homomorphismen Codes UTF-8 Das sollten Sie üben: Homomorphismen anwenden Decodieren Zeichen in UTF-8 codieren GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 53 / 74

82 Von Wörtern zu Zahlen und zurück Von einem Alphabet zum anderen Huffman-Codierung GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 54 / 74

83 Huffman-Codierung ein Überblick gegeben: Alphabet A und Wort w A Eigenschaften der zu w gehörigen Huffman-Codierung eine Abbildung h : A Z 2, ε-freier Homomorphismus h typischerweise auf w angewendet Bestandteil z. B. von Kompressionsverfahren gzip, bzip2 bei Huffman-Codierungen werden häufigere Symbole durch kürzere Wörter codiert und seltenere Symbole durch längere GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 55 / 74

84 Wo sind wir? Von Wörtern zu Zahlen und zurück Von einem Alphabet zum anderen Huffman-Codierung Algorithmus zur Berechnung von Huffman-Codes Weiteres zu Huffman-Codes GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 56 / 74

85 Voraussetzungen Gegeben w A und die Anzahlen N x (w) der Vorkommen aller x A in w o. B. d. A. alle N x (w) > 0 Bestimmung eines Huffman-Codes in zwei Phasen 1. Konstruktion eines Baumes Blätter entsprechen den x A und Kanten mit 0 und 1 beschriftet 2. Ablesen der Codes aus dem Baum (Pfadbeschriftungen) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 57 / 74

86 Algorithmus für Huffman-Codes Beispiel: w = afebfecaffdeddccefbeff Baum am Ende: ,e 0 1 2,a 2,b Homomorphismus (präfixfrei!) ,f 0 1 3,c 3,d x a b c d e f h(x) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 58 / 74

87 Konstruktion des Huffman-Baumes (1) zu jedem Zeitpunkt Menge M i zu betrachtender Symbolmengen mit ihren Häufigkeiten ebenso große Menge schon konstruierter Teilbäume Initialisierung: M 0 ist die Menge aller {(N x (w), {x})} für x A, Als Anfang für die Konstruktion des Baumes zeichnet man für jedes Symbol einen Knoten mit Markierung (N x (w), {x}). Beispiel M 0 = { (2, {a}), (2, {b}), (3, {c}), (3, {d}), (5, {e}), (7, {f}) } GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 59 / 74

88 Konstruktion des Huffman-Baumes (2) Anfang im Beispiel: 2,a 2,b 5,e 3,c 3,d 7,f GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 60 / 74

89 Konstruktion des Huffman-Baumes (3) Iterationsschritt des Algorithmus: Solange M i noch mindestens zwei Elemente enthält, bestimme M i+1 wie folgt: wähle Paare (k 1, X 1 ) und (k 2, X 2 ) mit kleinsten Häufigkeiten ersetze diese Paare durch (k 1 + k 2, X 1 X 2 ) M i+1 = M i { (k 1, X 1 ), (k 2, X 2 ) } { (k 1 + k 2, X 1 X 2 ) } im Graphen neuer Knoten markiert mit Häufigkeit k 1 + k 2 und Kanten zu den Knoten für (k 1, X 1 ) und (k 2, X 2 ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 61 / 74

90 Konstruktion des Huffman-Baumes (4) Beispiel M 0 = { (2, {a}), (2, {b}), (3, {c}), (3, {d}), (5, {e}), (7, {f}) } 2,a 2,b 5,e 3,c 3,d 7,f GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 62 / 74

91 Konstruktion des Huffman-Baumes (4) Beispiel M 1 = { (4, {a, b}), (3, {c}), (3, {d}), (5, {e}), (7, {f}) } 4 5,e 7,f 2,a 2,b 3,c 3,d GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 63 / 74

92 Konstruktion des Huffman-Baumes (5) Beispiel M 2 = { (4, {a, b}), (6, {c, d}), (5, {e}), (7, {f}) } 4 5,e 6 7,f 2,a 2,b 3,c 3,d GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 64 / 74

93 Konstruktion des Huffman-Baumes (6) Beispiel M 3 = { (9, {a, b, e}), (6, {c, d}), (7, {f}) } 9 4 5,e 6 7,f 2,a 2,b 3,c 3,d GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 65 / 74

94 Konstruktion des Huffman-Baumes (7) Beispiel M 4 = { (9, {a, b, e}), (13, {c, d, f}) } ,e 6 7,f 2,a 2,b 3,c 3,d GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 66 / 74

95 Konstruktion des Huffman-Baumes (8) Beispiel M 5 = { (22, {a, b, c, d, e, f}) } ,e 6 7,f 2,a 2,b 3,c 3,d GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 67 / 74

96 Beschriftung der Kanten ,e 0 1 2,a 2,b ,f 0 1 3,c 3,d nach links führende Kanten mit 0 beschriftet nach rechts führende Kanten mit 1 beschriftet GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 68 / 74

97 Beschriftung der Kanten ,e 0 1 2,a 2,b ,f 0 1 3,c 3,d nach links führende Kanten mit 0 beschriftet nach rechts führende Kanten mit 1 beschriftet GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 68 / 74

98 Ablesen der Codierungen ,e 0 1 2,a 2,b ,f 0 1 3,c 3,d gehe auf kürzestem Weg von der Wurzel des Baumes zu dem Blatt für x konkateniere der Reihe nach alle Symbole an den Kanten auf diesem Weg h(d) = 101 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 69 / 74

99 Algorithmus für Huffman-Codes Beispiel: w = afebfecaffdeddccefbeff Baum am Ende: ,e 0 1 2,a 2,b Homomorphismus (präfixfrei!) ,f 0 1 3,c 3,d x a b c d e f h(x) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 70 / 74

100 Wo sind wir? Von Wörtern zu Zahlen und zurück Von einem Alphabet zum anderen Huffman-Codierung Algorithmus zur Berechnung von Huffman-Codes Weiteres zu Huffman-Codes GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 71 / 74

101 Eigenschaften von Huffman-Codes Huffman-Code nicht eindeutig im allgemeinen mehrere Möglichkeiten, welche zwei Knoten vereinigt werden im Baum links und rechts vertauschbar aber alle sind gleich gut : Unter allen präfixfreien Codes führen Huffman-Codes zu kürzesten Codierungen des Wortes, für das die Huffman-Codierung konstruiert wurde. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 72 / 74

102 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 Block-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. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 73 / 74

103 Das ist wichtig Das sollten Sie mitnehmen: Huffman-Codierung liefert kürzest mögliche präfixfreie Codes Algorithmus zur Bestimmung des Huffman-Baumes Das sollten Sie üben: Huffman-Codes berechnen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 74 / 74

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

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

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

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie 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

Mehr

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

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

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

Mehr

3 Vom Zählen zur Induktion

3 Vom Zählen zur Induktion 7 3 Vom Zählen zur Induktion 3.1 Natürliche Zahlen und Induktions-Prinzip Seit unserer Kindheit kennen wir die Zahlen 1,, 3, 4, usw. Diese Zahlen gebrauchen wir zum Zählen, und sie sind uns so vertraut,

Mehr

3 Quellencodierung. 3.1 Einleitung

3 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

Mehr

Übung zu Grundbegriffe der Informatik. Simon Wacker. 15. November 2013

Übung zu Grundbegriffe der Informatik. Simon Wacker. 15. November 2013 Übung zu Grundbegriffe der Informatik Simon Wacker 15. November 2013 Vollständige Induktion über die Wortlänge Es sei B ein Alphabet. Dann ist B = n N 0 B n. Für jedes Wort w B sei A w eine Aussage, die

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 1-12. Sitzung Dennis Felsing dennis.felsing@student.kit.edu http://www.stud.uni-karlsruhe.de/~ubcqr/2010w/tut gbi/ 2011-01-24 Überblick 1 Reguläre Ausdrücke Wiederholung

Mehr

Lösung zur Klausur zu Krypographie Sommersemester 2005

Lösung zur Klausur zu Krypographie Sommersemester 2005 Lösung zur Klausur zu Krypographie Sommersemester 2005 1. Bestimmen Sie die zwei letzten Ziffern der Dezimaldarstellung von 12 34 Es gilt: 12 34 = 12 32+2 = 12 32 12 2 = 12 (25) 12 2 = ((((12 2 ) 2 ) 2

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 1. ALPHABETE, WÖRTER, SPRACHEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2011

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 1. ALPHABETE, WÖRTER, SPRACHEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2011 EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 1. ALPHABETE, WÖRTER, SPRACHEN Theoretische Informatik (SoSe 2011) 1. Alphabete, Wörter, Sprachen 1 / 25 Vorbemerkung:

Mehr

7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103

7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103 Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103 7 Endliche Automaten Ein erstes Beispiel Ganz im Sinn der vorangegangenen Kapitel machen wir wieder Anleihen in einem wohl etablierten Gebiet.

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

TU8 Beweismethoden. Daniela Andrade

TU8 Beweismethoden. Daniela Andrade TU8 Beweismethoden Daniela Andrade daniela.andrade@tum.de 12.12.2016 1 / 21 Kleine Anmerkung Meine Folien basieren auf den DS Trainer von Carlos Camino, den ihr auf www.carlos-camino.de/ds findet ;) 2

Mehr

Kapitel 3. Natürliche Zahlen und vollständige Induktion

Kapitel 3. Natürliche Zahlen und vollständige Induktion Kapitel 3 Natürliche Zahlen und vollständige Induktion In Kapitel 1 haben wir den direkten Beweis, den modus ponens, kennen gelernt, der durch die Tautologie ( A (A = B) ) = B gegeben ist Dabei war B eine

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode

Mehr

Dualzahlen

Dualzahlen Dualzahlen Ein Schüler soll sich eine Zahl zwischen und 6 denken. Nun soll der Schüler seinen Zahl in folgenden Tabellen suchen und die Nummer der Tabelle nennen in welcher sich seine Zahl befindet. 7

Mehr

Vorlesung. Funktionen/Abbildungen

Vorlesung. Funktionen/Abbildungen Vorlesung Funktionen/Abbildungen 1 Grundlagen Hinweis: In dieser Vorlesung werden Funktionen und Abbildungen synonym verwendet. In der Schule wird eine Funktion häufig als eindeutige Zuordnung definiert.

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 Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine

Mehr

Halbgruppen, Gruppen, Ringe

Halbgruppen, Gruppen, Ringe Halbgruppen-1 Elementare Zahlentheorie Einige Bezeichnungen Halbgruppen, Gruppen, Ringe Die Menge N 0 der natürlichen Zahlen 0, 1, 2, Die Menge N = N 1 der von Null verschiedenen natürlichen Zahlen Die

Mehr

Codierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau

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

Mehr

1.) Rekursion und Induktion: Rechnen mit natürlichen Zahlen

1.) Rekursion und Induktion: Rechnen mit natürlichen Zahlen 1) Rekursion und Induktion: Rechnen mit natürlichen Zahlen Aufbauend auf: "Anwendungen: Sätze, Beweise, Algorithmen und Programme", "Fasern" Aufgaben: 9 > restart; Axiomatik der natürlichen Zahlen Wir

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

Basisinformationstechnologie I

Basisinformationstechnologie I Basisinformationstechnologie I Wintersemester 2014/15 29. Oktober 2014 Grundlagen II Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners // jan.wieners@uni-koeln.de

Mehr

1 Dualsystem Dualzahlen mit Vorzeichen 4. 2 Hexadezimalsystem Hexadezimalzahlen mit Vorzeichen Oktalsystem 13 4 Zahlenring 14

1 Dualsystem Dualzahlen mit Vorzeichen 4. 2 Hexadezimalsystem Hexadezimalzahlen mit Vorzeichen Oktalsystem 13 4 Zahlenring 14 Zahlensysteme Inhalt: 1 Dualsystem 1 1.1 Dualzahlen mit Vorzeichen 4 2 Hexadezimalsystem 8 2.1 Hexadezimalzahlen mit Vorzeichen 10 3 Oktalsystem 13 4 Zahlenring 14 Definition: Ein polyadisches Zahlensystem

Mehr

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016 Musterlösung 1 Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tiefergehende Kenntnis zu vermitteln; sie sollen lediglich den

Mehr

Die Mathematik in der CD

Die Mathematik in der CD Lehrstuhl D für Mathematik RWTH Aachen Lehrstuhl D für Mathematik RWTH Aachen St.-Michael-Gymnasium Monschau 14. 09. 2006 Codes: Definition und Aufgaben Ein Code ist eine künstliche Sprache zum Speichern

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

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

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Randomisierte Algorithmen 5. Zwei spieltheoretische Aspekte Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2015/2016 1 / 36 Überblick

Mehr

Codierung, Codes (variabler Länge)

Codierung, 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

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 2009/2010 1/20 Überblick Speicher Bit und Byte Speicher als Tabellen

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Klaus Knopper 26.10.2004 Repräsentation von Zahlen Zahlen können auf unterschiedliche Arten dargestellt werden Aufgabe: Zahlen aus der realen Welt müssen im Computer abgebildet

Mehr

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen? BITte ein BIT Vom Bit zum Binärsystem A Bit Of Magic 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen? 3. Gegeben ist der Bitstrom: 10010110 Was repräsentiert

Mehr

Pumping-Lemma. Beispiel. Betrachte die kontextsensitive Grammatik G mit den Produktionen. S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc.

Pumping-Lemma. Beispiel. Betrachte die kontextsensitive Grammatik G mit den Produktionen. S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc. Pumping-Lemma Beispiel Betrachte die kontextsensitive Grammatik G mit den Produktionen S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc. Sie erzeugt z.b. das Wort aabbcc: S asbc aabcbc aabhbc aabhcc

Mehr

Mathematik für Information und Kommunikation

Mathematik 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

Mehr

Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6

Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6 Robert Elsässer u.v.a. Paderborn, 29. Mai 2008 Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6 Aufgabe 1 (6 Punkte): Zunächst sollte klar sein, daß ein vollständiger Binärer

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

5 Zwei spieltheoretische Aspekte

5 Zwei spieltheoretische Aspekte 5 Zwei spieltheoretische Aspekte In diesem Kapitel wollen wir uns mit dem algorithmischen Problem beschäftigen, sogenannte Und-Oder-Bäume (kurz UOB) auszuwerten. Sie sind ein Spezialfall von Spielbäumen,

Mehr

Automaten und Formale Sprachen

Automaten und Formale Sprachen Automaten und Formale Sprachen Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2011/12 WS 11/12 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien

Mehr

Rechnerstrukturen WS 2012/13

Rechnerstrukturen 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

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

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele Organisation Was kommt zum Test? Buch Informatik Grundlagen bis inkl Kapitel 74 Wissensfragen und Rechenbeispiele 3 Vorträge zur Übung Informationstheorie, Huffman-Codierung und trennzeichenfreie Codierung

Mehr

Eigenschaften von Kompressionsverfahren

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

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 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/ws0910

Mehr

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Kapitel 4: Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Codierung von rationalen Zahlen Konvertierung

Mehr

Mengen und Abbildungen

Mengen und Abbildungen Mengen und Abbildungen Der Mengenbegriff Durchschnitt, Vereinigung, Differenzmenge Kartesisches Produkt Abbildungen Prinzip der kleinsten natürlichen Zahl Vollständige Induktion Mengen und Abbildungen

Mehr

Themen: Kubische Gleichungen, Ungleichungen, Induktion

Themen: Kubische Gleichungen, Ungleichungen, Induktion Lo sungen zu U bungsblatt Mathematik fu r Ingenieure Maschinenbauer und Sicherheitstechniker), 1. Semester, bei Prof. Dr. G. Herbort im WiSe1/14 Dipl.-Math. T. Pawlaschyk, 05.11.1 Themen: Kubische Gleichungen,

Mehr

Textkomprimierung. Stringologie. Codes. Textkomprimierung. Alle Komprimierung beruht auf Wiederholungen im Text. Textkomprimierung

Textkomprimierung. Stringologie. Codes. Textkomprimierung. Alle Komprimierung beruht auf Wiederholungen im Text. Textkomprimierung Stringologie Peter Leupold Universität Leipzig Vorlesung SS 2014 Alle Komprimierung beruht auf Wiederholungen im Text Die Komprimierung muss rückgängig gemacht werden können Je kleiner das Alphabet, desto

Mehr

Vorkurs für. Studierende in Mathematik und Physik. Einführung in Kryptographie Kurzskript 2015

Vorkurs für. Studierende in Mathematik und Physik. Einführung in Kryptographie Kurzskript 2015 Vorkurs für Studierende in Mathematik und Physik Einführung in Kryptographie Kurzskript 2015 Felix Fontein Institut für Mathematik Universität Zürich Winterthurerstrasse 190 8057 Zürich 11. September 2015

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Technische Informatik I

Technische Informatik I Technische Informatik I Vorlesung 2: Zahldarstellung Joachim Schmidt jschmidt@techfak.uni-bielefeld.de Übersicht Geschichte der Zahlen Zahlensysteme Basis / Basis-Umwandlung Zahlsysteme im Computer Binärsystem,

Mehr

Technische Universität München. Lösung Montag WS 2013/14. (Einheitskreis, ohne Rechnung ersichtlich) (Einheitskreis, ohne Rechnung ersichtlich)

Technische Universität München. Lösung Montag WS 2013/14. (Einheitskreis, ohne Rechnung ersichtlich) (Einheitskreis, ohne Rechnung ersichtlich) Technische Universität München Andreas Wörfel Ferienkurs Analysis 1 für Physiker Lösung Montag WS 01/1 Aufgabe 1 Zum warm werden: Komplexe Zahlen - Lehrling Bestimmen Sie das komplex Konjugierte, den Betrag

Mehr

1 Zahlentheorie. 1.1 Kongruenzen

1 Zahlentheorie. 1.1 Kongruenzen 3 Zahlentheorie. Kongruenzen Der letzte Abschnitt zeigte, daß es sinnvoll ist, mit großen Zahlen möglichst einfach rechnen zu können. Oft kommt es nicht darauf, an eine Zahl im Detail zu kennen, sondern

Mehr

4.4. Rang und Inversion einer Matrix

4.4. Rang und Inversion einer Matrix 44 Rang und Inversion einer Matrix Der Rang einer Matrix ist die Dimension ihres Zeilenraumes also die Maximalzahl linear unabhängiger Zeilen Daß der Rang sich bei elementaren Zeilenumformungen nicht ändert

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April

Mehr

liefern eine nicht maschinenbasierte Charakterisierung der regulären

liefern eine nicht maschinenbasierte Charakterisierung der regulären Reguläre Ausdrücke 1 Ziel: L=L M für NFA M L=L(r) für einen regulären Ausdruck r Reguläre Ausdrücke über einem Alphabet Σ Slide 1 liefern eine nicht maschinenbasierte Charakterisierung der regulären Sprachen

Mehr

Black Box erklärt Zahlensysteme.

Black Box erklärt Zahlensysteme. Black Box erklärt Zahlensysteme. Jeder von uns benutzt aktiv mindestens zwei Zahlenssysteme, oftmals aber so selbstverständlich, dass viele aus dem Stegreif keines mit Namen nennen können. Im europäischen

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

Mehr

Brückenkurs Mathematik

Brückenkurs Mathematik Brückenkurs Mathematik 6.10. - 17.10. Vorlesung 1 Logik,, Doris Bohnet Universität Hamburg - Department Mathematik Mo 6.10.2008 Zeitplan Tagesablauf: 9:15-11:45 Vorlesung Audimax I 13:00-14:30 Übung Übungsräume

Mehr

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ. Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer

Mehr

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen Algebra und Diskrete Mathematik, PS3 Sommersemester 2016 Prüfungsfragen Erläutern Sie die Sätze über die Division mit Rest für ganze Zahlen und für Polynome (mit Koeffizienten in einem Körper). Wodurch

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

2 Mengen und Abbildungen

2 Mengen und Abbildungen 2.1 Mengen Unter einer Menge verstehen wir eine Zusammenfassung von Objekten zu einem Ganzen. Die Objekte heiÿen Elemente. Ist M eine Menge und x ein Element von M so schreiben wir x M. Wir sagen auch:

Mehr

3.5 Ringe und Körper. Diese Eigenschaften kann man nun auch. 1. (R, +) ist eine kommutative Gruppe. 2. Es gilt das Assoziativgesetz bezüglich.

3.5 Ringe und Körper. Diese Eigenschaften kann man nun auch. 1. (R, +) ist eine kommutative Gruppe. 2. Es gilt das Assoziativgesetz bezüglich. 3.5 Ringe und Körper Gehen wir noch mal zu den ganzen Zahlen zurück. Wir wissen: (Z, + ist eine Gruppe, es gibt aber als Verknüpfung noch die Multiplikation, es gibt ein neutrales Element bezüglich, es

Mehr

Mathematik für Wirtschaftswissenschaftler im WS 2013/14 Lösungen zu den Übungsaufgaben (Vortragsübung) Blatt 7

Mathematik für Wirtschaftswissenschaftler im WS 2013/14 Lösungen zu den Übungsaufgaben (Vortragsübung) Blatt 7 Mathematik für Wirtschaftswissenschaftler im WS 203/4 Lösungen zu den Übungsaufgaben (Vortragsübung) Blatt 7 Aufgabe 27 Sei eine lineare Abbildung f : R 4 R 3 gegeben durch f(x, x 2, x 3 ) = (2 x 3 x 2

Mehr

Die Begriffe analog und digital stammen aus der Rechentechnik:

Die Begriffe analog und digital stammen aus der Rechentechnik: November 968 I. Einführung in die Digitalelektronik Grundbegriffe, Wahrheitstabellen: Die Begriffe analog und digital stammen aus der Rechentechnik: Analog-Rechner benötigt zur Darstellung von Zahlenwerten

Mehr

Technische Universität München WS 2012/13 Fakultät für Informatik Lösungsvorschläge zu Blatt 4 Dr. C. Herzog, M. Maalej 12.

Technische Universität München WS 2012/13 Fakultät für Informatik Lösungsvorschläge zu Blatt 4 Dr. C. Herzog, M. Maalej 12. 4/1 Technische Universität München WS 2012/13 Fakultät für Informatik Lösungsvorschläge zu Blatt 4 Dr. C. Herzog, M. Maalej 12. November 2012 Übungen zu Grundlagen der Programmierung Aufgabe 14 (Lösungsvorschlag)

Mehr

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.)

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.) 3. Untergruppen 19 3. Untergruppen Nachdem wir nun einige grundlegende Gruppen kennengelernt haben, wollen wir in diesem Kapitel eine einfache Möglichkeit untersuchen, mit der man aus bereits bekannten

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Einheit 1 Mathematische Methodik 1. Problemlösen 2. Beweistechniken 3. Wichtige Grundbegriffe Methodik des Problemlösens Klärung der Voraussetzungen Welche Begriffe sind zum Verständnis

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

9.2 Invertierbare Matrizen

9.2 Invertierbare Matrizen 34 9.2 Invertierbare Matrizen Die Division ist als Umkehroperation der Multiplikation definiert. Das heisst, für reelle Zahlen a 0 und b gilt b = a genau dann, wenn a b =. Übertragen wir dies von den reellen

Mehr

Lineare Algebra 1. Detlev W. Hoffmann. WS 2013/14, TU Dortmund

Lineare Algebra 1. Detlev W. Hoffmann. WS 2013/14, TU Dortmund Lineare Algebra 1 Detlev W. Hoffmann WS 2013/14, TU Dortmund 1 Mengen und Zahlen 1.1 Mengen und Abbildungen Eine Menge ist eine Zusammenfassung wohlunterscheidbarer Objekte unserer Anschauung/unseres Denkens/unserer

Mehr

11/2/05. Darstellung von Text. ASCII-Code. American Standard Code for Information Interchange. Parity-Bit. 7 Bit pro Zeichen genügen (2 7 = 128)

11/2/05. Darstellung von Text. ASCII-Code. American Standard Code for Information Interchange. Parity-Bit. 7 Bit pro Zeichen genügen (2 7 = 128) Darstellung von Text ASCII-Code 7 Bit pro Zeichen genügen (2 7 = 128) 26 Kleinbuchstaben 26 Großbuchstaben 10 Ziffern Sonderzeichen wie '&', '!', ''' nicht druckbare Steuerzeichen, z.b. - CR (carriage

Mehr

11/2/05. Darstellung von Text. ASCII-Code. American Standard Code for Information Interchange. ASCII-Tabelle. Parity-Bit. Länderspezifische Zeichen

11/2/05. Darstellung von Text. ASCII-Code. American Standard Code for Information Interchange. ASCII-Tabelle. Parity-Bit. Länderspezifische Zeichen Darstellung von Text ASCII-Code 7 Bit pro Zeichen genügen ( 7 = 18) 6 Kleinbuchstaben 6 Großbuchstaben 10 Ziffern Sonderzeichen wie '&', '!', ''' nicht druckbare Steuerzeichen, z.b. - CR (carriage return

Mehr

Lösungsvorschläge Blatt Z1

Lösungsvorschläge Blatt Z1 Theoretische Informatik Departement Informatik Prof. Dr. Juraj Hromkovič http://www.ita.inf.ethz.ch/theoinf16 Lösungsvorschläge Blatt Z1 Zürich, 2. Dezember 2016 Lösung zu Aufgabe Z1 Wir zeigen L qi /

Mehr

Mathematik 1. Lösungsvorschläge zum 2. Übungsblatt

Mathematik 1. Lösungsvorschläge zum 2. Übungsblatt Hochschule Regensburg Fakultät Informatik/Mathematik Christoph Böhm Wintersemester 0/0 Wirtschaftsinformatik Bachelor IW Informatik Bachelor IN Vorlesung Mathematik Mathematik Lösungsvorschläge zum Übungsblatt

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut Datenkompression Holger Rauhut 1. September 2010 Skript für die Schülerwoche 2010, 8.-11.9.2010 Hausdorff Center for Mathematics, Bonn 1 Allgemeines Datenkompression hat zum Ziel, Daten in digitaler Form,

Mehr

Teil II. Schaltfunktionen

Teil II. Schaltfunktionen Teil II Schaltfunktionen 1 Teil II.1 Zahlendarstellung 2 b-adische Systeme Sei b IN mit b > 1 und E b = {0, 1,..., b 1} (Alphabet). Dann ist jede Fixpunktzahl z (mit n Vorkomma und k Nachkommastellen)

Mehr

Mächtigkeit von WHILE-Programmen

Mä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

Mehr

Leitfaden Lineare Algebra: Determinanten

Leitfaden 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

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Lösungen Wintersemester 2016/17 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2016 Steven Köhler Wintersemester 2016/17 Kapitel I: Mengen Aufgabe

Mehr

gleich ?

gleich ? Bekanntlich rechnen wir üblicherweise mit Zahlen, die mit Ziffern aus einem Vorrat von 10 verschiedenen Zeichen beschrieben werden: { 0, 1, 2,..., 8, 9 }, wobei die Ziffer 0 ganz wesentlich für ein Stellenwertsystem

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Mathematische Grundlagen der Computerlinguistik

Mathematische Grundlagen der Computerlinguistik Mengen und Mengenoperationen (Teil II) Centrum für Informations- und Sprachverarbeitung (CIS) 2. Juni 2014 Table of Contents 1 2 3 Definition Mengenfamilie Eine Menge, deren sämtliche Elemente selbst wiederum

Mehr

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

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

Mehr

1 Grundlagen. 1.1 Erste Grundbegriffe 1.2 Kryptographische Systeme 1.3 Informationstheoretische Grundlagen

1 Grundlagen. 1.1 Erste Grundbegriffe 1.2 Kryptographische Systeme 1.3 Informationstheoretische Grundlagen 1 Grundlagen 1.1 Erste Grundbegriffe 1.2 Kryptographische Systeme 1.3 Informationstheoretische Grundlagen Die Überlegungen dieses Kapitels basieren auf der Informationstheorie von Shannon. Er beschäftigte

Mehr

4. Digitale Datendarstellung

4. Digitale Datendarstellung 4 Digitale Datendarstellung Daten und Codierung Textcodierung Codierung natürlicher Zahlen - Stellenwertsysteme - Konvertierung - Elementare Rechenoperationen Codierung ganzer Zahlen - Komplementdarstellung

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Ausgewählte unentscheidbare Sprachen

Ausgewählte unentscheidbare Sprachen Proseminar Theoretische Informatik 15.12.15 Ausgewählte unentscheidbare Sprachen Marian Sigler, Jakob Köhler Wolfgang Mulzer 1 Entscheidbarkeit und Semi-Entscheidbarkeit Definition 1: L ist entscheidbar

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

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

Mehr

Datenkompression. Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg

Datenkompression. Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg Vortrag am 25. Januar 200 Werner von Siemens Gymnasium Magdeburg Zeitansatz: 5h (inklusive Programmieraufgaben) Datenkompression Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg

Mehr

Ι. Einführung in die Codierungstheorie

Ι. Einführung in die Codierungstheorie 1. Allgemeines Ι. Einführung in die Codierungstheorie Codierung: Sicherung von Daten und Nachrichten gegen zufällige Fehler bei der Übertragung oder Speicherung. Ziel der Codierung: Möglichst viele bei

Mehr