Все задания за 4 курс 7 семестр / Основы теории информации / Примеры решения задач по контрольной работе
.pdf
Количественное определения избыточности
Пример: Пусть имеется два элемента 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.1−2 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 |
|
|
|
|
|
|
|
||||||
