Неравномерные коды
Измерение количества информации
Недостаток равномерного кода в том, что закодированные сообщения получаются довольно длинными, и на их передачу компьютерная система тратит много времени. Попробуем сократить длину сообщения, используя кодовые слова разной длины, например так (рис. 2.6).
Рис. 2.6
Такой код называется неравномерным.
Неравномерный код — это код, в котором кодовые слова имеют различную длину.
Закодируйте с помощью этого кода слово ГАГАРА. При использовании равномерного или неравномерного кода закодированное сообщение получилось короче?
Декодируйте сообщение 010010, закодированное с помощью кода на рис. 2.6. Попробуйте построить разные варианты декодированного сообщения.
Сообщения, закодированные с помощью неравномерного кода, не всегда можно декодировать однозначно.
Есть ли такие неравномерные коды, сообщения в которых однозначно декодируются? Оказывается, есть. Например, такой код (рис. 2.7).
Рис. 2.7
Закодируйте с помощью этого кода слово ГАГАРА. Сравните длины полученного закодированного сообщения и сообщений, которые вы построили ранее. Какое из них самое короткое? Самое длинное?
Декодируйте сообщение 01001011, закодированное с помощью кода на рис. 2.7. Попробуйте построить различные варианты декодирования.
Неравномерный код декодируется однозначно, если выполняется условие Фано: ни одно кодовое слово не совпадает с началом другого кодового слова.
Для кода на рис. 2.7 условие Фано выполняется: код буквы «А» (0) не совпадает с началом остальных кодовых слов, то же выполняется и для остальных букв.
Следующая страница Код Морзе