Поясните понятие энтропии в теории информации и вычислите энтропию источника, генерирующего символы A и B с вероятностями 0.9 и 0.1; обсудите практическое значение этой величины для сжатия данных
Энтропия в теории информации — мера среднего количества неопределённости (или среднего «удивления») при наблюдении исхода случайного источника. Для дискретной случайной величины XXX с распределением p(x)p(x)p(x) энтропия определяется как H(X)=−∑xp(x)log2p(x),
H(X)=-\sum_x p(x)\log_2 p(x), H(X)=−x∑p(x)log2p(x),
где вклад конкретного исхода xxx равен его «информации» I(x)=−log2p(x)I(x)=-\log_2 p(x)I(x)=−log2p(x). Единица измерения при логарифме по основанию 2 — биты. Для источника с символами A и B, p(A)=0.9, p(B)=0.1p(A)=0.9,\;p(B)=0.1p(A)=0.9,p(B)=0.1: H=−0.9log20.9−0.1log20.1.
H=-0.9\log_2 0.9-0.1\log_2 0.1. H=−0.9log20.9−0.1log20.1.
Численно log20.9≈−0.1520,log20.1≈−3.3219,
\log_2 0.9\approx-0.1520,\qquad \log_2 0.1\approx-3.3219, log20.9≈−0.1520,log20.1≈−3.3219,
отсюда H≈−0.9(−0.1520)−0.1(−3.3219)≈0.1368+0.3322≈0.469 бит/символ.
H\approx-0.9(-0.1520)-0.1(-3.3219)\approx0.1368+0.3322\approx0.469\ \text{бит/символ}. H≈−0.9(−0.1520)−0.1(−3.3219)≈0.1368+0.3322≈0.469бит/символ. Практическое значение для сжатия данных: - HHH — теоретический нижний предел средней длины кодового слова (в битах на символ) для безубыточного (lossless) кодирования по теореме Шеннона; нельзя в среднем сжать ниже HHH. - Здесь H≈0.469H\approx0.469H≈0.469 бита/символ значительно меньше простого фиксированного кода в 1\,11 бит/символ, т.е. потенциальное сокращение среднего объёма до примерно 0.4691≈0.469\displaystyle\frac{0.469}{1}\approx0.46910.469≈0.469 или экономия ≈(1−0.469)×100%≈53.1%\approx(1-0.469)\times100\%\approx53.1\%≈(1−0.469)×100%≈53.1%. - На практике кодирование отдельного символа (например, простым Хаффманом по одиночным символам) даёт в этом случае 1\,11 бит/символ; чтобы приблизиться к HHH используют блочное кодирование или арифметическое кодирование, которые позволяют среднюю длину кода сколь угодно близко приблизить к энтропии при достаточной длине блоков. - Дополнительно: при p=0.5p=0.5p=0.5 бинарного источника HHH максимальна (111 бит), а при детерминированном источнике (p=1p=1p=1 для одного символа) H=0H=0H=0.
H(X)=−∑xp(x)log2p(x), H(X)=-\sum_x p(x)\log_2 p(x),
H(X)=−x∑ p(x)log2 p(x), где вклад конкретного исхода xxx равен его «информации» I(x)=−log2p(x)I(x)=-\log_2 p(x)I(x)=−log2 p(x). Единица измерения при логарифме по основанию 2 — биты.
Для источника с символами A и B, p(A)=0.9, p(B)=0.1p(A)=0.9,\;p(B)=0.1p(A)=0.9,p(B)=0.1:
H=−0.9log20.9−0.1log20.1. H=-0.9\log_2 0.9-0.1\log_2 0.1.
H=−0.9log2 0.9−0.1log2 0.1. Численно
log20.9≈−0.1520,log20.1≈−3.3219, \log_2 0.9\approx-0.1520,\qquad \log_2 0.1\approx-3.3219,
log2 0.9≈−0.1520,log2 0.1≈−3.3219, отсюда
H≈−0.9(−0.1520)−0.1(−3.3219)≈0.1368+0.3322≈0.469 бит/символ. H\approx-0.9(-0.1520)-0.1(-3.3219)\approx0.1368+0.3322\approx0.469\ \text{бит/символ}.
H≈−0.9(−0.1520)−0.1(−3.3219)≈0.1368+0.3322≈0.469 бит/символ.
Практическое значение для сжатия данных:
- HHH — теоретический нижний предел средней длины кодового слова (в битах на символ) для безубыточного (lossless) кодирования по теореме Шеннона; нельзя в среднем сжать ниже HHH.
- Здесь H≈0.469H\approx0.469H≈0.469 бита/символ значительно меньше простого фиксированного кода в 1\,11 бит/символ, т.е. потенциальное сокращение среднего объёма до примерно 0.4691≈0.469\displaystyle\frac{0.469}{1}\approx0.46910.469 ≈0.469 или экономия ≈(1−0.469)×100%≈53.1%\approx(1-0.469)\times100\%\approx53.1\%≈(1−0.469)×100%≈53.1%.
- На практике кодирование отдельного символа (например, простым Хаффманом по одиночным символам) даёт в этом случае 1\,11 бит/символ; чтобы приблизиться к HHH используют блочное кодирование или арифметическое кодирование, которые позволяют среднюю длину кода сколь угодно близко приблизить к энтропии при достаточной длине блоков.
- Дополнительно: при p=0.5p=0.5p=0.5 бинарного источника HHH максимальна (111 бит), а при детерминированном источнике (p=1p=1p=1 для одного символа) H=0H=0H=0.