Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книжка умняшкина по моцос

.pdf
Скачиваний:
133
Добавлен:
16.04.2013
Размер:
1.55 Mб
Скачать

возрастающую функцию от количества состояний N. Причём если у источника всего одно состояние, то ясно, что такой источник не производит информации, потому необходимо выполнение условия IX(1)=0.

Вводя меру количества информации как некоторую монотонную функцию, необходимо учесть также следующее. Если рассмотреть источник сообщений Z, представляющий собой объединение двух независимых источников X (c N равновероятными состояниями) и Y (c M равновероятными состояниями), то количество равновероятных символов, описывающих состояния Z, получаем равным MN. При этом количество информации, создаваемой источником Z, равно количеству информации, создаваемой источниками X и Y. Поэтому мера количества информации, рассматриваемая как функция от числа равновероятных состояний, должна отвечать требованию: IZ(NM)=IX(N)+IY(M). Данному требованию отвечает функция логарифма. В 1928 году Хартли предложил следующую меру для количества информации, производимой источником сообщений без памяти X, который имеет N равновероятных состояний:

IX=IX(N)=logN=-logp, (1)

где p=1/N – вероятность перехода источника в каждое из состояний. Основание логарифма при этом не имеет принципиального значения и определяет лишь масштаб единиц исчисления, т.е. то количество информации, которое связано с одной единицей исчисления. Например, если основание логарифма – двоичное, то единицы измерения называют битами, а один бит – это то количество информации, которое несет один символ, создаваемый источником сообщений с двумя равновероятными состояниями.

Пример 1. Из колоды в 32 карты вытянута одна. Сколько вопросов, требующих ответа «да» или «нет», нужно задать, чтобы определить, какая карта вытянута?

◄ Фактически, необходимо ответить, какое количество информации связано с источником, который имеет 32 равновероятных состояния, в единицах измерения источника с двумя («да», «нет») состояниями. Поэтому число вопросов I = log2 32 = 5 . Первый вопрос можно задать, на-

пример, такой: «Масть красная?» Затем, в зависимости от результатов ответа на первый вопрос: «Пики?», или: «Черви?». Затем: «Карта – картинка (валет, дама, король, туз)?» Оставшиеся вопросы очевидны. ►

Мера Хартли не получила широкого распространения, поскольку применима лишь к весьма узкому классу источников сообщений, для которых состояния равновероятны.

101

2. Дискретный источник с неравновероятными состояниями

Рассмотрим два источника, X и Y,

x1

x2

 

y1

y2

имеющих два состояния, алфавит каж-

 

0,5

0,5

 

0,001

0,999

дого из которых состоит из двух сим-

 

волов. Обобщая меру Хартли, исходим из следующих соображений: мера информации должна отражать априорную неопределённость состояния источника, поэтому в приведенном примере с двумя возможными состояниями источник X имеет максимальную неопределённость, поскольку его состояния равновероятны. У источника Y состояние практически предопределено, и не имея никакой дополнительной информации, мы почти наверняка не ошибемся, сказав, что источник находится в состоянии y2. Для вводимой меры количества информации, таким образом, в данном случае должны получить I(X)>I(Y). Обобщая меру Хартли, естественно потребовать от вводимой меры количества информации и для источника с N>2 числом состояний выполнения аналогичного свойства: максимальное значение (при заданном N) количество информации принимает в случае равной вероятности состояний, p=1/N, т.е. Imax=logN. Если же какое-то состояние источник X принимает с единичной вероятностью (т.е. у источника одно состояние), то количество информации вновь должно быть равным нулю: Imin=0.

В качестве меры количества информации (априорной неопределённости) для дискретного источника сообщений без памяти Шенноном в конце 40-х годов прошлого века предложена следующая величина:

N

 

H ( X ) = −pk log pk ,

(2)

k =1

где pk = P{X = xk } – вероятность перехода источника в состояние xk.

Величина (2) носит название энтропии. Основание логарифма здесь вновь не имеет принципиального значения и так же, как и для меры Хартли, определяет количество информации, приходящейся на одну единицу измерения. В цифровой обработке сигналов традиционно выбирается двоичное основание, т.е. количество информации измеряется в битах.

Трактовать (2) можно как среднее количество информации, приходящейся на один символ, создаваемый источником сообщения. Действительно, символы сообщения несут разную информацию: если вероятность появления символа велика, он несет меньшую информацию, а если вероятность мала, то бóльшую. Простейший пример, приведённый выше

102

– источник сообщений Y, имеющий два состояния с вероятностями p1=0,001 и p2=0,999. Символ y2 почти не несёт информации, его появление предсказуемо. А вот появление символа y1 – явление редкое. Пример: пусть, например, символ y2 означает, что температура воздуха (в градусах Цельсия) положительна, а y1 означает отрицательную температуру. Источник сообщений – висящий за окном термометр. Появление какого символа, на ваш взгляд, содержит больше информации, если наблюдение ведётся жарким летом?...

Считая, что информация, связанная с символом, имеющим вероятность появления pk, определяется по формуле Хартли (1) как Ik=-logpk, мы и находим среднюю информативность символа в виде

N

H ( X ) = I = pk Ik , что эквивалентно выражению (2). Понимаем эту

k =1

величину как характеристику неопределённости дискретного источника информации, или, что то же самое, как количество информации, связанное с одним символом создаваемого источником дискретного сообщения (переходом источника в очередное состояние).

Отметим, что если какая-то вероятность pk=0, то соответствующее слагаемое в сумме (2) нужно понимать в смысле предельного значения:

lim p log p = 0 . Легко видеть также, что в случае равновероятных со-

p0

стояний мера (2) приобретает вид (1).

Укажем на важнейшие свойства энтропии (2).

1°. Энтропия является неотрицательной величиной. Энтропия минимальна и равна нулю тогда, когда pk=1.

◄ С учётом сделанного замечания о нулевых вероятностях, каждое слагаемое -pklogpk в сумме (2) неотрицательно, и неотрицательной является вся сумма. Таким образом, нулевое значение в (2) получаем

N

при равенстве нулю всех слагаемых. Так как pk =1, то это воз-

k =1

можно тогда и только тогда, когда k: pk=1. ►

2°. Для независимых источников сообщений Х, Y энтропия их ансамбля

H ( X ,Y ) = H ( X ) + H (Y ) .

x1

xN

pX,1

pX,N

 

 

 

y1

yM

pY,1

pY,M

 

 

 

103

◄ Ансамбль источников описывается следующей таблицей вероят-

ностей состояний: pn,m = P{X = xn ,Y = ym} , n=1,…,N; m=1,…,M. Эн-

 

 

N

M

 

 

 

тропия ансамбля:

H ( X ,Y ) = −∑∑pn,m log pn,m . Для независимых

 

 

n=1m=1

 

 

 

источников pn,m = p(xn ) p( ym ) , поэтому энтропия

 

 

 

N M

 

 

 

 

 

H ( X ,Y ) = −∑∑p(xn ) p( ym )(log p(xn ) +log p( ym ))=

 

 

n=1m=1

 

 

 

 

 

N

M

N

 

M

 

 

 

 

 

 

 

 

=

= − p(xn ) log p(xn ) p( ym ) + p(xn )

p( ym ) log p( ym )

n=1

m=1

n=1

 

m=1

 

 

14442444314243

1424314444244443

 

H ( X )

1

 

1

H (Y )

 

 

= H ( X ) + H (Y ) . ►

3°. При фиксированном значении N энтропия принимает максимальное значение H(X)=logN в случае, когда pk=1/N, k=1,…,N.

 

 

 

 

 

N

 

 

◄ Найдём максимум

функции

H ( p1,K, pN ) = −pk log pk при

 

 

 

 

 

k =1

 

N

 

 

 

 

 

 

N 1

условии, что pk =1,

0 pk 1 . Для этого выразим pN =1pk ,

k =1

 

 

 

 

 

 

k =1

и рассмотрим задачу безусловной минимизации функции

 

 

N 1

 

N 1

 

 

N 1

 

H ( p1,K, pN 1) = −pk log pk 1

pk log 1

pk .

 

k =1

 

k =1

 

 

k =1

 

Необходимым условием безусловного экстремума является равенство нулю частных производных. Полагая для упрощения записи, что основание логарифма является натуральным, имеем j =1,K, N 1:

 

H ( p1,K, pN 1)

 

N 1

 

 

= −log p j +log 1

pk = 0 .

 

p j

 

 

k =1

 

Отсюда j =1,K, N 1:

p j =1 N1pk = pN , т.е. все вероятности

 

 

k =1

 

 

одинаковы, pj=1/N. Достаточным условием максимума функции является отрицательный знак второго дифференциала в найденной критической точке. Отрицательный знак второго дифференциала соответствует отрицательной определённости матрицы вторых производ-

104

 

 

2

H (p

,K, p

 

 

N 1

 

 

 

 

N 1

)

 

ных (матрицы Гессе)

 

 

 

1

 

 

 

 

 

. В соответствии с

 

 

p

p

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

i

 

 

 

i, j=1

 

критерием Сильвестра матрица размерности (N-1)× (N-1) отрицательно определена тогда и только тогда, когда угловые

миноры j (определители подматриц, составленных из первых j

строк

и

j

столбцов

исходной

матрицы)

являются

знакочередующимися, а именно:

sign

j

= (1) j , j=1,…,N-1. Найдём

вторые производные функции H ( p1,K, pN 1)

в критической точке

p1 =K= pN 1 =1/ N . Несложно найти:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

H ( p1,K, pN 1)

 

 

 

N ,

 

j k

.

 

 

 

 

 

 

 

p jpk

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p1 =K= pN 1 =1/ N

 

 

2N, j = k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подсчитаем j-й угловой минор

матрицы

 

Гессе. Получаем

j =1,K, N 1:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2N N

K − N

 

 

 

 

2 1 L 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

= det

N 2N K − N =

(N ) j

 

1 2 L 1

 

 

=

 

 

 

 

 

 

 

 

 

K

K K K

 

 

 

 

KKKK

 

 

 

 

 

 

 

N

N

 

 

 

 

 

1 1 K 2

 

 

 

 

 

 

 

K− 2N

 

 

 

 

 

 

 

1444244443

 

 

 

последнююстроку

 

 

 

 

 

 

j строк, j столбцов

 

 

 

 

 

 

 

 

 

 

 

вычтемизвсех остальных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 0 L−1

 

 

 

 

 

1 0 L −1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= (N ) j

 

0 1 L−1

 

 

= (N ) j

 

0 1 L −1

 

= (N ) j

( j +1) ,

 

 

 

 

KKKK

 

 

 

 

 

KKK K

 

 

 

 

 

 

 

 

 

 

 

1 1 K 2

 

 

 

 

 

0 0 K1 + j

 

 

 

 

 

 

изпоследнейстрокивычтем суммувсех предыдущих

поскольку определитель треугольной матрицы равен произведению диагональных элементов. Видим, что условие sign j = (1) j выпол-

няется, поэтому максимум энтропии (2) достигается при равенстве вероятностей состояния дискретного источника,

Hmax(p1,…,pN)=H(1/N,…, 1/N)=logN. ►

4°. Энтропия характеризует неопределённость выбора источником состояния, но не саму содержательную сущность этого выбора.

105

Поясним последнее свойство. Например, если лекарство в 90% случаев вызывает улучшение состояния больного, а в 10% случаев не оказывает эффекта, то неопределенность (энтропия) его действия такая же, как и у «лекарства», которое в 90% случаев не вызывает изменения состояния больного, а в 10% случаев даже влечёт его ухудшение.

Пример 2. Найти двоичную энтро-

 

 

 

 

 

пию источника Х, который создает

X

а

б

в

г

сообщения из четырех символов, ве-

p

0,5

0,25

0,125

0,125

роятности появления которых заданы.

 

 

 

 

 

H = − 12 log2 12 14 log2 14 18 log2 18 18 log2 18 = 148 = 1,75 (бит) . ►

5.2. Эффективное кодирование сообщений дискретного источника без памяти

Вновь рассматриваем источник X, имеющий N, вообще говоря, не-

равновероятных состояний (xk , pk )kN=1 . Каждому состоянию источника

можно непосредственно (фактически, представив в двоичном виде номер состояния k) поставить в соответствие двоичный код из R бит, где целое число R находится из условия: N2R. То есть для представления

алфавита

{x

}N

исходного сообщения, порождаемого источником X,

 

 

k k =1

 

можно использовать другой «алфавит кодирования», в данном случае {0,1}, что представляет для нас особый интерес как основной способ представления информации в цифровых электронных устройствах. Поэтому и для энтропии (2) также будем использовать далее двоичные единицы измерения (биты), выбрав основание логарифма равным двум.

Если двоичная энтропия источника H(X) меньше величины R, находимой из условия N2R, то можно предложить более эффективные способы двоичного кодирования состояний источника X.

Пример 3. Поставим в соответствие символам источника сообщений из примера 2 битовые последовательности следующим образом: а0, б10, в110, г111. Покажем, что любое сообщение источника, закодированное в двоичном виде, является декодируемым, а среднее число бит, приходящееся на один символ, совпадает со значением двоичной энтропии источника.

◄ Действительно, так как более короткие битовые коды символов не являются началом более длинных кодов, то любая последовательность

106

бит однозначно декодируется, например: 111101000 11KK. Обозначая

{{{{{ {

г б б а а в или г

Rk – число бит в коде символа xk, среднее количество бит, приходящееся на кодирование одного символа, получаем равным

4

R = pk Rk = 0,5 1+0,25 2 +0,125 3 +0,125 3 =1,75 (бит)

k=1

-это совпадает со значением двоичной энтропии H(X). Как видим, по сравнению с непосредственным кодированием, при котором для каждого символа требуется код длиной 2 бита, получаем более эффективный способ представления сообщений источника X в двоичном виде.►

Среднее количество бит, необходимое для кодирования одного символа сообщения, будем называть также битовыми затратами. Битовые коды переменной длины, у которых короткие коды не являются началом более длинных (декодируемые коды) называются префиксными.

В приведённом примере битовые затраты совпали со значением энтропии источника. Оказывается, величина двоичной энтропии является минимально возможным значением для битовых затрат, какие бы способы кодирования не использовались. Это определяется следующей теоремой.

Теорема 1. (Шэннон.) Сообщения источника с двоичной энтропией H можно кодировать так, что ε >0 битовые затраты R, приходящиеся на

один символ сообщения: R<H+ε, где R = lim

RM

(RM – битовые затра-

M

M →∞

 

ты на кодирование последовательности из M символов). Невозможно построить такой декодируемый двоичный код, для которого R<H.

◄ Доказательство теоремы сложно, и мы его опускаем. ►

Таким образом, двоичная энтропия источника (2) является точной оценкой снизу для минимально возможных битовых затрат, приходящихся в среднем на кодирование одного символа. Коды, обеспечивающие минимально возможные битовые затраты, называются эффективными. Теорема Шэннона не дает правил построения эффективных кодов, а лишь определяет теоретически возможный предел для эффективности кодирования. В специально подобранном примере 3 для заданного источника был приведён код, обладающий максимальной эффективностью, однако в общем случае достижение максимальной эффективности возможно лишь теоретически, при кодировании сообщений из бесконечного числа символов.

107

После двоичного кодирования получаемую последовательность бит можно рассматривать как сообщение, созданное некоторым «приведенным» источником B, имеющим два состояния (см. рис). При этом, очевидно, информация, содержащаяся в битовой последовательности, в точности та же, которая была создана исходным источником X.

Источник X

 

Битовый

0010110…

{x1,…,xN}

 

кодер

 

сообщение в

 

 

 

 

 

 

двоичном коде

 

 

 

Источник B с двумя состояниями {0,1}

При таком рассмотрении процесса двоичного кодирования из теоремы Шэннона следует важное следствие: появление нулевых и единичных битов в эффективном двоичном коде является равновероятным. Действительно, при эффективном кодировании каждый бит (символ, создаваемый источником B) должен нести максимальную информацию. Количество информации, связанной с символом источника сообщений, есть, как мы говорили ранее, характеристика априорной неопределенности состояния источника, т.е. его энтропия. Двоичная энтропия источника B максимальна и равна 1 биту в том случае, когда его состояния равновероятны. В противном случае выходной битовый код источника является избыточным: один двоичный символ источника B несет информацию H(B)<1(бит), и в соответствии с теоремой Шэннона существует способ повышения эффективности кодирования состояний источника B.

Способы построения эффективных кодов опираются как раз на необходимость получения равных вероятностей для появления нулевого и единичного бита в двоичном представлении информации. Практически не отличающиеся друг от друга методы построения эффективных кодов первоначально были предложены независимо друг от друга Шэнноном и Фано.

Метод построения эффективных кодов по Шэннону-Фано.

1.Упорядочить таблицу символов (состояний источника)

{x1,…,xN} в порядке убывания вероятностей: p1pN. Полученная таблица является первым блоком символов для последующего разбиения.

2.Разбиваем текущий блок символов на две части (два подблока) так, чтобы вероятность попадания символа сообщения в один

108

подблок была как можно ближе к вероятности попадания символа в другой подблок.

3.Приписываем очередной бит в коды символов подблоков: «0» для первого подблока и «1» для второго подблока. Далее подблоки рассматриваем независимо друг от друга как новые блоки в разбиении таблицы символов.

4.Если в разбиении таблицы символов присутствует блок, содержащий более одного символа, то повторяем с этим блоком шаги 2 и 3, иначе заканчиваем процедуру построения двоичных кодов.

Пример 4. Используя методику Шэннона-Фано, построить эффективные коды для источника сообщений Z со следующим распределением вероятностей появления символов.

z1

z2

z3

z4

0,22

0,20

0,16

0,16

z5

z6

z7

z8

0,10

0,10

0,04

0,02

◄ Последовательность разбиений таблицы символов и соответствующее построение кода приведена в схеме ниже, битовые затраты на кодирова-

8

ние одного символа получаем: R = pk R(zk ) = 2,84 (бит), где R(zk) –

k =1

число бит в коде символа zk.

z1

z2

 

z3

z4

 

z5

z6

z7

 

z8

0,22

0,20

 

0,16

0,16

 

0,10

0,10

0,04

 

0,02

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

00

010

01

 

10

 

11

 

 

 

 

011

100

 

101

110

 

111

 

 

 

 

 

 

 

 

1110

 

1111

Двоичная энтропия источника в данном случае H(Z)2,76 бит, т.е. полученный код обладает избыточностью R-H0,08 бит на символ. Заметим, что методика Шэннона-Фано обладает некоторой неоднозначностью построения кода: она не регламентирует, как следует производить разбиение блока на подблоки в том случае, когда возможны два варианта. Так, для данного примера можно построить и другую таблицу кодов.

109

z1

 

z2

z3

 

z4

z5

 

z6

 

z7

z8

0,22

 

0,20

0,16

 

0,16

0,10

 

0,10

 

0,04

0,02

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

1

 

 

 

00

 

01

 

10

 

 

 

11

 

 

 

 

100

 

101

110

 

 

111

 

 

 

 

 

 

 

 

 

1110

 

1111

 

 

 

 

 

 

 

 

 

 

11110

11111

Для данного разбиения получим битовые затраты R=2,80 бит и вдвое меньшую избыточность кода: R-H0,04 бит на символ. ►

Как видим, некоторая избыточность в полученных в примере 4 кодах всё-таки осталась. Из теоремы Шеннона следует, что избыточность кодов, т.е. величину =R-H, можно сделать как угодно малой. Для этого символы сообщения нужно кодировать не по одному, а объединяя их в серии (по два, три и т.д.). Рассмотрим это на следующем примере.

Пример 5. Построить эффективные коды для источника сообщений Z, имеющего вероятности появления символов: p(z1)=0,9 и p(z2)=0,1.

◄ Энтропия источника: H(Z)=-0,1 log20,1 – 0,9 log20,90,47 бит. Посим-

вольное кодирование источника дает единственно возможный код, когда одному символу приписывается нулевой, а другому – единичный бит, что дает битовые затраты R=1 бит/символ и более, чем 100%-ую избыточность кода: (RH)/H0,53/0,471,13. Для того чтобы повысить эффективность кодирования, будем объединять последовательно выдаваемые источником Z двоичные символы в пары, т.е. исходным для построения кода рассматриваем новый алфавит с четырьмя символами. Соответствующее распределение вероятностей и полученные по методу ШеннонаФано коды приведены в

таблице. Битовые затра-

Z

(z1z1)

(z1z2)

(z2z1)

(z2z2)

p

0,81

0,09

0,09

0,01

ты на кодирование пары

символов

составляют

код

0

10

110

111

величину 2R=0,81 1+0,09 2+0,09 3+0,01 3=1,29 бит. То есть битовые за-

траты в пересчёте на один символ сообщения источника Z уменьшились и составили величину R=0,645 бит, сократив избыточность кода со 113% до 37%. Кодируя сообщение источника Z тройками символов, т.е. рассматривая при построении кодов Шэннона-Фано алфавит из 8 символов, можно дополнительно повысить эффективность кодирования. Проверьте это самостоятельно. ►

110