Rozdzielanie klas czasowych

16

Mój student ostatnio zadał następujące pytanie:

DTIME(f(n))DTIME(g(n)).
h(n)
DTIME(f(n))DTIME(h(n))DTIME(g(n))?

Prawdopodobnie można to udowodnić, konstruując jeśli są konstruowalne w czasie. Ale ogólnie uważam, że powinno to być fałszem podobne do .h(n)f,gDSPACE(o(log(log(n))))=DSPACE(1)

S. Pek
źródło
Może to zależeć od dokładnego modelu.
Wspomniane tutaj twierdzenie Borodina o luce może być istotne: cstheory.stackexchange.com/questions/8583/…
Michael Wehar
Czy dopuszczasz f(n),g(n)=O(1) ? Ponieważ wtedy musi istnieć jakiś przykład dla niektórych funkcji, które są wszędzie zerowe, z wyjątkiem pierwszego miejsca. W każdym razie, czy to pytanie nie ma sensu, jeśli fg wszędzie oprócz jednego n ?
domotorp
2
Przykro mi, ale nie do końca podążam za problemem z f(n),g(n)=O(1) jak z definicji DTIME(f(n))=DTIME(g(n)) ?
S. Pek
Przepraszam za to, że źle odczytałem pytanie, a mój wcześniejszy komentarz nie miał większego sensu. Usunąłem to. Dziękuję Ci.
Michael Wehar

Odpowiedzi:

8

Jeśli DTIME(f(n)) jest zdefiniowany jako klasa wszystkich języków rozstrzygalnych w czasie O(f(n)) przez dwie taśmy Turinga, to podejrzewam, że odpowiedź brzmi „nie”. Innymi słowy, uważam, że nie zawsze istnieje klasa złożoności czasowej ściśle pośredniej.

Uwaga: Ta odpowiedź może nie być dokładnie tym, czego szukasz, ponieważ rozważam funkcje niepoliczalne i nie uwzględniam wszystkich szczegółów argumentu. Ale czułem, że to dobry początek. Zadawaj pytania. Może w którymś momencie mogę uzupełnić te dane, a może doprowadzi to do lepszej odpowiedzi zainteresowanego czytelnika.

Rozważmy funkcje postaci f:NN . Te funkcje nazywamy funkcjami liczb naturalnych.

Twierdzenie 1: Twierdzę, że możemy skonstruować bardzo wolno rosnącą, nie malejącą funkcję liczby naturalnej (nieobliczalnej) ε(n) tak aby:

(1) ε(n) nie maleje

(2) ε(n)=ω(1)

(3) Dla wszystkich nieograniczonych obliczalnych f:NN , zbiór {n|ε(n)f(n)} jest nieskończone.

Konstruujemy jako wolno rosnącą, nie malejącą funkcję krokową. Pozwól nam wyliczyć wszystkie funkcje obliczalne nieograniczone { f I } I N . Chcemy skonstruować ε ( n ) w taki sposób, aby dla każdego i i dla każdego j i , m i n { kε(n){fi}iNε(n)iji . Innymi słowy, czekamy na mapowanie ε ( n ) na i, dopóki pierwszefunkcje i w wyliczeniu nie zostaną mapowane na wartość większą lub równą i przynajmniej raz. Następnie ε ( n ) kontynuuje mapowanie do i, dopóki pierwszefunkcje i + 1 w wyliczeniu nie zostaną odwzorowane na wartość większą lub równą i + 1 przynajmniej raz, i w tym momencie zaczyna mapować na i + 1min{k|ε(k)i}min{k|fj(k)i}ε(n)iiiε(n)ii+1i+1i+1. Jeśli będziemy kontynuować ten iteracyjny proces konstruowania , to dla dowolnej nieograniczonej funkcji obliczeniowej, chociaż ε ( n ) nie zawsze może być mniejszy, będzie nieskończenie często co najmniej tak mały.ε(n)ε(n)

Uwaga: Właśnie przedstawiłem trochę intuicji za twierdzeniem 1, nie przedstawiłem szczegółowego dowodu. Dołącz do dyskusji poniżej.

Ponieważ jest tak wolno rosnącą funkcją, mamy następujące:ε(n)

Twierdzenie 2: Dla wszystkich obliczalnych funkcji liczb naturalnych i h ( n ) , jeśli h ( n ) = Ω ( f ( n )f(n)h(n)ih(n)=O(f(n)), a następnieh(n)=Θ(f(n)).h(n)=Ω(f(n)ε(n))h(n)=O(f(n))h(n)=Θ(f(n))

2, jeśli istniała obliczalna funkcja między f ( n )h(n) if(n), tak żeH(n)Θ(f(n)), wówczas będzie mógł obliczyć nieograniczony naturalną funkcję numeryczny, który staje się coraz bardziej powoli a nieε(n),co nie jest możliwe . f(n)ε(n)f(n)h(n)Θ(f(n))ε(n)

Pozwól mi wyjaśnić kilka istotnych szczegółów. Załóżmy ze względu na sprzeczność, że taka funkcja istniała. Następnie f ( n )h(n)jest nieograniczone.f(n)h(n)

Uwaga: Funkcja poprzedzający obliczeniowy ponieważ i h ( n ), to obliczeniowy.f(n)h(n)

Ponieważ , mamyf(n)h(n)=Ω(f(n)ε(n)). Wynika z tego, że istnieje pewna stałaαtaka, że ​​dla wszystkichnwystarczająco dużych,αf(n)f(n)h(n)=O(ε(n))αn. Ponieważ ta funkcja jest nieograniczona i obliczalna, możemy zastosować Zastrzeżenie 1, aby uzyskaćε(n)αf(n)αf(n)h(n)<ε(n)nieskończenie często, co jest sprzeczne z poprzednim stwierdzeniem.ε(n)αf(n)h(n)

Twierdzenie 3: Dla funkcji dającej się konstruować w czasie mamy D T I M E ( f ( n )f(n), alenieistniejeh(n)tak, żef(n)DTIME(f(n)ε(n))DTIME(f(n))h(n)iDTIME(f(n)f(n)ε(n)h(n)f(n).DTIME(f(n)ε(n))DTIME(h(n))DTIME(f(n))

Aby to pokazać, musimy użyć silniejszego twierdzenia o hierarchii czasu i tutaj przyjmujemy założenie, że liczba taśm jest stała (powiedzieliśmy dwie taśmy powyżej). Patrz „Ścisła deterministyczna hierarchia czasu” Martina Furera.DTIME(f(n)ε(n))DTIME(f(n))

Ponieważ nie ma obliczalnych funkcji liczb naturalnych między f(n)ε(n) and f(n) other than those that are Θ(f(n)), we have that for every function h(n) such that f(n)ε(n)h(n)f(n) and h(n)Θ(f(n)), DTIME(f(n)ε(n))=DTIME(h(n)).

Michael Wehar
źródło
1
Yes, this is exactly what I had in mind too, but then got confused somewhere along the way. I just want to note, that ϵ(n) needn't be small at all; a similar argument shows that the lower function f(n)ϵ(n) can be replaced with a function that is always either f(n) or 0, and the upper function f(n)ϵ(n) can be replaced with a function that is always either f(n) or .
domotorp
1
(3) needs to restrict to unbounded functions f. ​ ​
@RickyDemer Yes, you are right! Thank you very much for catching that. I edited my answer to add the word unbounded. :)
Michael Wehar
1
Im not entirely convinced about Claim 1. Consider fi(n)=1 if ni, ni otherwise. Considering this enumeration, is ϵ(n)=Θ(1)?
S. Pek
2
I have two more concerns of this proof: 1) In claim 2 you said that the contradiction arises from the fact that there cannot exist a computable ϵ(n) as it equals |h(n)f(n)|. I believe this to be a typographical error, as it should say there exist a k such that ϵ(n)=|h(n)kf(n)|. But note that kf(n)ϵ(n) need not be time-constructable.
S. Pek
4

If this result is true, it would strengthen the best-known deterministic time hierarchy theorem. [This is more of a comment than an answer, but too long for a comment. It leaves open the direct construction of a counterexample.] Recall that the best Deterministic Time Hierarchy Theorem we currently have is that if f(n),g(n) are time-constructible, and g(n)o(f(n)/logf(n)), then DTIME(g(n))DTIME(f(n)).

Now suppose your desired result is true, and let g(n) be a time-constructible function that is close to, but still little-oh of, f(n)/log(f(n)), say, g(n)=f(n)/(logf(n))3/2. (This g may not be time-constructible for arbitrary time-constructible f, but surely for many time-constructible f this g is also time-constructible.) Now, your desired result produces an h such that DTIME(g(n))DTIME(h(n))DTIME(f(n)). In order to avoid improving the current-best time hierarchy theorem, we would need both g(n)=o(h(n)/log(h(n))) and h(n)=o(f(n)/log(f(n)). These two together imply that g(n)o(f(n)/(log(f(n))log(h(n))). Since h(n)g(n), we have g(n)o(f(n)log(f(n))log(g(n))), or equivalently g(n)logg(n)o(f(n)/log(f(n))). But g(n)log(g(n))=f(n)/(log(f(n))3/2[log(f(n))(3/2)loglog(f(n)]f(n)/log(f(n)), which is not o(f(n)/log(f(n)).

Joshua Grochow
źródło
1
Cool! Also, note that there is a better time hierarchy theorem if the number of tapes is fixed. See "The tight deterministic time hierarchy" by Martin Furer.
Michael Wehar
1
@MichaelWehar: Thanks for the pointer! Indeed, when one gets so tight as to only require g(n)=o(f(n)), as Furer shows when the number of tapes is fixed, then my argument goes away. (And for basically the same reason, my argument goes away if this question were about space hierarchy instead of time: for space we have a perfectly tight hierarchy theorem even if # tapes isn't fixed.)
Joshua Grochow
2

I think such a behaviour is true for 1-Tape-DTMs. On the one hand, we have DTIME1(O(n))=DTIME1(o(nlogn)). Unfortunately, the only reference I know is in German: R. Reischuk, Einführung in die Komplexitätstheorie, Teubner, 1990, Theorem 3.1.8.

On the other hand, it should be possible to separate DTIME1(O(n)) and DTIME1(O(nlogn)) by the language {x#2|x|xx{0,1}} using a standard crossing sequence argument.

Markus Bläser
źródło