Образовательный портал Павла Добряка

2.5. Неравномерный код

Задача 2.5.1. Азбука Морзе поз­во­ля­ет кодировать сим­во­лы для со­об­ще­ний по радиосвязи, за­да­вая комбинацию точек и тире. Сколь­ко различных сим­во­лов (цифр, букв, зна­ков пунктуации и т. д.) можно закодировать, ис­поль­зуя код аз­бу­ки Морзе дли­ной не менее трёх и не более пяти сиг­на­лов (точек и тире)?

 

Задача 2.5.2.  Для 5 букв русского алфавита заданы их двоичные коды (для некоторых букв – из двух бит, для некоторых – из трех): К – 000, М – 10, А – 111, Р – 01, И – 101 . Из четырех сообщений в этом коде только одно прошло без ошибки и может быть корректно декодировано. Найдите его.

  1. 11001011011
  2. 0001011111
  3. 100011101
  4. 0111110000111

 

Задача 2.5.3.  Некоторые буквы русского алфавита закодировали неравномерным кодом (по две и три двоичные цифры): А – 010, Б – 111, В – 10, Г – 01, Д – 00. Напишите без пробелов букву, в которой для корректного декодирования нужно добавить третью цифру, и букву, в которой третья цифра избыточна для корректного декодирования.

Теория. Чтобы было возможно однозначное декодирование, нужно, чтобы ни одна буква не была началом другой буквы. Это называется условием Фано.

Пример, когда условие Фано не выполняется:

A – 01

В – 010

С – 1

Сообщение 0101 Может быть декодировано двумя способами:

АА

Или

BC

На практике вы сталкивались с условием Фано при наборе телефонного номера. Есть короткие зарезервированные номера 01, 02, 03. И ни один другой номер не начинается с 01, 02, 03.

 

Задача 2.5.4.  По ка­на­лу связи пе­ре­да­ют­ся со­об­ще­ния, со­дер­жа­щие толь­ко пять букв: A, B, С, D, E. Для пе­ре­да­чи ис­поль­зу­ет­ся дво­ич­ный код, до­пус­ка­ю­щий од­но­знач­ное де­ко­ди­ро­ва­ние. Для букв A, B, C ис­поль­зу­ют­ся такие ко­до­вые слова:

A – 1, B – 010, C – 000.

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

Примечание 1. Если бы в задаче не было бы буквы С, то есть алфавит состоял бы только из A, B, D, E, нам не обязательно было бы ветвить 0 на втором уровне, и код для буквы С был бы 00.

Примечание 2. Для решения задачи мы воспользовались графической схемой – деревом, которое используется для множества других задач в ЕГЭ. То есть мы перешли к следующему разделу – задачам, которые решаются с помощью деревьев и графов.

 

Задача 2.5.5. По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, Н, Р, Т. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: Г 110, И 01, Т 10. Какое наименьшее количество двоичных знаков потребуется для кодирования слова БАРАБАН? 

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.