Информатика. Элементы теорий вероятностей и информации

Содержание

Слайд 2

План лекции Алфавит, кодирование, код Типы кодирования, однозначное декодирование Метод кодирования

План лекции

Алфавит, кодирование, код
Типы кодирования, однозначное декодирование
Метод кодирования Хафмана
Метод кодирования Фано
Элементы

теорий вероятностей и информации – лекция 15
Модель информационной системы Шеннона
Среднестатистическая информационная емкость сообщений для эргодических источников с заданным распределением частот символов
Формулы Шеннона и Хартли для удельной емкости на символ
Избыточность кодирования
Слайд 3

Алфавитом называется конечное множество символов Сообщением алфавита А называется конечная последовательность

Алфавитом называется конечное множество символов
Сообщением алфавита А называется конечная последовательность символов

алфавита А
Множество всех сообщений алфавита А обозначается А*

Понятие кода

Слайд 4

Кодом называется отображение К : Алф1* —> Алф2*, согласованное с конкатенацией,

Кодом называется отображение К : Алф1* —> Алф2*, согласованное с конкатенацией,

т.е. удовлетворяющее равенству К(с1с2...сN) = К(с1) К(с2)... К(сN) для любого сообщения с1с2...сN из Алф1*
Значение К(с1с2...сN) называется кодом сообщения с1с2...сN
Код К : Алф1* —> {0,1}* называется двоичным кодом

Понятие кода

Слайд 5

Кодированием сообщения называется вычисление кода сообщения Декодированием (дешифровкой) сообщения называется вычисление

Кодированием сообщения называется вычисление кода сообщения
Декодированием (дешифровкой) сообщения называется вычисление его

прообраза под действием кода
Код К называется однозначно декодируемым, если существует обратная функция К-1
Если вычисление К-1 требует большого количества времени, то говорят не о кодировании, а о шифровании

Кодирование и декодирование

Слайд 6

Алф1 = {a,b,c,d} Алф2 = {0,1} К(а) = 0, К(b) =

Алф1 = {a,b,c,d}
Алф2 = {0,1}
К(а) = 0, К(b) = 01, К(с)

= 10, К(d) = 1
К-1(01101010) = {addbba, bссс, …} – прообраз 01101010
Данный код не является однозначно декодируемым

Пример 1

Слайд 7

Алф1 = {a,b,c,d} Алф2 = {0,1} К(а) = 0, К(b) =

Алф1 = {a,b,c,d}
Алф2 = {0,1}
К(а) = 0, К(b) = 10, К(с)

= 110, К(d) = 111
Почему данный код является однозначно декодируемым?

Пример 2

Слайд 8

Кодовое дерево Кодовым деревом кода К:Алф1 ->Алф2 называется такое дерево Т,

Кодовое дерево

Кодовым деревом кода К:Алф1 ->Алф2 называется такое дерево Т, с

рёбрами помеченными символами из Алф2, что
Любой путь из корня Т совпадает с началом кода какого-то символа из Алф1
Код любого символа из Алф1 соответствует какому-то пути из корня Т
Почему не всегда до листа?
Слайд 9

Пример кодового дерева Алф1 = {a,b,c,d} Алф2 = {0,1} К(а) =

Пример кодового дерева

Алф1 = {a,b,c,d}
Алф2 = {0,1}
К(а) = 0, К(b) =

01,
К(с) = 10, К(d) = 1
Почему у сообщения 01101010 два прообраза?

d

c

b

a

1

1

0

0

Слайд 10

Пример кодового дерева Алф1 = {a,b,c,d} Алф2 = {0,1} К(а) =

Пример кодового дерева

Алф1 = {a,b,c,d}
Алф2 = {0,1}
К(а) = 0, К(b) =

10,
К(с) = 110, К(d) = 111
Почему у любого сообщения один прообраз?

b

a

0

1

0

0

d

c

1

1

Слайд 11

Префиксный код Код К называется префиксным, если для любых двух сообщений

Префиксный код

Код К называется префиксным, если для любых двух сообщений U

и V код К(U) не является началом (префиксом) кода К(V) и наоборот
Свойства префиксного кода
В дереве префиксного кода коды всех символов заканчиваются в листьях
Префиксный код позволяет выделять коды символов без использования разделителей
Слайд 12

Примеры префиксных кодов Пример 1 Алф1 = {a,b,c,d} Алф2 = {0,1}

Примеры префиксных кодов

Пример 1
Алф1 = {a,b,c,d}
Алф2 = {0,1}
К(a) = 00, K(b)

= 01, K(c) = 10, K(d) = 11
Как выглядит кодовое дерево этого кода?
Слайд 13

Примеры префиксных кодов Пример 2 Алф1 = {a,b,c,d} Алф2 = {0,1}

Примеры префиксных кодов

Пример 2
Алф1 = {a,b,c,d}
Алф2 = {0,1}
К(а) = 0, К(b)

= 10, К(с) = 110, К(d) = 111
Как выглядит кодовое дерево этого кода?
Слайд 14

Однозначная декодируемость префиксного кода Теорема Любой префиксный код однозначно декодируем Доказательство

Однозначная декодируемость префиксного кода

Теорема Любой префиксный код однозначно декодируем
Доказательство
Пусть К –

префиксный код. Докажем, что у кода S=К(R) любого сообщения R ровно один прообраз
Индукция по длине L сообщений R
База L = 1
R восстанавливается однозначно в силу префиксности К
Что было бы, если бы коды двух разных символов являлись бы префиксом S
Шаг L > 1
К согласован с конкатенацией ==> найдётся символ с такой, что S = К(с) S'
Что бы было бы, если бы такого символа не было бы или бы он был бы не один бы?
К префиксный ==> символ с единственный
Длина прообраза S' строго меньше длины прообраза S
По предположению индукции S' декодируется однозначно
Слайд 15

Алф1 = {a,b,c,d} Алф2 = {0,1} К(a) = 0, К(b) =

Алф1 = {a,b,c,d}
Алф2 = {0,1}
К(a) = 0, К(b) = 101, К(c)

= 110, К(d) = 1110
Рассмотрим сообщение 01101010
01101010 = K(a) 1101010
1101010 = K(c) 1010
1010 = K(b) 0
0 = K(a)
K(acba) = 01101010

Пример

Слайд 16

Пример азбука Морзе 1840 Alfred Vail по заказу телеграфной компании Samuel

Пример азбука Морзе

1840 Alfred Vail по заказу телеграфной компании Samuel F.B.

Morse
Двоичный (точка, тире) непрефиксный код – почему?
Троичный (точка, тире, пауза) префиксный код – почему?
Кодовое дерево азбуки Морзе как двоичного кода для латиницы
Слайд 17

Понятие оптимального кода Обозначим Δ – множество кодов Алф1* -> Алф2*

Понятие оптимального кода

Обозначим
Δ – множество кодов Алф1* -> Алф2*
К – какой-то

код из Δ
R – произвольное сообщение из Алф1*
L(К, R) – длина R после кодирования
p х – число вхождений символа cх в R
заодно мы пронумеровали символы из Алф1, х – номер символа сх
Длина кода сообщения R есть L(К,R) = ∑ pх∙L (К, cх)
Код К* называется оптимальным для сообщения R в множестве кодов Δ, если L(К*,R) = min { длина(К,R) | K ∈ Δ }
Слайд 18

Оптимальный двочиный префиксный код Как быстро построить оптимальный двоичный префиксный код

Оптимальный двочиный префиксный код

Как быстро построить оптимальный двоичный префиксный код для

данного сообщения?
Использование
Сжатие данных при хранении и передаче
Устранение избыточности при шифровании данных
Алгоритм построения оптимального двоичного префиксного кода -- 1951, David A. Huffman, Massachusetts Institute of Technology
Оптимальный двоичный префиксный код не зависит от порядка символов в сообщении, только от частот отдельных символов
Связь с теорией информации
Слайд 19

Свойства оптимального двоичного префиксного кода Пусть R -- сообщение в алфавите

Свойства оптимального двоичного префиксного кода

Пусть R -- сообщение в алфавите Алф1={c1,…,cn}
сx

входит в R px раз (х=1,...,n)
К* -- оптимальный двоичный префиксный код для R
Если px < py, то Lx(К*) >= Ly (К*)
Иначе для кода К(сx) = К*(сy), К(сy) = К*(сx) и К(с) = К*(с) L(K,R) < L(K*,R)
Можно занумеровать символы Алф1 так, чтобы p1>=p2>=…>=pn и L(K*,с1)<=L(K*,с2)<=…<=L(K*,сn)
Слайд 20

Свойства оптимального двоичного префиксного кода Символов с кодом длины L(K*,сn) (с

Свойства оптимального двоичного префиксного кода

Символов с кодом длины L(K*,сn) (с самым

длинным кодом) не менее двух
Иначе удалим последний символ в коде сn -- длина L(K*, R) сократится, префиксность K* сохранится
Можно перенумеровать символы так, что К*(сn) = P 0 и К*(сn-1) = P 1 и сохранив условие 2
Следует из свойства 3
Слайд 21

Свойства оптимального двоичного префиксного кода Оптимальный двоичный префиксный код к* для

Свойства оптимального двоичного префиксного кода

Оптимальный двоичный префиксный код к* для сообщения

r, полученного из сообщения R заменой самого редкого символа сn на сn-1 , и К* связаны соотношениями
к*(сn-1) = удалить из К*(сn-1) последний символ
К*(сn) = к*(сn-1) 0
К*(сn-1) = к*(сn-1) 1
К*(с) = к*(с) для остальных символов с
L(K*,R) = L(k*,r) + pn + pn-1
Слайд 22

Построение дерева оптимального префиксного двоичного кода Вход Кратности p1, …, pn

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

Вход
Кратности p1, …, pn вхождений симолов

с1, ..., сn в сообщение
Выход
Дерево оптимального двоичного префиксного кода для сообщения
Алгоритм
W = {p1(c1), …, pn(cn)} – множество деревьев
Левая скобочная запись, кратности в качестве меток вершин
пока в W два или более поддеревьев
Найти в W деревья T = x(...) и U = y(...) с минимальными метками x и y
W = ( W \ {T, U} ) U { (x+y)(T, U) }
Слайд 23

кол около колокола o – 7; к – 4; л –

кол около колокола
o – 7; к – 4; л –

4; пробел – 2; a – 1.
Один из вариантов работы алгоритма
Множество W
До цикла {7(о), 4(к), 4(л), 2(пробел), 1(а) }
После шага 1 {7(о), 4(к), 4(л), 3(2(пробел), 1(а)) }
После шага 2 {7(о), 4(к), 7(4(л), 3(2(пробел), 1(а))) }
После шага 3 {7(о), 11(4(к), 7(4(л), 3(2(пробел), 1(а)))) }
После шага 4 {18(7(о), 11(4(к), 7(4(л), 3(2(пробел), 1(а))))) }

Пример

Слайд 24

пробел пробел о к л а Дерево после шага 1 Дерево после шага 2 л а

пробел

пробел

о

к

л

а

Дерево после шага 1

Дерево после шага 2

л

а

Слайд 25

к пробел 0 0 0 1 1 1 1 Дерево после

к

пробел

0

0

0

1

1

1

1

Дерево после шага 4

0

о

л

а

Слайд 26

Пример построения кода по кодовому дереву Пометим дуги, исходящие из каждой

Пример построения кода по кодовому дереву

Пометим дуги, исходящие из каждой вершины

дерева, единицей и нулем
Проходя путь из корня дерева до символа и выписывая все пометки дуг на этом пути, получим код для этого символа
В нашем примере коды будут такими
о 0,
к 10 пробел 1110
л 110 а 1111
Закодированное сообщение
10011011100100110011101001001001101111
Длина закодированного сообщения L = 39
Слайд 27

Для разобранного примера можно построить другое дерево Закодированное сообщение длины L = 39 010010110000100100011001001000010010111

Для разобранного примера можно построить другое дерево
Закодированное сообщение длины L =

39
010010110000100100011001001000010010111
Слайд 28

Теорема Длина кодового слова в оптимальном префиксном двоичном коде ограничена порядковым

Теорема
Длина кодового слова в оптимальном префиксном двоичном коде ограничена порядковым номером

минимального числа Фибоначчи, превосходящего длину входного текста.
Доказательство – в качестве упражнения
Следствие
При кодировании по алгоритму Хаффмана текстов ASCII размером до 11Tб код любого символа короче 64 битов
Слайд 29

Алфавит, кодирование, код Типы кодирования, однозначное декодирование Метод кодирования Хафмана Метод

Алфавит, кодирование, код
Типы кодирования, однозначное декодирование
Метод кодирования Хафмана
Метод кодирования Фано
Элементы теорий

вероятностей и информации – лекция 15
Модель информационной системы Шеннона
Среднестатистическая информационная емкость сообщений для эргодических источников с заданным распределением частот символов
Формулы Шеннона и Хартли для удельной емкости на символ
Избыточность кодирования
Слайд 30

Роберт Марио Фано р. 1917 Один из первых алгоритмов сжатия на основе префиксного кода Метод Фано

Роберт Марио Фано р. 1917
Один из первых алгоритмов сжатия на основе

префиксного кода

Метод Фано

Слайд 31

Упорядочим входной алфавит по возрастанию частот p1 Обозначим Sk = p1+p2+…+pk,

Упорядочим входной алфавит по возрастанию частот p1 <= p2 <= …

<= pn вхождения символов в сообщение
Обозначим Sk = p1+p2+…+pk, S0 = 0
Строим таблицу К с двоичными кодами символов входного алфавита
K[i][1] = i-й символ (по возрастанию частот)
K[i][2] = Sk
Остальные клетки – на след. слайде

Метод Фано

Слайд 32

K[i][j] заполняем 0 и 1 по след. правилу Для каждого максимального

K[i][j] заполняем 0 и 1 по след. правилу
Для каждого максимального интервала

строк [a, b], у которых в столбце j-1 находятся одинаковые цифры
Находим с ∈ [a, b] такое, что Sc ближе всего к (Sa+Sb)/2
K[i][j] = 1 для i ∈ [a, c], K[i][j] = 0 для i ∈ [c+1, b]

Метод Фано

Слайд 33

А = {a, b, c, d, e} Частоты pa = 0.11,

А = {a, b, c, d, e}
Частоты pa = 0.11, pb

= 0.15, pc = 0.20, pd = 0.24, pe = 0.30
0.46 ближе к 0.5
0.26 ближе всех к (0.00+0.46)/2=0.23
0.70 ближе всех к (0.46+1.00)/2=0.73
0.11 ближе всех к (0.00+0.26)/2=0.13

Пример

Слайд 34

Свойства кода Фано Кодовое дерево для кода Фано обладает следующим свойством

Свойства кода Фано

Кодовое дерево для кода Фано обладает следующим свойством
Ребра, исходящие

из корня, соответствуют разбиению алфавита на две группы символов, близкие по частоте
Ребра, исходящие из вершины следующего «этажа», соответствуют разбиению соответствующей группы на близкие по частоте подгруппы и т. д.
Код Фано – префиксный код
Почему?
Слайд 35

Свойства кода Фано Код Фано неоптимальный Пример Частоты p1=0.4, p2=p3=p4=p5=0.15 Фано:

Свойства кода Фано

Код Фано неоптимальный
Пример
Частоты p1=0.4, p2=p3=p4=p5=0.15
Фано: 00 01 10 110

111
средняя длина кодового слова 2*0.4+(2+2)*0.15+(3+3)*0.15 = 2.3
Хаффман: 0 010 011 000 001
средняя длина кодового слова 1*0.4+ (3+3+3+3)*0.15 = 2.2
Как выглядят кодовые деревья кода Хаффмана т Фано?
Слайд 36

Клод Шеннон 1916 – 2001, основоположник теории информации Упорядочим входные символы

Клод Шеннон 1916 – 2001, основоположник теории информации
Упорядочим входные символы по

возрастанию частот и образуем частичные суммы Sk как в методе Фано
Для каждой частоты Sk находим nk т.ч. 1/2^nk ≤ Sk ≤ 2/2^nk --- нужно отделить одну Sk от другой
Sk разлагаем в двочную дробь 0.d1d2d3….
Первые nk цифр этой дроби задают код для k-го символа

Метод Шеннона

Слайд 37

nk разложение Sk код p(a) = 0.08 Sa = 0.08 4

nk разложение Sk код
p(a) = 0.08 Sa = 0.08 4 0.0001 0001
p(b) =

0.12 Sb = 0.20 4 0.0011 0011
p(c) = 0.15 Sc = 0.35 3 0.010 010
p(d) = 0.28 Sd = 0.63 2 0.10 10
p(e) = 0.37 Sd = 1.00 2 0.11 11
Пример вычисления na:
0.08 ~= 1/12; 1/2^4 ≤ 1/12 ≤ 2/2^4

Пример построения кода Шеннона

Слайд 38

Код Шеннона -- префиксный код Почему? Пусть pk – частота вхождения

Код Шеннона -- префиксный код
Почему?
Пусть pk – частота вхождения k-го символа

в кодируемое сообщение длины N. Кодирование такого сообщения кодом Шеннона дает сообщение длины не более N*(p1*log2(p1) + p2*log2(p2) + … + pn*log2(pn))
Почему? Как Шеннон выбрал длины кодовых слов?

Свойства кода Шеннона

Слайд 39

Элементы теории информации Лекция 15

Элементы теории информации

Лекция 15

Слайд 40

The Bell System Technical Journal Vol. 27, pp. 379–423, 623–656, July,

The Bell System Technical Journal Vol. 27, pp. 379–423, 623–656, July, October,

1948
Имеются источник (кодер) и приемник (декодер)
Они связаны между собой каналом передачи символов
Символы – пример дискретного сигнала
Канал не искажает и не теряет символы
Какой нужен канал, чтобы передать данное сообщение (последовательность символов) за данное время?
За какое время можно передать данное сообщение по данному каналу?
За какое время нельзя передать данное сообщение по данному каналу без потерь?
Шеннон исследовал также передачу непрерывного сигнала и передачу с шумом

Информационная модель Клода Шеннона

Слайд 41

Каким должен быть канал, чтобы передать данное сообщение за данное время?

Каким должен быть канал, чтобы передать данное сообщение за данное время?
За

какое время можно передать данное сообщение по данному каналу?
Как измерять пропускную способность канала?
Если передача всех символов занимает одинаковое время, то используем символы в секунду
Как быть, если передача разных символов занимает разное время?

Информационная модель Клода Шеннона

Слайд 42

Как измерять пропускную способность канала? Если передача всех символов занимает одинаковое

Как измерять пропускную способность канала?
Если передача всех символов занимает одинаковое время,

то можно использовать символы в секунду
Как быть, если передача разных символов занимает разное время?
Пусть N(T) – число допустимых сообщений, передача которых занимает время T
Пропускная способность = предел log2(N(T))/T при Т --> oo
Выбор log2 обусловлен математическим и интуитивным удобством
Если появляется возможность передавать за время T на один двоичный символ больше, то N(T) возрастает в два раза
Пропускная способность – на 1/Т
Без скорость, вычисленная без log2, увеличилась бы в два раза

Информационная модель Клода Шеннона

Слайд 43

За какое время нельзя передать данное сообщение по данному каналу без

За какое время нельзя передать данное сообщение по данному каналу без

потерь? Как понять, что источник порождает больше
Как измерить скорость, с которой источник порождает информацию?
В общем случае – каково минимальное число 0 и 1, необходимых для однозначного восстановления сообщения с помощью подходящего алгоритма -- алгоритмическая сложность Коломогорова – алгоритмически невычислимая величина для произвольных сообщений

Информационная модель Клода Шеннона

Слайд 44

Как измерить скорость, с которой источник порождает информацию? В процессе передачи

Как измерить скорость, с которой источник порождает информацию?
В процессе передачи сообщения

источник "помогает" приемнику выбрать один из символов
При условии наличия у приемника и источника общего знания о передаваемом сообщении
Какое количество "выбора" содержится в каждом символе?
Шеннон рассмотрел случай, когда известны только частоты отдельных символов p1, p2, …, pn

Информационная модель Клода Шеннона

Слайд 45

Для случая , когда приемник и передатчик знают только частоты отдельных

Для случая , когда приемник и передатчик знают только частоты отдельных

символов p1, p2, …, pn, Шеннон сформулировал три требования к количеству "выбора" H(p1, p2, …, pn)
H должна быть непрерывна по pk
Значение H(1/n, 1/n, …, 1/n) должна возрастать по числу символов n
H(p1, p2, …, pn) = H(p1, ..., pn-1+pn) + (pn-1+pn)H(pn-1/(pn-1+pn), pn/(pn-1+pn))
H(1/2,1/3,1/6) = H(1/2,1/2)+1/2H(2/3,1/3)

Информационная модель Клода Шеннона

Слайд 46

Теорема Все функции, удовлетворяющие условиям 1-3, имеют вид H = -

Теорема Все функции, удовлетворяющие условиям 1-3, имеют вид
H = - c

∑ pk log(pk)

Информационная модель Клода Шеннона

Слайд 47

Будем говорить, что источник передал приемнику некоторую информацию о происшедшем событии,

Будем говорить, что источник передал приемнику некоторую
информацию о происшедшем событии, на

основании
которой изменилось представление приемника о множестве
возможных исходов наблюдаемой величины.
Определим количество информации, содержащейся в
сообщении т, изменяющем представление приемника о
событии с SДO до SП0CЛЕ по формуле
Единицей количества информации является бит.

(2)

Слайд 48

Пример 1 В семье должен родиться ребенок. Пространство элементарных исходов данной

Пример 1

В семье должен родиться ребенок.
Пространство элементарных исходов данной случайной
величины

— {мальчик, девочка}, — состоит из двух исходов.
Отсутствие априорной информации у приемника (родителей)
о поле малыша означает, что SДO совпадает с этим
пространством.
Сообщение источника (врача) «у вас родился мальчик» сужает
это множество предположений до множества SП0CЛЕ из
единственного исхода мальчик.
По формуле (12) количество полученной информации
определяется как

I(m)= -log2

-log2

=

= 1(бит).

Слайд 49

log22 = 1 – ? 1 бит соответствует сообщению о том,

log22 = 1 – ?
1 бит соответствует сообщению о том, что

произошло одно из двух равновероятных событий;
требуется один бит для хранения сообщений о двух равновероятных событиях.
Слайд 50

Пример 2 Из колоды вытягивается карта. Пространство элементарных исходов — 52

Пример 2

Из колоды вытягивается карта. Пространство элементарных исходов —
52 карты.

В отсутствие изначальной информации пространство
предположений SДO_1 совпадает со всем пространством.
Первое сообщение от источника «выпала трефа» сужает его до SПОСЛЕ_1 из 13
возможных исходов.
Второе сообщение «выпала картинка» сужает SДO_2 =SП0CЛЕ_1 до SП0CЛЕ
состоящего из 4 исходов.
Третье сообщение «выпала дама треф» сужает SДO_3 = SП0CЛЕ_3 до SП0CЛЕ_3,
состоящего из единственного исхода.
Количество информации, содержащееся в первом сообщении равно
-log2 13/52= 2 битам, во втором — -log2 4/13 = 1.5, в третьем — -log2 1/4 = 2
битам.
Нетрудно проверить, что суммарное количество полученной информации —
5.5 бит, совпадает с количеством информации, которое несло бы сообщение
«выпала дама треф» = -log2 1/52 = 5.5 бит.
Слайд 51

Теорема об аддитивности информации Теорема Количество информации, переносимое сообщением m1 &&

Теорема об аддитивности информации

Теорема
Количество информации, переносимое сообщением m1 && m2

&& … && mN, не зависит от порядка отдельных сообщений и равно сумме количеств информации, переносимых сообщениями m1, …, mN по отдельности.
Выберем какой-либо порядок передачи сообщений
I(W, m1) = log2(P(m1)/P(W))
I(m1, m1&&m2) = log2(P(m1&&m2)/P(m1))
I(m1 && m2 && … && m_N-1, m1 && m2 && … && mN) = log2(P(m1&&…&&mN)/P(m1&&…m_N-1))
Пример о двух источниках:
1 – p(что грань 5)=1; log Pпосле/Pдо = log 1/1 =0;
2 – p(что грань 5)=1/6; log Pпосле/Pдо = log 1/1/6 = log 6 ≈ 2,5 бит.
Свойства информации:
— количество полученной приемником информации зависит от его предварительного знания о событии;
— количество информации зависит не от события, а от сообщения о нем.
Слайд 52

Предположим теперь, что источник является генератором символов из некоторого множества {х1,

Предположим теперь, что источник является генератором символов из некоторого множества {х1,

х2, ...,хn} (назовем его алфавитом источника). Эти символы могут служить для обозначения каких-то элементарных событий, происходящих в области источника, но, абстрагируясь от них, в дальнейшем будем считать, что рассматриваемым событием является поступление в канал самих символов.
Если p(хi) — вероятность поступления в канал символа хi, то

Формулы Шеннона, Хартли

Слайд 53

Рассмотрим теперь модель, в которой элементарным исходом является текстовое сообщение. Таким

Рассмотрим теперь модель, в которой элементарным исходом является текстовое сообщение. Таким

образом, Ω — это множество всех цепочек символов произвольной длины.
По поступившему сообщению т можно посчитать экспериментальную частоту встречаемости в нем каждого символа, где N — общая длина сообщения, а ni — число повторений в нем символа xi.
Слайд 54

Понятно, что анализируя различные сообщения, мы будем получать различные экспериментальные частоты

Понятно, что анализируя различные сообщения, мы будем получать различные экспериментальные частоты

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

Рассмотрим сообщение m, состоящее из n1 символов x1, n2 символов x2

Рассмотрим сообщение m, состоящее из n1 символов x1, n2 символов x2

и т. д. в произвольном порядке, как серию элементарных событий, состоящих в выдаче одиночных символов.
Тогда вероятность появления на выходе источника сообщения m равна
Слайд 56

Количество информации, переносимой сообщением т длины N, определяется как Количество информации,

Количество информации, переносимой сообщением т
длины N, определяется как
Количество информации, приходящейся

в среднем на каждый
символ в сообщении m, есть
где N — длина сообщения m.
Слайд 57

Формула Шеннона Перейдем к пределу по длине всевозможных сообщений (N —>

Формула Шеннона
Перейдем к пределу по длине всевозможных сообщений (N —>

∞):
По формуле (14), вспоминая, что в достаточно большом сообщении
p(xi) = lim N->∞ , получаем

(5)

Слайд 58

Формула Хартли Величина I0 (A) характеризует среднее количество информации на один

Формула Хартли

Величина I0 (A) характеризует среднее количество информации на
один символ

из алфавита А с заданным (или экспериментально
определенным) распределением вероятностей
р(х1), р(х2), ... , р(хN).
Рассмотрим случай, когда все символы в алфавите равновероятны:
р(х1) = р(х2) . . . = р(хN) = 1/N .
Среднее количество информации, приходящееся на каждый символ
такого алфавита, по формуле Шеннона

(6)

Слайд 59

Событие, которое может произойти или нет, называют случайным. Примеры: попадание стрелка

Событие, которое может произойти или нет, называют случайным.
Примеры: попадание стрелка

в мишень,
извлечение дамы пик из колоды карт,
выигрыш билета в розыгрыше лотереи и т. д.
На основании отдельно взятого случайного события нельзя
научно предсказать, например, какие билеты окажутся
выигрышными. Но если провести достаточно большую
последовательность испытаний, то можно выявить
определенные закономерности, позволяющие делать
количественные предсказания.
Слайд 60

Определение Пространство элементарных событий (исходов) Ω – множество всех различных событий,

Определение

Пространство элементарных событий
(исходов) Ω – множество всех различных
событий, возможных при

проведении
эксперимента.
Элементарность исходов понимается в том
смысле, что ни один из них не рассматривается
как сочетание других событий.
Слайд 61

Примеры: Будем бросать монету до тех пор, пока не выпадет герб.

Примеры:

Будем бросать монету до тех пор, пока не выпадет герб.

После этого эксперимент закончим.
«Элементарный исход» этого эксперимента можно
представить в виде последовательности
р, р, р, ..., р, г (где р — решка, г — герб).
Таких последовательностей бесконечно много.
Следовательно, в данном случае множество Ω
бесконечно.
2) Однократное бросание игральной кости. Будем считать, что возможен только один из 6 исходов, соответствующих падению кости гранями с 1, 2,...,6 очками вверх. Каждый возможный исход удобно обозначать числом выпавших очков.
Тогда пространство элементарных событий Ω = {1,2,3,4,5,6}.
Слайд 62

Формула ω∈Ω означает, что элементарное событие ω является элементом пространства Ω.

Формула ω∈Ω означает, что элементарное событие ω является
элементом пространства Ω.
Многие события

естественно описывать множествами,
составленными из элементарных исходов.
Например, событие, состоящее в появлении четного
числа очков, описывается множеством S = {2,4,6}.
Формула S⊆Ω означает, что событие S является
подмножеством пространства Ω.
Случайная величина —> переменная
Элементарный исход —> значение переменной
Пространство элементарных исходов —> область значений
Событие —> подмножество области значений
Слайд 63

Определим формально меру события µ, как отображение из пространства Ω в

Определим формально меру события µ, как отображение из
пространства Ω в N,

обладающее следующими свойствами:
1) где - пустое множество, т.е. множество, не содержащее ни одного элемента;
2)
3) mu(S1 U S2)=mu(S1)+mu(S2)-mu(S1/\S2)
Слайд 64

Введем функцию p(S) вероятности события как численного выражения возможности события S

Введем функцию p(S) вероятности события как численного
выражения возможности события S на

заданном пространстве
элементарных исходов Ω следующим образом:
(1)
«Желательные» исходы - элементарные исходы, образующие событие S.
0 ≤ p(S) ≤ 1 р(0) = 0, р(Ω) = 1.
Событие с вероятностью 1 содержит все элементарные исходы и,
следовательно, происходит наверняка.
Событие с вероятностью 0 не содержит ни одного исхода,
следовательно, не происходит никогда.

Число желательных исходов
Число всех возможных исходов

Слайд 65

Говорят, что заданы вероятности элементарных событий, если на Ω задана неотрицательная числовая функция p такая, что:

Говорят, что заданы вероятности элементарных событий,
если на Ω задана неотрицательная

числовая функция p такая,
что:
Слайд 66

Вероятность того, что при бросании кости выпадет единица, равна Вероятность появления

Вероятность того, что при бросании кости выпадет единица,
равна
Вероятность появления

четного числа очков равна

Паскаль в письмах к Ферма в 1654 г. писал:
«Как велика вероятность, что когда я проснусь ночью и посмотрю на часы, то большая стрелка будет стоять между 15 и 20 минутами?»
И в этом же письме приводит рассуждения о том, что вероятность того, что стрелка часов будет находиться в этом промежутке, равна 5/60=1/12.

Слайд 67

Теорема о сложении вероятностей Если пересечение событий А и В непусто,

Теорема о сложении вероятностей

Если пересечение событий А и В непусто, то


р(А U В) = р(А) + р(В) - р(А ∩ В).
( Это следует из аксиомы 3 для меры. )
Пример. Найдем вероятность того, что вытащенная из полной
колоды карта окажется пикой или картинкой.
Пусть событию А соответствует извлечение из колоды карт пики,
событию В — картинки.
Для каждой карты из колоды вероятность вытащить ее равна 1/52.
Число пик в полной колоде равно 13. Следовательно, вероятность
события А равна 13/52=1/4. Число картинок равно 16, вероятность
события В равна 16/52 = 4/13.
События А и В имеют непустое пересечение. Множество А∩В cостоит
из четырех элементов,следовательно, р(А ∩ В) = 4/52 = 1/13.
р(А U В) = р(А) + р(В) - р(А ∩ В =1/4+4/13-1/13=25/52.
Вероятность того, что вытащенная из полной колоды карта окажется пикой
или червой равна равна 1/4 + 1/4 = 1/2.
Слайд 68

Теорема об умножении вероятностей Рассмотрим теперь серию экспериментов, в которой некоторая

Теорема об умножении вероятностей

Рассмотрим теперь серию экспериментов, в которой некоторая
случайная

величина наблюдается последовательно несколько
раз. Последовательные события называются независимыми,
если наступление каждого из них не связано ни с каким из
других.
Например, исходы при бросании кости являются
независимыми событиями, а последовательные вытягивания
карт из одной и той же колоды без возврата — нет.
Теорема. Вероятность того, что независимые события S1, S2
произойдут в одной серии испытаний, равна произведению
вероятностей событий S1 и S2.
Вероятность того, что обе монеты упадут гербом вверх равна 1/2 * 1/ 2 = 1/4.
Слайд 69

Определим формально меру события µ, как отображение из пространства Ω в N, обладающее следующими свойствами:

Определим формально меру события µ, как отображение из
пространства Ω в N,

обладающее следующими свойствами:
Слайд 70

КОНЕЦ ЛЕКЦИИ

КОНЕЦ ЛЕКЦИИ

Слайд 71

Избыточность кодирования Оказывается, что величина I0(А) определяет предел сжимаемости кода: никакой

Избыточность кодирования

Оказывается, что величина I0(А) определяет предел сжимаемости кода:
никакой двоичный

код не может иметь среднюю длину меньшую, чем I0,
в противном случае можно было бы передать некоторое количество
информации меньшим числом битов, что невозможно.
Таким образом, любой код может быть лишь в большей или меньшей
степени избыточным.
Относительная избыточность кода характеризуется как отношение числа
«избыточных» битов в коде к общей длине кода,
то избыточное число битов есть L−N * I0(A),
(сообщение из N символов алфавита А с информационной емкостью I0(A),
код длины L битов) а удельная избыточность каждого символа кода:

(7)

Слайд 72

Заметив, что lim N->∞ L/N - есть средняя длина кодового слова

Заметив, что lim N->∞ L/N - есть средняя длина кодового
слова K0(A),

получим независимое от сообщения соотношение
для избыточности кода:
Z(K) = 1 – I0(A)/K0(A).
Оптимальный код с нулевой избыточностью является код со
средней длиной кодового слова K0 = I0(A) битов или наиболее
близкий к нему.
Резюме. I0(А) показывает, какое в среднем количество двоичных символов
нужно для записи всех кодовых слов алфавита А при произвольном
кодировании «символ —> слово».
Для алфавитов с равновероятными символами формула Хартли определяет
минимальную необходимую длину кодового слова, например для алфавита
ASCII: I0(ASCII) = Iog2256 = 8 бит.
Таким образом, любой 8-битный код для ASCII будет оптимальным.
Слайд 73

Посчитаем информационную емкость кода: длина исходного сообщения N = 18, длина

Посчитаем информационную емкость кода: длина исходного
сообщения N = 18, длина кода

L = 39 битов.
Удельная информационная емкость алфавита А с распределением
Р есть
Избыточность кода
Слайд 74

Реализация проекта Архиватор должен вызываться из командной строки, формат вызова: harc.exe

Реализация проекта

Архиватор должен вызываться из командной строки,
формат вызова:
harc.exe –[axdlt] arc[.ext]

file_1 file_2 … file_n
Поддерживаемые операции:
a- поместить файл(ы) в архив;
x - извлечь файл(ы) из архива;
d - удалить файл(ы) из архива;
l - вывести информацию о файлах, хранящихся в архиве;
t - проверить целостность архива.
Слайд 75

Проверка целостности архива _stat, _wstat, _stati64, _wstati64 int _stat(const char* path,

Проверка целостности архива

_stat, _wstat, _stati64, _wstati64
int _stat(const char* path, struct _stat

*buffer);
#include
CRC32 – проверка контрольных сумм
Слайд 76

Построение дерева Хаффмана Вход: A – исходный набор символов , P=

Построение дерева Хаффмана

Вход:
A – исходный набор символов ,
P= - распределение их

частот;
– W0 = {,...,} (начальный набор свободных
узлов соответствует встречающимся символам);
– цикл по i от 0 до N-1
Wi = Шаг_построения(Wi-1);
Выход:
Дерево Хаффмана, построенное в цикле с корневым узлом, содержащимся в WN.
Слайд 77

Алгоритм: Определить алфавит А = { с1, с2 , ... ,

Алгоритм:
Определить алфавит А = { с1, с2 , ... , сn

} сообщения S и подсчитать число вхождений p1, p2, ... , pn в S
Построить дерево оптимального префиксного двоичного кода для S используя свойства 1-8 оптимального кода – полученный префиксный двоичный код называется кодом Хаффмана (1951, David A. Huffman, Massachusetts Institute of Technology)
Закодировать сообщение S используя код Хаффмана

Код Хаффмана

Слайд 78

Критерии качества кодирования: — минимальная длина кода; — однозначное декодирование.

Критерии качества кодирования:
— минимальная длина кода;
— однозначное декодирование.