Вопрос:

По каналу связи передаются сообщения, содержащие только буквы: А, В, И, К, Т, С, Р, О, Ф. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: В – 0001, К – 0111, Ф – 1101, С – 1111. Для пяти оставшихся букв кодовые слова неизвестны. Какое количество двоичных знаков требуется для кодирования слова АВИАКАТАСТРОФА, если известно что оно закодировано минимально возможным количеством двоичных знаков?

Ответ:

Для решения этой задачи нам нужно применить условие Фано и минимизировать длину кодов для букв, которые еще не определены. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова. Известные коды: В – 0001, К – 0111, Ф – 1101, С – 1111.

Оставшиеся буквы: А, И, Т, Р, О. Нам нужно назначить им коды так, чтобы общее количество знаков для кодирования слова АВИАКАТАСТРОФА было минимальным.

Слово АВИАКАТАСТРОФА состоит из следующих букв и их количества:

  • А - 4 раза
  • В - 1 раз
  • И - 1 раз
  • К - 1 раз
  • Т - 1 раз
  • С - 1 раз
  • Р - 1 раз
  • О - 1 раз
  • Ф - 1 раз

Буква A встречается чаще всего (4 раза), поэтому ей нужно назначить самый короткий код. Следующими по частоте идут остальные буквы, которые встречаются по одному разу.

Чтобы минимизировать длину кодирования, назначим коды следующим образом:

  • А – 0
  • И – 0010
  • Т – 0011
  • Р – 0100
  • О – 0101

Теперь у нас есть коды для всех букв:

  • А – 0
  • В – 0001
  • И – 0010
  • К – 0111
  • Т – 0011
  • С – 1111
  • Р – 0100
  • О – 0101
  • Ф – 1101

Закодируем слово АВИАКАТАСТРОФА:

А – 0 (4 раза)

В – 0001 (1 раз)

И – 0010 (1 раз)

К – 0111 (1 раз)

Т – 0011 (1 раз)

С – 1111 (1 раз)

Р – 0100 (1 раз)

О – 0101 (1 раз)

Ф – 1101 (1 раз)

Длина закодированного слова: 4 * 1 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 = 4 + 8 * 4 = 4 + 32 = 36

Проверим, что условие Фано выполняется. Ни один из добавленных кодов не является началом другого добавленного кода, и ни один из добавленных кодов не является началом существующих.

Вычислим общую длину закодированного сообщения:

А (4 раза) = 4 * 1 = 4

В (1 раз) = 1 * 4 = 4

И (1 раз) = 1 * 4 = 4

К (1 раз) = 1 * 4 = 4

Т (1 раз) = 1 * 4 = 4

С (1 раз) = 1 * 4 = 4

Р (1 раз) = 1 * 4 = 4

О (1 раз) = 1 * 4 = 4

Ф (1 раз) = 1 * 4 = 4

Общая длина = 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 = 36

Ответ: 36
Смотреть решения всех заданий с листа
Подать жалобу Правообладателю

Похожие