Один бит — это минимально возможная порция информации. Да или нет?
Проверьте свои знания. Согласны ли вы с этим утверждением? Большинство участников акции «Открытая лабораторная» не смогло дать верный ответ.
Возможно, именно такое представление досталось вам после уроков информатики. У тех, кто впервые знакомится с компьютером, обычно складывается впечатление, что информация по своей природе дискретна (даже если значение самого этого слова остается туманным), а бит является минимально возможной ее порцией (вспоминаем нолики и единицы). На самом деле, это верно лишь применительно к двоичным цифровым компьютерам.
Их память действительно состоит из битов, которые имеют вполне конкретную физическую реализацию. Однако с точки зрения математической теории информации, количество данных является непрерывной величиной, аналогичной понятию энтропии (мере хаоса и упорядоченности) в физике.
То есть количество информации не обязательно должно быть двоичным, а сообщение может нести любое количество битов (в том числе нецелых) или быть меньше одного бита.
Двоичное сообщение (да/нет) несет 1 бит информации лишь при условии, что оба варианта являются равновероятными в потоке сообщений. Если же один из вариантов более вероятен, то сообщение о нем принесет менее 1 бита информации.
Рассмотрим следующую ситуацию, чтобы разобраться получше.
Мы играем в лотерею, в которой с равной вероятностью выигрывает 1 из 10 номеров. Мы ставим на определенный номер и хотим, чтобы нам сообщали, выиграли мы или проиграли в каждом розыгрыше. При этом розыгрышей будет два.
В двух розыгрышах возможно 4 исхода со следующими вероятностями:
● выиграл-выиграл — 1%
● выиграл-проиграл — 9%
● проиграл-выиграл — 9%
● проиграл-проиграл — 81%
Теперь кодируем эту информацию единичками и нулями (каждая цифра = 1 бит).
● выиграл-выиграл — 1% — 1110
● выиграл-проиграл — 9% — 110
● проиграл-выиграл — 9% — 10
● проиграл-проиграл — 81% — 0
А теперь посчитаем число битов, которое нам понадобится для передачи информации о двух розыгрышах:
1×81% + 2×9% + 3×9% + 4×1% = 0,81 + 0,18 + 0,27 + 0,04 = 1,3
Получается, что сообщение об исходе одного розыгрыша при выбранном способе кодирования несет не более чем 0,65 бита информации.
А вот если бы события «выиграл» и «проиграл» были равновероятны, то двоичное сообщение (0/1, да/нет) будет нести целый бит информации.