Задание №4 — Префиксные коды, условие Фано
По каналу связи передаются шифрованные сообщения, содержащие только пять букв: А, Б, В, Г, Д. Для передачи используется неравномерный двоичный код. Для букв А, Б, В и Г используются кодовые слова 00, 01, 10 и 111 соответственно.
Укажите самое короткое кодовое слово для буквы Д, при котором код не будет удовлетворять условию Фано, при этом в записи самого этого слова должно использоваться более одного символа, а само слово не должно совпадать ни с одним из используемых слов для кодирования букв А, Б, В и Г. Если таких слов несколько, то укажите слово с минимальным числовым значением.
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
Правильный ответ
11
Пояснение
Решение:
Здесь, в отличие от обычной постановки, нужно, наоборот, нарушить условие Фано: код буквы Д должен быть началом какого-то из уже имеющихся кодов либо какой-то имеющийся код должен быть началом кода буквы Д. Дополнительно слово должно быть длиннее одного знака и не совпадать с кодами 00, 01, 10 и 111.
Ищем самое короткое такое слово, значит начинаем с длины 2. Кандидатов всего четыре: 00, 01, 10 и 11. Первые три совпадают с кодами букв А, Б и В, поэтому отпадают. Остаётся слово 11.
Проверяем его: слово 11 является началом кода 111 буквы Г, значит условие Фано действительно нарушается. Все требования выполнены, и других кандидатов длины 2 нет, так что выбирать наименьшее числовое значение не из чего.
Ответ: 11