Kod Shannon’a raz jeszcze

by Jerry Sky

2020-10-29


(wcześniejsza notatka)


1. Co wiemy o kodach Shannon’a?

H(X)LSh(X)H(X)+1() H(X) \le L_{Sh}(X) \le H(X) + 1 \qquad (\star)

Teraz kodujemy słowa długości nn nad alfabetem XX.
Formalnie: patrzymy na Xn=X×X×XnX_n = \underbrace{X \times X \dotsb \times X}_{n}
P({(a1,,an)})=pa1pa2pan P(\{(a_1, \dots, a_n)\}) = p_{a_1} \cdot p_{a_2} \cdots p_{a_n}
H(Xn)=nH(X)(cˊw.) H(X_n) = n \cdot H(X) \qquad \text{(ćw.)}
Używamy kodowania Shanonn’a dla elementów XX i kodujemy elementy XnX_n. L(Xn)=nLSh(X)(cˊw.) L(X_n) = n \cdot L_{Sh}(X) \qquad \text{(ćw.)}

1.1. Frukt

Z \star: nH(X)nLSh(X)H(Xn)+1=nH(X)+1H(X)L(Xn)nH(X)+1n. n \cdot H(X) \le n \cdot L_{Sh}(X) \le H(X_n) + 1 = n \cdot H(X) + 1\\ H(X) \le \frac{L(X_n)}{n} \le H(X) + \frac{1}{n}.


Twierdzenie Shannon’a raz jeszcze

biorąc pod uwagę Frukt z poprzedniego punktu: limnL(Xn)n=H(X) \lim_{n \to \infty} \frac{L(X_n)}{n} = H(X)


Uwaga o kodach Shannon’a

Kody Shannon’a bywają nieoptymalne.

Bez straty ogólności dla X=N|X| = N jest skończenie wiele (rozsądnych) kodów.
(Można ograniczyć długość słowa kodowego przez ?)

Zrobimy optymalne kody!
Kody Huffmana

Kodowanie Shannon’a nie jest jednoznaczne!