Математика EN

Тренажёры · Глава 50

Энтропия, коды и цепи

Сколько информации в исходе, энтропия Шеннона, средняя длина кода и код Хаффмана, доля времени, которую цепь Маркова проводит в каждом состоянии.

Как решать

Чем неожиданнее исход, тем больше информации он несёт: исход с вероятностью $\frac{1}{8}$ — это $3$ бита, как три ответа «да/нет». Энтропия — средняя информация на исход, и она же — нижняя граница средней длины любого кода: короче сжать без потерь нельзя.

По шагам

  1. Информация исхода с вероятностью $p$: $\log_2 \frac{1}{p}$ бит.
  2. Энтропия — среднее с весами: $H = \sum p_i \log_2 \frac{1}{p_i}$.
  3. Средняя длина кода — $\sum p_i \ell_i$, где $\ell_i$ — длина кода буквы.
  4. Код Хаффмана: два самых редких символа объединяйте в один с суммарной вероятностью, пока не останется один. Длина кода символа — сколько раз он участвовал в объединениях.
  5. Цепь Маркова: в равновесии поток из каждого состояния равен потоку в него.
Вероятности исходов, в сумме $1$. Пример: $\left(\frac{1}{4}, \frac{1}{4}, \frac{1}{4}, \frac{1}{8}, \frac{1}{8}\right)$: $3 \cdot \frac{1}{4} \cdot 2 + 2 \cdot \frac{1}{8} \cdot 3 = \frac{3}{2} + \frac{3}{4} = \frac{9}{4}$ бита.

Где ошибаются

  • Берут $\log_2 p$ без минуса или без перевёрнутой дроби — энтропия не бывает отрицательной.
  • В средней длине кода складывают длины без весов: частые буквы считаются чаще.
  • В Хаффмане объединяют самые частые символы, а не самые редкие.
  • В цепи Маркова путают вероятность перехода и долю времени в состоянии.

Пример

Главы курса