Mój student ostatnio zadał następujące pytanie:
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 .
Mój student ostatnio zadał następujące pytanie:
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 .
Odpowiedzi:
Jeśli jest zdefiniowany jako klasa wszystkich języków rozstrzygalnych w czasie 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 . Te funkcje nazywamy funkcjami liczb naturalnych.
Twierdzenie 1: Twierdzę, że możemy skonstruować bardzo wolno rosnącą, nie malejącą funkcję liczby naturalnej (nieobliczalnej) tak aby:
(1) nie maleje
(2)
(3) Dla wszystkich nieograniczonych obliczalnych , zbiór 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 . 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 + 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.
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:
Twierdzenie 2: Dla wszystkich obliczalnych funkcji liczb naturalnych i h ( n ) , jeśli h ( n ) = Ω ( f ( n )ih(n)=O(f(n)), a następnieh(n)=Θ(f(n)).
2, jeśli istniała obliczalna funkcja między f ( 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 .
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 )jest nieograniczone.
Uwaga: Funkcja poprzedzający obliczeniowy ponieważ i h ( n ), to obliczeniowy.
Ponieważ , mamy⌊f(n). Wynika z tego, że istnieje pewna stałaαtaka, że dla wszystkichnwystarczająco dużych,⌊αf(n). Ponieważ ta funkcja jest nieograniczona i obliczalna, możemy zastosować Zastrzeżenie 1, aby uzyskaćε(n)≤⌊αf(n)nieskończenie często, co jest sprzeczne z poprzednim stwierdzeniem.
Twierdzenie 3: Dla funkcji dającej się konstruować w czasie mamy D T I M E ( f ( n ), alenieistniejeh(n)tak, żef(n)iDTIME(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.
Ponieważ nie ma obliczalnych funkcji liczb naturalnych między and other than those that are , we have that for every function such that and , .
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 are time-constructible, and , then .
Now suppose your desired result is true, and let be a time-constructible function that is close to, but still little-oh of, , say, . (This may not be time-constructible for arbitrary time-constructible , but surely for many time-constructible this is also time-constructible.) Now, your desired result produces an such that . In order to avoid improving the current-best time hierarchy theorem, we would need both and . These two together imply that . Since , we have , or equivalently . But , which is not .
I think such a behaviour is true for 1-Tape-DTMs. On the one hand, we have . 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 and by the language using a standard crossing sequence argument.