Основы теории информации

Информация по Шеннону
Информация – это снятая неопределённость.
Величина неопределенности
количество возможных равновероятных исходов события
Количество информации по Колмогорову
количество информации, содержащееся в сообщении, записанном в виде последовательности символов, определяется минимально возможным количеством двоичных знаков, необходимых для кодирования этого сообщения, безотносительно к его содержанию.
  • Единица измерения информации – бит – от binary digit.
название размер
байт 8 бит
килобайт \(10^3\) байт
мегабайт \(10^6\) байт
гигабайт \(10^9\) байт
терабайт \(10^{12}\) байт
кибибайт \(2^{10}\) байт
мебибайт \(2^{20}\) байт
гибибайт \(2^{30}\) байт
тебибайт \(2^{40}\) байт
Информационный объем сообщения
количество двоичных символов, используемых для кодирования сообщения.

Формула Хартли

  • Из множества символов размера \(N\) можно составить \(N^m\) различных комбинаций (“слов”) длины \(m\)
  • \(\exists k \in \mathbb{N}: 2^k < N^m \leq 2^{k+1}\) – количество необходимых для кодирования слова двоичных знаков

\(2^k < N^m \leq 2^{k+1}\)

\(\log_2 2^k < \log_2 N^m \leq \log_2 2^{k+1}\)

\(k < m \log_2 N \leq k+1\)

\(\frac{k}{m} < \log_2 N \leq \frac{k+1}{m}\)

\(\frac{k}{m} < \log_2 N \leq \frac{k}{m}+\frac{1}{m}\)

\(\log_2 N - \frac{k}{m} \leq \frac{1}{m}\)

  • среднее количество информации на символ \(\frac{k}{m}\) отличается от \(\log_2 N\) не более, чем на \(\frac{1}{m}\)
  • при оптимальном кодировании информации, на один символ приходится \(\log_2 N\) бит

Формула Хартли:

\[H = \log_2 N,\]

\(H\) – количество информации в символе \(N\)-значного алфавита

Закон аддитивности информации

Закон аддитивности информации
количество информации, необходимое для установления пары равно суммарному количеству информации, необходимому для независимого установления элементов пары.
  • легко обобщается для набора \(N\) элементов.

Минимальная сложность сортировки сравнением

  • сортировка массива \(N\) различных элементов соответствует выбору одной из всех возможных перестановок
  • Число перестановок – \(N!\)
  • считая все перестановки равновероятными, по формуле Хартли необходимо \(\log_2 N!\) бит информации

Рассмотрим \(\log_2 N!\):

  • \(\log_2 N! = \sum_{i=1}^N \log_2 i < N \log_2 N\)
  • \(\log_2 N! = \sum_{i=1}^N \log_2 i > \sum_{i=N/2}^N \log_2 i > \frac{N}{2} \log_2 \frac{N}{2}\)
  • Пусть \(N\ge 4\), тогда:

\(\log_2 N \ge \log_2 4 = 2\)

\(\log_2 N \ge 2\)

\(\log_2 N -\log_2 2\ge 1\)

\(\log_2 \frac{N}{2}\ge 1\)

\(\frac{N}{4}\log_2 \frac{N}{2}\ge \frac{N}{4}\)

\(\frac{N}{4}\log_2 \frac{N}{2}-\frac{N}{4}\ge 0\)

\(\frac{N}{2}\log_2 \frac{N}{2}-\frac{N}{4}\log_2 \frac{N}{2}-\frac{N}{4}\ge 0\)

\(\frac{N}{2}\log_2 \frac{N}{2}-\frac{N}{4}(\log_2 N - 1)-\frac{N}{4}\ge 0\)

\(\frac{N}{2}\log_2 \frac{N}{2}-\frac{N}{4}\log_2 N + \frac{N}{4} -\frac{N}{4}\ge 0\)

\(\frac{N}{2}\log_2 \frac{N}{2}-\frac{N}{4}\log_2 N \ge 0\)

\(\frac{N}{2}\log_2 \frac{N}{2} \ge \frac{N}{4}\log_2 N,\)

\(N \log_2 N > \log_2 N! > \frac{N}{2} \log_2 \frac{N}{2} \ge \frac{N}{4}\log_2 N,\)

  • требуется \(\mathcal O(N\log N)\) бит
  • операция сравнения даёт 1 бит
  • \(\mathcal O(N\log N)\) операций сравнения.
  • сложность \(\mathcal O(N\log N)\) – оптимальна для алгоритмов сортировки сравнением

Формула Шеннона

  • Если варианты не равновероятны
  • Сообщение из символов \({a, b}\), \(n\) символов \(a\) и \(m\) символов \(b\).
  • Сколько информации приходится в среднем на символ этого сообщения?

  • Рассмотрим алфавит \({a_1, \ldots, a_n, b_1, \ldots, b_m}\) из \(n+m\) символов и запишем с его помощью наше сообщение таким образом, чтобы символы не повторялись. Вероятность обнаружить любой символ нового алфавита одинакова, и мы можем применить формулу Хартли.
  • \(H_{n+m} = \log_2(n+m)\)
  • В исходном алфавите, символы \(a_i\) неразличимы. За счёт отождествления теряется \(H_{a_i} = \log_2 n\)
  • Аналогично, \(H_{b_i} = \log_2 m\)
  • Всего на сообщение теряется \(n \log_2 n + m \log_2 m\) бит информации, а всего информации в сообщении \((n+m) \log_2(n+m)\)

  • Всего на сообщение теряется \(n \log_2 n + m \log_2 m\) бит информации, а всего информации в сообщении \((n+m) \log_2(n+m)\)

Среднее количество информации на символ

\(H = \frac{(n+m) \log_2(n+m) - n \log_2 n - m \log_2 m}{n+m}\)

\(H = \frac{n \log_2\frac{n+m}{n} + m \log_2\frac{n+m}{m}}{n+m}\)

\(H = \frac{n}{n+m} \log_2\frac{n+m}{n} + \frac{m}{n+m} \log_2\frac{n+m}{m}\)

\(H = \underset{P_a}{\underbrace{\frac{n}{n+m}}} \log_2\underset{1/P_a}{\underbrace{\frac{n+m}{n}}} + \underset{P_b}{\underbrace{\frac{m}{n+m}}} \log_2\underset{1/P_b}{\underbrace{\frac{n+m}{m}}}\)

\(H = {P_a} \log_2\frac{1}{P_a} + {P_b} \log_2\frac{1}{P_b}\)

  • частный случай формулы Шеннона для двухсимвольного алфавита.

  • количество информации на символ алфавита зависит от вероятности получения этого символа
  • вероятность аддитивна, \(P_a + P_b = 1\), \(P_b = 1 - P_a\), можем записать \(H\) как функцию \(P_a\):
  • \(H(P_a) = P_a \log_2\frac{1}{P_a} + (1-P_a) \log_2\frac{1}{1-P_a}\)

  • \(H(P_a) = P_a \log_2\frac{1}{P_a} + (1-P_a) \log_2\frac{1}{1-P_a}\)
  • \(\frac{d H(P_a)}{dP_a} = \log_2\frac{1-P_a}{P_a}\)

  • Нули:

    \(\log_2\frac{1-P_a}{P_a} = 0\)

    \(\frac{1-P_a}{P_a} = 1\)

    \(1-P_a = P_a\)

    \(P_a = \frac{1}{2}\)

  • количество информации максимально при равновероятных исходах

  • обобщается на случай \(N\)-символьного алфавита индукцией по \(N\):
  • \(H = \sum_{i=1}^N P_i \log_2{\frac{1}{P_i}}\)

  • Пусть для \(N=M-1:\) \(H = \sum_{i=1}^{M-1} P_i \log_2{\frac{1}{P_i}}\)
  • Рассмотрим алфавит длины \(N=M\).
  • Отождествим \(M\)-тый и \(M-1\)-й символы. Тогда применима формула Шеннона для алфавита размера \(M-1\):
  • \(H_{M-1} = \sum_{i=1}^{M-2} P_i \log_2{\frac{1}{P_i}} + (P_{M-1}+P_M) \log_2{\frac{1}{P_{M-1}+P_M}}\)
  • относительные вероятности появления отождествлённых символов
  • \(q_{M-1} = \frac{P_{M-1}}{P_{M-1}+P_M},\)
  • \(q_{M} = \frac{P_{M}}{P_{M-1}+P_M}.\)

  • \(H_{M-1} = \sum_{i=1}^{M-2} P_i \log_2{\frac{1}{P_i}} + (P_{M-1}+P_M) \log_2{\frac{1}{P_{M-1}+P_M}}\)
  • \(q_{M-1} = \frac{P_{M-1}}{P_{M-1}+P_M},\)
  • \(q_{M} = \frac{P_{M}}{P_{M-1}+P_M}.\)
  • В результате отождествления, теряется \(q_{M-1} \log_2\frac{1}{q_{M-1}} + q_{M} \log_2\frac{1}{q_{M}}\) бит на отождествлённый символ,

  • доля отождествлённых символов \(P_{M-1}+P_M\)

  • В среднем теряется

    \(H_ε = P_{M-1} \log_2\frac{1}{q_{M-1}} + P_{M} \log_2\frac{1}{q_{M}}\)

    \(H_ε = P_{M-1} \log_2\frac{P_{M-1}+P_M}{P_{M-1}} + P_{M} \log_2\frac{P_{M-1}+P_M}{P_{M}}\)

  • \(H_{M-1} = \sum_{i=1}^{M-2} P_i \log_2{\frac{1}{P_i}} + (P_{M-1}+P_M) \log_2{\frac{1}{P_{M-1}+P_M}}\)

  • В среднем теряется

    \(H_ε = P_{M-1} \log_2\frac{P_{M-1}+P_M}{P_{M-1}} + P_{M} \log_2\frac{P_{M-1}+P_M}{P_{M}}\)

  • Тогда в силу аддтитвности информации,
  • \(H_M = H_{M-1}+H_ε\)

    \(H_M = \sum_{i=1}^{M-2} P_i \log_2{\frac{1}{P_i}} + (P_{M-1}+P_M) \log_2{\frac{1}{P_{M-1}+P_M}}\\+P_{M-1} \log_2\frac{P_{M-1}+P_M}{P_{M-1}} + P_{M} \log_2\frac{P_{M-1}+P_M}{P_{M}}\)

    \(H_M = \sum_{i=1}^{M-2} P_i \log_2{\frac{1}{P_i}} +P_{M-1} \log_2\frac{1}{P_{M-1}} + P_{M} \log_2\frac{1}{P_{M}}\)

    \(H_M = \sum_{i=1}^{M} P_i \log_2{\frac{1}{P_i}}\)

Связь формул Хартли и Шеннона

  • Формула Хартли – частный случай формулы Шеннона.
  • Если \(P_i = \frac{1}{N},\) то
  • \(H = \sum_{i=1}^{N} P_i \log_2{\frac{1}{P_i}}\)

    \(H = \sum_{i=1}^{N} \frac{1}{N} \log_2{N}\)

    \(H = \frac{N}{N} \log_2{N}\)

    \(H = \log_2{N}\)

Оптимальное кодирование

  • Для достижения соответствия информационного объёма и количества информации, необходимо оптимальное кодирование информации.
  • Легко показать случаи не оптимального кодирования информации.
  • Оптимальное кодирование сложнее

Алгоритм Хаффмана

  • алгоритм префиксного кодирования
  • для оптимального кодирования, более вероятные символы кодируются более короткой последовательностью

Алгоритм:

  • символам алфавита присваиваются значения приоритетов, соответствующие частоте
  • два символа с наименьшими приоритетами отождествляются, отождествлённый символ получает приоритет, равный сумме
  • Последовательность отождествлений образует двоичное дерево
  • “левым” ветвям дерева присваивается код “0”, а “правым” – “1”. Кодом символа является последовательность кодов ветвей, приводящих к нему.
  • закодируем сообщение “шла_Маша_по_шоссе”.

Символ Приоритет
_ 3
а 3
ш 3
о 2
с 2
М 1
е 1
л 1
п 1

Символ Приоритет
_ 3
а 3
ш 3
о 2
с 2
лп 2
М 1
е 1

Символ Приоритет
_ 3
а 3
ш 3
о 2
с 2
лп 2
Ме 2

Символ Приоритет
лпМе 4
_ 3
а 3
ш 3
о 2
с 2

Символ Приоритет
лпМе 4
ос 4
_ 3
а 3
ш 3

Символ Приоритет
аш 6
лпМе 4
ос 4
_ 3

Символ Приоритет
ос_ 7
аш 6
лпМе 4

Символ Приоритет
ашлпМе 10
ос_ 7

Символ Приоритет
ашлпМеос_ 17

Символ Прио Код
_ 3 11
а 3 000
ш 3 001
о 2 100
с 2 101
М 1 0110
е 1 0111
л 1 0100
п 1 0101
  • Количество информации по Шеннону:
  • \(H = 4\frac{1}{17}\log_2 17 + 2 \frac{2}{17}\log_2 \frac{17}{2} + 3 \frac{3}{17}\log_2 \frac{17}{3} \approx 3.013\)
  • Ср. информационный объём:
  • \(I = \frac{2\cdot 3+3\cdot 3+3\cdot 3+2\cdot 3+2\cdot 3+4\cdot 4}{17} \approx 3.059\)
  • Разность \(I-H = 0.046 \le \frac{1}{17} \approx 0.059\)
  • С ростом общего числа символов разность уменьшается
Символ Прио Код
_ 3 11
а 3 000
ш 3 001
о 2 100
с 2 101
М 1 0110
е 1 0111
л 1 0100
п 1 0101