Мой студент недавно задал следующий вопрос:
D T I M E ( f ( n ) ) ⊊ D T I M E ( g ( n ) ) .
Вероятно, это можно было бы показать истиной, построив h(n)
cc.complexity-theory
С. Пек
источник
источник
Ответы:
Если D T I M E ( f ( n ) )DTIME(f(n)) определяется как класс всех языков, разрешимых за O ( f ( n ) )O(f(n)) время на машине с двумя лентами Тьюринга, то я подозреваю, что ответ - нет. Другими словами, я думаю, что не всегда существует строго промежуточный класс сложности времени.
Примечание: этот ответ может быть не совсем тем, что вы ищете, потому что я рассматриваю невычислимые функции и не включаю каждую деталь аргумента. Но я чувствовал, что это хорошее начало. Пожалуйста, не стесняйтесь задавать любые вопросы. Может быть, я смогу заполнить эти подробности в какой-то момент или, возможно, это приведет к лучшему ответу заинтересованного читателя.
Рассмотрим функции вида F : N → Nf:N→N . Мы называем эти функции функциями натуральных чисел.
Построим ε ( n ) как медленно растущую неубывающую ступенчатую функцию. Перечислим все неограниченные вычислимых функций { F I } I ∈ N . Мы хотим построить ε ( n ) таким образом, чтобы для каждого i и каждого j ≤ i , m i n { kε(n) {fi}i∈N ε(n) i j≤i |ε ( k ) ≥ i } ≥ m i n { k|f j ( k ) ≥ i } . Другими словами, мы ждем, чтобы отобразить ε ( n ) в i, пока первыефункции i в перечислении не отобразятся на значение, большее или равное i, по крайней мере, один раз. Затем ε ( n ) продолжает отображаться на i до тех пор, пока первые функции i + 1 в перечислении не отобразятся на значение, большее или равное i + 1, по крайней мере, один раз, и в этот момент он начинает отображаться на i + 1min{k|ε(k)≥i}≥min{k|fj(k)≥i} ε(n) i i i ε(n) i i+1 i+1 i+1 , Если мы продолжим этот итерационный процесс для построения ε ( n ) , то для любой данной неограниченной вычислимой функции, хотя ε ( n ) не всегда может быть меньше, оно будет бесконечно часто, по крайней мере, столь же маленьким.ε(n) ε(n)
Примечание: я только что представил некоторую интуицию за утверждением 1, я не представил подробного доказательства. Пожалуйста, не стесняйтесь присоединиться к обсуждению ниже.
Поскольку ε ( n ) является такой медленно растущей функцией, мы имеем следующее:ε(n)
Для п.2, если существует вычислимая функция ч ( п ) между F ( п )h(n) ε ( n ) иf(n)такие, чтоh(n)≠Θ(f(n)), тогда мы сможем вычислить неограниченную функцию натуральных чисел, которая растет медленнее, чемε(n),что невозможно , f(n)ε(n) f(n) h(n)≠Θ(f(n)) ε(n)
Позвольте мне объяснить некоторые важные детали. Предположим, что такая функция h ( n ) существует. Тогда ⌊ f ( n )h(n) h ( n ) ⌋не ограничено.⌊f(n)h(n)⌋
Примечание: предыдущая функция вычислима, потому что f ( n ) и h ( n ) вычислимы.f(n) h(n)
Поскольку h ( n ) = Ω ( f ( n )ε ( n ) ), имеем⌊f(n)h(n)=Ω(f(n)ε(n)) h ( n ) ⌋=O(ε(n)). Отсюда следует, что существует некоторая постояннаяαтакая, что для всехдостаточно большихn⌊αf(n)⌊f(n)h(n)⌋=O(ε(n)) α n h ( n ) ⌋<ε(n). Поскольку эта функция не ограничена и вычислима, мы можем применить утверждение 1, чтобы получитьε(n)≤⌊αf(n)⌊αf(n)h(n)⌋<ε(n) h ( n ) ⌋бесконечно часто, что противоречит предыдущему утверждению.ε(n)≤⌊αf(n)h(n)⌋
In order to just show that, DTIME(f(n)ε(n))⊊DTIME(f(n))DTIME(f(n)ε(n))⊊DTIME(f(n)) we need to use a stronger time hierarchy theorem and this is where we use the assumption that the number of tapes is fixed (we said two tapes above). See "The tight deterministic time hierarchy" by Martin Furer.
Since there are no computable natural number functions between f(n)ε(n)f(n)ε(n) and f(n)f(n) other than those that are Θ(f(n))Θ(f(n)) , we have that for every function h(n)h(n) such that f(n)ε(n)≤h(n)≤f(n)f(n)ε(n)≤h(n)≤f(n) and h(n)≠Θ(f(n))h(n)≠Θ(f(n)) , DTIME(f(n)ε(n))=DTIME(h(n))DTIME(f(n)ε(n))=DTIME(h(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)f(n),g(n) are time-constructible, and g(n)≤o(f(n)/logf(n))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)).
источник
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.
источник