4.3.1. Производительность интерфейса для Хола
Аккуратный подсчет есть путь к знаниям всех существующих вещей и тайных секретов.
Папирусы Рхинда, 1650г. до н. э.
Полезно подробно рассмотреть пример вычисления среднего количества информации, требуемого для некоего интерфейса. Для этого я снова использую пример интерфейса для перевода температур из одной шкалы в другую. В соответствии с условиями требуется, чтобы количество символов, вводимых в температурный преобразователь, равнялось в среднем 4. Кроме того, по условиям задачи десятичная точка используется однократно в 90% вводимых данных, а в 10% — вообще не встречается; знак минус появляется один раз в 25% данных и совсем не встречается в остальных 75% данных. Из соображений простоты, а также потому, что не требуется ответ с точностью до 1%, я буду исходить из того, что все остальные цифры встречаются с одинаковой частотой, и не буду учитывать те 10% данных, которые не содержат десятичной точки.
Требуется определить множество возможных вариантов ввода и их вероятности. Возможны 5 вариантов (d означает цифру):
-.dd
-d.d
.ddd
d.dd
dd.d
Первые два варианта встречаются в 12.5% случаев, и количество каждого из них составляет 100. Каждый из последних трех вариантов встречается в 25% случаев, и количество каждого из них составляет почти 1000.24 Вероятность каждого из первых двух вариантов ввода составляет (0.125/100)=0.00125. Вероятность любого из последних трех вариантов ввода составляет (0.75/3000)=0.00025. Сумма вероятностей, как это и должно быть, составляет 1.
Количество информации (в битах), передаваемое каждым вариантом, определяется выражением (2)25:
p(i) \log_2(1/p(i))
Значение этого выражения составляет приблизительно 0.012 для отрицательных значений ввода и 0.003 — для положительных. 200*0.00674+3000*0.003 дает в сумме 11.4 бита для каждого варианта ввода.
Важно учесть вероятности вариантов. Если использовать простой подход, в котором все 12 символов (минус, десятичная точка и 10 цифр) принять как равновероятные, то вероятность каждого символа составит 1/12, а количество информации, содержащейся в 4-значном варианте ввода, составит приблизительно