Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Aufgaben und <strong>Lösungen</strong> 1-43<br />
3.2 Code-Erzeugung<br />
Aufgabe 3.2.1 (M3)<br />
Gegeben sei das unten tabellierte Alphabet {xi} <strong>mit</strong> den zugehörigen<br />
Auftrittswahrscheinlichkeiten {wi}:<br />
xi A E I O U<br />
_____________________________________________<br />
wi 0.24 0.30 0.07 0.21 0.18<br />
a) Berechnen Sie die Informationsgehalte I(xi) sowie die Entropie.<br />
b) Bilden Sie einen Binär-Code durch Aufstellen eines einfachen Code-Baums, wobei für die<br />
Wortlängen der Code-Wörter die ganzzahlig aufgerundeten zugehörigen Informationsgehalte<br />
der zugehörigen Zeichen xi gewählt werden sollen.<br />
c) Bilden Sie den optimalen Binär-Code <strong>mit</strong> Hilfe des Huffman-Algorithmus.<br />
d) Bilden Sie einen Binär-Code unter Verwendung des Fano-Algorithmus.<br />
e) Berechnen Sie für die in b), c), und d) gebildeten Codes die <strong>mit</strong>tleren Wortlängen und die<br />
Redundanzen.<br />
Lösung:<br />
Für die Informationsgehalte I(xi) gilt:<br />
I(xi) = ld(1/wi)<br />
Bei Verwendung des Zehnerlogarithmus log() statt des Zweierlogarithmus ld() rechnet man:<br />
ld(1/wi) = log(1/wi)/log(2) = log(1/wi)/0.30103<br />
Für die Entropie gilt:<br />
H(xi) = wiI(xi) = 0.24 2.0589 + 0.30 1.7370 + 0.07 3.8365 + 0.21 2.2515 + 0.18 2.4739 = 2.2019<br />
xi wi Ii li einfacher Code<br />
___________________________________________________<br />
A 0.24 2.0589 3 001<br />
E 0.30 1.7370 2 10<br />
I 0.07 3.8365 4 0001<br />
O 0.21 2.2515 3 111<br />
U 0.18 2.4739 3 011<br />
Für die <strong>mit</strong>tlere Wortlänge gilt:<br />
L(xi) = wil(xi) = 0.24 3 + 0.30 2 + 0.07 4 + 0.21 3+ 0.18 3 = 2.77 [Bit/Zeichen]<br />
Die Redundanz für diesen Code ergibt sich aus:<br />
R1 = L1-H = 2.77 - 2.2019 = 0.5681 [Bit/Zeichen]<br />
Den Huffman-Code erhält man durch<br />
Konstruktion des nebenstehenden Code-Baums:<br />
Die <strong>mit</strong>tlere Wortlänge des Huffman-Codes ist:<br />
LH(xi) = 2(0.30+0.24+0.07) + 3(0.18+0.07) = 2.25 [Bit/Zeichen]<br />
Die Redundanz des Huffman-Codes ist:<br />
1 10 1<br />
111<br />
1<br />
1<br />
0<br />
011<br />
0<br />
1<br />
1<br />
001<br />
0<br />
1<br />
0001<br />
111 110 01 00 10<br />
I U O A E<br />
0.07 0.18 0.21 0.24 0.30<br />
1<br />
1<br />
0<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0