Насколько SAT-оракул поможет ускорить алгоритмы полиномиального времени?


23

Доступ к оракулу обеспечит значительное, сверхполиномиальное ускорение для всего в (при условии, что набор не пуст). Тем не менее, не совсем ясно, сколько выиграет от этого доступа к оракулу. Конечно, ускорение в не может быть суперполиномиальным, но оно может быть полиномиальным. Например, можем ли мы найти кратчайший путь быстрее с оракулом , чем без него? Как насчет более сложных задач, таких как минимизация субмодульных функций или линейное программирование? Получат ли они (или другие естественные проблемы в ) выгоду от оракула ?N P - P P P S A T P S A TSATNPPPPSATPSAT

В более общем смысле, если мы можем выбрать любую проблему в и использовать для нее оракула, то какая из проблем в может привести к ускорению?NPPP


2
Как быстро оракул? Если это занимает время , может быть ускорено больше проблем, чем если это займет время , где - размер формулы SAT. O(s)O(s5)s
Питер Шор

2
@PeterShor Я предполагаю, что оракул, получив формулу SAT в качестве запроса, возвращает ответ ДА ​​или НЕТ, показывая, является ли формула выполнимой за один шаг (постоянное время). Это не зависит от размера формулы. Конечно, формула должна быть построена для запроса. Это время построения не зависит от размера формулы, а также зависит от проблем, какие формулы необходимо запрашивать. Но как только формула построена, получение ответа считается за один шаг для любой формулы.
Андрас Фараго

3
Если вместо оракула SAT вы позволили в оракул, то он может быть использован , чтобы найти минимальные схемы для любой задачи. Это дало бы почти оптимальны по амортизированной стоимости на любую проблему (причина это только амортизируется в том , что если вы используете только один раз, то размер Σ 2 S T формулу вы записать, по существу, во время выполнения вашего оригинального поли-время алгоритм - но после этого шага у вас есть оптимальная схема для всех экземпляров размером n ). Σ2SATΣ2SATn
Джошуа Грохов

@JoshuaGrochow Ваш комментарий очень интересный! Было бы здорово увидеть это как ответ, с более подробной информацией.
Андрас Фараго

Ответы:


15

На самом деле, принятие недетерминированных машин Тьюринга во время является O ( т войти т ) -время сводится к SAT (построение с помощью рассеянного моделирования, см Arora-Варак), поэтому , как правило , любого времени недетерминирована машина заметно быстрее , чем детерминированный , мы увидим хоть какое-то ускорение с оракулом SAT.tO(tlogt)

Чтобы быть более конкретным, на ум приходит тестирование простоты, так как наилучший вариант алгоритма AKS, по-видимому, проверяет простоту битного числа во времени O ( n 6n . Но если мы пойдем "старой школы", Пратт дал недетерминированный ТМ, чтобы решить первичность во времени O ( n 3O(n6polylogn) . Принятие этой машины может быть уменьшено (детерминировано) в O ( n 3O(n3polylogn) время для экземпляра SAT.O(n3polylogn)

Проблема 3SUM может быть другим примером, поскольку кажется, что можно угадать решение и проверить его в субквадратичном времени, и тогда прием такой машины может быть уменьшен до SAT в субквадратичном времени.


7

В более общем смысле, если мы можем выбрать любую проблему в NP-P и использовать для нее оракула, то какая из проблем в P может привести к ускорению?

Этот вопрос становится более прямым при представлении и времени, необходимом, чтобы уменьшить одну проблему до другой ....

Главный ответ, который я имею в виду, - это оракул целочисленного / линейного программирования. Версия решения этой проблемы является NP-полной. Существует тривиальное «сокращение» от линейного программирования, потому что это особый случай. Но оракул для одного только линейного программирования (не говоря уже о ILP) ускоряет многие проблемы, которые сразу же решаются линейным программированием. Они могут быть сведены к нему за линейное время, переписав задачу в виде LP. Например, кратчайшие пути и другие проблемы потока, сопоставления.

Но я не думаю, что ILP - единственный способ в любом случае, вероятно, люди больше не задумывались, например, о сокращении кратчайшего пути до TSP и так далее.


3

SATΣ2SATPΣ2SATn,


NPNPNPPNPNPNPPHPPNPNPNP

1
PPH

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