Человек, никогда не совершавший ошибок, никогда не пробовал ничего нового.
А. Эйнштейн

ЕГЭ - Демоверсия 2018 №5

По каналу связи передаются шифрованные сообщения, содержащие только десять букв: А, Б, Е, И, К, Л, Р, С, Т, У. Для передачи используется неравномерный двоичный код. Для девяти букв используются кодовые слова.

Укажите кратчайшее кодовое слово для буквы Б, при котором код будет удовлетворять условию Фано. Если таких кодов несколько, укажите код с наименьшим числовым значением.

Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.

Решение:

Строим древо и проверяем условие Фано. Идём по каждой ветке пока на получим коды имеющихся символов:

Самый короткий код для буквы Б получился 1100. Он действительно подходит под условие Фано, для имеющихся букв нет кодов: 1, 11, 110.

Ответ: 1100

ЕГЭ - Демоверсия 2017 №5

Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д, Е, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы А использовали кодовое слово 0; для буквы Б – кодовое слово 10. Какова наименьшая возможная сумма длин всех шести кодовых слов?

Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.

 

Решение:

Для определения количества вариантов двоичного кода построим древо, учитывая условие Фано. Код ни одного слова полностью не должен быть началом другого слова:

Получаем:

  • для кодирования буквы А нужен 1 символ (0),

  • для кодирования буквы Б нужно 2 символа (10),

  • для кодирования буквы В нужно 3 символа (110),

  • для кодирования буквы Г нужно 4 символа (1110),

  • для кодирования буквы Д нужно 4 символа (1111),

  • для кодирования буквы Е нужно 5 символов (11110).

Считаем сумму символов: 1+2+3+4+4+5=19.

 

Ответ: 19