Решение: Минимальная длина кодов
По каналу связи передаются сообщения, содержащие только восемь букв: А, Б, В, Г, Д, Е, Ж и З. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны. Какое наименьшее количество двоичных знаков требуется для кодирования трёх оставшихся букв?
| Буква | Кодовое слово |
|---|---|
| Г | 11 |
| Д | 1000 |
| Е | 010 |
| Ж | 1001 |
| З | 011 |
Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
Решение по шагам
3 шагаРассмотрим дерево двоичных кодов. Кодовые слова 010 и 011 занимают обе ветви после префикса 01, поэтому в ветви 00 для сохранения условия Фано можно разместить два слова 000 и 001.
$$l(000)=3,\quad l(001)=3$$Кодовые слова 1000 и 1001 занимают обе ветви после префикса 100. В другой ветви после 10 можно разместить слово 101, не являющееся началом других кодов.
$$l(101)=3$$Таким образом, для трёх оставшихся букв подходят кодовые слова 000, 001 и 101. Все они имеют длину 3, а условие Фано выполняется.
$$3+3+3=9$$Где здесь ошибаются
Учитывают только длины известных кодов, а не строят оставшиеся ветви дерева.
Используют кодовое слово, являющееся началом другого кодового слова.
Складывают количество кодовых слов вместо их длин.