Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1 Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
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
- Seite 1 und 2: Grundkurs Informatik Aufgabensammlu
- Seite 3 und 4: Aufgaben und Lösungen 1-3 Aufgabe
- Seite 5 und 6: Aufgaben und Lösungen 1-5 Aufgabe
- Seite 7 und 8: Aufgaben und Lösungen 1-7 3. Weite
- Seite 9 und 10: Aufgaben und Lösungen 1-9 1.3 Prin
- Seite 11 und 12: Aufgaben und Lösungen 1-11 1.4 Zah
- Seite 13 und 14: Aufgaben und Lösungen 1-13 Aufgabe
- Seite 15 und 16: Aufgaben und Lösungen 1-15 Eine ge
- Seite 17 und 18: Aufgaben und Lösungen 1-17 Aufgabe
- Seite 19 und 20: Aufgaben und Lösungen 1-19 Aufgabe
- Seite 21 und 22: Aufgaben und Lösungen 1-21 Aufgabe
- Seite 23 und 24: Aufgaben und Lösungen 1-23 2 Nachr
- Seite 25 und 26: Aufgaben und Lösungen 1-25 2.2 Bio
- Seite 27 und 28: Aufgaben und Lösungen 1-27 Aufgabe
- Seite 29 und 30: Aufgaben und Lösungen 1-29 Bei Ver
- Seite 31 und 32: Aufgaben und Lösungen 1-31 Aufgabe
- Seite 33 und 34: Aufgaben und Lösungen 1-33 Aufgabe
- Seite 35 und 36: Aufgaben und Lösungen 1-35 Lösung
- Seite 37 und 38: Aufgaben und Lösungen 1-37 Fragen
- Seite 39 und 40: Aufgaben und Lösungen 1-39 } if(h[
- Seite 41 und 42: Aufgaben und Lösungen 1-41 3 Codie
- Seite 43 und 44: Aufgaben und Lösungen 1-43 3.2 Cod
- Seite 45: Aufgaben und Lösungen 1-45 x i w i
- Seite 49 und 50: Aufgaben und Lösungen 1-49 Aufgabe
- Seite 51 und 52: Aufgaben und Lösungen 1-51 Modifik
- Seite 53 und 54: Aufgaben und Lösungen 1-53 Auftrit
- Seite 55 und 56: Aufgaben und Lösungen 1-55 Dieses
- Seite 57 und 58: Aufgaben und Lösungen 1-57 N 2/21
- Seite 59 und 60: Aufgaben und Lösungen 1-59 Der Cod
- Seite 61 und 62: Aufgaben und Lösungen 1-61 Aufgabe
- Seite 63 und 64: Aufgaben und Lösungen 1-63 2 2 8 2
- Seite 65 und 66: Aufgaben und Lösungen 1-65 //*****
- Seite 67 und 68: Aufgaben und Lösungen 1-67 } d=x[i
- Seite 69 und 70: Aufgaben und Lösungen 1-69 return
- Seite 71 und 72: Aufgaben und Lösungen 1-71 printf(
- Seite 73 und 74: Aufgaben und Lösungen 1-73 else pr
- Seite 75 und 76: Aufgaben und Lösungen 1-75 } print
- Seite 77 und 78: Aufgaben und Lösungen 1-77 } free(
- Seite 79 und 80: Aufgaben und Lösungen 1-79 3.5 Ver
- Seite 81 und 82: Aufgaben und Lösungen 1-81 Einsetz
- Seite 83 und 84: Aufgaben und Lösungen 1-83 Lösung
- Seite 85 und 86: Aufgaben und Lösungen 1-85 Axiom 1
- Seite 87 und 88: Aufgaben und Lösungen 1-87 Aufgabe
- Seite 89 und 90: Aufgaben und Lösungen 1-89 Aufgabe
- Seite 91 und 92: Aufgaben und Lösungen 1-91 Aufgabe
- Seite 93 und 94: Aufgaben und Lösungen 1-93 Lösung
- Seite 95: Aufgaben und Lösungen 1-95 C7 SUB
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