Difference between revisions of "Aufgaben:Exercise 2.8: Huffman Application for a Markov Source"
m (Guenter moved page Aufgabe 2.8: Huffman-Anwendung bei einer Markovquelle to Exercise 2.8: Huffman Application for a Markov Source) |
|||
Line 3: | Line 3: | ||
}} | }} | ||
− | [[File: | + | [[File:EN_Inf_A_2_8.png|right|frame|Binäre symmetrische Markovquelle]] |
Wir betrachten die binäre symmetrische Markovquelle entsprechend der Grafik, die durch den einzigen Parameter | Wir betrachten die binäre symmetrische Markovquelle entsprechend der Grafik, die durch den einzigen Parameter | ||
:$$q = {\rm Pr}(\boldsymbol{\rm X}\hspace{0.05cm}|\hspace{0.05cm}\boldsymbol{\rm X}) = | :$$q = {\rm Pr}(\boldsymbol{\rm X}\hspace{0.05cm}|\hspace{0.05cm}\boldsymbol{\rm X}) = |
Revision as of 16:06, 8 July 2021
Wir betrachten die binäre symmetrische Markovquelle entsprechend der Grafik, die durch den einzigen Parameter
- q=Pr(X|X)=Pr(Y|Y)
vollständig beschrieben wird.
- Die angegebenen Quellensymbolfolgen gelten für die bedingten Wahrscheinlichkeiten q=0.2 bzw. q=0.8.
- In der Teilaufgabe (1) ist zu klären, welche Symbolfolge – die rote oder die blaue – mit q=0.2 und welche mit q=0.8 generiert wurde.
Die Eigenschaften von Markovquellen werden im Kapitel Nachrichtenquellen mit Gedächtnis ausführlich beschrieben. Aufgrund der hier vorausgesetzten Symmetrie bezüglich der Binärsymbole X und Y ergeben sich einige gravierende Vereinfachungen, wie in der Aufgabe 1.5Z hergeleitet wird:
- Die Symbole X und Y sind gleichwahrscheinlich, das heißt, es gilt pX=pY=0.5.
Damit lautet die erste Entropienäherung: H1=1bit/Quellensymbol. - Die Entropie der Markovquelle ergibt sich sowohl für q=0.2 als auch für q=0.8 zu
- H=q⋅log21q+(1−q)⋅log211−q=0.722bit/Quellensymbol.
- Bei Markovquellen sind alle Entropienäherungen Hk mit Ordnung k≥2 durch H1 und H=Hk→∞ bestimmt:
- Hk=1/k⋅[H1+H].
- Die folgenden Zahlenwerte gelten wieder für q=0.2 und q=0.8 gleichermaßen:
- H2=1/2⋅[H1+H]=0.861bit/Quellensymbol,
- H3=1/3⋅[H1+2H]=0.815bit/Quellensymbol.
In dieser Aufgabe soll der Huffman–Algorithmus auf k–Tupel angewandt werden, wobei wir uns auf k=2 und k=3 beschränken.
Hinweise:
- Die Aufgabe gehört zum Kapitel Entropiecodierung nach Huffman.
- Insbesondere wird auf die Seite Anwendung der Huffman-Codierung auf k-Tupel Bezug genommen.
- Nützliche Informationen finden Sie auch in den Angabenblättern zu Aufgabe 2.7 und Aufgabe 2.7Z.
- Zur Kontrolle Ihrer Ergebnisse verweisen wir auf das Interaktionsmodul Huffman und Shannon–Fano––Codierung.
Fragebogen
Musterlösung
- Bei der blauen Quellensymbolfolge 2 erkennt man sehr viel weniger Symbolwechsel als in der roten Folge.
- Die Symbolfolge 2 wurde mit dem Parameter q=Pr(X|X)=Pr(Y|Y)=0.8 erzeugt und die rote Symbolfolge 1 mit q=0.2.
(2) Richtig sind die Antworten 2 und 3.:
- Da hier die Quellensymbole X und Y als gleichwahrscheinlich angenommen wurden, macht die direkte Anwendung von Huffman keinen Sinn.
- Dagegen kann man die inneren statistischen Bindungen der Markovquelle zur Datenkomprimierung nutzen, wenn man k–Tupel bildet (k≥2).
- Je größer k ist, desto mehr nähert sich die mittlere Codewortlänge LM der Entropie H.
(3) Die Symbolwahrscheinlichkeiten sind pX=pY=0.5. Damit erhält man für die Zweiertupel:
- pA=Pr(XX)=pX⋅Pr(X|X)=0.5⋅q=0.5⋅0.8=0.4_,
- pB=Pr(XY)=pX⋅Pr(Y|X)=0.5⋅(1−q)=0.5⋅0.2=0.1_,
- pC=Pr(YX)=pY⋅Pr(X|Y)=0.5⋅(1−q)=0.5⋅0.2=0.1_,
- pD=Pr(YY)=pY⋅Pr(Y|Y)=0.5⋅q=0.5⋅0.8=0.4_.
(4) Nebenstehender Bildschirmabzug des (früheren) SWF–Programms Shannon–Fano– und Huffman–Codierung zeigt die Konstruktion des Huffman–Codes für k=2 mit den soeben berechneten Wahrscheinlichkeiten.
- Damit gilt für die mittlere Codewortlänge:
- LM′=0.4⋅1+0.4⋅2+(0.1+0.1)⋅3=1.8bit/Zweiertupel
- ⇒LM=LM′/2=0.9bit/Quellensymbol_.
(5) Richtig iist der Lösungsvorschlag 2:
- Nach dem Quellencodierungstheorem gilt LM≥H.
- Wendet man aber Huffman–Codierung an und lässt dabei Bindungen zwischen nicht benachbarten Symbolen außer Betracht (k=2), so gilt als unterste Grenze der Codewortlänge nicht H=0.722, sondern H2=0.861 (auf den Zusatz bit/Quellensymbol wird für den Rest der Aufgabe verzichtet).
- Das Ergebnis der Teilaufgabe (4) war LM=0.9.
- Würde eine unsymmetrische Markovkette vorliegen und zwar derart, dass sich für die Wahrscheinlichkeiten pA, ... , pD die Werte 50%, 25% und zweimal 12.5% ergeben würden, so käme man auf die mittlere Codewortlänge LM=0.875.
- Wie die genauen Parameter dieser unsymmetrischen Markovquelle aussehen, weiß aber auch der Aufgabensteller (G. Söder) nicht.
- Auch nicht, wie sich der Wert 0.875 auf 0.861 senken ließe. Der Huffman–Algorithmus ist hierfür jedenfalls ungeeignet.
(6) Mit q=0.8 und 1−q=0.2 erhält man:
- pA=Pr(XXX)=0.5⋅q2=0.32_=pH=Pr(YYY),
- pB=Pr(XXY)=0.5⋅q⋅(1−q)=0.08_=pG=Pr(YYX),
- pC=Pr(XYX)=0.5⋅(1−q)2=0.02_=pF=Pr(YXY),
- pD=Pr(XYY)=0.5⋅(1−q)⋅q=0.08_=pE=Pr(YXX).
(7) Der Bildschirmabzug des des (früheren) SWF–Programms Shannon–Fano– und Huffman–Codierung verdeutlicht die Konstellation des Huffman–Codes für k=3. Damit erhält man für die mittlere Codewortlänge:
- LM′=0.64⋅2+0.24⋅3+0.04⋅5=2.52bit/Dreiertupel⇒LM=LM′/3=0.84bit/Quellensymbol_.
- Man erkennt die Verbesserung gegenüber der Teilaufgabe (4).
- Die für k=2 gültige Schranke H2=0.861 wird nun von der mittleren Codewortlänge LM unterschritten.
- Die neue Schranke für k=3 ist H3=0.815.
- Um die Quellenentropie H=0.722 zu erreichen (besser gesagt: diesem Endwert bis auf ein ε nahe zu kommen), müsste man allerdings unendlich lange Tupel bilden (k → ∞).