Расшифровка списка - List decoding

В теория кодирования, расшифровка списка альтернатива уникальному декодированию коды с исправлением ошибок для большого количества ошибок. Идея была предложена Элиас в 1950-е гг. Основная идея декодирования списка заключается в том, что алгоритм декодирования вместо вывода единственного возможного сообщения выводит список возможных вариантов, одна из которых является правильной. Это позволяет обрабатывать большее количество ошибок, чем позволяет уникальное декодирование.

Уникальная модель декодирования в теория кодирования, который ограничен выводом единственного допустимого кодового слова из полученного слова, не может допускать большей доли ошибок. Это привело к разрыву между характеристиками исправления ошибок для стохастический модели шума (предложенные Шеннон ) и модель состязательного шума (рассмотренная Ричард Хэмминг ). С середины 90-х годов значительный прогресс в алгоритмах сообщества теории кодирования преодолел этот пробел. Большая часть этого прогресса основана на упрощенной модели исправления ошибок, называемой декодированием списка, в которой декодер выводит список кодовых слов для наихудших шаблонов патологических ошибок, где фактическое переданное кодовое слово включено в список вывода. Однако в случае типичных шаблонов ошибок декодер выводит уникальное единственное кодовое слово для принятого слова, что почти всегда имеет место (однако, это не известно, что верно для всех кодов). Улучшение здесь значительно, поскольку производительность исправления ошибок удваивается. Это потому, что теперь декодер не ограничен барьером половинного минимального расстояния. Эта модель очень привлекательна, потому что иметь список кодовых слов, безусловно, лучше, чем просто отказаться. У идеи декодирования списков есть много интересных приложений в теория сложности.

Способ моделирования шума канала играет решающую роль в том, что он определяет скорость, с которой возможна надежная связь. Есть две основные точки зрения на моделирование поведения канала:

  • Вероятностная модель шума, изученная Шенноном, в которой шум канала моделируется точно в том смысле, что вероятностное поведение канала хорошо известно, а вероятность появления слишком большого или слишком малого количества ошибок мала.
  • Модель наихудшего или состязательного шума, рассмотренная Хэммингом, в которой канал действует как противник, который произвольно искажает кодовое слово с учетом ограничения на общее количество ошибок.

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

Математическая формулировка

Позволять быть код исправления ошибок; другими словами, это код длины , измерение и минимальное расстояние над алфавитом размера . Задачу декодирования списков теперь можно сформулировать следующим образом:

Вход: Полученное слово , граница ошибки

Выход: Список всех кодовых слов чей расстояние Хэмминга из самое большее .

Мотивация для расшифровки списка

Учитывая полученное слово , который является зашумленной версией некоторого переданного кодового слова , декодер пытается вывести переданное кодовое слово, делая ставку на кодовое слово, которое является «ближайшим» к принятому слову. Расстояние Хэмминга между двумя кодовыми словами используется в качестве метрики при нахождении ближайшего кодового слова, учитывая полученное слово декодером. Если - минимальное расстояние Хэмминга кода , то существует два кодовых слова и которые точно отличаются позиции. Теперь, если полученное слово равноудалена от кодовых слов и , однозначное декодирование становится невозможным, поскольку декодер не может решить, какой из и для вывода как исходное переданное кодовое слово. В результате половина минимального расстояния действует как комбинаторный барьер, за которым однозначное исправление ошибок невозможно, если мы только настаиваем на уникальном декодировании. Однако получили такие слова как рассмотренные выше возникают только в худшем случае, и если посмотреть на то, как шары Хэмминга упакованы в многомерном пространстве, даже для шаблонов ошибок за пределами половины минимального расстояния есть только одно кодовое слово на расстоянии Хэмминга из полученного слова. Было показано, что это утверждение с высокой вероятностью выполняется для случайного кода, выбранного из естественного ансамбля, и в большей степени для случая Коды Рида – Соломона который хорошо изучен и широко используется в реальных приложениях. Фактически, доказательство Шеннона теоремы о емкости для q-арные симметричные каналы можно рассматривать в свете вышеизложенного утверждения о случайных кодах.

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

Возможности декодирования списков

Для существования алгоритма декодирования списка с полиномиальным временем нам нужна комбинаторная гарантия того, что любой шар Хэмминга радиуса вокруг полученного слова (куда - доля ошибок по длине блока ) имеет небольшое количество кодовых слов. Это потому, что размер списка явно является нижней границей времени работы алгоритма. Следовательно, мы требуем, чтобы размер списка был полиномом от длины блока. кода. Комбинаторным следствием этого требования является то, что оно накладывает верхнюю границу скорости кода. Расшифровка списка обещает достичь этой верхней границы. Неконструктивно показано, что коды скорости существуют, которые могут быть декодированы по списку с точностью до доли ошибок, приближающихся . Количество в литературе называется способностью декодирования списков. Это существенный выигрыш по сравнению с уникальной моделью декодирования, поскольку теперь у нас есть возможность исправить вдвое больше ошибок. Естественно, нам нужно иметь хотя бы дробь переданных символов должны быть правильными, чтобы восстановить сообщение. Это теоретико-информационная нижняя граница количества правильных символов, необходимых для выполнения декодирования, и с помощью декодирования списком мы потенциально можем достичь этого теоретико-информационного предела. Однако для реализации этого потенциала нам нужны явные коды (коды, которые могут быть построены за полиномиальное время) и эффективные алгоритмы для выполнения кодирования и декодирования.

(п, L) -лист-декодируемость

Для любой доли ошибок и целое число , код называется списком декодируемым с точностью до дроби ошибок с размером списка не более или же -list-decodable, если для каждого , количество кодовых слов на расстоянии Хэмминга из самое большее

Комбинаторика декодирования списков

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

Возможности декодирования списка

Теорема (возможности декодирования списка). Позволять и Следующие два утверждения верны для достаточно большой длины блока .
i) Если , то существует -список декодируемых кодов.
ii) Если , то каждые -list-декодируемый код имеет .
Где
это -арная функция энтропии, определенная для и продлен непрерывностью до

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

Доказательство возможности декодирования списков является важным в том смысле, что оно точно соответствует способности -арно-симметричный канал . Фактически, термин «способность декодирования списка» фактически следует читать как пропускную способность противоборствующего канала при декодировании списка. Кроме того, доказательство возможности декодирования списков является важным результатом, который указывает на оптимальный компромисс между скоростью кода и долей ошибок, которые могут быть исправлены при декодировании списка.

Эскиз доказательства

Идея доказательства сходна с идеей доказательства Шеннона для способности двоичный симметричный канал где выбирается случайный код и показывает, что это -лист-декодируемый с высокой вероятностью, пока скорость Для ставок, превышающих указанное выше количество, можно показать, что размер списка становится суперполиномиально большим.

«Плохое» событие определяется как событие, в котором, учитывая полученное слово и Сообщения так случилось, что , для каждого куда это доля ошибок, которые мы хотим исправить, и шар Хэмминга радиуса с полученным словом как центр.

Теперь вероятность того, что кодовое слово связанный с фиксированным сообщением лежит в шаре Хэмминга дан кем-то

где количество - объем шара Хэмминга радиуса с полученным словом как центр. Неравенство в приведенном выше соотношении следует из оценки сверху объема шара Хэмминга. Количество дает очень хорошую оценку объема шара Хэмминга радиуса сосредоточен на любом слове в Другими словами, объем шара Хэмминга трансляционно инвариантен. Чтобы продолжить набросок доказательства, мы вызываем связанный союз в теории вероятностей, которая говорит нам, что вероятность плохого события, происходящего для данного ограничена сверху величиной .

С учетом вышеизложенного, вероятность возникновения "любого" плохого события может быть меньше, чем . Чтобы показать это, мы прорабатываем все возможные полученные слова и все возможные подмножества сообщения в

Теперь, переходя к доказательству части (ii), нам нужно показать, что существует суперполиномиальное количество кодовых слов вокруг каждого когда скорость превышает возможности декодирования списка. Нам нужно показать, что суперполиномиально велика, если скорость . Исправить кодовое слово . Теперь для каждого выбран наугад, у нас есть

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

Давайте теперь определим индикаторную переменную такой, что

Принимая ожидание объема шара Хэмминга, мы имеем

Таким образом, вероятностным методом мы показали, что если скорость превышает возможности декодирования списка, то размер списка становится суперполиномиально большим. На этом эскиз проверки возможности декодирования списков завершен.

Алгоритмы декодирования списков

В период с 1995 по 2007 год сообщество теории кодирования разработало все более эффективные алгоритмы декодирования списков. Алгоритмы для Коды Рида – Соломона который может декодировать до радиуса Джонсона, который существуют где - нормализованное расстояние или относительное расстояние. Однако для кодов Рида-Соломона что означает дробь ошибок можно исправить. Вот некоторые из наиболее известных алгоритмов декодирования списков:

  • Судан '95 - Первый известный нетривиальный алгоритм декодирования списков для кодов Рида-Соломона, который достиг эффективного декодирования списков до ошибки, разработанные Мадху Судан.
  • Гурусвами – Судан '98 - Улучшение вышеупомянутого алгоритма для декодирования списков кодов Рида – Соломона до ошибки Мадху Судана и его тогдашнего докторанта Венкатесан Гурусвами.
  • Парвареш – Варди '05 - В новаторской статье Фарзад Парвареш и Александр Варди представленные коды, которые могут быть декодированы по списку за пределами радиус для низких ставок . Их коды являются вариантами кодов Рида-Соломона, которые получаются путем вычисления коррелированных многочленов вместо как и в случае обычных кодов Рида-Соломона.
  • Гурусвами – Рудра '06 - Еще один прорыв, Венкатесан Гурусвами и Атри Рудра давать явные коды, которые достигают возможности декодирования списка, то есть они могут быть декодированы списком до радиуса для любого . Другими словами, это исправление ошибок с оптимальным резервированием. Это ответило на вопрос, который оставался открытым около 50 лет. Эта работа была приглашена в раздел «Основные сведения об исследованиях» сообщения ACM (который «посвящен наиболее важным результатам исследований, опубликованных в области компьютерных наук за последние годы») и упоминалась в статье под названием «Объединение усилий в области программирования и вычислений». в выпуске журнала Science от 21 сентября 2007 г. Коды, которые им даются, называются свернутые коды Рида-Соломона которые представляют собой не что иное, как простые коды Рида-Соломона, но рассматриваемые как код более крупного алфавита путем тщательного объединения символов кодовых слов.

Из-за их повсеместности и хороших алгебраических свойств, которыми они обладают, алгоритмы декодирования списков для кодов Рида – Соломона были в центре внимания исследователей. Задачу декодирования списком кодов Рида – Соломона можно сформулировать следующим образом:

Вход: Для Код Рида-Соломона, дана пара за , куда это -й бит полученного слова и 's - различные точки в конечном поле и параметр ошибки .

Выход: Цель - найти все многочлены степени не более длина сообщения такая, что по крайней мере ценности . Здесь мы хотели бы иметь как можно меньше, чтобы можно было допустить большее количество ошибок.

В приведенной выше формулировке общая структура алгоритмов декодирования списков для кодов Рида-Соломона выглядит следующим образом:

Шаг 1: (Интерполяция) Найдите ненулевой двумерный многочлен такой, что за .

Шаг 2: (Поиск корня / Факторизация) Вывести все степени многочлены такой, что фактор т.е. . Для каждого из этих многочленов проверьте, по крайней мере ценности . Если да, включите такой многочлен в списке вывода.

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

Приложения в теории сложности и криптографии

Алгоритмы, разработанные для декодирования списков нескольких интересных семейств кода, нашли интересные применения в вычислительная сложность и область криптография. Ниже приводится примерный список приложений, не относящихся к теории кодирования:

внешняя ссылка