Универсальный код

Универсальный код

Универсальный код для целых чисел в сжатии данных — префиксный код, который преобразует положительные целые числа в двоичные слова, с дополнительным свойством: при любом истинном распределение вероятностей на целых числах, пока распределение — монотонно (то есть p(i) \geq p(i+1) для любого i), ожидаемые длины двоичных слов находятся в пределах постоянного фактора ожидаемых длин, которые оптимальный код назначил бы для этого распределения вероятностей.

Универсальный код асимптотически оптимален, если коэффициент между фактическими и оптимальными ожидаемыми длинами связывает функция информационной энтропии кода, которая приближается к 1, так как энтропия приближается к бесконечности.

Большинство префиксных кодов для целых чисел назначают более длинные ключевые слова большим целым числам. Такой код может использоваться, чтобы эффективно закодировать сообщение, тянущееся из набора возможных сообщений, просто упорядочивая набор сообщений по уменьшению вероятности а затем пересылая индекс предназначаемого сообщения. Универсальные коды в общем не используются для точно известных распределений вероятностей.

Универсальные коды включают в себя:

Некоторые неуниверсальные коды:

Их неуниверсальность проявляется в том, что если любые из них использовать, чтобы закодировать распределение Гаусса-Кузьмина или дзета-распределение с параметром s=2,то ожидаемая длина ключевого слова бесконечена. Например, используя одноместное кодирование на дзета-распределение имеем следующую ожидаемую длину


E(l) = \frac{6}{\pi^2} \sum_{l=1}^\infty \frac{1}{l} = \infty . \,

Взаимосвязь и практическое использование

Использование кода Хаффмана и арифметического кодирования (когда они могут использоваться вместе) дают лучший результат, чем любой другой универсальный код.

Однако, универсальные коды полезны, когда код Хаффмана не может использоваться — например, когда невозможно определить точную вероятность каждого сообщения, но известно ранжирование их вероятностей.

Универсальные коды также полезны, когда код Хаффмана отрабатывает не совсем корректно. Например, когда отправитель знает вероятности сообщений, а получатель нет, код Хаффмана требует передачи вероятностей к получателю. Использование универсального кода избавляет от таких неудобств.

Каждый универсальный код дает собственное «подразумеваемое распределение» вероятностей p(i)=2-l(i), где l(i) — длина i-го ключевого слова и p(i) — вероятность символа передачи. Если фактические вероятности сообщения — q(i) и расхождение Кульбака-Лейблера DKL(q||p) минимизирует код с l(i), затем оптимальный код Хаффмана для этого множества сообщений будет эквивалентен к этому коду. С тех пор, как универсальные коды стали работать быстрее, чтобы кодировать и декодировать, чем код Хаффмана, универсальный код был бы предпочтителен в случаях, где DKL(q||p) достаточно маленький.

Для любого геометрического распределения кодирование Голомба оптимально. С универсальными кодами, подразумеваемое распределение — приблизительно энергетический закон как например 1 / n2. Для кода Фибоначчи, подразумеваемое распределение составляет приблизительно 1 / nq.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Универсальный код" в других словарях:

  • Универсальный код — стандарт 16 разрядного кодирования символов. UNICODE включает 28 000 букв, знаков, слогов, параграфов всех национальных языков мира. По английски: Universal code Синонимы: Юникод Синонимы английские: UNICODE См. также: Коды Финансовый словарь… …   Финансовый словарь

  • Универсальный код — * універсальны код * universal code генетический код (см.), идентичный у большинства организмов. Однако он слегка различен в митохондриях некоторых организмов, где AGG и AGA (в норме кодоны для аргинина) являются стоп кодонами (см.), а UGA (в… …   Генетика. Энциклопедический словарь

  • Универсальный код (сжатие данных) — Универсальный код для целых чисел в сжатии данных  префиксный код, который преобразует положительные целые числа в двоичные слова, с дополнительным свойством: при любом истинном распределение вероятностей на целых числах, пока распространение … …   Википедия

  • универсальный код изделия — штриховой код изделия — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом Синонимы штриховой код изделия EN universal product codeUPC …   Справочник технического переводчика

  • универсальный код товара — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN universal product codeUPC …   Справочник технического переводчика

  • универсальный код продукции — 3.43 универсальный код продукции ; U.P.С. (Universal Product Code): символ штрихового кода фиксированной длины, кодирующий 13 разрядный числовой номер, применяемый в розничной торговле и состоящий из префикса предприятия, присваиваемого Советом… …   Словарь-справочник терминов нормативно-технической документации

  • Код Левенштейна — Код Левенштейна  это универсальный код, позволяющий кодировать неотрицательные целые числа. Он был придуман Владимиром Левенштейном. Код нуля  это «0»; для кодирования положительных чисел используется алгоритм: Инициализировать счетчик… …   Википедия

  • Код Хаффмена — Алгоритм Хаффмана (англ. Huffman) адаптивный жадный алгоритм оптимального префиксного кодирования алфавита с минимальной избыточностью. Был разработан в 1952 году доктором Массачусетского технологического института Дэвидом Хаффманом. В настоящее… …   Википедия

  • Код Хаффмана — Алгоритм Хаффмана  адаптивный жадный алгоритм оптимального префиксного кодирования алфавита с минимальной избыточностью. Был разработан в 1952 году аспирантом Массачусетского технологического института Дэвидом Хаффманом при написании им …   Википедия

  • Код Фибоначчи — Фибоначчиева система счисления смешанная система счисления для целых чисел на основе чисел Фибоначчи F2=1, F3=2, F4=3, F5=5, F6=8 и т.д. Число Запись в ФСС Код Фибоначчи 0 0……0   F2=1 1 …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»