Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1 Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

www2.fh.rosenheim.de
von www2.fh.rosenheim.de Mehr von diesem Publisher
30.11.2012 Aufrufe

1-46 Aufgaben und Lösungen Betrachtet man einen typische Text, bei dem also die einzelnen Zeichen tatsächlich mit den in diesem Beispiel durch die Auftrittswahrscheinlichkeiten spezifizierten Häufigkeiten auftreten, so liefert der Huffman-Code ein um 30% kürzeres Ergebnis als der Code mit konstanter Wortlänge. Aufgabe 3.2.3 (L2) Gegeben sei das binäre Alphabet B={0,1}. Geben Sie alle Teilmengen des Nachrichtenraums über B* an, welche folgende Bedingungen erfüllen: Die Teilmengen umfassen mindestens drei Wörter; die Wörter bestehen aus höchstens zwei Zeichen; die Wörter erfüllen die Fano-Bedingung. Lösung Die gesuchten Teilmengen lauten: {00, 01, 10, 11} {00, 01, 10} {00, 01, 11} {00, 10, 11} {01, 10, 11} {0, 10, 11} {1, 00, 01} Aufgabe 3.2.4 (L3) Gegeben sei ein Alphabet mit n Zeichen. Bestimmen Sie die Wortlänge des Zeichens mit dem längsten Codewort, das eine binäre Huffman-Codierung im Extremfall liefern kann. Welche Bedingung muss dann für die Auftrittswahrscheinlichkeiten wi gelten? Lösung Das Codewort des längsten Wortes hat die Länge n-1, mindestens jedoch 1. Dies folgt aus dem sich im Extremfall ergebenden entarteten Huffman-Baum, der nachfolgend für den Fall n=7 angegeben ist. Das längste Codewort 111111 für das Zeichen x1 hat also die Länge 6. x1 x2 x3 x4 x5 x6 x7 1 Dieser Extremfall ergibt sich, wenn folgende Bedingung erfüllt ist: Höchstens eine der verbleibenden Auftrittswahrscheinlichkeiten von Einzelzeichen ist kleiner als die durch Zusammenfassung der beiden Knoten mit den beiden kleinsten Auftrittswahrscheinlichkeiten gebildete Summe. Ordnet man die Auftrittswahrscheinlichkeiten wi mit i=1 bis n aufsteigend der Größe nach, so muss also gelten: k j 1 1 0 0 0 0 0 0 1 w für alle k von 1 bis n-1 j k 1 w 1 1 1

Aufgaben und Lösungen 1-47 Aufgabe 3.2.5 (M3) Gegeben sei das Alphabet {A, B} mit den Auftrittswahrscheinlichkeiten wA=0.7 und wB=0.3. Geben Sie die Huffman-Codes für die Codierung von Einzelzeichen, von Gruppen aus zwei Zeichen, von Gruppen aus drei Zeichen und von Gruppen aus vier Zeichen an. Berechnen Sie dazu jeweils die mittleren Wortlängen und die Redundanzen in Bit/Zeichen. Lösung Entropie: H = 0.7 ld(1/0.7) + 0.3 ld(1/0.3) 0.7 0.51457 + 0.3 1.73697 0.8813 [Bit/Zeichen] Codierung von Einzelzeichen: A 0, B 1 L1=1 [Bit/Zeichen] R1 = 1-0.8813 = 0.1187 [Bit/Zeichen] Codierung von Zweiergruppen: xi wi li Code2 _________________________ AA 0.49 1 0 AB 0.21 2 10 BA 0.21 3 110 BB 0.09 3 111 L2 = 1.81 [Bit/2Zeichen] = 0.905 [Bit/Zeichen] R2= 0.905-0.8813 = 0.0237 [Bit/Zeichen] Codierung von Dreiergruppen: xi wi li Code3 _____________________________ AAA 0.343 2 00 AAB 0.147 2 10 ABA 0.147 3 010 BAA 0.147 4 011 ABB 0.063 3 1100 BAB 0.063 4 1101 BBA 0.063 4 1110 BBB 0.027 4 1111 L3 = 2.7260 [Bit/3Zeichen] = 0.9087 [Bit/Zeichen] R3= 0.9087-0.8813 = 0.0274 [Bit/Zeichen] 0.09 0.21 0.21 0.49 BB BA AB AA Offenbar ist das Ergebnis etwas schlechter als bei der Codierung von Zweiergruppen! 1 0.30 1 0.51 0 0 0 1 1.00 .027 .063 .063 .063 .147 .147 .147 .343 BBB BBA BAB ABB BAA ABA AAB AAA 1 0 0.09 1 0.216 1 0 1 0 0.126 0 0.294 0 1 1 0 0.363 1 1.00 0.637 0

1-46 Aufgaben und <strong>Lösungen</strong><br />

Betrachtet man einen typische Text, bei dem also die einzelnen Zeichen tatsächlich <strong>mit</strong> den<br />

in diesem Beispiel durch die Auftrittswahrscheinlichkeiten spezifizierten Häufigkeiten auftreten,<br />

so liefert der Huffman-Code ein um 30% kürzeres Ergebnis als der Code <strong>mit</strong> konstanter<br />

Wortlänge.<br />

Aufgabe 3.2.3 (L2)<br />

Gegeben sei das binäre Alphabet B={0,1}. Geben Sie alle <strong>Teil</strong>mengen des Nachrichtenraums<br />

über B* an, welche folgende Bedingungen erfüllen: Die <strong>Teil</strong>mengen umfassen mindestens<br />

drei Wörter; die Wörter bestehen aus höchstens zwei Zeichen; die Wörter erfüllen<br />

die Fano-Bedingung.<br />

Lösung<br />

Die gesuchten <strong>Teil</strong>mengen lauten:<br />

{00, 01, 10, 11}<br />

{00, 01, 10} {00, 01, 11} {00, 10, 11} {01, 10, 11}<br />

{0, 10, 11} {1, 00, 01}<br />

Aufgabe 3.2.4 (L3)<br />

Gegeben sei ein Alphabet <strong>mit</strong> n Zeichen. Bestimmen Sie die Wortlänge des Zeichens <strong>mit</strong><br />

dem längsten Codewort, das eine binäre Huffman-Codierung im Extremfall liefern kann.<br />

Welche Bedingung muss dann für die Auftrittswahrscheinlichkeiten wi gelten?<br />

Lösung<br />

Das Codewort des längsten Wortes hat die Länge n-1, mindestens jedoch 1. Dies folgt aus<br />

dem sich im Extremfall ergebenden entarteten Huffman-Baum, der nachfolgend für den Fall<br />

n=7 angegeben ist. Das längste Codewort 111111 für das Zeichen x1 hat also die Länge 6.<br />

x1 x2 x3 x4 x5 x6 x7<br />

1<br />

Dieser Extremfall ergibt sich, wenn folgende Bedingung erfüllt ist: Höchstens eine der verbleibenden<br />

Auftrittswahrscheinlichkeiten von Einzelzeichen ist kleiner als die durch Zusammenfassung<br />

der beiden Knoten <strong>mit</strong> den beiden kleinsten Auftrittswahrscheinlichkeiten gebildete<br />

Summe. Ordnet man die Auftrittswahrscheinlichkeiten wi <strong>mit</strong> i=1 bis n aufsteigend der<br />

Größe nach, so muss also gelten:<br />

k<br />

j 1<br />

1<br />

0 0 0 0 0 0<br />

1<br />

w für alle k von 1 bis n-1<br />

j k 1 w<br />

1<br />

1<br />

1

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!