Nierówność Kraft’a

by Jerry Sky

2020-10-15



1. Nierówność Kraft’a

∑i=1N2−li≤1\sum_{i=1}^{N} 2^{-l_i} \le 1 (dla kodu prefiksowego)

1.1. D-d

Wizualizacja kodów prefiksowych (drzewo):

drzewo jeden

ll - maksymalna głębokość, czyli długość najdłuższego kodu

drzewo dwa (udawane)

Zatem ∑i=1N2l−li≤2l■ \sum_{i=1}^{N} 2^{l-l_i} \le 2^l \qquad\blacksquare

1.1.1. Ćwiczenie

Pokaż, że na odwrót.


2. Fakt#1

∀x>0ln⁡(x)≤x−1\forall x>0 \qquad \ln(x) \le x-1.

2.1. D-d

  1. f(x)=x−1−ln⁡(x)∣ roˊz˙niczkujemyf(x) = x-1-\ln(x) \qquad \boldsymbol| \text{ różniczkujemy}
  2. f′(x)=1−1xf'(x) = 1 - \frac{1}{x}
    1. f′(x)<0f'(x) < 0 dla x∈(0;1)x \in (0;1)
    2. f′(1)=0f'(1) = 0
    3. f′(x)>0f'(x) > 0 dla x>1x > 1
  3. ff ma minimum w 11.
  4. f(1)=0f(1) = 0. ■\blacksquare

3. Fakt#2

log⁡2(x)=log⁡2(e)ln⁡(x)≤(log⁡2(e))⋅(x−1)\log_2(x) = \log_2(e) \ln(x) \le (\log_2(e)) \cdot (x-1)

3.1. D-d

(Twierdzenie Shannon’a)

L−H=∑i=1Npili+∑i=1Npilog⁡pi=∑i=1Npilog⁡(2ki⋅pi)L - H = \sum_{i=1}^{N} p_i l_i + \sum_{i=1}^{N} p_i \log p_i = \sum_{i=1}^{N} p_i \log (2^{k_i} \cdot p_i)

H−L=∑i=1Npilog⁡12li⋅pi≤∑i=1Npi(12lipi−1)log⁡2(e)=log⁡2(e)(∑i=1N12li−∑i=1Npi)≤log⁡2(e)(1−1)=0H - L = \sum_{i=1}^{N} p_i \log\frac{1}{2^{l_i} \cdot p_i} \le \sum_{i=1}^{N} p_i \left( \frac{1}{2^{l_i} p_i} -1 \right) \log_2 (e) = \log_2(e) \left( \sum_{i=1}^{N} \frac{1}{2^{l_i}} - \sum_{i=1}^{N} p_i \right) \le \log_2(e) \left( 1 - 1 \right) = 0
czyli sukces ■\blacksquare