Случайная самовосстановление - Random self-reducibility

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

Определение

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

Один особый случай, когда каждый случайный экземпляр уя распределяется равномерно по всему множеству элементов в области определения ж которые имеют длину |Икс|, В этом случае ж в среднем так же сложно, как и в худшем случае. Этот подход содержит два ключевых ограничения. Первое поколение у1, ..., уk выполняется неадаптивно. Это означает, что у2 выбирается до ж(у1) известен. Во-вторых, не обязательно, чтобы точки у1, ..., уk быть равномерно распределенными.

Применение в криптографических протоколах

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

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

Примеры

В дискретный логарифм проблема, квадратичная проблема остаточности, то ЮАР проблема инверсии и проблема вычисления постоянный матрицы - это каждая случайная самовосстанавливающаяся задача.

Дискретный логарифм

Теорема: Дана циклическая группа грамм размера |грамм|, Если детерминированный алгоритм полиномиального времени А вычисляет дискретный логарифм для 1 / poly (п) доля всех входов (где п = журнал |грамм| - размер входа), то существует алгоритм рандомизированного полиномиального времени для дискретного логарифма для всех входов.

Учитывая генератор грамм циклической группы грамм = { граммя | 0 ≤ я < |грамм| } и Иксграмм, дискретный журнал Икс к базе грамм это целое число k (0 ≤ k < |грамм|) с Икс = граммk. Брать B равномерно распределены на {0, ..., |грамм| - 1}, затем xgB = граммk+B также равномерно распределяется по грамм. Следовательно xgB не зависит от Икс, и его логарифм можно вычислить с вероятностью 1 / poly (п) за полиномиальное время. Затем войдитеграммИкс ≡ журналграммxgB - B (мод |грамм|) и дискретный логарифм самоприводится.

Перманент матрицы

Учитывая определение постоянный матрицы ясно, что ПЕРМЬ(M) для любого п-к-п матрица M является многомерным многочленом степени п над записями в M. Вычисление перманента матрицы - сложная вычислительная задача.ПЕРМЬ было показано, что это # P-complete (доказательство ). Более того, способность вычислять ПЕРМЬ(M) для большинства матриц подразумевает существование случайной программы, вычисляющей ПЕРМЬ(M) для всех матриц. Это демонстрирует, что ПЕРМЬ является случайным самоприводимым. Обсуждение ниже рассматривает случай, когда элементы матрицы взяты из конечного поля. Fп для некоторых премьер п, и где вся арифметика выполняется в этом поле.

Позволять Икс быть случайным п-к-п матрица с записями из Fп. Поскольку все элементы любой матрицы M + kX являются линейными функциями k, составив эти линейные функции со степенью п многомерный полином, вычисляющий ПЕРМЬ(M) получаем еще одну степень п полином на k, который мы будем называть п(k). Четко, п(0) равен перманенту M.

Предположим, мы знаем программу, которая вычисляет правильное значение ПЕРМЬ(А) для большинства п-к-п матрицы с записями из Fп--- в частности, 1 - 1 / (3п) их. Тогда с вероятностью примерно две трети мы можем вычислить ПЕРМЬ(M + kX) за k = 1,2,...,п + 1. Как только мы получим эти п +1 значений, мы можем решить для коэффициентов п(k) с помощью интерполяция (помните, что п(k) имеет степень п). Как только мы узнаем п(k) точно, мы оцениваем п(0), что равно ПЕРМЬ(M).

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

Последствия

Рекомендации