Решение: Кодовое слово по Фано
По каналу связи передаются шифрованные сообщения, содержащие только десять букв: A, B, C, D, E, F, S, X, Y, Z. Для передачи используется неравномерный двоичный код. Для кодирования букв используются кодовые слова.
| Буква | Кодовое слово |
|---|---|
| A | 00 |
| B | — |
| C | 010 |
| D | 011 |
| E | 1011 |
| F | 1001 |
| S | 1100 |
| X | 1010 |
| Y | 1101 |
| Z | 111 |
Укажите кратчайшее кодовое слово для буквы B, при котором код удовлетворяет условию Фано. Если таких кодов несколько, укажите код с наименьшим числовым значением. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова.
Решение по шагам
5 шаговПо условию Фано ни одно кодовое слово не должно быть началом другого.
Кодовые слова длины 1 не подходят, поскольку 0 и 1 являются началами существующих слов.
Кодовые слова длины 2 также не подходят: 00 уже занято, а 01, 10 и 11 являются началами существующих кодовых слов.
Слова длины 3 тоже невозможны: 000 и 001 начинаются с 00, 100 — с 1001, 101 — с 1010 и 1011, 110 — с 1100 и 1101, а 111 уже занято.
Проверяем слова длины 4. Наименьшее подходящее слово 1000 не является началом или продолжением ни одного из заданных кодовых слов.
Где здесь ошибаются
Выбрать слово 100, не заметив, что оно является началом кодового слова 1001.
Проверить только совпадение кодовых слов, но не проверить отношение начала одного слова к другому.
Рассматривать 1001 как кандидат, хотя это уже кодовое слово буквы F.