Nierówność Kraft’a

by Jerry Sky

2020-10-15



1. Nierówność Kraft’a

i=1N2li1\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=1N2lli2l \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)x1\forall x>0 \qquad \ln(x) \le x-1.

2.1. D-d

  1. f(x)=x1ln(x) roˊz˙niczkujemyf(x) = x-1-\ln(x) \qquad \boldsymbol| \text{ różniczkujemy}
  2. f(x)=11xf'(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

log2(x)=log2(e)ln(x)(log2(e))(x1)\log_2(x) = \log_2(e) \ln(x) \le (\log_2(e)) \cdot (x-1)

3.1. D-d

(Twierdzenie Shannon’a)

LH=i=1Npili+i=1Npilogpi=i=1Npilog(2kipi)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)

HL=i=1Npilog12lipii=1Npi(12lipi1)log2(e)=log2(e)(i=1N12lii=1Npi)log2(e)(11)=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