
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.91] |
![]() |
|
Сообщ.
#1
,
|
|
|
Задание взято с сайта
http://kotolis.ru/realegeinf_2020 Ответ на сайте неправильный, решения нет. Условие. По каналу связи передаются сообщения, содержащие 6 букв: А, Б, В, Г, Д, Е, для передачи используется неравномерный двоичный код, удовлетворяющий условию Фано. Буква А имеет код 00, буква Б код 01. Какова наименьшая возможная сумма длин кодовых букв В, Г, Д, Е, при котором код будет допускать однозначное декодирование. Решение. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова. Коды, удовлетворяющие условию Фано, допускают однозначное декодирование. Поэтому коды букв В, Г, Д, Е не могут начинаться с нуля (иначе нарушается условие Фано). Если буквы В, Г, Д, Е закодированы тремя цифрами: В – 100, Г – 101, Д – 110, Е – 111, то сумма длин их кодов равна 3 * 4 = 12. Теперь предположим, что код одной из букв (например, В) состоит из двух цифр. Тогда Г нужно закодировать не меньше чем тремя цифрами (иначе будет нарушено условие Фано), а для кодирования Д и Е потребуется 4 цифры. Поясним вышесказанное на примере. Пусть код В = 10. Тогда Г кодируем как 110 или 111, для определённости, Г = 110. Тогда коды Д и Е начинаются с 111: Д = 1110, Е = 1111. Итого 2 + 3 + 4 + 4 = 13. Ответ: 12 . |