30.11.2012 Aufrufe

Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!