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