Формула Хартли, формула Шеннона, объёмный подход и единицы измерения информации
Что такое информация и зачем её измерять
В информатике под информацией понимают сведения об окружающем мире, которые снимают неопределённость знания об исходе некоторого события. Чтобы работать с информацией как с измеримой величиной — сравнивать сообщения между собой, оценивать необходимый объём памяти или скорость передачи данных по каналу связи, — нужен способ выразить её количество числом. В школьном курсе информатики используют два основных подхода к измерению информации: содержательный (вероятностный), основанный на понятии неопределённости, и алфавитный (объёмный), основанный на подсчёте символов текста и их информационного веса.
Содержательный подход опирается на такую идею: получение сообщения уменьшает неопределённость знания об исходе события. Если события равновероятны (например, при подбрасывании монеты исходы «орёл» и «решка» равновероятны), неопределённость перед опытом характеризуется количеством возможных исходов N. Сообщение о том, какой именно исход произошёл, несёт определённое количество информации I, связанное с N.
Формула Хартли
Для N равновероятных исходов количество информации I (в битах), содержащееся в сообщении об одном из них, вычисляется по формуле Хартли, предложенной американским инженером Ральфом Хартли в 1928 году:
Эту же формулу можно записать в обратной форме — через количество исходов, выражаемое известным количеством информации:
Такая форма удобна, когда известно число бит, а нужно найти число вариантов, которые ими можно закодировать. Один бит — минимальная единица информации, соответствующая выбору из двух равновероятных вариантов: при N=2 получаем I=log₂2=1 бит.
Пример 1. Применение формулы Хартли
Дано: в корзине лежат 32 шара, одинаковых по форме и размеру, но каждый — своего, отличного от других, цвета; вероятность вытащить наугад шар любого цвета одинакова. Сколько бит информации несёт сообщение о цвете вытащенного шара?
Решение. Число равновероятных исходов N=32. Применяем формулу Хартли:
Ответ: сообщение о цвете шара несёт 5 бит информации.
Пример 2. Обратная задача
Дано: сообщение о результате случайного равновероятного опыта несёт 4 бита информации. Сколько было возможных исходов опыта?
Решение. Используем обратную форму формулы Хартли:
Ответ: 16 равновероятных исходов.
Неравновероятные события и формула Шеннона
На практике исходы событий часто неравновероятны — например, буквы в тексте естественного языка встречаются с разной частотой: буква «о» встречается намного чаще буквы «ъ». В 1948 году Клод Шеннон обобщил формулу Хартли на случай, когда событие имеет N исходов с вероятностями p₁, p₂, …, pₙ (сумма всех вероятностей равна 1). Среднее количество информации, приходящееся на одно сообщение, вычисляется по формуле Шеннона (формуле энтропии):
Если все вероятности равны между собой (pᵢ=1/N для всех i), формула Шеннона превращается в формулу Хартли — то есть формула Хартли является частным случаем формулы Шеннона для равновероятных исходов.
Пример 3. Применение формулы Шеннона
Дано: в непрозрачном мешке лежат 4 шара: 2 белых, 1 чёрный и 1 красный. Найдите количество информации, которое будет получено при сообщении о цвете одного случайно извлечённого шара.
Решение. Вероятности исходов: p(белый)=2/4=0,5; p(чёрный)=1/4=0,25; p(красный)=1/4=0,25. Подставляем в формулу Шеннона:
Ответ: 1,5 бита.
Алфавитный (объёмный) подход
Алфавитный подход не связан со смыслом сообщения и вероятностями исходов — он определяет количество информации через мощность алфавита, из символов которого составлен текст. Если алфавит содержит N различных символов, используемых равновероятно, то информационный вес одного символа (в битах) также находится по формуле Хартли: I=log₂N. Например, алфавит из 256 символов (типичный размер таблицы однобайтовой кодировки) имеет информационный вес одного символа I=log₂256=8 бит, то есть ровно 1 байт.
Информационный объём текста
Зная информационный вес одного символа I и количество символов K в тексте, можно вычислить полный информационный объём сообщения V по формуле:
Эта формула — одна из самых часто встречающихся в задачах на измерение информации: сначала определяют мощность алфавита N (по условию задачи или по используемой кодировке), затем находят информационный вес символа I=log₂N по формуле Хартли, и наконец умножают его на число символов K в тексте.
Пример 4. Вычисление объёма текста
Дано: текст записан с использованием алфавита мощностью 64 символа и содержит 120 символов. Найдите информационный объём текста в битах и в байтах.
Решение. Информационный вес одного символа: I=log₂64=log₂2⁶=6 бит. Информационный объём всего текста:
Переведём результат в байты: 720/8 = 90 байт.
Ответ: 720 бит, или 90 байт.
Единицы измерения информации
В информатике для удобства используют укрупнённые единицы измерения количества информации, каждая следующая из которых в 2¹⁰=1024 раза больше предыдущей (а не в 1000 раз, как в метрической системе для физических величин):
| Единица | Обозначение | Соотношение с предыдущей |
|---|---|---|
бит | бит | минимальная единица информации |
байт | байт | 1 байт = 8 бит |
килобайт | Кбайт | 1 Кбайт = 2¹⁰ байт = 1024 байт |
мегабайт | Мбайт | 1 Мбайт = 2¹⁰ Кбайт = 1024 Кбайт |
гигабайт | Гбайт | 1 Гбайт = 2¹⁰ Мбайт = 1024 Мбайт |
Программная иллюстрация: вычисление количества информации
Рассмотрим короткую программу на Python, которая вычисляет количество информации по формуле Хартли для введённого числа равновероятных исходов, а также решает обратную задачу — находит число исходов по известному целому количеству бит.
import math
def hartley_bits(n):
"""Возвращает количество бит для N равновероятных исходов."""
return math.log2(n)
def hartley_outcomes(i):
"""Возвращает число равновероятных исходов по количеству бит."""
return 2 ** i
n = 32
i = hartley_bits(n)
print(f"N = {n}, I = {i} бит")
i = 4
n = hartley_outcomes(i)
print(f"I = {i} бит, N = {n}")
Обратите внимание: функция math.log2 возвращает вещественное число. Чтобы проверить, что N является точной степенью двойки (то есть задача имеет «красивое» целочисленное решение), удобно сравнивать полученное значение с его округлением до ближайшего целого.
Типичные ошибки
Одна из самых частых ошибок — применение формулы Хартли к заведомо неравновероятным событиям (например, к буквам естественного языка) без учёта частот их появления, что даёт заниженный или искажённый результат; в таких случаях нужна формула Шеннона. Вторая ошибка — путаница между мощностью алфавита N (числом различных символов) и количеством символов в самом тексте K: первое используется в формуле Хартли для нахождения информационного веса одного символа, второе — как множитель в формуле объёма текста V=I·K. Третья распространённая ошибка — использование множителя 1000 вместо 1024 при переводе между Кбайт, Мбайт и Гбайт: в информатике эти единицы образуют степени двойки, а не степени десяти.
Краткий словарь терминов
Бит — минимальная единица измерения количества информации, соответствующая одному равновероятному выбору из двух вариантов.
Формула Хартли — I=log₂N — количество информации, содержащееся в сообщении об одном из N равновероятных исходов события.
Формула Шеннона — формула для вычисления среднего количества информации при неравновероятных исходах события, обобщающая формулу Хартли.
Содержательный подход — способ измерения информации через уменьшение неопределённости знания об исходе события.
Алфавитный подход — способ измерения информации через мощность алфавита и количество символов в сообщении, не зависящий от смысла текста.
Информационный вес символа — количество бит, приходящееся на один символ алфавита; вычисляется по формуле Хартли I=log₂N, где N — мощность алфавита.
Килобайт — укрупнённая единица измерения информации, равная 2¹⁰=1024 байт.
Заключение
Содержательный и алфавитный подходы дают два разных, но согласованных способа измерения количества информации: первый опирается на вероятность исходов случайного события и годится для оценки информации в сообщениях о случайных событиях, второй — на мощность алфавита и длину текста и удобен для вычисления объёма хранимых и передаваемых данных. Оба подхода опираются на одну и ту же формулу Хартли I=log₂N как на частный равновероятный случай. В следующей теме мы применим алфавитный подход к конкретной задаче — кодированию текстовой информации в компьютере, где мощность алфавита определяется выбранной таблицей кодировки.



