Дайте математическое и интуитивное объяснение понятия энтропии Шеннона, приведите пример расчёта информации для простого источника символов и обсудите связь энтропии с кодированием и сжатием данных
Математическое определение. Для дискретной случайной величины XXX с алфавитом {xi}\{x_i\}{xi} и вероятностями pi=Pr(X=xi)p_i=\Pr(X=x_i)pi=Pr(X=xi) энтропия Шеннона определяется как H(X)=−∑ipilogpi,
H(X)=-\sum_i p_i\log p_i, H(X)=−i∑pilogpi,
где логарифм берётся по той базе, в которой измеряют информацию (обычно log2\log_2log2 — бит). Интуиция. Энтропия — среднее «удивление» или неопределённость исхода: символы с малой вероятностью дают большой вклад −logp-\log p−logp (большое «удивление»), частые — маленький. Эквивалентно, H(X)H(X)H(X) даёт среднее число бит, необходимых для кодирования результата XXX при оптимальном кодировании. Пример расчёта. - Бинарный источник (смещённая монета) с Pr(1)=0.7, Pr(0)=0.3\Pr(1)=0.7,\ \Pr(0)=0.3Pr(1)=0.7,Pr(0)=0.3: H(X)=−0.7log20.7−0.3log20.3≈0.8813 бит.
H(X)=-0.7\log_2 0.7-0.3\log_2 0.3\approx 0.8813\ \text{бит}. H(X)=−0.7log20.7−0.3log20.3≈0.8813бит.
- Источник с тремя символами и вероятностями {0.5,0.25,0.25}\{0.5,0.25,0.25\}{0.5,0.25,0.25}: H(X)=−0.5log20.5−0.25log20.25−0.25log20.25=1.5 бит.
H(X)=-0.5\log_2 0.5-0.25\log_2 0.25-0.25\log_2 0.25=1.5\ \text{бит}. H(X)=−0.5log20.5−0.25log20.25−0.25log20.25=1.5бит. Связь с кодированием и сжатием. - Минимальная средняя длина префиксного (безошибочного) кода E[ℓ(X)]\mathbb{E}[\ell(X)]E[ℓ(X)] ограничена снизу энтропией: E[ℓ(X)]≥H(X).
\mathbb{E}[\ell(X)]\ge H(X). E[ℓ(X)]≥H(X).
- Существуют конструктивные оценки: код Шеннона/Крафта даёт E[ℓ(X)]<H(X)+1\mathbb{E}[\ell(X)]<H(X)+1E[ℓ(X)]<H(X)+1; Хаффман даёт оптимальную целочисленную длину для односимвольных префиксных кодов (в пределах <H+1<H+1<H+1). Арифметическое кодирование и контекстные модели позволяют приближаться к H(X)H(X)H(X) сколь угодно близко при кодировании больших блоков. - Для стационарных источников энтропия (энтропия на символ) как предел H=limn→∞1nH(X1,…,Xn)
H=\lim_{n\to\infty}\frac{1}{n}H(X_1,\dots,X_n) H=n→∞limn1H(X1,…,Xn)
определяет предельную сжимаемость: можно сжимать последовательности длины nnn примерно до nHnHnH бит (асимптотически без потерь). Это вытекает из асимптотического свойства равномерности (AEP) и понятия типичного множества: большинство длин‑nnn последовательностей занимают около 2nH2^{nH}2nH возможных значений. Коротко: энтропия численно измеряет среднюю информацию/неопределённость и даёт фундаментальную границу для средних длины кодов и степени безпотерьного сжатия.
H(X)=−∑ipilogpi, H(X)=-\sum_i p_i\log p_i,
H(X)=−i∑ pi logpi , где логарифм берётся по той базе, в которой измеряют информацию (обычно log2\log_2log2 — бит).
Интуиция. Энтропия — среднее «удивление» или неопределённость исхода: символы с малой вероятностью дают большой вклад −logp-\log p−logp (большое «удивление»), частые — маленький. Эквивалентно, H(X)H(X)H(X) даёт среднее число бит, необходимых для кодирования результата XXX при оптимальном кодировании.
Пример расчёта.
- Бинарный источник (смещённая монета) с Pr(1)=0.7, Pr(0)=0.3\Pr(1)=0.7,\ \Pr(0)=0.3Pr(1)=0.7, Pr(0)=0.3:
H(X)=−0.7log20.7−0.3log20.3≈0.8813 бит. H(X)=-0.7\log_2 0.7-0.3\log_2 0.3\approx 0.8813\ \text{бит}.
H(X)=−0.7log2 0.7−0.3log2 0.3≈0.8813 бит. - Источник с тремя символами и вероятностями {0.5,0.25,0.25}\{0.5,0.25,0.25\}{0.5,0.25,0.25}:
H(X)=−0.5log20.5−0.25log20.25−0.25log20.25=1.5 бит. H(X)=-0.5\log_2 0.5-0.25\log_2 0.25-0.25\log_2 0.25=1.5\ \text{бит}.
H(X)=−0.5log2 0.5−0.25log2 0.25−0.25log2 0.25=1.5 бит.
Связь с кодированием и сжатием.
- Минимальная средняя длина префиксного (безошибочного) кода E[ℓ(X)]\mathbb{E}[\ell(X)]E[ℓ(X)] ограничена снизу энтропией:
E[ℓ(X)]≥H(X). \mathbb{E}[\ell(X)]\ge H(X).
E[ℓ(X)]≥H(X). - Существуют конструктивные оценки: код Шеннона/Крафта даёт E[ℓ(X)]<H(X)+1\mathbb{E}[\ell(X)]<H(X)+1E[ℓ(X)]<H(X)+1; Хаффман даёт оптимальную целочисленную длину для односимвольных префиксных кодов (в пределах <H+1<H+1<H+1). Арифметическое кодирование и контекстные модели позволяют приближаться к H(X)H(X)H(X) сколь угодно близко при кодировании больших блоков.
- Для стационарных источников энтропия (энтропия на символ) как предел
H=limn→∞1nH(X1,…,Xn) H=\lim_{n\to\infty}\frac{1}{n}H(X_1,\dots,X_n)
H=n→∞lim n1 H(X1 ,…,Xn ) определяет предельную сжимаемость: можно сжимать последовательности длины nnn примерно до nHnHnH бит (асимптотически без потерь). Это вытекает из асимптотического свойства равномерности (AEP) и понятия типичного множества: большинство длин‑nnn последовательностей занимают около 2nH2^{nH}2nH возможных значений.
Коротко: энтропия численно измеряет среднюю информацию/неопределённость и даёт фундаментальную границу для средних длины кодов и степени безпотерьного сжатия.