Jump to content

Локально тестируемый код

Локально проверяемый код — это тип кода с исправлением ошибок , для которого можно определить, ли строка является словом в этом коде, просматривая небольшое (часто постоянное) количество битов строки. В некоторых ситуациях полезно знать, повреждены ли данные, не декодируя их целиком, чтобы можно было принять соответствующие меры в ответ. Например, при общении, если получатель сталкивается с поврежденным кодом, он может запросить повторную отправку данных, что может повысить точность этих данных. Аналогичным образом, при хранении данных эти коды позволяют восстановить и правильно перезаписать поврежденные данные.

Напротив, локально декодируемые коды используют небольшое количество битов кодового слова для вероятностного восстановления исходной информации. Доля ошибок определяет, насколько вероятно, что декодер правильно восстановит исходный бит; однако не все локально декодируемые коды пригодны для локального тестирования. [1]

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

Определение

[ редактировать ]

Для измерения расстояния между двумя струнами расстояние Хэмминга используется .

Расстояние строки из кода вычисляется по

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

Код называется -местный -проверяется, существует ли машина Тьюринга M со случайным доступом к входным данным это составляет максимум неадаптивные запросы и удовлетворяет следующему: [2]

  • Для любого и , . Другими словами, M принимает доступ к любому кодовому слову C.
  • Для такой, что , . M должен отклонять строки -далеко от C, по крайней мере, в половине случаев.

Также скорость кода — это соотношение длины его сообщения и длины кодового слова.

Остается открытым вопрос, существуют ли локально проверяемые коды линейного размера, но есть несколько конструкций, которые считаются «почти линейными»: [3]

  1. Полиномиальный, сколь угодно близкий к линейному; для любого , .
  2. Функции формы , где — функция, стремящаяся к 0. Это делает n ближе к линейному по мере увеличения k. Например:
    • для некоторых
    • для

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

В ноябре 2021 года сообщалось о двух препринтах. [4] [5] [6] [7] первая полиномиальная конструкция " -LTC», а именно локально проверяемые коды с постоянной скоростью. , постоянное расстояние и постоянная локальность .

Связь с вероятностно проверяемыми доказательствами

[ редактировать ]

Локально проверяемые коды имеют много общего с вероятностно проверяемыми доказательствами (PCP). Это должно быть очевидно из сходства их конструкции. В обоих случаях нам даны случайные неадаптивные запросы в большую строку, и если мы хотим принять, то должны с вероятностью 1, а если нет, то должны принять не более чем в половине случаев. Основное отличие состоит в том, что PCP заинтересованы в принятии если существует так что . С другой стороны, локально проверяемые коды допускают если это часть кода. Если предположить, что доказательство PCP кодирует локально тестируемый код, многое может пойти не так. Например, определение PCP ничего не говорит о недействительных доказательствах, а только о неверных входных данных.

Несмотря на это различие, локально проверяемые коды и PCP достаточно похожи, поэтому часто для построения одного доказывающее устройство попутно строит другое. [8]

Код Адамара

[ редактировать ]

Один из самых известных кодов исправления ошибок — код Адамара — является локально тестируемым кодом. Кодовое слово x кодируется в коде Адамара как линейная функция. (мод 2). Для этого необходимо вывести результат этой функции для каждого возможного значения y, что требует экспоненциально больше битов, чем входные данные. Чтобы проверить, является ли строка w кодовым словом кода Адамара, все, что нам нужно сделать, — это проверить, является ли функция, которую она кодирует, линейной. Это означает просто проверить, если для x и y равномерно случайные векторы (где обозначает побитовое исключающее ИЛИ ).

Легко видеть, что для любой допустимой кодировки , это уравнение верно, поскольку оно является определением линейной функции. Однако несколько сложнее показать, что строка, которая -далеко от C будет иметь верхнюю границу своей ошибки с точки зрения . Одна граница находится с помощью прямого подхода аппроксимации вероятности того, что ровно один из трех зондов даст неправильный результат. Пусть A, B и C — события , , и быть неверным. Пусть E будет событием, когда произошло ровно одно из этих событий. Это выходит на

Это работает для , но вскоре после этого . При дополнительной работе можно показать, что ошибка ограничена

Для любого данного , это имеет только постоянную вероятность ложных срабатываний, поэтому мы можем просто проверять постоянное количество раз, чтобы получить вероятность ниже 1/2. [3]

Длинный код

[ редактировать ]

Длинный код — это еще один код с очень большим раздутием, который близок к локальному тестированию. Учитывая ввод (обратите внимание, это занимает биты для представления), функция, которая возвращает бит ввода, , оценивается по всем возможным -битовые входы , а кодовое слово представляет собой их объединение (длиной ). Способ локальной проверки этого с некоторыми ошибками — выбрать равномерно случайный входной сигнал. и установить , но с небольшой вероятностью перевернуть каждый бит, . Принять функцию в качестве кодового слова, если . Если это кодовое слово, оно будет принято пока не изменился, что происходит с вероятностью . Это нарушает требование о том, чтобы кодовые слова всегда принимались, но может быть достаточно для некоторых нужд. [9]

Другие локально проверяемые коды включают коды Рида-Мюллера ( Локально декодируемые коды алгоритм декодирования см. в разделе « »), коды Рида-Соломона и короткий код.

См. также

[ редактировать ]
  1. ^ Кауфман, Тали ; Видерман, Майкл. «Локально проверяемые и локально декодируемые коды» .
  2. ^ Бен-Сассон, Эли; Судан, Мадху. «Надежные локально проверяемые коды и продукты кодов» (PDF) .
  3. ^ Jump up to: а б с Гольдрейх, Одед (2005). «Краткие локально проверяемые коды и доказательства (обзор)» . CiteSeerX   10.1.1.110.2530 .
  4. ^ Пантелеев Павел; Калачев, Глеб (05.11.2021). «Асимптотически хорошие квантовые и локально проверяемые классические коды LDPC». arXiv : 2111.03654 [ cs.IT ].
  5. ^ Динур, Ирит ; Эвра, Шай ; Ливн, Рон; Любоцкий, Александр ; Мозес, Шахар (08 ноября 2021 г.). «Локально проверяемые коды с постоянной скоростью, расстоянием и местоположением». arXiv : 2111.04808 [ cs.IT ].
  6. ^ Рорвиг, Мордехай (24 ноября 2021 г.). «Исследователи побеждают случайность, чтобы создать идеальный код» . Журнал Кванта . Проверено 24 ноября 2021 г.
  7. ^ Рорвиг, Мордехай (6 января 2022 г.). «Кубиты могут быть такими же безопасными, как и биты, показывают исследователи» . Журнал Кванта . Проверено 2 февраля 2022 г.
  8. ^ Черагчи, Махди. «Локально проверяемые коды» .
  9. ^ Кол, Гиллат; Раз, Ран. «Границы локально проверяемых кодов с уникальными тестами» (PDF) .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ce66ab36e600af4855abcc7fdf8d1667__1704831900
URL1:https://arc.ask3.ru/arc/aa/ce/67/ce66ab36e600af4855abcc7fdf8d1667.html
Заголовок, (Title) документа по адресу, URL1:
Locally testable code - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)