Неравенство Крафта – Макмиллана
В теории кодирования неравенство Крафта –Макмиллана дает необходимое и достаточное условие существования префиксного кода. [ 1 ] (в версии Леона Г. Крафта) или однозначно декодируемый код (в версии Брокуэя Макмиллана ) для заданного набора длин кодовых слов . Его приложения для префиксных кодов и деревьев часто находят применение в информатике и теории информации . Префиксный код может содержать как конечное, так и бесконечное число кодовых слов.
Неравенство Крафта было опубликовано в Kraft (1949) . Однако в статье Крафта обсуждаются только префиксные коды, а анализ, приведший к неравенству, приписывается Раймонду Редхефферу . Результат был независимо обнаружен Макмилланом (1956) . Макмиллан доказывает результат для общего случая однозначно декодируемых кодов и приписывает версию для префиксных кодов устному наблюдению Джозефа Лео Дуба в 1955 году .
Приложения и интуиция
[ редактировать ]Неравенство Крафта ограничивает длину кодовых слов в префиксном коде : если взять экспоненту длины каждого допустимого кодового слова, результирующий набор значений должен выглядеть как функция вероятностной массы , то есть он должен иметь общую меру меньше или равную одному. Неравенство Крафта можно рассматривать с точки зрения ограниченного бюджета, который будет потрачен на кодовые слова, причем более короткие кодовые слова обходятся дороже. К числу полезных свойств, следующих из неравенства, относятся следующие утверждения:
- Если неравенство Крафта выполняется при строгом неравенстве, код имеет некоторую избыточность .
- Если неравенство Крафта выполняется с равенством, рассматриваемый код является полным кодом. [ 2 ]
- Если неравенство Крафта не выполняется, код не является однозначно декодируемым .
- Для каждого однозначно декодируемого кода существует префиксный код с тем же распределением длин.
Официальное заявление
[ редактировать ]Пусть каждый исходный символ из алфавита
быть закодировано в уникальный декодируемый код в алфавите размера с длиной кодового слова
Затем
И наоборот, для данного набора натуральных чисел удовлетворяя указанному выше неравенству, существует однозначно декодируемый код в алфавите размера с такой длиной кодового слова.
Пример: бинарные деревья
[ редактировать ]
Любое двоичное дерево можно рассматривать как определение префиксного кода для листьев дерева. Неравенство Крафта утверждает, что
Здесь сумма берется по листьям дерева, то есть по узлам без дочерних элементов. Глубина — это расстояние до корневого узла. В дереве справа эта сумма равна
Доказательство
[ редактировать ]Доказательство префиксных кодов
[ редактировать ]
Сначала покажем, что неравенство Крафта выполняется всякий раз, когда код для это префиксный код.
Предположим, что . Позволять быть полным -арное дерево глубины (таким образом, каждый узел на уровне имеет дети, а узлы на уровне это листья). Каждое слово длины над -арный алфавит соответствует узлу в этом дереве на глубине . -е слово в префиксном коде соответствует узлу ; позволять быть набором всех листовых узлов (т.е. узлов на глубине ) в поддереве укорененный в . Это поддерево имеет высоту , у нас есть
Поскольку код является префиксным кодом, эти поддеревья не могут иметь общие листья, а это означает, что
Таким образом, учитывая, что общее количество узлов на глубине является , у нас есть
откуда следует результат.
И наоборот, для любой упорядоченной последовательности натуральные числа,
удовлетворяя неравенству Крафта, можно построить префиксный код с длиной кодового слова, равной каждому выбрав слово длины произвольно, затем исключая все слова большей длины, у которых он есть в качестве префикса. И снова мы будем интерпретировать это в терминах листовых узлов -арное дерево глубины . Сначала выберите любой узел из полного дерева на глубине. ; оно соответствует первому слову нашего нового кода. Поскольку мы строим префиксный код, все потомки этого узла (т. е. все слова, имеющие это первое слово в качестве префикса) становятся непригодными для включения в код. Рассматриваем потомков на глубине (т.е. листовые узлы среди потомков); есть такие узлы-потомки, которые исключены из рассмотрения. Следующая итерация выбирает (выживший) узел на глубине. и удаляет дальнейшие листовые узлы и так далее. После итераций, мы удалили всего
узлы. Вопрос в том, нужно ли нам удалять больше конечных узлов, чем у нас есть на самом деле. в общем — в процессе сборки кода. Поскольку неравенство Крафта выполнено, мы действительно имеем
и, таким образом, может быть построен префиксный код. Обратите внимание, что, поскольку выбор узлов на каждом этапе в значительной степени произволен, в целом можно построить множество различных подходящих префиксных кодов.
Доказательство общего случая
[ редактировать ]Теперь мы докажем, что неравенство Крафта выполняется всякий раз, когда представляет собой однозначно декодируемый код. (Обратное утверждение не нуждается в доказывании, поскольку мы уже доказали это для префиксных кодов, что является более сильным утверждением.) Доказательство принадлежит Джеку И. Карушу. [ 3 ] [ 4 ]
Нам нужно доказать это только в случае конечного числа кодовых слов. Если кодовых слов бесконечно много, то любое его конечное подмножество также однозначно декодируемо, поэтому оно удовлетворяет неравенству Крафта – Макмиллана. Взяв предел, мы имеем неравенство для полного кода.
Обозначим . Идея доказательства состоит в том, чтобы получить верхнюю оценку для и покажем, что оно может выполняться только для всех если . Переписать как
Рассмотрим все m -степени , в виде слов , где индексы между 1 и . Обратите внимание, что, поскольку S предполагалось, что однозначно декодируемо, подразумевает . Это означает, что каждое слагаемое соответствует ровно одному слову в . Это позволяет нам переписать уравнение в виде
где количество кодовых слов в длины и длина самого длинного кодового слова в . Для -буквенный алфавит есть только возможные слова длины , так . Используя это, мы определяем верхнюю границу :
Принимая -й корень, получаем
Эта оценка справедлива для любого . Правая часть асимптотически равна 1, поэтому должно выполняться (иначе неравенство было бы нарушено для достаточно большого ).
Альтернативная конструкция обратного
[ редактировать ]Учитывая последовательность натуральные числа,
удовлетворяя неравенству Крафта, мы можем построить префиксный код следующим образом. Определи я й кодовое слово C i , которое будет первым цифры после точки системы счисления (например, десятичной точки) в по основанию r представлении
Обратите внимание, что согласно неравенству Крафта эта сумма никогда не превышает 1. Следовательно, кодовые слова отражают все значение суммы. Следовательно, при j > i первый цифры C j образуют большее число, чем C i , поэтому код не содержит префиксов.
Обобщения
[ редактировать ]Следующее обобщение содержится в. [ 5 ]
Теорема — Если однозначно декодируются, и каждое кодовое слово в представляет собой объединение кодовых слов в , затем
Предыдущая теорема представляет собой частный случай, когда .
Позволять быть производящей функцией кода. То есть,
По счетному аргументу, -й коэффициент количество строк длины с длиной кода . То есть, Сходным образом,
Поскольку код однозначно декодируется, любая степень абсолютно ограничен , поэтому каждый из и аналитичен на диске .
Мы утверждаем, что для всех ,
Левая сторона и правая сторона
Теперь, поскольку каждое кодовое слово в представляет собой объединение кодовых слов в , и однозначно декодируется, каждая строка длины с -код длины соответствует уникальной строке чей -код . Строка имеет длину не менее .
Следовательно, коэффициенты слева меньше или равны коэффициентам справа.
Таким образом, для всех , и все , у нас есть принимая предел, у нас есть для всех .
С и оба сходятся, мы имеем взяв предел и применив теорему Абеля .
Существует обобщение квантового кода . [ 6 ]
Примечания
[ редактировать ]- ^ Обложка, Томас М.; Томас, Джой А. (2006), «Сжатие данных», Элементы теории информации (2-е изд.), John Wiley & Sons, Inc, стр. 108–109, doi : 10.1002/047174882X.ch5 , ISBN 978-0-471-24195-9
- ^ Де Ройдж, Стивен; Грюнвальд, Питер Д. (2011), «УДАЧА И СОЖАЛЕНИЕ В ВЫВОДЕ МИНИМАЛЬНОЙ ДЛИНЫ ОПИСАНИЯ», Философия статистики (1-е изд.), Elsevier, стр. 875, ISBN 978-0-080-93096-1
- ^ Каруш, Дж. (апрель 1961 г.). «Простое доказательство неравенства Макмиллана (корр.)» . Транзакции IEEE по теории информации . 7 (2): 118. doi : 10.1109/TIT.1961.1057625 . ISSN 0018-9448 .
- ^ Обложка, Томас М.; Томас, Джой А. (2006). Элементы теории информации (2-е изд.). Хобокен, Нью-Джерси: Wiley-Interscience. ISBN 978-0-471-24195-9 .
- ^ Фолдс, Стефан (21 июня 2008 г.). «О теореме Макмиллана об однозначно дешифруемых кодах». arXiv : 0806.3277 [ math.CO ].
- ^ Шумахер, Бенджамин; Уэстморленд, Майкл Д. (10 сентября 2001 г.). «Квантовое кодирование неопределенной длины» . Физический обзор А. 64 (4): 042304. arXiv : quant-ph/0011014 . Бибкод : 2001PhRvA..64d2304S . дои : 10.1103/PhysRevA.64.042304 . S2CID 53488312 .
Ссылки
[ редактировать ]- Крафт, Леон Г. (1949), Устройство для квантования, группировки и кодирования амплитудно-модулированных импульсов (Диссертация), Кембридж, Массачусетс: Диссертация магистра, факультет электротехники, Массачусетский технологический институт , hdl : 1721.1/12390 .
- Макмиллан, Броквей (1956), «Два неравенства, подразумеваемые уникальной дешифруемостью», IEEE Trans. Инф. Теория , 2 (4): 115–116, doi : 10.1109/TIT.1956.1056818 .