Решение: Кодовое слово по Фано
По каналу связи передаются шифрованные сообщения, содержащие только десять букв: A, B, C, D, E, F, S, X, Y, Z. Для передачи используется неравномерный двоичный код. Для кодирования букв используются кодовые слова. Укажите кратчайшее кодовое слово для буквы A, при котором код удовлетворяет условию Фано. Если таких кодов несколько, укажите код с наименьшим числовым значением.
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
| Буква | Кодовое слово | Буква | Кодовое слово |
|---|---|---|---|
| A | ? | F | 0110 |
| B | 0111 | S | 0011 |
| C | 100 | X | 0101 |
| D | 101 | Y | 0010 |
| E | 0100 | Z | 000 |
Решение по шагам
4 шагаКодовое слово для буквы A не должно быть началом ни одного из заданных кодовых слов.
Однозначные коды длины 1 невозможны: 0 является началом слов 000, 0010, 0011, 0100 и 0101, а 1 является началом слов 100 и 101.
Проверим коды длины 2. Код 00 является началом слова 000, код 01 — началом слов 0100, 0101 и 0110, код 10 — началом слов 100 и 101.
Код 11 не является началом ни одного из заданных слов, поэтому условие Фано выполняется. Это кратчайший возможный код.
Где здесь ошибаются
Выбрать код 10, не заметив, что он является началом кодовых слов 100 и 101.
Проверить только совпадение кодовых слов, но не проверку на начало другого слова.
Записать число 3 вместо двоичного кодового слова 11.