Для передачи сообщений с использованием неравномерного двоичного кода и обеспечения однозначной расшифровки, необходимо назначить кодовое слово для буквы Н.
Чтобы выбрать оптимальное кодовое слово, нужно учесть два условия. Во-первых, никакое кодовое слово не должно быть началом другого кодового слова. Во-вторых, необходимо минимизировать длину закодированного слова ″ПОРОЛОН″.
Известные кодовые слова⁚
К – 0001,
Л – 01,
П – 001,
Р – 1110.Проанализируем каждое из известных кодовых слов и взглянем, какие кодовые слова могут быть началом для других кодовых слов⁚
К – не может быть началом ни для одного другого кодового слова,
Л – может быть началом для К,
П – не может быть началом ни для одного другого кодового слова,
Р – не может быть началом ни для одного другого кодового слова.Таким образом, кодовое слово Л может быть началом для кодового слова К. Но в нашем случае Л и К имеют несовпадающую длину, поэтому данная комбинация не подходит.
Легко заметить, что кодовое слово П не может быть началом никакого другого кодового слова. Это позволяет нам использовать его для буквы Н.Таким образом, кодовое слово для буквы Н должно иметь вид 1.Теперь остается только проверить условие минимальной длины закодированного слова ″ПОРОЛОН″. Заменяя каждую букву слова ″ПОРОЛОН″ на соответствующие ей кодовые слова, получим следующее кодирование⁚
П – 001,
О – ?,
Р – 1110,
О – ?,
Л – 01,
О – ?,
Н – 1.
Чтобы минимизировать длину закодированного слова, искомые буквы Н, О, О должны иметь минимальное число символов в их кодовых словах. Стало быть, кодовое слово для буквы О должно быть наименьшей длины, а именно 0.
Таким образом, кодовое слово для буквы Н – 1, а для буквы О – 0.
В итоге, кодовое слово для буквы Н в указанном кодировании должно быть равно 1. Это позволяет нам сохранить условие однозначной расшифровки сообщений и минимизировать длину закодированного слова ″ПОРОЛОН″.