Dostęp do wyroczni zapewniłby duże, super-wielomianowe przyspieszenie wszystkiego w N P - P (zakładając, że zestaw nie jest pusty). Nie jest jednak jasne, ile P skorzystałby z tego dostępu do wyroczni. Oczywiście przyspieszenie w P nie może być wielomianowe, ale nadal może być wielomianowe. Na przykład, czy moglibyśmy znaleźć najkrótszą ścieżkę szybciej z wyrocznią S A T niż bez niej? Co powiesz na bardziej złożone zadania, takie jak minimalizacja funkcji podmodularnych lub programowanie liniowe? Czy skorzystaliby z S A T (lub innych naturalnych problemów w P )? wyrocznia?
Mówiąc bardziej ogólnie, jeśli możemy wybrać jakikolwiek problem w i użyć do tego wyroczni, to który z problemów w P mógłby zauważyć przyspieszenie?
cc.complexity-theory
np
np-complete
Andras Farago
źródło
źródło
Odpowiedzi:
W rzeczywistości akceptacja niedeterministycznych maszyn Turinga w czasie oznacza O ( t log t ) - czas redukowalny do SAT (konstrukcja odbywa się poprzez nieprzewidywalną symulację, patrz Arora-Barak), więc zazwyczaj za każdym razem, gdy niedeterministyczna maszyna jest znacznie szybsza niż deterministyczna , zobaczymy przynajmniej trochę przyspieszenia z wyrocznią SAT.t O(tlogt)
Mówiąc ściślej, przychodzi na myśl testowanie pierwotności, ponieważ najlepszy wariant algorytmu AKS wydaje się testować pierwotność liczby bitowej w czasie O ( n 6n . Ale jeśli pójdziemy „starą szkołą”, Pratt dał niedeterministyczną TM, aby zdecydować o pierwszeństwie w czasie O ( n 3O(n6polylogn) . Akceptację tej maszyny można zmniejszyć (deterministycznie) w O ( n 3O(n3polylogn) czas na wystąpienie SAT.O(n3polylogn)
Problem 3SUM może być kolejnym przykładem, ponieważ wydaje się, że można odgadnąć rozwiązanie i sprawdzić je w czasie subkwadratowym, a następnie akceptację takiej maszyny można zredukować do SAT w czasie subkwadratowym.
źródło
To pytanie staje się bardziej bezpośrednie w reprezentacji i czasie potrzebnym do zredukowania jednego problemu do drugiego ....
Główną odpowiedzią, o której myślę, jest wyrocznia w zakresie programowania liczb całkowitych / programowania liniowego. Wersja decyzyjna tego problemu jest NP-kompletna. Istnieje trywialna „redukcja” z programowania liniowego, ponieważ jest to szczególny przypadek. Ale wyrocznia dla samego programowania liniowego (nie mówiąc już o ILP) przyspiesza wiele problemów, które można natychmiast rozwiązać dzięki programowaniu liniowemu. Można je zredukować w czasie liniowym, przepisując problem jako LP. Na przykład najkrótsze ścieżki i inne problemy z przepływem, dopasowania.
Ale nie sądzę, że ILP jest jedyną metodą, prawdopodobnie ludzie nie myśleli zbyt wiele o np. Skróceniu najkrótszej ścieżki do TSP itp.
źródło
źródło