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