Можно ли заменить истинную случайность (доказуемо) случайностью Колмогорова для RP?

10

Были ли попытки показать, что колмогоровской случайности было бы достаточно для RP ? Будет ли вероятность, использованная в утверждении «Если правильный ответ ДА, то она (вероятностная машина Тьюринга) возвращает ДА ​​с вероятностью ...» всегда будет правильно определена в этом случае? Или для этой вероятности будут только верхние и нижние границы? Или всегда будет существовать некоторая вероятностная машина Тьюринга, для которой вероятности будут четко определены (или, по крайней мере, нижняя граница, которая должна быть больше 1/2)?

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


Осмысление слова «вероятность» было бы частью попытки показать, что случайность по Колмогорову работает на RP. Однако позвольте мне попытаться описать один из возможных подходов, чтобы уточнить, что это может означать и почему я говорил о верхних и нижних границах:

Пусть - (случайная по Колмогорову) строка. Пусть A - заданная вероятностная машина Тьюринга, соответствующая языку из RP. Запустите A с s в качестве источника для случайных битов n раз, продолжая использовать ранее неизрасходованные биты из s один за другим.sAAsns

Для pns:=#YES result in first n runs of A on sn p s - : = lim inf n p s n p s + p s - s p s + = p s - s p s 1 - = p s 2 - ев 1 сек 2 р 1 / 2 р рp+s:=lim supnpnsps:=lim infnpnsp+spssp+s=pssps1=ps2s1s2p1/2 sppss

Томас Климпел
источник
2
Я не понимаю вопроса. Что вы подразумеваете под "<понятие случайности> достаточно для <класса сложности>"? RP может быть дерандомизирован за полиномиальное время с оракулом для случайной строки Колмогорова, если это то, что вы спрашиваете.
Эмиль Йержабек
2
Я не понимаю, что вы имеете в виду, говоря, что RP будет «работать», и я не понимаю ваш последний комментарий (машины RP всегда останавливаются после полиномиального множества шагов, либо по определению, либо без потери общности при использовании неудобного определение).
Эмиль Йержабек
2
В самом вопросе я также не понимаю, что вы подразумеваете под «вероятностью», когда говорите о случайных строках Коломогорова. В отличие от обычных «случайных строк», которые берутся из случайного распределения, случайность Колмогорова является фактическим свойством да – нет, которое данная строка имеет или не имеет. Таким образом, то, делает ли такая строка алгоритм приемлемым, не является случайной величиной, и поэтому бессмысленно спрашивать о ее вероятности.
Эмиль Йержабек
1
Разумный подход к этому состоит в том, чтобы использовать «конструктивный мартингалс» в отношении алгоритмически-случайных строк. В частности, можно надеяться, что если не сможет обмануть , то это приведет к «предсказателю следующего бита» для , а затем к стратегии ставок, демонстрирующей, что не является случайным. Я не знаю, даст ли этот подход, даже если он работает, значимые скорости сходимости для и ; однако, очевидно, что существует более старый подход к изучению классов сложности (ключевые слова: «ограниченная ресурсами мера»), который использует эту идею, поэтому есть некоторая надежда. A s s p + p -sAssp+p
Эндрю Морган
1
Соответствующие ссылки Википедии (которые имеют дальнейшие ссылки) для моего предыдущего комментария: конструктивный Мартингалес (см. Третье определение) и ограниченная ресурсами мера
Эндрю Морган

Ответы:

13

Я думаю, что вопрос, который здесь задают, примерно такой: «Есть ли смысл, в котором мы можем заменить последовательность случайных битов в алгоритме битами, детерминированно взятыми из подходящей длинной колмогоровской случайной строки? » ответ! (Краткий ответ: «Да, но только если вы сначала увеличите вероятность ошибки»)


Да...

Мы, конечно, можем что-то сказать здесь. Пусть - некоторый язык, и пусть - алгоритм, который принимает в качестве входных данных и случайную строку (равномерное распределение по ) st . Другими словами, - это алгоритм, который ошибается с вероятностью не более .A x r U f ( | x | ) { 0 , 1 } f ( | x | ) Pr [ A ( x , r ) = L ( x ) ] > 1 - ϵ ( x ) A ϵ ( )LAxrUf(|x|){0,1}f(|x|)Pr[A(x,r)=L(x)]>1ϵ(x)Aϵ()

Теперь обратите внимание, что если дает неправильный ответ на т. Е. , это дает нам некоторые средства описания , в частности, мы можем описать его как -я строка, которая заставляет ошибаться наДля этого мы просто создаем машину, в которой жестко заданы , , и бит , и просто перечисляем варианты из пока не найдет выбор такой, что .A(x,r)A(x,r)L(x)riAx.xAib=1xLr{0,1}f(|x|)irA(x,r)b

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

|x|+|i|+O(1)=|x|+log2(2f(|x|)ϵ(x))+O(1)=|x|+f(|x|)log(1/ϵ(x))+O(1).

Напомним, что это длина , так что это сжатие если например, когда .rf(|x|)r

log(1/ϵ(x))=|x|+ω(1),
ϵ(x)=1/22|x|

Наконец, обратите внимание, что если бы была случайной строкой Колмогорова, то у нас не могло бы быть такого сжатия, так как, если вероятность ошибки достаточно мала, случайная строка Колмогорова вместо последовательности случайных битов заставит ответить правильно!rAA

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

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


... Но только если мы усилим в первую очередь.

Следующим вопросом может быть «могу ли я сделать это без усиления вероятности ошибки?» Рассмотрим следующий алгоритм который решает и имеет вероятность ошибки .{ 0 , 1 } * 1 / 2 лA{0,1}1/2n

На входе :x

  • Создать строкуr{0,1}n
  • Если , отклонить.r=x
  • Принять.

Обратите внимание, что для каждого выбора существует некоторый выбор такой что ошибается на , а именно выбор который равен , поэтому мы не можем заменить случайную последовательность битов, используемых случайной строкой Колмогорова без усиления это вероятность ошибки!x A x r x ArxAxr xA


Примечание об источнике: я не уверен, является ли что-то из этого новым, но я включил первый аргумент в мою рецензию на мой квалификационный экзамен, который в конечном итоге будет доступен онлайн после того, как я закончу его пересматривать.

Дилан Маккей
источник
Мой друг Preetum указал на глупость кодирования машины и решения , когда мы можем вместо этого просто кодировать бит , который говорит или нет . Я отредактирую ответ, чтобы отразить это. M ( x ) x LMM(x)xL
Дилан Маккей
1
Майк Сипсер использовал аналогичные аргументы сжатия в своей классной статье sciencedirect.com/science/article/pii/0022000088900359 (имейте в виду, что необходимые ему графы расширителей действительно были явно построены dl.acm.org/citation.cfm?id=273915 )
Райан Уильямс