Czy istnieje taka wyrocznia, że ​​SAT nie jest nieskończenie często w czasie sub wykładniczym?

30

Zdefiniuj io - jako klasę języków taką, że istnieje język i dla nieskończenie wielu , i zgadzają się we wszystkich przypadkach długości n . (To jest klasa języków, które można „rozwiązywać nieskończenie często, w podwykonawczym czasie”).SUBEXPL ε > 0LLε>0TIME(2nε)nLLn

Czy istnieje wyrocznia A taka, że NPAio - SUBEXPA ? Jeśli wyposażymy SAT w wyrocznię A w zwykły sposób, czy możemy powiedzieć, że SATA nie ma w tej klasie?

(Zadaję tutaj osobne pytania, ponieważ musimy zachować ostrożność przy nieskończenie częstych zajęciach czasowych: tylko dlatego, że masz redukcję z problemu B do problemu C a C można rozwiązać nieskończenie często, może nie być tak, że B można rozwiązać nieskończenie często bez dalszych założeń dotyczących redukcji: co zrobić, jeśli redukcja z B „pomija” długości wejściowe, na których można rozwiązać C ?)

Ryan Williams
źródło
1
wygląda na rozszerzenie lub odmianę pomysłu Baker Gill Solovay 1975? czy można to jakoś skontrastować?
vzn

Odpowiedzi:

26

Możesz wziąć wyrocznię A st NP = EXP ponieważ EXP nie znajduje się w io-subexp. W przypadku SAT zależy to od kodowania, na przykład jeśli jedyne prawidłowe instancje SAT mają parzystą długość, wówczas łatwo jest rozwiązać SAT na ciągach nieparzystych. Ale jeśli używasz języka takiego jak to powinieneś być w porządku.A L = { ϕ 01 | ϕ S A T A }AAAL={ϕ01 | ϕSATA}

Lance Fortnow
źródło
1
Czy masz jakieś odniesienia do pojęcia klas złożoności io separacji w literaturze? W szczególności nie jestem pewien, dlaczego - S U B EEXPio . Ponadto, czy mamy (1) T I M E ( f ( n ) ) i o - T I M E ( f ( n )SUBEXPTIME(f(n))iodla odpowiednich funkcji f (n) i (2)NPio-PoznaczaP=NP (lub przynajmniejNPP/poly)? TIME(f(n)log(f(n)))NPioPP=NPNPP/poly
Michael Wehar
Myślę, że moim głównym zamieszaniem jest to, dlaczego nie każdy algorytm - C o m p l e t e ma algorytm i o - S U B E X P , który rozwiązuje problem tylko dla zestawu długości wejściowych X, gdzie X jest zestawem E X P - C o m p l e t e . EXPCompleteioSUBEXPXXEXPComplete
Michael Wehar
Innymi słowy, algorytm - S U B E X P nie pomaga nam, ponieważ musielibyśmy zdecydować X , aby wiedzieć, jak korzystać z algorytmu i o - S U B E X P. Ale nie zdziwiłbym się, gdyby moje dotychczasowe prace rozwiązały moje zapytanie. ioSUBEXPXioSUBEXP
Michael Wehar
@RyanWilliams Cześć Ryan, jakieś myśli? Dziękuję za Twój czas. :)
Michael Wehar
1
@RyanWilliams Dzięki za komentarz! Pomogło i myślę, że się udało. Teraz wydaje się, że argument wcale nie zależał od EXP i można to uogólnić, aby udowodnić coś w rodzaju (1). Ale kluczowym punktem była „przeciwna wartość na co najmniej jednym wejściu tej długości ”. Innymi słowy, argument w mojej głowie zależy od zdefiniowania io jako nieskończenie wielu długości wejściowych (nie tylko nieskończenie wielu wejściowych). Nadal nie mam pojęcia o czymś takim jak (2). Jeszcze raz dziękuję i życzę miłego dnia / nocy. :)
Michael Wehar
16

Nie musisz iść na całość, którą sugerował Lance. Na przykład, w stosunku do losowej wyroczni, użycie wyroczni jako funkcji jednokierunkowej (powiedzmy, ocenianej na kolejnych pozycjach bitów) jest wykładniczo trudne do odwrócenia na wszystkich, ale nieskończenie wielu długościach.

Ten problem bezpośrednio redukuje się do SAT na tej samej długości wejścia, więc wynika z tego, że SAT ^ A nie jest nieskończenie często sub-exp.

Russell Impagliazzo
źródło
1
Powinienem powiedzieć, że liczba wejść do obwodu jest taka sama, a nie całkowita wielkość instancji. Jeśli jednak możesz uzupełniać rozmiary obwodów poprzez dodawanie klauzul redundantnych, powinieneś być w stanie uczynić dowolny stały kod rozmiaru wejściowego powiązaną funkcją jednokierunkową.
Russell Impagliazzo