Loading [MathJax]/jax/element/mml/optable/GreekAndCoptic.js

Difference between revisions of "Aufgaben:Exercise 2.8: Huffman Application for a Markov Source"

From LNTwww
Line 3: Line 3:
 
}}
 
}}
  
[[File:P_ID2460__Inf_A_2_8.png|right|frame|Binäre symmetrische Markovquelle]]
+
[[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

Binäre symmetrische Markovquelle

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=qlog21q+(1q)log211q=0.722bit/Quellensymbol.
  • Bei Markovquellen sind alle Entropienäherungen  Hk  mit Ordnung  k2  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:



Fragebogen

1

Welche der vorne angegebenen Beispielfolgen gilt für  q=0.8?

die rote Quellensymbolfolge  1,
die blaue Quellensymbolfolge  2.

2

Welche der folgenden Aussagen treffen zu?

Auch die direkte Anwendung von Huffman ist hier sinnvoll.
Huffman macht bei Bildung von Zweiertupeln  (k=2)  Sinn.
Huffman macht bei Bildung von Dreiertupeln  (k=3)  Sinn.

3

Wie lauten die Wahrscheinlichkeiten der Zweiertupel  (k=2)  für  q=0.8_?

pA=Pr(XX) = 

pB=Pr(XY) = 

pC=Pr(YX) = 

pD=Pr(YY) = 

4

Ermitteln Sie den Huffman–Code für  k=2_.  Wie groß ist in diesem Fall die mittlere Codewortlänge?

LM = 

 bit/Quellensymbol

5

Welche Schranke ergibt sich für die mittlere Codewortlänge, wenn Zweiertupel gebildet werden  (k=2)? Interpretation.

LMH1=1.000  bit/Quellensymbol,
LMH20.861  bit/Quellensymbol,
LMH30.815  bit/Quellensymbol,
LMHk0.722  bit/Quellensymbol,
LM0.5  bit/Quellensymbol.

6

Berechnen Sie die Wahrscheinlichkeiten der Dreiertupel  (k=3)  für  q=0.8_?

pA=Pr(XXX) = 

pB=Pr(XXY) = 

pC=Pr(XYX) = 

pD=Pr(XYY) = 

pE=Pr(YXX) = 

pF=Pr(YXY) = 

pG=Pr(YYX) = 

pH=Pr(YYY) = 

7

Ermitteln Sie den Huffman–Code für k=3_.  Wie groß ist in diesem Fall die mittlere Codewortlänge?

LM = 

 bit/Quellensymbol


Musterlösung

(1)  Richtig ist der Lösungsvorschlag 2:

  • 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  (k2).
  • 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)=pXPr(X|X)=0.5q=0.50.8=0.4_,
pB=Pr(XY)=pXPr(Y|X)=0.5(1q)=0.50.2=0.1_,
pC=Pr(YX)=pYPr(X|Y)=0.5(1q)=0.50.2=0.1_,
pD=Pr(YY)=pYPr(Y|Y)=0.5q=0.50.8=0.4_.


Zur Huffman–Codierung für k=2

(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.41+0.42+(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  LMH.
  • 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  1q=0.2  erhält man:

pA=Pr(XXX)=0.5q2=0.32_=pH=Pr(YYY),
pB=Pr(XXY)=0.5q(1q)=0.08_=pG=Pr(YYX),
pC=Pr(XYX)=0.5(1q)2=0.02_=pF=Pr(YXY),
pD=Pr(XYY)=0.5(1q)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.642+0.243+0.045=2.52bit/DreiertupelLM=LM/3=0.84bit/Quellensymbol_.
Zur Huffman–Codierung für k=3
  • 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 → ∞).