Кодирование: условие Фано и двоичное дерево кода
Задание 4 · Билет 1 · ЕГЭ по информатике
Условие
По каналу связи передаются сообщения, содержащие только буквы А, Б, В, Г, Д, Е, Ж, З. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: Е — 10, Д — 11, Ж — 010, З — 011.
Разбор задачи
Задание 4 ЕГЭ по информатике — это кодирование и условие Фано. Для части букв коды уже известны, а для остальных их нужно подобрать так, чтобы сообщения расшифровывались однозначно.
Однозначность обеспечивает условие Фано: ни один код не должен быть началом другого. Коды удобно изображать двоичным деревом, а минимальную суммарную длину ищут, размещая буквы в самых коротких свободных ветках.
Что важно знать
- Задание базового уровня — оценивается в 1 балл
- Новый код нельзя «доращивать» из уже заданного — иначе код перестанет быть листом
- Чем чаще буква в слове, тем короче должен быть её код
Потренируйся на дереве кода: расставляй коды по свободным местам и строй дерево по кодам.
Решение
Теория с нуля: что нужно знать
- А — 0
- Б — 10
- В — 110
- Г — 111
Решение
открыто шагов: 8 из 8| буква | А | Б | В | Г | Д | Е | Ж | З |
|---|---|---|---|---|---|---|---|---|
| код | 11 | 10 | 010 | 011 |
А если уйти глубже? Можно увести буквы дальше от корня — например, взять коды 000, 0010, 00110, 00111. Условие Фано при этом выполняется, но коды длиннее: , а не 16. Чем глубже ветка, тем больше сумма, поэтому 16 — минимум.
→ . Совпадает с эталоном демоверсии.
Проверка
Типовые ошибки и проверка
- Проверяют только «коды не равны», а нужно «ни один код не является началом другого».
- Не следят, что новые коды не должны быть префиксами старых (и наоборот).
- «Втискивают» буквы в слишком короткие ветки, где места не хватает.
- Отвечают числом букв вместо суммарной длины кодов.
- Проверка: выпишите все коды и убедитесь, что ни один не является началом другого; сложите длины новых кодов.
Режимы
Сейчас открыт режим обучения: теория, разбор и ответ видны. Скоро появится режим проверки — только условие и поле ответа, без подсказок.
Практикум Все задания Режим проверки — скоро