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

Все задания за 4 курс 7 семестр / Основы теории информации / Примеры решения задач по контрольной работе

.pdf
Скачиваний:
125
Добавлен:
10.04.2015
Размер:
511.41 Кб
Скачать

Количественное определения избыточности

Пример: Пусть имеется два элемента a, в. Рассмотрим случаи передачи информации с помощью этих элементов:

1) Элементы независимы и равновероятны

I0|

= log2 m = log2 2 = 1 бит/символ

m – количество переданных символов

1) Элементы независимы и неравновероятны

P(a) =

3

P(b) =

1

 

 

 

 

 

4

 

 

 

 

 

4

 

 

 

 

 

 

2

 

3 log

3 +

1 log

1 ) = 0.815 бит/символ

I1|

= −pi log pi = −(

 

i=1

 

4

 

4

4

4

2) Элементы взаимозависимы и равновероятны

p(a) = p(b) = ½

Пусть p(a / a) = p(b / b) = p1 – вероятность повторения символов p(a / b) = p(b / a) = p2 - вероятность чередования символов

 

 

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I2| = −

1

∑∑p(i / j) log p(i / j)

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

i =1

j =1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p1,p2

 

½, ½

¼, ¾

 

1/8, 4/8

 

0, 1

 

 

 

 

 

 

I2|

 

1

0.815

 

0.541

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3) Элементы взаимозависимы и неравновероятны

 

 

p(a) = ¾;

 

 

p(b) = ¼

 

 

 

 

 

 

 

 

 

 

 

 

p(a / a) = 2/3

 

 

p(b / a) = 1/3

 

 

 

 

 

 

 

p(a / b) = 1

 

 

p(b / b) = 0

 

 

 

 

 

 

 

2

 

2

 

 

 

 

 

3

 

2

 

 

2

 

1

 

1

 

I| = ∑∑ pi ( j / i) log p( j / i) =

[

log

+

log

] = 0.685 бит/символ

 

 

 

 

3

i=1 j=1

 

 

 

 

4 3

 

3 3

 

 

Пример: Данный алфавит, содержит шесть букв.

 

Буква

 

Вер-ть

1

2

3

4

 

 

 

a1

 

 

0.4

 

1

1

 

 

 

 

 

a2

 

 

0.2

 

0

1

 

 

 

 

a3

 

 

0.2

 

0

0

1

 

 

 

a4

 

 

0.1

 

0

0

0

1

 

 

a5

 

 

0.05

0

0

0

0

 

 

a6

 

 

0.05

0

0

0

0

0

 

 

 

 

 

 

 

 

 

Длина буквы

 

 

 

В случае равномерного кодирования потребовалось бы три бита (23 = 8).

 

Для данного кода

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

lcp = pi li = 0.4 1+0.2 2 +0.2 3 +0.1 4 +0.05 5 +0.05 5 = 2.3 бит/символ

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

Длина буквы

 

 

 

 

 

 

Подсчитаем энтропию данного алфавита

 

 

 

 

6

 

 

 

 

 

 

 

 

H = −pi

log pi = −0.4log 0.4 2 0.2log 0.2 0.1 log 0.12 0.05 log 0.05 = 2.225 бит/с

им

 

 

i=1

 

 

 

 

 

 

 

 

 

 

H

 

 

 

 

 

 

 

 

l

 

 

; m – количество символов вторичного алфавита

 

 

 

 

 

cp

 

log2 m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если вторичный алфавит – двоичный, то m = 2, следовательно lcp H .

Пример: Задан алфавит из восьми букв и вероятности их появления. Построить оптимальный неравномерный код Шеннона-Фана.

Буква

Вер-ть

1

2

3

4

a1

0.25

1

1

 

 

a2

0.25

1

0

1

 

a3

0.125

0

1

 

a4

0.125

0

1

0

 

a5

0.625

0

0

1

1

a6

0.625

0

0

1

0

a7

0.625

0

0

0

1

a8

0.625

0

0

0

0

8

lср = pi li = 2.75 бит

i=1

8

H = −pi log pi = 2.75 бит/символ

i=1

Пример: Построить оптимальный код Шеннона-Фана. KCC , KОЭ ?

Буква

Вер-ть

1

2

3

4

а1

0.25

1

1

 

 

а2

0.25

1

0

 

 

а3

0.25

0

1

 

 

а4

0.1

0

0

1

 

а5

0.1

0

0

0

1

а6

0.5

0

0

0

0

lср = 2.4 бит

6

H = −pi log pi = 2.38 бит/символ – т.к. разделили неравномерно три столбца, лучше

i=1

не получиться.

KCC =

Hmax

= log2 6

=1.077

K =

2.38

= 0.99

 

lср

2.4

 

 

2.4

 

Блочное кодирование

Пусть первичный алфавит содержит 2-е буквы: а и б. p(A) = 0.7; p(B) = 0.3 H = - 0.7*log 0.7 – 0.3 log 0.3 = 0.881 бит/символ

Составим новый алфавит из 2-х буквенных комбинаций

АА

0.49

1

 

 

АВ

0.21

0

1

 

ВА

0.21

0

0

1

ВВ

0.09

0

0

0

Lср = 1 * 0.49 + 2 * 0.21 + 3 * 0.21 + 4 * 0.09 = 1.81 бит

 

На одну букву

 

 

ηср =

lср

= 0.905 бит < 1

lср > H

3%

 

2

 

 

 

Пример: Составим алфавит из трёх буквенных комбинаций.

Буква

Вероят.

1

2

3

4

ААА

0.343

1

1

 

 

ААВ

0.147

1

0

 

 

АВА

0.147

0

1

1

 

ВАА

0.147

0

1

0

 

АВВ

0.063

0

0

1

1

ВАВ

0.063

0

0

1

0

ВВА

0.063

0

0

0

1

ВВВ

0.027

0

0

0

0

lср = 2.686 бит

nср = l3ср = 0 .895 бит - это больше 1,5% и H, следовательно, можно делить по четыре

группы.

Избыточность от округления

Пример: Кодируются цифры от 0 до 10. Чтобы их представить в виде двоичных, надо

23<10<24

4 бита

1 символ – 4 бита

Кодируем блоки по 2 цифры

00

01

99

Для передачи информации с помощью двоичной системы 26<99<27 7 бит

На 1 символ: 7/ 2 = 3,5 бита

Кодируются блоки по 3 цифры

000

001 210 = 1024, 10 бит информации, следовательно, на один символ: 10/3 = 3,3 бита

999

Подсчитаем энтропию

Н = log n = log 10 = 3,32 бит

Чтобы определить избыточность, вызванную округлением, воспользуемся:

L log2 m1

,

где m1 – число символов первичного алфавита;

 

log2 m2

 

m2 – число символов вторичного алфавита;

 

 

 

L – длина кодовой комбинации.

Пример: Передается алфавит из 5 символов: 1, 2, 3, 4, 5, следовательно, m1=5 с помощью двоичных символов 0,1 , следовательно, m2=2.

Для передачи сообщения потребуется:

L = log2 5 = 2,32 бит log2 2

L = 3

D0 – избыточность от округления

 

 

D0

=

K μ

μ =

log 2 m1

,

μ - коэффициент;

K

log 2 m2

 

 

 

 

К – большее целое число.

 

 

 

 

 

 

D0 = 3 32,32 = 0,227

Пример: Определить избыточность сообщений от округления при побуквенном и поблочном кодировании, если кодируются цифровые сообщения и передаются в двоичном коде. Кодирование осуществляется блоками по 4, 5, 6 цифр.

Первичный алфавит m1=10 Вторичный алфавит m2 = 2

μ =

 

 

log2 m1

=

log2 10

=

3,32

 

 

 

 

 

 

 

log2 m2

 

log2 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D =

4 3,32

= 0,17,

т.к. K = 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m1=10000

 

m2=2

Первичный алфавит из 2-х букв

 

 

μ =

 

log 2 10000

=13,28;

K =14;

D0

=

14 13,28

= 0,0508

 

 

 

14

 

 

 

 

 

 

log 2 2

 

 

 

 

 

 

Первичный алфавит из блоков по пять

 

 

m1=100000

μ =

log 2 100000

=16,6;

K =17;

D0

=

17 16,6

 

= 0,023

 

 

 

17

 

 

 

 

 

 

 

log 2 2

 

 

 

 

 

 

Кодируются символы по шесть букв

 

m1=106

 

 

μ =

log

2

106

 

=19,928;

 

K = 20;

D =

20 19,928

= 0,0036 , следовательно, этот

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

log2 2

 

 

 

 

 

 

 

 

0

 

20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

алфавит наиболее близок к оптимальному.

Код Хаффмана

Пример: Дан алфавит из 6 букв с вероятностями. Построить троичный код Хафмана 0,

1, 2.

 

Требуемое число букв:

 

 

 

 

 

 

 

n = 3 + k * (3 - 1),

 

 

 

 

 

 

 

 

k = 1

 

n = 5

 

 

 

 

 

 

 

 

 

 

k = 2

 

n = 7

 

 

 

 

 

 

 

 

 

 

не хватает одной буквы а7 с вероятностью равной нулю

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А

 

 

 

 

 

С ж а т и е

Буква

 

Вероятность

 

 

А1

 

 

А2

 

а1

 

0

 

0,4

 

 

0

0,4

 

0,4

(0)

 

а2

 

2

 

0,2

 

 

2

0,2

 

0,4

(1)

 

а3

 

10

 

0,2

 

 

10

0,2

 

0,2

(2)

 

а4

 

11

 

0,1

 

 

11

0,1

 

 

 

 

а5

 

120

 

0,05

 

 

12

0,1

 

 

 

 

а6

 

121

 

0,05

 

 

 

 

 

 

 

 

 

а7

 

122

 

0

 

 

 

 

 

 

 

 

 

 

 

Подсчитаем энтропию

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

Н = −Pi log Pi

= 2,22 бит/ символ

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

lcp min

=

 

 

H

=

 

2,22

 

=1,4 бит

m – количество символов

 

 

log 2 m

 

 

 

 

 

 

 

 

 

 

log2 3

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

lcp Pi li

=1,5 бит

 

 

 

 

 

 

i=1

Основная теорема Шеннона о кодировании для дискретного канала без помех

Пример: Дан алфавит состоит из восьми букв и их вероятности. Рассмотрим процедуру кодирования

Буква

 

 

Вероятность

 

 

- log pi

li

Qi

коды

 

z1

 

 

 

1/4

 

 

 

 

 

 

2

2

0

00

 

z2

 

 

 

1/4

 

 

 

 

 

 

2

2

1/4

01

 

z3

 

 

 

1/8

 

 

 

 

 

 

3

3

2/4

100

 

z4

 

 

 

1/8

 

 

 

 

 

 

3

3

5/8

101

 

z5

 

 

 

1/8

 

 

 

 

 

 

3

3

6/8

110

 

z6

 

 

 

1/16

 

 

 

 

 

 

4

4

7/8

1110

 

z7

 

 

 

1/32

 

 

 

 

 

 

5

5

15/16

11110

 

z8

 

 

 

1/32

 

 

 

 

 

 

5

5

31/32

11111

Q1

= 000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q2

= 0

1

+1

1

+ 0

1

,...; 010

 

 

 

 

 

2

 

4

 

 

8

 

 

 

 

 

 

 

 

 

Q3

=1

1

+ 0

1

+ 0

1

,... ;100

 

 

 

 

 

 

2

 

2

 

 

8

 

 

 

 

 

 

 

 

 

Q4

=1

1

+ 0

1

+1

 

1

,...;101

 

 

 

 

 

 

 

2

 

4

 

 

8

 

 

 

1

 

 

 

 

 

Q5

=1

1

+1

1

+ 0

 

1

+ 0

 

,...;1100

 

 

2

4

 

8

16

 

 

 

 

 

 

 

 

 

 

 

 

 

Q6

=1

1

+1

1

+1

1 + 0

1

 

,... ;11100

 

 

2

4

16

 

 

 

 

 

 

 

8