Информационный вес символов алфавита
Когда ищут информационный вес символов алфавита, чаще всего нужен короткий ответ: сколько бит информации несёт один знак. Если в алфавите 64 символа, это 6 бит. Если 256 символов – 8 бит. Основа для всех таких задач одна: число вариантов переводят в биты через логарифм по основанию 2.
Как найти информационный вес символов алфавита?
Если все символы алфавита равновероятны, информационный вес одного символа находят по формуле:
i = log2 N
Здесь:
i– информационный вес одного символа в битах;N– мощность алфавита, то есть количество разных символов.
Например, для алфавита из 32 символов:
i = log2 32 = 5
Значит, один символ несёт 5 бит информации.
Если N – степень двойки, ответ получается целым. Если нет, значение будет дробным. Это нормально для теории информации.
Калькулятор по размеру алфавита N показывает точное значение log2 N и отдельно – сколько бит потребуется для двоичного кода фиксированной длины. Это особенно полезно для алфавитов на 26, 33, 100, 1 024 символа и любых других случаев, где теоретический вес и длина кода не совпадают. Для обратных задач также удобно видеть, сколько символов соответствует известному числу бит по формуле N = 2^i.
Ниже – таблица значений, которые чаще всего встречаются в задачах по информатике.
Мощность алфавита N | Информационный вес log2 N | Бит на символ в фиксированном двоичном коде |
|---|---|---|
| 2 | 1 | 1 |
| 4 | 2 | 2 |
| 8 | 3 | 3 |
| 16 | 4 | 4 |
| 26 | 4,70 | 5 |
| 32 | 5 | 5 |
| 33 | 5,04 | 6 |
| 64 | 6 | 6 |
| 128 | 7 | 7 |
| 256 | 8 | 8 |
| 1 024 | 10 | 10 |
Для быстрых ответов полезно помнить степени двойки: 2^5 = 32, 2^6 = 64, 2^7 = 128, 2^8 = 256.
Почему для 33 букв выходит не 5, а 6 бит
Это самая частая путаница.
Для полного русского алфавита из 33 букв теоретический информационный вес символа равен:
log2 33 ≈ 5,04 бита
Но если каждую букву нужно записывать двоичным кодом одинаковой длины, 5 бит уже не хватает. Пятью битами можно закодировать только 2^5 = 32 разных комбинации. Для 33-й буквы места нет. Поэтому приходится брать 6 бит, потому что 2^6 = 64.
Отсюда правило:
- если спрашивают информационный вес символа, обычно используют
log2 N; - если спрашивают сколько бит нужно для кодирования одного символа в двоичном коде фиксированной длины, берут минимальное целое число бит, которого достаточно для всех символов.
На примере латинского алфавита из 26 букв разница видна ещё лучше:
- информационный вес:
log2 26 ≈ 4,7 бита; - длина двоичного кода фиксированной длины: 5 бит.
Именно из-за этой разницы в одних задачах правильный ответ – 4,7, а в других – 5.
Как связаны вес символа и объём сообщения
Когда известен вес одного символа, объём сообщения считают так:
I = K × i
Где:
I– объём сообщения в битах;K– количество символов;i– информационный вес одного символа.
Если задача про фиксированное двоичное кодирование, вместо теоретического i используют число бит на символ в коде.
Пример 1
Алфавит содержит 64 символа. Сообщение состоит из 200 символов.
Сначала находим вес одного символа:
i = log2 64 = 6 бит
Теперь объём сообщения:
I = 200 × 6 = 1 200 бит
Если перевести в байты:
1 200 / 8 = 150 байт
Пример 2
Известно, что сообщение занимает 2 560 бит и записано алфавитом из 16 символов. Нужно найти число символов.
Для алфавита из 16 символов:
i = log2 16 = 4 бита
Тогда количество символов:
K = 2 560 / 4 = 640
Пример 3
Сообщение длиной 90 символов занимает 540 бит. Нужно найти мощность алфавита.
Сначала найдём вес одного символа:
i = 540 / 90 = 6 бит
Теперь восстановим мощность алфавита:
N = 2^6 = 64
Значит, алфавит содержит 64 символа.
Когда формулы log2 N уже недостаточно
Формула i = log2 N работает только тогда, когда все символы появляются с одинаковой вероятностью.
Если вероятности разные, количество информации в конкретном символе зависит от того, насколько он редок. Тогда используют формулу Шеннона:
i(x) = -log2 p(x)
Здесь p(x) – вероятность появления символа x.
Простой пример:
- если символ появляется с вероятностью
1/2, его вес равен1 бит; - если с вероятностью
1/4, вес равен2 бита; - если с вероятностью
1/8, вес равен3 бита.
Чем реже символ, тем больше информации несёт его появление.
Для школьных задач это означает одно: если в условии не сказано про разные вероятности, почти всегда подразумевают равновероятный выбор и формулу log2 N.
Алгоритм для задач из ОГЭ и ЕГЭ
Чтобы не путаться в формулах, удобно идти по короткой схеме.
Сначала определите, что именно спрашивают:
вес символа, длину кода, объём сообщения или мощность алфавита.Если речь о равновероятных символах и именно об информационном весе, используйте:
i = log2 N.Если спрашивают, сколько бит нужно для кодирования одного символа двоичным кодом одинаковой длины, берите минимальное целое число бит, которое покрывает все символы.
Если известна длина сообщения, используйте связь:
I = K × i
илиI = K × n,
гдеn– длина кода на символ.Если нужно восстановить размер алфавита по известному весу, применяйте обратную формулу:
N = 2^i.
На экзамене это экономит время: вы сразу понимаете, нужна ли дробная величина log2 N или целое число бит для кодирования.
Ошибки, из-за которых теряют баллы
Первая ошибка – смешивать информационный вес символа и длину двоичного кода. Для 33 символов это не одно и то же: 5,04 и 6 – разные ответы для разных вопросов.
Вторая ошибка – забывать про единицы измерения. В задаче могут просить ответ в битах, байтах, килобайтах. Напоминание простое: 1 байт = 8 бит.
Третья ошибка – автоматически писать N = 2^i, даже когда в условии спрашивают про код фиксированной длины. Если алфавит не является степенью двойки, ответ нужно проверять отдельно.
Четвёртая ошибка – не замечать фразу про вероятность символов. Если в условии даны вероятности, формула log2 N уже может не подойти.
Что запомнить за минуту
Для большинства задач достаточно двух идей:
- информационный вес символа при равновероятном выборе:
i = log2 N; - минимальное число бит для двоичного кода фиксированной длины: ближайшее целое сверху от
log2 N.
Если алфавит состоит из 32 символов, это 5 бит.
Если из 64 – 6 бит.
Если из 256 – 8 бит.
Если символов 33, различайте теорию информации и практическое кодирование: 5,04 против 6.
Если нужно быстро проверить ответ или решить обратную задачу по количеству бит, используйте калькулятор выше: он сразу показывает обе величины и убирает самую частую путаницу в этой теме.
Часто задаваемые вопросы
Чем информационный вес символа отличается от объёма сообщения?
Информационный вес символа показывает, сколько бит приходится на один знак. Объём сообщения – это уже суммарное количество информации во всей последовательности символов. Чтобы найти объём, обычно умножают вес одного символа на количество символов в сообщении.
Почему в школьных задачах русский алфавит иногда считают равным 32 символам?
Так делают в упрощённых моделях, когда из рассмотрения исключают букву Ё или используют условный алфавит для удобства счёта. Тогда вес символа получается ровно 5 бит, потому что 32 = 2^5. Для полного русского алфавита из 33 букв результат уже другой.
Можно ли найти вес символа по длине сообщения в битах?
Да, если известны общий объём сообщения и число символов. Тогда вес одного символа находят делением: i = I / K, где I – объём в битах, а K – количество символов. После этого можно восстановить и мощность алфавита по формуле N = 2^i.
Что означает мощность алфавита?
Мощность алфавита – это количество разных символов, которые допускаются в сообщении. Например, у двоичного алфавита мощность 2, у десятичного набора цифр – 10, у расширенного байтового набора часто рассматривают 256 символов. В формулах её обозначают буквой N.
Какой ответ верный для алфавита из 26 символов: 4,7 или 5 бит?
Оба ответа могут быть верными, но в разных постановках. Теоретический информационный вес равен log2 26 ≈ 4,7 бита. Если же спрашивают минимальную длину двоичного кода фиксированной длины для одного символа, нужно 5 бит, потому что 2^4 недостаточно, а 2^5 уже хватает.
Когда используют формулу -log2 p?
Эту формулу применяют, когда символы появляются с разной вероятностью. Тогда количество информации зависит не только от размера алфавита, но и от редкости конкретного символа: чем он менее вероятен, тем больше информации несёт его появление. Это уже задача классической теории информации Шеннона.