Для передачі повідомлень потрібно використовувати нерівномірний двійковий код - як вирішувати

Формулювання завдання: По каналу зв'язку передаються повідомлення, що містять тільки 4 літери. Для передачі повідомлень потрібно використовувати нерівномірний двійкового коду, що допускає однозначне декодування; при цьому повідомлення повинні бути якомога коротше. Шифрувальник може використовувати один з перерахованих нижче кодів. Які символи ви бачите йому слід вибрати?

Завдання входить в ЄДІ з інформатики для 11 класу під номером 5 (Кодування і декодування інформації).

Розглянемо, як вирішуються подібні завдання на прикладі.

Каналом зв'язку передаються повідомлення, що містять тільки 4 літери: А, І, С, Т. В будь-якому повідомленні найбільше букв А, наступна за частотою буква - С, потім - І. Буква Т зустрічається рідше, ніж будь-яка інша.

Для передачі повідомлень потрібно використовувати нерівномірний двійкового коду, що допускає однозначне декодування; при цьому повідомлення повинні бути якомога коротше. Шифрувальник може використовувати один з перерахованих нижче кодів. Які символи ви бачите йому слід вибрати?

Перевіримо кожен код на однозначне декодування і виберемо найбільш оптимальний з них. Оптимальним варіантом буде той, при якому самі використовувані букви будуть мати найкоротший код.

Даний код не є однозначно декодіруемой, так як 00 можна розшифрувати як АА або С, а 11 можна розшифрувати як ІІ або Т.

Даний код не є однозначно декодіруемой, так як 10 можна розшифрувати як СІ або Т, а 01 можна розшифрувати як ІС або А.

Даний код є однозначно декодіруемой, так як він є префіксним (жодне слово не є початком іншого слова).

Даний код також є однозначно декодіруемой, так як він є префіксним (жодне слово не є початком іншого слова).

Значить, потрібно зробити вибір між варіантами 3 і 4. Варіант 3 краще, так як буква А в повідомленнях зустрічається найчастіше і вона має найкоротший код саме у варіанті номер 3.