Изменения

Перейти к навигации Перейти к поиску
нет описания правки
Строка 12: Строка 12:  
* [[кодирование Голомба]]
 
* [[кодирование Голомба]]
 
* [[кодирование Райса]]
 
* [[кодирование Райса]]
 +
 +
 +
== Взаимоcвязь и практическое использование ==
 +
Использование [[кода Хаффмана]] и [[арифметического шифрования]] (когда они могут использоваться вместе) дают лучший результат, чем любой другой универсальный код.
 +
 +
Однако, универсальные коды полезны, когда код Хаффмана не может использоваться — например, когда невозможно определить точную вероятность каждого сообщения, но известно ранжирование их вероятностей.
 +
 +
Универсальные коды также полезны, когда код Хаффмана отрабатывает не совсем корректно. Например, когда отправитель знает вероятности сообщений,а получатель нет, код Хаффмана требует передачи  вероятностей к получателю. Использование универсального кода избавляет от таких неудобств.
 +
 +
Каждый универсальный код дает собственное "подразумеваемое распределение" вероятностей p(i) =2-l(i), где l(i) - длина i-го ключевого слова и p(i) - вероятность символа передачи. Если фактические вероятности сообщения - q(i) и [[расхождение Кулбака-Лецблера]] DKL(q||p) минимизирует код с l(i), затем оптимальный код Хаффмана для этого множества сообщений будет эквивалентен к этому коду. С тех пор, как универсальные коды стали работать быстрее, чтобы кодировать и декодировать, чем код Хаффмана, универсальный код был бы предпочтителен в случаях, где DKL(q||p) достаточно маленький.
 +
 +
Для любого геометрического распространения  [[код Голомба]] оптимален. С универсальными кодами, подразумеваемое распространение - приблизительно энергетический закон как например 1 / n2. Для [[кода Фибоначчи]], подразумеваемое распространение составляет приблизительно 1 / nq.
    
== Ссылки ==
 
== Ссылки ==
Анонимный участник

Реклама:

Навигация