Czy istnieje twierdzenie Hierarchia czasu dla PH?


18

Czy to prawda, że ​​w hierarchii wielomianowej występują problemy, które można rozwiązać w czasie O(nk) (przez naprzemienną maszynę Turinga na pewnym poziomie hierarchii wielomianowej), których nie można rozwiązać w O(nk1) na żadnym poziomie hierarchia wielomianowa? Innymi słowy - czy istnieje twierdzenie o hierarchii czasu dla hierarchii wielomianowej, tak jak ma to miejsce w przypadku P i NP? Jeśli tak, odniesienie byłoby świetne.

Trudność, na jaką natrafiłem, polega na tym, że maszyna symulująca, gdy symuluje maszyny ze wszystkich poziomów hierarchii, nie znajduje się na żadnym odrębnym poziomie hierarchii. Co prowadzi do pokrewnego pytania - do jakiej najmniejszej klasy należy taka maszyna symulująca? Czy ma sens definiowanie klasy z alternatywami O(n) (lub O(logn) / O(loglogn) )?


Użycie liniowej liczby naprzemienności daje PSPACE, ponieważ formuła liczbowa Boolean jest kompletna z PSPACE.
Derrick Stolee,

Odpowiedzi:


17

Tak. Na przykład, zwykłe dowody twierdzenia o hierarchii czasu (poprzez bezpośrednią symulację dowolnych maszyn) można wykorzystać do wykazania, że ​​dla każdego , Σ c T I M E [ n k ] nie jest podzbiorem Π c T I M E [ n k - 1 ] . Powód zmiany z Σ na Πc1ΣcTIME[nk]ΠcTIME[nk1]ΣΠ polega na tym, że w tym argumencie przekątnym musimy zrobić „przeciwieństwo” maszyny, którą symulujemy, więc musimy działać w trybie uniwersalnym, gdy maszyna symulująca jest w trybie egzystencjalnym i odwrotnie.

Możesz także uzyskać taki wynik bez przełączania z na Π : dla każdego c 1 , Σ c T I M E [ n k ] nie jest podzbiorem Σ c T I M E [ n k - 1 ] . Można tego dokonać za pomocą dowodu na hierarchię czasu związaną z Zakiem (odniesienie: „ Hierarchia czasu maszyny Turinga ”, Theoretical Computer Science 26 (3): 327--333, 1983). Aby uzyskać wyraźne odniesienie do tej wersji twierdzenia o hierarchii czasu, zobacz Dieter van MelkebeekΣΠc1ΣcTIME[nk]ΣcTIME[nk1]Badanie dolnych granic satysfakcji i powiązanych problemów ” (dostępne na jego stronie głównej).


Ta odpowiedź bardzo wyraźnie pokazuje istnienie twierdzenia o hierarchii czasu dla każdego odrębnego poziomu hierarchii. Nie oznacza to od razu istnienia takiego twierdzenia dla PH jako całości.
Joseph

4
Twoje mocniejsze pytanie będzie trudne do rozstrzygnięcia; to oznacza, . Załóżmy, że istnieje C i język L w Ď C T I M e [ n k ] , który jest w Ď d T I M e [ n k - 1 ] do każdego d . Następnie L O G S P A NLOGSPACENPcLΣcTIME[nk]ΣdTIME[nk1]d . To dlatego, że każdy język L L O G S P C E jest Ď d T I M E [ N 2 ] jakiegoś D w zależności od L (przez Savitch-twierdzenie typu argumentu). Więc jeśli L O G S P A C E = N P to w rzeczywistości każdy język w Σ c T I M E [ n kLOGSPACENPLLOGSPACEΣdTIME[n2]dLLOGSPACE=NP jest w Σ dΣcTIME[nk] dlaniektórych d , sprzecznych z tym, co chcesz pokazać. ΣdTIME[n2] d
Ryan Williams

3

Odpowiedź na zmienione pytanie (wersja 4 pytania) brzmi: nie. Jeżeli problem decyzji L jest rozpuszczalny w czasie O ( n- k ) przez Σ ı P urządzenia, a następnie L może być rozwiązany w czasie liniowo przez maszynę z Turingowi ORACLE L , który jest Σ i + 1 P urządzenia. Dlatego ∑ i CZAS [O ( n k )] ⊆ Σ i +1 CZAS [O ( n )].


1
No, this is not how the definition of ΣjTIME[t(n)] works. If ΣjTIME[O(nk)]Σj+1TIME[O(n)] for all j,k, then NPcoNP. If NP=coNP and ΣjTIME[O(nk)]Σj+1TIME[O(n)] for every j,k, let O(nc) be the running time of some nondeterministic algorithm for Tautology. Then we have NTIME[O(nc2)]Σ2TIME[O(n)]NTIME[O(nc)], where the first inclusion is by assumption and the second inclusion follows from a standard simulation argument. This is a contradiction.
Ryan Williams

@Ryan: The definition I used is: L∈ΣiTIME[t(n)] iff there exist a language O∈Σ(i−1)P and a nondeterministic t(n)-time Turing machine with the oracle for O that recognizes L. I thought that this is the standard definition, but I do not have any reference to back up my claim. What is the definition you are using?
Tsuyoshi Ito

1
The definition is: LΣiTIME[t(n)] iff there is a linear time predicate R(x,y1,,yi) such that xL(y1:|y1|t(|x|))(yi:|yi|t(|x|))R(x,y1,,yi) is true.
Ryan Williams

@Ryan: Ok, I did not know that definition. If that is what the asker wanted to ask, my answer does not apply.
Tsuyoshi Ito
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.