Решение: Кодовое слово по условию Фано
По каналу связи передаются шифрованные сообщения, содержащие только десять букв: А, Б, Е, И, К, Л, Р, С, Т, У; для передачи используется неравномерный двоичный код. Для девяти букв используются кодовые слова.
Укажите кратчайшее кодовое слово для буквы Б, при котором код будет удовлетворять условию Фано. Если таких кодов несколько, укажите код с наименьшим числовым значением.
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
| Буква | Кодовое слово | Буква | Кодовое слово |
|---|---|---|---|
| А | 00 | Л | 1001 |
| Б | Р | 1110 | |
| Е | 010 | С | 1010 |
| И | 011 | Т | 1111 |
| К | 1011 | У | 110 |
Решение по шагам
4 шагаСлова $0$ и $1$ не подходят, поскольку являются началами нескольких заданных кодовых слов.
Слова длины 2 и 3 также не подходят: $00$, $01$, $10$ и $11$ либо уже заняты, либо являются началами существующих кодовых слов; их продолжения тоже нельзя использовать.
Рассмотрим свободные слова длины 4. Слово $1000$ не является началом или продолжением ни одного заданного кодового слова.
Другие свободные слова такой длины имеют большее числовое значение или нарушают условие Фано. Поэтому выбираем $1000$.
Где здесь ошибаются
Выбор слова, которое является началом уже существующего кодового слова.
Проверка только того, что новое слово не является началом старого, без проверки обратной ситуации.
Выбор первого подходящего кода без сравнения числовых значений.