Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы теории информации.docx
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
172.57 Кб
Скачать

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

В теории информации доказываются следующие леммы:

Лемма 1.Число различных двоичных слов длины k равно 2k

Лемма 2. Множество N допускает однозначное двоичное кодирование с длинами кодов, не превосходящими k, в том и только в том случае, когда число элементов множества N не превосходит 2k.

Согласно леммам 1 и 2, длина кода при двоичном кодировании одного символа из алфавита мощности N =2k (то есть алфавита, состоящего ровно из N различных символов) равна k.

Это позволяет давать эффективные оценки на минимально необходимый объем памяти компьютера для запоминания различного рода данных.

Например, кодирование сообщений на русском языке можно осуществлять с помощью алфавита, состоящего из 32 = 25 различных символов (без буквы Ё). Тогда один символ при равномерном двоичном кодировании (одинаковой длине двоичного слова для каждого символа алфавита) будет занимать 5 бит памяти, а не 8 бит, как при ASCII-кодировании текстовой информации вообще.

Чтобы подсчитать объем памяти, который займет сообщение из символов такого алфавита, нужно 5 бит умножить на количество символов в сообщении.

Количество информации, которое вмещает один символ N-элементного алфавита, определяется по формуле Хартли: k = log 2 N По-другому, количество информации, полученное при выборе одного предмета из N равнозначных предметов, равно k = log2 N

Задача 1

Рассмотрим проблему кодирования результатов голосования. Пусть имеются три варианта голосования:"за", "против" и "воздержался". Требуется закодировать результаты голосования, содержащиеся в N бюллетенях.

Применение формулы Хартли

Вопрос: Какова сложность алгоритмов сортировки, оптимальных по числу сравнений?

Ответ: Отсортировать произвольный массив с точки зрения теории информации - это значит найти одну из n!=1*2*3 ... * n перестановок всех N элементов данного массива. Сравнения элементов между собой в данном соответствуют задаваемым вопросам с возможными вариантами ответов "да" или "нет". Тогда по формуле Хартли для сортировки элементов в худшем случае потребуется получит не менее log2N! операций сравнения элементов между собой. Для оценки значения N! при больших N в математике применяют формулу Стирлинга:

Пример 1

В задаче 1 (из предыдущего раздела) шла речь о кодировании результатов голосования. При этом каждый бюллетень содержал в себе один из трех возможных исходов голосования. Если за единицу измерения информации принять количество информации, которое можно передать одним символом трехсимвольного алфавита ("+","-","0") , что соответствует уменьшению неопределенности в три раза, то каждый бюллетень будет содержать ровно одну такую единицу информации.

Формула Шеннона

Для определения количества информации не всегда возможно использовать формулу Хартли. Её применяют, когда выбор любого элемента из множества, содержащего N элементов, равнозначен. Или, при алфавитном подходе, все символы алфавита встречаются в сообщениях, записанных с помощью этого алфавита, одинаково часто. Однако, в действительности символы алфавитов естественных языков в сообщениях появляются с разной частотой.

Пусть мы имеем алфавит, состоящий из N символов, с частотной характеристикой P1 , P2 , . . . PN , где Pi - вероятность появления i – го символа. Все вероятности неотрицательны и их сумма равна 1. Тогда средний информационный вес символа (количество информации, содержащееся в символе) такого алфавита выражается формулой Шеннона: H = P1 log2 (1/ P1) + P2 log2 (1/ P2) + . . . + PN log2 (1/ PN) где H – количество информации, N – количество возможных событий, Pi – вероятность отдельных событий

Энтропия - мера внутренней неупорядоченности информационной системы. Энтропия увеличивается при хаотическом распределении информационных ресурсов и уменьшается при их упорядочении.

Энтропия термодинамической системы определяется как натуральный логарифм от числа различных микросостояний Z, соответствующих данному макроскопическому состоянию (например, состоянию с заданной полной энергией)

Коэффициент пропорциональности k и есть постоянная Больцман

Экономное кодирование

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

Рассмотрим пример:

Сообщение о том, что бутерброд упал маслом вниз несет в себе менее 1 бита информации. Но, как известно, со стола бутерброд падает маслом вниз почти всегда. И даже в том случае, если м будем бросать будерброд несколько раз, а результаты экспериментов будем записывать символами 0 и 1, то и в среднем один символ полученного двоичного кода будет нести менее одного бита информации в среднем.

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

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

Для кодирования фамилий мы можем использовать 32-символьный алфавит (приравняв значения букв "Е" и "Ё"). Для кодирования алфавита состоящего из 32 символов достаточно 5 бит ( ).

К примеру, фамилия Белов несет в себе 25 бит информации согласно алфавитному подходу. С учетом частоты появления русских букв и закона аддитивности информации информативность этой же фамилии равна 23 битам.

Можно использовать другой подход к измерению информации, если отдельно кодировать корни фамилий и их окончания. Тогда можно обойтись меньшим количеством бит. Так, окончание "ов" встречается как минимум в половине мужских русских фамилий, и согласно нашему подходу, будет нести в себе один бит информации. Корень "Бел" встречается, к примеру, один раз на 128 фамилий, следовательно для его кодирования необходимо 7 бит. Тогда общий код фамилии "Белов" теоритически может занимать всего лишь один байт!

Далее: практические задания по теме, энтропия, свойства энтропии с доказательствами

Задания:

1. Вычислить какое количество информации будет содержать зрительное сообщение о цвете вынутого шарика, если в непрозрачном мешочке хранятся 10 белых, 20 красных, 30 синих и 40 зеленых шариков.

Решение: Всего шариков 10 + 20 +30 +40 = 100 Вероятности сообщений о цвете следующие: Рб = 10/100 =0,1; Рк = 20/100 =0,2; Рс = 30/100 =0,3; Рз = 40/100 =0,4 События не равновероятны, поэтому воспользуемся формулой Шеннона: N H=- ? Pi log 2Pi = - (0,1• log2 0,1+ 0,2• log2 0,2+ 0,3• log2 0,3+ 0,4• log2 0,4) бит i=1

2. Вычислить какое количество информации будет содержать зрительное сообщение о цвете вынутого шарика, если в непрозрачном мешочке хранятся 30 белых, 30 красных, 30 синих и 10 зеленых шариков.

Решение: Всего шариков 30 + 30 +30 +10 = 100 Вероятности сообщений о цвете следующие: Рб = Рк = Рс = 30/100 =0,3; Рз = 10/100 =0,1 События не равновероятны, поэтому воспользуемся формулой Шеннона: N H=- ? Pi log 2Pi = - (3 • 0,3• log2 0,3+ 0,1• log2 0,1) бит i=1 Ответ: ? бита

3. Вычислить какое количество информации будет содержать зрительное сообщение о цвете вынутого шарика, если в непрозрачном мешочке хранятся 25 белых, 25 красных, 25 синих и 25 зеленых шариков.

Решение: Всего шариков 25 + 25 +25 +25 = 100 Вероятности сообщений о цвете следующие: Рб = Рк = Рс = Рз = 25/100 =1/4 События не равновероятны, поэтому воспользуемся формулой Шеннона: N H = - ? Pi log 2Pi = - (4 • 1/4• log2 1/4) = - (4 • 1/4• (-2)) = 2 бита i=1 Ответ: 2 бита