Aufgaben:Aufgabe 2.7Z: Huffman-Codierung für Zweiertupel einer Ternärquelle: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
K (Textersetzung - „*Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein.“ durch „ “)
Zeile 3: Zeile 3:
 
}}
 
}}
  
[[Datei:P_ID2458__Inf_Z_2_7.png|right|Huffman–Baum für Ternärquelle]]
+
[[Datei:P_ID2458__Inf_Z_2_7.png|right|frame|Huffman–Baum für Ternärquelle]]
Wir betrachten den gleichen Sachverhalt wie in der [[Aufgaben:2.7_Huffman-Anwendung_für_binäre_Zweiertupel|Aufgabe A2.7]]: Der Huffman–Algorithmus führt zu einem besseren Ergebnis, das heißt zu einer kleineren mittleren Codewortlänge $L_{\rm M}$, wenn man ihn nicht auf einzelne Symbole anwendet, sondern vorher $k$–Tupel bildet. Dadurch erhöht man den Symbolumfang von $M$ auf $M' = M^k$.
+
Wir betrachten den gleichen Sachverhalt wie in der [[Aufgaben:2.7_Huffman-Anwendung_für_binäre_Zweiertupel|Aufgabe A2.7]]:   Der Huffman–Algorithmus führt zu einem besseren Ergebnis, das heißt zu einer kleineren mittleren Codewortlänge $L_{\rm M}$, wenn man ihn nicht auf einzelne Symbole anwendet, sondern vorher $k$–Tupel bildet. Dadurch erhöht man den Symbolumfang von $M$ auf $M' = M^k$.
  
 
Für die hier betrachtete Nachrichtenquelle gilt:
 
Für die hier betrachtete Nachrichtenquelle gilt:
* Symbolumfang: $M = 3$,
+
* Symbolumfang:   $M = 3$,
* Symbolvorrat: $\{$<b>X</b>, <b>Y</b>, <b>Z</b>$\}$,
+
* Symbolvorrat: &nbsp; $\{$ $\rm X$, $\rm Y$, $\rm Z$ $\}$,
* Wahrscheinlichkeiten: $p_{\rm X} = 0.7$, $p_{\rm Y} = 0.2$, $p_{\rm Z} = 0.1$,
+
* Wahrscheinlichkeiten: &nbsp;  $p_{\rm X} = 0.7$, $p_{\rm Y} = 0.2$, $p_{\rm Z} = 0.1$,
* Entropie: $H = 1.157 \ \rm  bit/Ternärsymbol$.
+
* Entropie: &nbsp; $H = 1.157 \ \rm  bit/Ternärsymbol$.
 +
 
 +
 
 +
Die Grafik zeigt den Huffman&ndash;Baum, wenn man den Huffman&ndash;Algorithmus auf Einzelsymbole anwendet, also den Fall $k= 1$. In der Teilaufgabe '''(2)''' sollen Sie den entsprechenden Huffman&ndash;Code angeben, wenn vorher Zweiertupel gebildet werden $(k=2)$.
 +
 
  
  
Die Grafik zeigt den Huffman&ndash;Baum, wenn man den Huffman&ndash;Algorithmus auf Einzelsymbole anwendet, also den Fall $k= 1$. In der Teilaufgabe (2) sollen Sie den entsprechenden Huffman&ndash;Code angeben, wenn vorher Zweiertupel gebildet werden ($k=2$).
 
  
  
Zeile 20: Zeile 23:
 
*Insbesondere wird auf die Seite [[Informationstheorie/Entropiecodierung_nach_Huffman#Anwendung_der_Huffman.E2.80.93Codierung_auf_k.E2.80.93Tupel|Anwendung der Huffman-Codierung auf k-Tupel]] Bezug genommen.
 
*Insbesondere wird auf die Seite [[Informationstheorie/Entropiecodierung_nach_Huffman#Anwendung_der_Huffman.E2.80.93Codierung_auf_k.E2.80.93Tupel|Anwendung der Huffman-Codierung auf k-Tupel]] Bezug genommen.
 
*Eine vergleichbare Aufgabenstellung mit binären Eingangssymbolen wird in der  [[Aufgaben:2.7_Huffman-Anwendung_für_binäre_Zweiertupel|Aufgabe 2.7]] behandelt.
 
*Eine vergleichbare Aufgabenstellung mit binären Eingangssymbolen wird in der  [[Aufgaben:2.7_Huffman-Anwendung_für_binäre_Zweiertupel|Aufgabe 2.7]] behandelt.
*Bezeichnen Sie die möglichen Zweiertupel mit &nbsp; &nbsp; <b>XX</b> = <b>A</b>,&nbsp;&nbsp;<b>XY</b> = <b>B</b>,&nbsp;&nbsp;<b>XZ</b> = <b>C</b>,&nbsp;&nbsp; <b>YX</b> = <b>D</b>,&nbsp;&nbsp;<b>YY</b> = <b>E</b>,&nbsp;&nbsp;<b>YZ</b> = <b>F</b>,&nbsp;&nbsp;<b>ZX</b> = <b>G</b>,&nbsp;&nbsp;<b>ZY</b> = <b>H</b>,&nbsp;&nbsp;<b>ZZ</b> = <b>I</b> .
+
*Bezeichnen Sie die möglichen Zweiertupel mit &nbsp; &nbsp; $\rm XX = A$,&nbsp;&nbsp;$\rm XY = B$,&nbsp;&nbsp;$\rm XZ = C$,&nbsp;&nbsp; $\rm YX = D$,&nbsp;&nbsp;$\rm YY = E$,&nbsp;&nbsp;$\rm YZ = F$,&nbsp;&nbsp;$\rm ZX = G$,&nbsp;&nbsp;$\rm ZY = H$,&nbsp;&nbsp;$\rm ZZ = I$.
 
   
 
   
  
Zeile 27: Zeile 30:
  
 
<quiz display=simple>
 
<quiz display=simple>
{Wie groß ist die mittlere Codewortlänge, wenn der Huffman&ndash;Algorithmus direkt auf die ternären Quellensymbole <b>X</b>, <b>Y</b> und <b>Z</b> angewendet wird?
+
{Wie groß ist die mittlere Codewortlänge, wenn der Huffman&ndash;Algorithmus direkt auf die ternären Quellensymbole $\rm X$, $\rm Y$ und $\rm Z$ angewendet wird?  
 
|type="{}"}
 
|type="{}"}
$k= 1\text{:} \hspace{0.25cm}L_{\rm M} \ = \ $ { 1.3 3% } $\ \rm bit/Quellensymbol$
+
$\underline{k=1}\text{:} \hspace{0.25cm}L_{\rm M} \ = \ $ { 1.3 3% } $\ \rm bit/Quellensymbol$
  
  
 
{Wie groß sind  die Tupel&ndash;Wahrscheinlichkeiten? Insbesondere:
 
{Wie groß sind  die Tupel&ndash;Wahrscheinlichkeiten? Insbesondere:
 
|type="{}"}
 
|type="{}"}
$p_{\rm A} = {\rm Pr}($'''XX'''$)\ = \ $ { 0.49 3% }
+
$p_{\rm A} = \rm Pr(XX)\ = \ $ { 0.49 3% }
$p_{\rm B} = {\rm Pr}($'''XY'''$)\ = \ $ { 0.14 3% }
+
$p_{\rm B} = \rm Pr(XY)\ = \ $ { 0.14 3% }
$p_{\rm C} = {\rm Pr}($'''XZ'''$)\ = \ $ { 0.07 3% }
+
$p_{\rm C} = \rm Pr(XZ)\ = \ $ { 0.07 3% }
  
  
 
{Wie groß ist die mittlere Codewortlänge, wenn man zuerst Zweiertupel bildet und darauf den Huffman&ndash;Algorithmus  anwendet?
 
{Wie groß ist die mittlere Codewortlänge, wenn man zuerst Zweiertupel bildet und darauf den Huffman&ndash;Algorithmus  anwendet?
 
|type="{}"}
 
|type="{}"}
$k= 2\text{:} \hspace{0.25cm}L_{\rm M} \ = \ $ { 1.165 3% } $\ \rm bit/Quellensymbol$
+
$\underline{k=2}\text{:} \hspace{0.25cm}L_{\rm M} \ = \ $ { 1.165 3% } $\ \rm bit/Quellensymbol$
  
  
 
{Welche der folgenden Aussagen sind zutreffend, wenn man mehr als zwei Ternärzeichen zusammenfasst ($k>2$)?
 
{Welche der folgenden Aussagen sind zutreffend, wenn man mehr als zwei Ternärzeichen zusammenfasst ($k>2$)?
 
|type="[]"}
 
|type="[]"}
+ $L_{\rm M}$ fällt monoton mit steigendem $k$ ab.
+
+ $L_{\rm M}$&nbsp; fällt monoton mit steigendem &nbsp;$k$&nbsp; ab.
- $L_{\rm M} $ändert sich nicht, wenn man $k$ erhöht.
+
- $L_{\rm M}$&nbsp; ändert sich nicht, wenn man &nbsp;$k$&nbsp; erhöht.
- Für $k= 3$ erhält man $L_{\rm M} = 1.05 \ \rm bit/Quellensymbol$.
+
- Für &nbsp;$k= 3$&nbsp; erhält man &nbsp;$L_{\rm M} = 1.05 \ \rm bit/Quellensymbol$.
  
  

Version vom 28. September 2018, 12:26 Uhr

Huffman–Baum für Ternärquelle

Wir betrachten den gleichen Sachverhalt wie in der Aufgabe A2.7:   Der Huffman–Algorithmus führt zu einem besseren Ergebnis, das heißt zu einer kleineren mittleren Codewortlänge $L_{\rm M}$, wenn man ihn nicht auf einzelne Symbole anwendet, sondern vorher $k$–Tupel bildet. Dadurch erhöht man den Symbolumfang von $M$ auf $M' = M^k$.

Für die hier betrachtete Nachrichtenquelle gilt:

  • Symbolumfang:   $M = 3$,
  • Symbolvorrat:   $\{$ $\rm X$, $\rm Y$, $\rm Z$ $\}$,
  • Wahrscheinlichkeiten:   $p_{\rm X} = 0.7$, $p_{\rm Y} = 0.2$, $p_{\rm Z} = 0.1$,
  • Entropie:   $H = 1.157 \ \rm bit/Ternärsymbol$.


Die Grafik zeigt den Huffman–Baum, wenn man den Huffman–Algorithmus auf Einzelsymbole anwendet, also den Fall $k= 1$. In der Teilaufgabe (2) sollen Sie den entsprechenden Huffman–Code angeben, wenn vorher Zweiertupel gebildet werden $(k=2)$.



Hinweise:

  • Die Aufgabe gehört zum Kapitel Entropiecodierung nach Huffman.
  • Insbesondere wird auf die Seite Anwendung der Huffman-Codierung auf k-Tupel Bezug genommen.
  • Eine vergleichbare Aufgabenstellung mit binären Eingangssymbolen wird in der Aufgabe 2.7 behandelt.
  • Bezeichnen Sie die möglichen Zweiertupel mit     $\rm XX = A$,  $\rm XY = B$,  $\rm XZ = C$,   $\rm YX = D$,  $\rm YY = E$,  $\rm YZ = F$,  $\rm ZX = G$,  $\rm ZY = H$,  $\rm ZZ = I$.


Fragebogen

1

Wie groß ist die mittlere Codewortlänge, wenn der Huffman–Algorithmus direkt auf die ternären Quellensymbole $\rm X$, $\rm Y$ und $\rm Z$ angewendet wird?

$\underline{k=1}\text{:} \hspace{0.25cm}L_{\rm M} \ = \ $

$\ \rm bit/Quellensymbol$

2

Wie groß sind die Tupel–Wahrscheinlichkeiten? Insbesondere:

$p_{\rm A} = \rm Pr(XX)\ = \ $

$p_{\rm B} = \rm Pr(XY)\ = \ $

$p_{\rm C} = \rm Pr(XZ)\ = \ $

3

Wie groß ist die mittlere Codewortlänge, wenn man zuerst Zweiertupel bildet und darauf den Huffman–Algorithmus anwendet?

$\underline{k=2}\text{:} \hspace{0.25cm}L_{\rm M} \ = \ $

$\ \rm bit/Quellensymbol$

4

Welche der folgenden Aussagen sind zutreffend, wenn man mehr als zwei Ternärzeichen zusammenfasst ($k>2$)?

$L_{\rm M}$  fällt monoton mit steigendem  $k$  ab.
$L_{\rm M}$  ändert sich nicht, wenn man  $k$  erhöht.
Für  $k= 3$  erhält man  $L_{\rm M} = 1.05 \ \rm bit/Quellensymbol$.


Musterlösung

(1)  Die mittlere Codewortlänge ergibt sich mit pX = 0.7, LX = 1, pY = 0.2, LY = 2, pZ = 0.1, LZ = 2 zu

$$L_{\rm M} = p_{\rm X} \cdot 1 + (p_{\rm Y} + p_{\rm Z}) \cdot 2 \hspace{0.15cm}\underline{= 1.3\,\,{\rm bit/Quellensymbol}}\hspace{0.05cm}. $$

Dieser Wert liegt noch deutlich über der Quellenentropie H = 1.157 bit/Quellensymbol.

(2)  Es gibt M ′ = M 2 = 32 = 9 Zweiertupel mit folgenden Wahrscheinlichkeiten:

    pA = Pr(XX) = 0.49,   pB = Pr(XY) = 0.14,    pC = Pr(XZ) = 0.07,
    pD = Pr(YX) = 0.14,    pE = Pr(YY) = 0.04,    pF = Pr(YZ) = 0.02,
    pG = Pr(YX) = 0.07,    pH = Pr(YY) = 0.02,    pI = Pr(YZ) = 0.01.


(3)  Die Grafik zeigt den Huffman–Baum für die Anwendung mit k = 2.

Huffman–Baum für Ternärquelle und Zweiertupel

Damit erhält man

  • für die einzelnen Zweiertupels folgende Binärcodierungen:
    XX = A0,   XY = B111,   XZ = C1011,    YX = D110,   YY = E1000,
    YZ = F10010,    ZX = G1010,   ZY = H100111,   ZZ = I100110 .
  • für die mittlere Codewortlänge:
$$L_{\rm M}' =0.49 \cdot 1 + (0.14 + 0.14) \cdot 3 + (0.07 + 0.04 + 0.07) \cdot 4 + 0.02 \cdot 5 + (0.02 + 0.01) \cdot 6 = 2.33\,\,{\rm bit/Zweiertupel}$$
$$\Rightarrow\hspace{0.3cm}L_{\rm M} = {L_{\rm M}'}/{2}\hspace{0.15cm}\underline{ = 1.165\,\,{\rm bit/Quellensymbol}}\hspace{0.05cm}.$$

(4)  Richtig ist Aussage 1, auch wenn LM mit wachsendem k nur sehr langsam abfällt.

  • Die letzte Aussage ist falsch, da LM auch für k → ∞ nicht kleiner sein kann als H = 1.157 bit/Quellensymbol.
  • Aber auch die zweite Aussage ist nicht unbedingt richtig: Da mit k = 2 weiterhin LM > H gilt, kann k = 3 zu einer weiteren Verbesserung führen.