Проблемы в P с заметно более быстрыми рандомизированными алгоритмами


20

Есть ли в проблемы, в которых рандомизированные алгоритмы бьют нижние оценки для детерминированных алгоритмов? Конкретнее, знаем ли мы для которого ? Здесь \ mathsf {PTIME} (f (n)) означает набор языков, разрешимых рандомизированным TM с постоянной (одной или двухсторонней) ошибкой в f (n) шагах. k D T I M E ( n k ) P T I M E ( n k ) P T I M E ( f ( n ) ) f ( n )PkDTIME(nk)PTIME(nk)PTIME(f(n))f(n)

Покупает ли случайность что-нибудь внутри P ?

Чтобы было ясно, я ищу что-то, где различие асимптотическое (предпочтительно полиномиальное, но я бы согласился на полилогарифмическое), а не просто постоянное.

Я ищу алгоритмы асимптотически лучше в худшем случае. Алгоритмы с лучшей ожидаемой сложностью не то, что я ищу. Я имею в виду рандомизированные алгоритмы, как в RP или BPP, а не в ZPP.


Возможно, «техника Яо» - это то, что вы ищете. Краткое описание можно найти по адресу cs.pitt.edu/~kirk/cs2150/yao/yao.html
У Инь

@ WuYin, если я правильно понимаю, что это движется в направлении рандомизированных алгоритмов, ограничивающих нижнюю границу, средним поведением детерминированного алгоритма. Я буду больше разбираться в этом, но, как я вижу, это может привести только к доказательству этой случайности ничего не купить нам что - нибудь внутри .. Могу ли я исправить? P
aelguindy

1
Для нахождения любого элемента в последовательности длины с рангом в [ , ] мы можем просто вернуть любой случайный элемент, и он будет корректным с вероятность, следовательно, его O (1)! Принимая во внимание, что детерминистический алгоритм, по крайней мере, проверяет некоторую часть входных данных и, следовательно, . нn 3nn4 13n4 Ω(n)12Ω(n)
rizwanhudda

@rizwanhudda С этим могут быть проблемы. Во-первых, я ищу решение проблемы. Во-вторых, в модели Тьюринга возвращаемый случайный элемент равен , поскольку произвольного доступа нет. Может быть, машина всегда выводит первый элемент? Тем не менее, первая проблема больше. Ω(n)
aelguindy

2
Последний абзац не имеет смысла, потому что каждый алгоритм Лас-Вегаса может быть преобразован в алгоритм Монте-Карло.
Цуёси Ито

Ответы:


17

Полиномиальное тестирование идентичности допускает алгоритм рандомизированного полиномиального времени (см. Лемму Шварца-Циппеля ), и в настоящее время у нас нет детерминированного полиномиального времени или даже субэкспоненциального алгоритма времени.

Оценка игрового дерева Рассмотрим полное двоичное дерево сконечными узлами, каждый из которых хранит значение 0/1. Внутренние узлы содержат логические элементы ИЛИ / И на альтернативных уровнях. Используя аргумент противника, можно доказать, что каждый детерминистический алгоритм должен был бы исследоватьлистовые узлыв худшем случае. Однако существует простой рандомизированный алгоритм, который требует ожидаемого времени выполнения Посмотрите на слайды 14-27 доклада.Ω ( n ) O ( n 0,793 )nΩ(n)O(n0.793)

Забывчивая маршрутизация на гиперкубе. Рассмотрим куб визмерениях, содержащий вершин. Каждая вершина имеет пакет данных и пункт назначения, в который она хочет в конечном итоге доставить пакет. Пункт назначения всех пакетов различен. Даже для этого было доказано, что любая детерминистическая стратегия маршрутизации будет проходитьшагов. Тем не менее, существует простая рандомизированная стратегия, которая с высокой вероятностью завершится в ожидаемыхшагах.N = 2 n Ω (nN=2nO(n)Ω(Nn) O(n)

Обратите внимание, что в рандомизированных алгоритмах ожидаемая стоимость с высокой вероятностью (как, например, для ) эквивалентно наихудшему случаю на практике.P r [ F ( n ) > 10 E ( F ( n ) ) ] < 1E(F(n)) Pr[F(n)>10E(F(n))]<1n2


Кроме того , считает тестирование для матриц , и , если . В настоящее время мы не знаем алгоритма, мы знаем рандомизированный алгоритм. Дело в том, есть ли проблемы, для которых мы можем доказать, что рандомизированные алгоритмы лучше? B C A B = C o ( 2 2,3 ) O ( n 2 )ABCAB=Co(22.3)O(n2)
aelguindy

@aelguindy Я понял твою точку зрения. Но для PIT самый известный детерминированный алгоритм является экспоненциальным. И дерандомизация PIT является важной открытой проблемой в теоретической CS.
rizwanhudda

Я добавил в пост оценку дерева игр и маршрутизацию гиперкубов, для которых рандомизированные алгоритмы доказуемо лучше, чем детерминированные аналоги.
rizwanhudda

Хорошо, для оценки Дерева Игр, если я правильно понимаю, он работает в ожидаемом , верно? Я имею в виду, что есть случаи, когда он запускается в . Это касается и третьего примера? Я не учитываю лучшее ожидаемое время, я ищу лучшую сложность наихудшего случая, допустимую ошибку в выводе. Ω ( n )O(n0.793)Ω(n)
aelguindy

1
Так что они не лучше в худшем случае. Столько, сколько я ценю примеры, я боюсь, что это не совсем то, что я ищу. Примеры были очень поучительными, хотя!
Эльгуинды

5

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

Рассмотрим любой вероятностный алгоритм . Получите детерминированный алгоритм , зафиксировав случайную ленту для в . Тогда для всех .B A 0 T B ( n ) T A ( n ) nABA0TB(n)TA(n)n


5

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

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

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

Вы спрашиваете, в чем связь? Хорошо, рассмотрим любой рандомизированный алгоритм который эффективно решает некоторые проблемы. Он опирается на случайные монеты: случайные биты, полученные из истинно-случайного источника. Теперь предположим, что мы берем генератор псевдослучайного качества криптографического качества и заменяем источник случайных чисел выходным сигналом генератора псевдослучайных чисел. Вызвать полученный алгоритм . Обратите внимание , что является детерминированным алгоритмом и его продолжительность составляет примерно такие же , как .A A AAAAA

Кроме того, если криптографический PRNG безопасен, эвристически мы должны ожидать, что будет хорошим алгоритмом, если : AAA

  • Например, если - это алгоритм Лас-Вегаса (он всегда выводит правильный ответ и быстро заканчивается с высокой вероятностью), то будет довольно хорошим детерминированным алгоритмом (всегда выводит правильный ответ и быстро завершается для большинства входных данных) ,A AA

  • В качестве другого примера, если представляет собой алгоритм Монте-Карло (детерминированное время выполнения и выдает правильный ответ с вероятностью, по крайней мере, ), то будет довольно хорошим детерминированным алгоритмом (детерминированное время выполнения и выдает правильный ответьте на долю от всех входов). 1 - ε A 1 - εA1εA1ε

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

Детали конструкции: Вот как работает . На входных , он выводит семя для криптографической PRNG как функции (например, с помощью хэш ), а затем имитирует , с использованием выходного сигнала криптографической PRNG в качестве монет для . Например, конкретная реализация должна была бы установить , а затем использовать в качестве начального числа для AES256 в режиме счетчика или некоторого другого криптографического PRNG. Мы можем доказать приведенные выше утверждения в рамках модели случайного оракула. x x x A ( x ) A k = SHA256 ( x ) kAxxxA(x)Ak=SHA256(x)k

Если вы недовольны идеей, что « может выдавать неправильные результаты на небольшой части входных данных, это можно исправить. Если вы повторяете « несколько раз и принимаете большинство голосов, вероятность ошибки уменьшается экспоненциально быстро в количестве итераций. Таким образом, повторяя постоянное число раз, вы можете получить вероятность ошибки ниже , что означает, что шансы на то, что вы натолкнетесь на вход когда алгоритм выводит неправильный ответ, являются чрезвычайно малыми (меньше шансов получить удар молнией несколько раз подряд). Более того, с помощью конструкции, которую я дал выше, шансы, что противник может даже найти вход' Ε 1 / 2 256 х х 'AAε1/2256xx где дает неправильный ответ, может быть сделан очень маленьким, так как это потребовало бы нарушения безопасности хэша SHA256. (Технически это требует, чтобы модель случайного оракула оправдывалась, поэтому это означает, что должен быть выбран как «независимый» от SHA256, а не с жестким кодом в его вычислениях, связанных с SHA256, но почти все реальные алгоритмы будут удовлетворять этому требованию .)AA

Если вам нужна более сильная теоретическая основа, вы можете выполнить итерацию раз и получить вероятность ошибки ниже , где - длина ввода . Теперь доля битных входов, где дает неправильный ответ, строго меньше . Но есть только возможных битных входов, и на каждом из либо правильно, либо неправильно, поэтому из этого следует, что нет входа, где неверно: правильно на всех входах, и это верно , ЕслиΘ ( п ) 1 / 2 п п х п ' 1 / 2 л 2 н п ' ' т ( п ) ' Θ ( п т ( п ) ) A 'A Θ(n)1/2nnxnA1/2n2nnAAAAвыполняется за время , затем выполняется за время , поэтому немного медленнее, чем но не слишком медленнее. Это содержание доказательства Адлемана, что BPP содержится в P / poly. Для практических целей это, вероятно, излишне, но если вам нравятся чистые доказательства, которые избегают криптографических предположений, или если вы подходите к этому с точки зрения теоретика, тогда вам может понравиться эта версия лучше.t(n)AΘ(nt(n))AA

Для получения более подробной информации о последних теоретических соображениях и дополнительных проблемах, когда мы знаем эффективный рандомизированный алгоритм, но мы не знаем ни одного детерминированного алгоритма, который мы можем доказать как эффективный, см. Https://cstheory.stackexchange.com/q/31195. / 5038

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.