Решение: Минимальная сумма длин кодов
Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д, Е, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы А использовали кодовое слово 1; для буквы Б — кодовое слово 01. Какова наименьшая возможная сумма длин кодовых слов для букв В, Г, Д, Е?
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
Решение по шагам
3 шагаКодовое слово 1 занимает всю ветвь, начинающуюся с 1. Кодовое слово 01 занимает ветвь 01, поэтому оставшиеся слова могут размещаться только в ветви 00.
Для четырёх букв в ветви 00 требуется четыре различных кодовых слова, не являющихся началами друг друга. Минимальный вариант — использовать все четыре продолжения длины 2: 0000, 0001, 0010 и 0011.
$$$|0000|=|0001|=|0010|=|0011|=4$$$Сумма длин кодовых слов для букв В, Г, Д, Е равна:
$$$4+4+4+4=16$$$Где здесь ошибаются
Учитывают длины кодовых слов 1 и 01, хотя требуется сумма только для букв В, Г, Д, Е.
Пытаются использовать кодовые слова, начинающиеся с 1 или 01, нарушая условие Фано.
Выбирают четыре слова внутри ветви 00 с разными длинами, из-за чего сумма получается больше минимальной.