Задание №4 — Префиксные коды, условие Фано
По каналу связи передаются шифрованные сообщения, содержащие только пять букв: А, Б, В, Г, Д. Для передачи используется неравномерный двоичный код. Для букв А, Б и В используются кодовые слова 101000, 111100, 000 соответственно.
Укажите минимальную сумму длин кодовых слов для букв Г и Д, при которой код будет удовлетворять условию Фано.
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
Правильный ответ
5
Пояснение
Решение:
Известно: А — 101000, Б — 111100, В — 000. Кодовые слова нужны ещё двум буквам — Г и Д, причём как можно короче.
Свободных слов длины 1 нет: 0 является началом слова 000 (буква В), а 1 — началом слов 101000 и 111100.
Среди слов длины 2: 00 является началом слова 000, 10 — началом слова 101000, 11 — началом слова 111100. Свободно только одно слово — 01.
Значит, длину 2 может получить лишь одна из двух букв, а второй достанется слово длины не менее 3. Такое слово есть: например, 001 (оно не является началом ни одного из слов 101000, 111100, 000, и они не являются его началом). Подходит и 100, и 110.
Минимальная сумма длин: .
Ответ: 5