Недетерминированное ускорение детерминированных вычислений

14

Может ли недетерминизм ускорить детерминистские вычисления? Если да, то сколько?

Под ускорением детерминированных вычислений недетерминизмом я подразумеваю результаты вида:

DTime(f(n))NTime(n)

Например, что-то вроде

DTime(n2)NTime(n)

Каков наиболее известный результат ускорения детерминированных вычислений с помощью недетерминизма? Что насчет или даже A T i m e ( n ) вместо N T i m e ( n )ΣkPTime(n)ATime(n)NTime(n) ?

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

Кава
источник
3
(По теореме 4.1 и времени иерархии теоремы, ваш пример не может выполняться для 1-ленты ДЧ.)

Ответы:

11

Вы не должны ожидать захватывающего ускорения. У нас есть

DTIME(f(n))NTIME(f(n))ATIME(f(n))DSPACE(f(n)),

и самое известное моделирование детерминированного времени пространством - все еще теорема Хопкрофта-Пола-Валианта

DTIME(f(n))DSPACE(f(n)/logf(n)).

Таким образом, не определено, что недетерминизм или чередование ускоряют более чем логарифмический фактор. (Я подозреваю, что суперлинейное ускорение также не известно, хотя я не уверен, что теорема HPV не может работать с ATIME вместо DSPACE.)

Эмиль Йержабек поддерживает Монику
источник
1
Для однопленочных онлайн-машин Тьюринга это фольклор, что . NTIME(n)DSPACE(n)
Майкл Вехар
1
Для двухленточных машин Тьюринга мы имеем как указано выше. DTIME(n)DSPACE(n/log(n))
Майкл Вехар
2
Вопрос о многоленточных машинах Тьюринга.
Эмиль Йержабек поддерживает Монику
4
Я просто хотел дать дополнительное разъяснение заинтересованному читателю.
Майкл Вехар
2
Пол-Пиппенгер-Семереди-Троттер первым включил для особого случая, когда f ( n ) = n . DTIME(f(n))NTIME(f(n))f(n)=n
Андрас Саламон
6

Есть две разные концепции:

(1) Эффективное моделирование детерминированных машин недетерминированными машинами.

(2) Ускорение результатов, которые получены путем применения моделирования снова и снова.

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

Рассмотрим класс языков, которые разрешимы недетерминированной машиной Тьюринга, работающей в течение времени t ( n ), используя только g ( n ) недетерминированных догадок. Другими словами, длина свидетеля ограничена g ( n ) .NTIGU(t(n),g(n))t(n)g(n)g(n)

Если у вас есть более эффективное моделирование, используя только log(n) недетерминированные догадки, то, я думаю, вы можете немного ускорить его. В частности, я считаю, что вы можете доказать следующее:

Если , то D T I M E ( 2 DTIME(nlog(n))NTIGU(n,log(n)).DTIME(2n)NTIME(n)

Если вам это интересно, я могу написать доказательство.

Райан Уильямс представил некоторые связанные ускорения в «Улучшение исчерпывающего поиска подразумевает суперполиномиальные нижние границы».

Майкл Вехар
источник
1
Как видите, является довольно большим предположением, и вполне разумно, чтобы вы могли доказать, что гипотеза неверна , Дайте мне знать, если вы делаете. :)DTIME(nlog(n))NTIGU(n,log(n))
Майкл Вехар
@AndrasSalamon: Как это следует из перебора?
@ RickyDemer вы правы, это не так; удалили комментарии. Я неявно предполагал, что недетерминизм был в конце вычислений, но его следует предполагать в начале.
Андрас Саламон
Обновление: Наконец-то начали записывать предложенный результат ускорения, о котором я упоминал. Похоже, это немного отличается от других результатов ускорения, которые я нашел. Пожалуйста, не стесняйтесь ответить или напишите мне, если вы заинтересованы в обсуждении. Спасибо! :)
Майкл Вехар
1
обязательно взгляну, это интригующий подход.
Саламон
6

Вот объяснение того, почему общее квартетическое недетерминированное ускорение детерминированных вычислений, даже если истинно, будет трудно доказать:

DTime(n4)NTime(n)SATDTime(o(n2/lgn))NTime(n)SATDTime(n4)DTime(o(n4/lgn))

SAT

DTime(n4)NTime(n)SATDTime(o(n2/lgn))

SAT

f(n)

DTime(f(n2))NTime(n)SATDTime(o(f(n)/lgn))

SATNTime(n)f(n)/lgnk2lgn

Кава
источник
ω(nlgn)2