EssayAI
Блог
Блог
Математика и алгоритмы

Формула Хартли: как посчитать количество информации

11 июня 2026Время чтения: 7 минут
#формула хартли#количество информации#бит#равновероятные события#информатика

Формула Хартли - первая строгая мера количества информации: она отвечает на вопрос, сколько бит несёт сообщение о том, какой из N равновероятных исходов произошёл на самом деле. Её предложил инженер Ральф Хартли ещё в 1928 году, и с неё же обычно начинают тему измерения информации в школьном и вузовском курсе информатики. Ниже разберём саму формулу, условие равновероятности, без которого она не работает, и то, как перейти от абстрактного log2(N) к реальному числу бит, которое нужно под кодировку. Чтобы сразу увидеть, как число исходов превращается в биты, покрути калькулятор ниже - он строит ту же кривую логарифма, которую вы будете чертить в задачах, и одновременно считает объём целого сообщения.

Что означает формула Хартли

Пусть событие - это один из N возможных равновероятных исходов: цвет вынутого шара, буква в сообщении, ответ на вопрос с несколькими равновозможными вариантами. Формула Хартли даёт количество информации, которое несёт сообщение о том, какой именно исход реализовался:

I=log2N,I = \log_2 N,

где N - число равновероятных исходов, а I - количество информации в битах. Смысл формулы прозрачен: I показывает, сколько раз нужно разделить множество из N исходов пополам, чтобы остаться с единственным вариантом, то есть сколько двоичных вопросов «да/нет» нужно задать, чтобы гарантированно угадать исход. Формулу легко развернуть в обратную сторону: если известно, что сообщение несёт I бит и представляет собой один из равновероятных вариантов, то число этих вариантов равно N=2IN = 2^I.

Условие равновероятности и связь с формулой Шеннона

Ключевое ограничение формулы Хартли - все N исходов должны быть равновероятны, то есть вероятность каждого равна p=1/Np = 1/N. Если это не так (шестёрка на кубике выпадает не так часто, как определённая буква в тексте), нужна более общая формула Шеннона:

I=i=1Npilog2pi.I = -\sum_{i=1}^{N} p_i \log_2 p_i.

Легко проверить, что при равных вероятностях pi=1/Np_i = 1/N формула Шеннона превращается ровно в формулу Хартли - это её частный случай для однородного распределения. Подробный разбор общего случая - в статье про формулу Шеннона и количество информации.

Наглядно формула Хартли соответствует игре в угадывание числа бинарным поиском: если число загадано из диапазона в N вариантов, и на каждом шаге диапазон делится пополам, то количество обязательных вопросов равно log2N\log_2 N, округлённому вверх до целого.

Диапазон из N вариантов делится пополам на каждом вопросе «да/нет»; счётчик вопросов растёт на 1 при каждом делении, а число оставшихся вариантов падает до единицы ровно за log2(N) шагов

Почему log2(N) нужно округлять вверх

Формула Хартли в чистом виде часто даёт дробное число: например, log21006,644\log_2 100 \approx 6{,}644. Но реальная кодировка не умеет использовать «0,644 бита» - под каждый символ отводится целое число двоичных разрядов. Поэтому на практике вычисляют не сам логарифм, а ближайшее целое число бит, способное различить N вариантов:

i=log2N,i = \lceil \log_2 N \rceil,

то есть логарифм округляется вверх (в сторону большего целого), а не по обычным правилам округления. Округление вниз здесь недопустимо: если log21006,644\log_2 100 \approx 6{,}644 округлить до 6 бит, то 6 бит различают только 26=642^6 = 64 варианта - этого не хватит для 100 исходов, часть из них останется неразличимой. Округление вверх до 7 бит даёт запас: 27=1281002^7 = 128 \ge 100, и все варианты кодируются однозначно.

График зависимости I от N: плавная кривая log2(N) и ступенчатая линия ceil(log2 N) с измеренным разрывом при N = 100, где точная величина 6,644 бита округляется вверх до целых 7 бит
График зависимости I от N: плавная кривая log2(N) и ступенчатая линия ceil(log2 N) с измеренным разрывом при N = 100, где точная величина 6,644 бита округляется вверх до целых 7 бит

На графике видно, что ступенчатая линия всегда лежит на уровне ближайшей полки сверху от плавной кривой логарифма. Ступеньки происходят ровно в степенях двойки: при N=2,4,8,16,32,64,128,256N = 2, 4, 8, 16, 32, 64, 128, 256 значение log2N\log_2 N уже целое и округление ничего не меняет, а между соседними степенями двойки разрыв между кривой и ступенькой максимален у правого края интервала.

Информационный объём сообщения через мощность алфавита

Формулу Хартли часто применяют не к одному символу, а к целому сообщению. Если алфавит содержит N равновероятных символов, то на кодирование одного символа нужно i=log2Ni = \lceil \log_2 N \rceil бит. Тогда сообщение из n символов этого алфавита имеет информационный объём

V=ni,V = n \cdot i,

измеренный в битах; переводя в байты, делим результат на 8. Это стандартная связка «мощность алфавита → биты на символ → объём всего текста», на которой строится большинство задач про измерение информации в информатике.

Пример решения типовой задачи

Разберём классическую формулировку. Сообщение занимает 3 страницы, на каждой странице 25 строк, в каждой строке 30 символов. Алфавит, которым набрано сообщение, содержит 256 равновероятных символов. Нужно найти информационный объём сообщения в байтах.

Сначала находим число бит на один символ по формуле Хартли:

i=log2256=8 бит,i = \log_2 256 = 8 \ \text{бит},

и округлять здесь не нужно - 256 является точной степенью двойки (28=2562^8 = 256), поэтому логарифм уже целый. Далее считаем общее число символов в сообщении:

n=32530=2250 символов.n = 3 \cdot 25 \cdot 30 = 2250 \ \text{символов}.

Информационный объём сообщения в битах:

V=ni=22508=18000 бит.V = n \cdot i = 2250 \cdot 8 = 18\,000 \ \text{бит}.

Переводим в байты, разделив на 8:

Vбайт=180008=2250 байт2,2 Кбайт.V_{\text{байт}} = \frac{18\,000}{8} = 2250 \ \text{байт} \approx 2{,}2 \ \text{Кбайт}.

Такая цепочка - мощность алфавита, биты на символ, число символов, итоговый объём - встречается почти в каждой контрольной по этой теме, и калькулятор выше повторяет её автоматически при любых N и длине сообщения.

Частые ошибки

  • Применение формулы Хартли к неравновероятным событиям. Если исходы не равновозможны (буквы русского текста, грани несимметричного кубика), формула Хартли даёт неверный результат - нужна формула Шеннона с учётом вероятностей каждого события.
  • Округление log2N\log_2 N вниз вместо вверх. Дробную часть отбрасывать нельзя: округление всегда идёт в сторону большего целого, иначе часть исходов останется неразличимой при кодировании.
  • Путаница между I (точным логарифмом) и i (практическим числом бит). Первое - теоретическая мера в формуле Хартли, второе - реальное число разрядов кодировки; они совпадают только когда N - степень двойки.
  • Забытый перевод бит в байты. Итоговый объём информации часто нужен в байтах или килобайтах - не забывайте делить результат на 8 (и дальше на 1024 для Кбайт).
  • Подстановка вероятности вместо количества исходов. В формулу Хартли подставляется именно N - число вариантов, а не вероятность одного исхода p=1/Np = 1/N; их можно перепутать местами.

FAQ

Сколько бит несёт сообщение об одном из 8 равновероятных событий? По формуле Хартли I=log28=3I = \log_2 8 = 3 бита - восемь равновероятных исходов кодируются ровно тремя двоичными разрядами, округление здесь не требуется, так как 8 - степень двойки.

Как формула Хартли связана с двоичным поиском? Число обязательных вопросов «да/нет» для угадывания одного из N вариантов бинарным делением диапазона пополам равно log2N\lceil \log_2 N \rceil - то есть той же величине, что даёт формула Хартли, только уже округлённой до целого числа шагов.

Чем формула Хартли отличается от формулы Шеннона? Формула Хартли - частный случай формулы Шеннона для равновероятных исходов. Если вероятности событий разные, нужно применять общую формулу Шеннона с суммой pilog2pi-\sum p_i \log_2 p_i, которая учитывает неравномерность распределения.

Коротко

Формула Хартли I=log2NI = \log_2 N измеряет количество информации в сообщении об одном из N равновероятных исходов. На практике логарифм округляют вверх до целого числа бит i=log2Ni = \lceil \log_2 N \rceil, потому что кодировка не работает с дробными разрядами. Через мощность алфавита и число символов легко найти объём всего сообщения V=niV = n \cdot i, а сама формула Хартли - это частный случай более общей формулы Шеннона для равновероятных событий.

Доверьте текст нейросети EssayAI

Открыть EssayAI

Бесплатно, на русском языке и без VPN

Читайте также

Количество информации в сообщении о событии: формула

Количество информации в сообщении о событии: формула

Как посчитать количество информации в сообщении о событии по формуле Шеннона и Хартли: переход от вероятности к битам, разбор примера и частых ошибок в задачах.

11 июня 20267 минут
Формула Шеннона: количество информации в битах

Формула Шеннона: количество информации в битах

Формула Шеннона простыми словами: как измерить количество информации в битах, чем I = log2 N отличается от энтропии источника, как считать редкие события и где студенты ошибаются в задачах.

11 июня 20268 минут
Построение логической схемы по выражению: алгоритм

Построение логической схемы по выражению: алгоритм

Как построить логическую схему по логическому выражению: порядок сборки элементов И, ИЛИ, НЕ по приоритету операций, обозначения ГОСТ и разбор частых ошибок студентов.

11 июня 20268 минут
Представление чисел в обратном коде: перевод и формула

Представление чисел в обратном коде: перевод и формула

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

11 июня 20268 минут
Дополнительный код: представление отрицательных чисел

Дополнительный код: представление отрицательных чисел

Как работает дополнительный код в двоичных системах: диапазон значений, перевод отрицательного числа, разбор по весам разрядов, переполнение и типичные ошибки в задачах.

11 июня 20267 минут
Кодирование текста в ASCII: коды, биты и объём

Кодирование текста в ASCII: коды, биты и объём

Как работает кодирование текста в ASCII: что такое код символа, как перевести букву в двоичный и шестнадцатеричный вид, сколько бит и байт занимает строка и чем ASCII отличается от Unicode.

11 июня 20267 минут