8-916-722-04-28ТелВКонтактеВКTelegramTgMAXMAX Пробный урокПробный урок

Формула Хартли, формула Шеннона, объёмный подход и единицы измерения информации

Что такое информация и зачем её измерять

В информатике под информацией понимают сведения об окружающем мире, которые снимают неопределённость знания об исходе некоторого события. Чтобы работать с информацией как с измеримой величиной — сравнивать сообщения между собой, оценивать необходимый объём памяти или скорость передачи данных по каналу связи, — нужен способ выразить её количество числом. В школьном курсе информатики используют два основных подхода к измерению информации: содержательный (вероятностный), основанный на понятии неопределённости, и алфавитный (объёмный), основанный на подсчёте символов текста и их информационного веса.

Содержательный подход опирается на такую идею: получение сообщения уменьшает неопределённость знания об исходе события. Если события равновероятны (например, при подбрасывании монеты исходы «орёл» и «решка» равновероятны), неопределённость перед опытом характеризуется количеством возможных исходов N. Сообщение о том, какой именно исход произошёл, несёт определённое количество информации I, связанное с N.

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

Для N равновероятных исходов количество информации I (в битах), содержащееся в сообщении об одном из них, вычисляется по формуле Хартли, предложенной американским инженером Ральфом Хартли в 1928 году:

I=log2N

Эту же формулу можно записать в обратной форме — через количество исходов, выражаемое известным количеством информации:

N=2I

Такая форма удобна, когда известно число бит, а нужно найти число вариантов, которые ими можно закодировать. Один бит — минимальная единица информации, соответствующая выбору из двух равновероятных вариантов: при N=2 получаем I=log₂2=1 бит.

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

Дано: в корзине лежат 32 шара, одинаковых по форме и размеру, но каждый — своего, отличного от других, цвета; вероятность вытащить наугад шар любого цвета одинакова. Сколько бит информации несёт сообщение о цвете вытащенного шара?

Решение. Число равновероятных исходов N=32. Применяем формулу Хартли:

I=log232=log225=5бит

Ответ: сообщение о цвете шара несёт 5 бит информации.

Пример 2. Обратная задача

Дано: сообщение о результате случайного равновероятного опыта несёт 4 бита информации. Сколько было возможных исходов опыта?

Решение. Используем обратную форму формулы Хартли:

N=24=16

Ответ: 16 равновероятных исходов.

Неравновероятные события и формула Шеннона

На практике исходы событий часто неравновероятны — например, буквы в тексте естественного языка встречаются с разной частотой: буква «о» встречается намного чаще буквы «ъ». В 1948 году Клод Шеннон обобщил формулу Хартли на случай, когда событие имеет N исходов с вероятностями p₁, p₂, …, pₙ (сумма всех вероятностей равна 1). Среднее количество информации, приходящееся на одно сообщение, вычисляется по формуле Шеннона (формуле энтропии):

I=−(p1·log2p1+p2·log2p2+...+pn·log2pn)

Если все вероятности равны между собой (pᵢ=1/N для всех i), формула Шеннона превращается в формулу Хартли — то есть формула Хартли является частным случаем формулы Шеннона для равновероятных исходов.

Пример 3. Применение формулы Шеннона

Дано: в непрозрачном мешке лежат 4 шара: 2 белых, 1 чёрный и 1 красный. Найдите количество информации, которое будет получено при сообщении о цвете одного случайно извлечённого шара.

Решение. Вероятности исходов: p(белый)=2/4=0,5; p(чёрный)=1/4=0,25; p(красный)=1/4=0,25. Подставляем в формулу Шеннона:

I=−(0,5·log20,5+0,25·log20,25+0,25·log20,25)

I=−(0,5·(−1)+0,25·(−2)+0,25·(−2))=0,5+0,5+0,5=1,5бит

Ответ: 1,5 бита.

Алфавитный (объёмный) подход

Алфавитный подход не связан со смыслом сообщения и вероятностями исходов — он определяет количество информации через мощность алфавита, из символов которого составлен текст. Если алфавит содержит N различных символов, используемых равновероятно, то информационный вес одного символа (в битах) также находится по формуле Хартли: I=log₂N. Например, алфавит из 256 символов (типичный размер таблицы однобайтовой кодировки) имеет информационный вес одного символа I=log₂256=8 бит, то есть ровно 1 байт.

Информационный объём текста

Зная информационный вес одного символа I и количество символов K в тексте, можно вычислить полный информационный объём сообщения V по формуле:

V=I·K

Эта формула — одна из самых часто встречающихся в задачах на измерение информации: сначала определяют мощность алфавита N (по условию задачи или по используемой кодировке), затем находят информационный вес символа I=log₂N по формуле Хартли, и наконец умножают его на число символов K в тексте.

Пример 4. Вычисление объёма текста

Дано: текст записан с использованием алфавита мощностью 64 символа и содержит 120 символов. Найдите информационный объём текста в битах и в байтах.

Решение. Информационный вес одного символа: I=log₂64=log₂2⁶=6 бит. Информационный объём всего текста:

V=I·K=6·120=720бит

Переведём результат в байты: 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 как на частный равновероятный случай. В следующей теме мы применим алфавитный подход к конкретной задаче — кодированию текстовой информации в компьютере, где мощность алфавита определяется выбранной таблицей кодировки.

Запишитесь на бесплатный урок

Определим уровень, покажем формат занятий и составим план подготовки.