Мой студент недавно задал следующий вопрос:
D T I M E ( f ( n ) ) ⊊ D T I M E ( g ( n ) ) .
Вероятно, это можно было бы показать истиной, построив h(n)
Мой студент недавно задал следующий вопрос:
D T I M E ( f ( n ) ) ⊊ D T I M E ( g ( n ) ) .
Вероятно, это можно было бы показать истиной, построив h(n)
Ответы:
Если D T I M E ( f ( n ) )
Примечание: этот ответ может быть не совсем тем, что вы ищете, потому что я рассматриваю невычислимые функции и не включаю каждую деталь аргумента. Но я чувствовал, что это хорошее начало. Пожалуйста, не стесняйтесь задавать любые вопросы. Может быть, я смогу заполнить эти подробности в какой-то момент или, возможно, это приведет к лучшему ответу заинтересованного читателя.
Рассмотрим функции вида F : N → N
Утверждение 1. Я утверждаю, что мы можем построить очень медленно растущую неубывающую функцию натуральных чисел (не вычислимую) ε ( n ) так
ε(n) , чтобы:(1) ε ( n )
ε(n) не убывает(2) ε ( n ) = ω ( 1 )
ε(n)=ω(1) (3) Для всех неограниченных вычислимых f : N → N
f:N→N множество { n|ε ( n ) ≤ f ( n ) }{n|ε(n)≤f(n)} бесконечно.
Построим ε ( n ) как медленно растущую неубывающую ступенчатую функцию. Перечислим все неограниченные вычислимых функций { F I } I ∈ N . Мы хотим построить ε ( n ) таким образом, чтобы для каждого i и каждого j ≤ i , m i n { k
Примечание: я только что представил некоторую интуицию за утверждением 1, я не представил подробного доказательства. Пожалуйста, не стесняйтесь присоединиться к обсуждению ниже.
Поскольку ε ( n ) является такой медленно растущей функцией, мы имеем следующее:
Утверждение 2. Для всех вычислимых функций натуральных чисел f ( n ) и h ( n ) , если h ( n ) = Ω ( f ( n )
f(n) h(n) ε ( n ) )иh(n)=O(f(n)), тогдаh(n)=Θ(f(n)).h(n)=Ω(f(n)ε(n)) h(n)=O(f(n)) h(n)=Θ(f(n))
Для п.2, если существует вычислимая функция ч ( п ) между F ( п )
Позвольте мне объяснить некоторые важные детали. Предположим, что такая функция h ( n ) существует. Тогда ⌊ f ( n )
Примечание: предыдущая функция вычислима, потому что f ( n ) и h ( n ) вычислимы.
Поскольку h ( n ) = Ω ( f ( n )ε ( n ) ), имеем⌊f(n)
Пункт 3: В течение некоторого времени конструктивны функции F ( п ) , получаем, что Д Т Я М Е ( е ( п )
f(n) ε ( n ) )⊊DTIME(f(n)), нонесуществуетh(n)такого, чтоf(n)DTIME(f(n)ε(n))⊊DTIME(f(n)) h(n) ε(n)≤h(n)≤f(n)f(n)ε(n)≤h(n)≤f(n) and DTIME(f(n)ε(n))⊊DTIME(h(n))⊊DTIME(f(n))DTIME(f(n)ε(n))⊊DTIME(h(n))⊊DTIME(f(n)) .
In order to just show that, DTIME(f(n)ε(n))⊊DTIME(f(n))
Since there are no computable natural number functions between f(n)ε(n)
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)
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)).
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|x∣x∈{0,1}∗} using a standard crossing sequence argument.