Разделение временных классов

16

Мой студент недавно задал следующий вопрос:

D T I M E ( f ( n ) ) D T I M E ( g ( n ) ) .

DTIME(f(n))DTIME(g(n)).
h ( n ) h(n)D T I M E ( f ( n ) ) D T I M E ( h ( n ) ) D T I M E ( g ( n)) ) ?
DTIME(f(n))DTIME(h(n))DTIME(g(n))?

Вероятно, это можно было бы показать истиной, построив h(n)h(n) если f,gf,g по времени. Но в целом, я чувствую, что это должно быть ложно аналогично DSPACE(o(log(log(n))))=DSPACE(1)DSPACE(o(log(log(n))))=DSPACE(1) .

С. Пек
источник
Это может зависеть от конкретной модели.
Упомянутая здесь теорема о разрыве Бородина может иметь значение: cstheory.stackexchange.com/questions/8583/…
Майкл Вехар,
Вы допускаете ? Потому что тогда должен существовать некоторый пример для некоторых функций, которые равны нулю везде, кроме первого места. В любом случае, разве этот вопрос не имеет смысла, если везде, кроме одного ? f(n),g(n)=O(1)f(n),g(n)=O(1)fgfgnn
domotorp
2
Извините, я не совсем понимаю проблему с как по определению ? f(n),g(n)=O(1)f(n),g(n)=O(1)DTIME(f(n))=DTIME(g(n))DTIME(f(n))=DTIME(g(n))
С. Пек
Извините, я неправильно понял вопрос, и мой предыдущий комментарий не имел особого смысла. Я удалил это. Спасибо.
Майкл Вехар

Ответы:

8

Если D T I M E ( f ( n ) )DTIME(f(n)) определяется как класс всех языков, разрешимых за O ( f ( n ) )O(f(n)) время на машине с двумя лентами Тьюринга, то я подозреваю, что ответ - нет. Другими словами, я думаю, что не всегда существует строго промежуточный класс сложности времени.

Примечание: этот ответ может быть не совсем тем, что вы ищете, потому что я рассматриваю невычислимые функции и не включаю каждую деталь аргумента. Но я чувствовал, что это хорошее начало. Пожалуйста, не стесняйтесь задавать любые вопросы. Может быть, я смогу заполнить эти подробности в какой-то момент или, возможно, это приведет к лучшему ответу заинтересованного читателя.

Рассмотрим функции вида F : NNf:NN . Мы называем эти функции функциями натуральных чисел.

Утверждение 1. Я утверждаю, что мы можем построить очень медленно растущую неубывающую функцию натуральных чисел (не вычислимую) ε ( n ) такε(n) , чтобы:

(1) ε ( n )ε(n) не убывает

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

(3) Для всех неограниченных вычислимых f : NNf:NN множество { n|ε ( n ) f ( n ) }{n|ε(n)f(n)} бесконечно.

Построим ε ( n ) как медленно растущую неубывающую ступенчатую функцию. Перечислим все неограниченные вычислимых функций { F I } I N . Мы хотим построить ε ( n ) таким образом, чтобы для каждого i и каждого j i , m i n { kε(n){fi}iNε(n)iji|ε ( 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)iiiε(n)ii+1i+1i+1, Если мы продолжим этот итерационный процесс для построения ε ( n ) , то для любой данной неограниченной вычислимой функции, хотя ε ( n ) не всегда может быть меньше, оно будет бесконечно часто, по крайней мере, столь же маленьким.ε(n)ε(n)

Примечание: я только что представил некоторую интуицию за утверждением 1, я не представил подробного доказательства. Пожалуйста, не стесняйтесь присоединиться к обсуждению ниже.

Поскольку ε ( n ) является такой медленно растущей функцией, мы имеем следующее:ε(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)ε ( 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))αnh ( n )<ε(n). Поскольку эта функция не ограничена и вычислима, мы можем применить утверждение 1, чтобы получитьε(n)αf(n)αf(n)h(n)<ε(n)h ( n )бесконечно часто, что противоречит предыдущему утверждению.ε(n)αf(n)h(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))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)).

Michael Wehar
источник
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)ϵ(n) needn't be small at all; a similar argument shows that the lower function f(n)ϵ(n)f(n)ϵ(n) can be replaced with a function that is always either f(n)f(n) or 00, and the upper function f(n)ϵ(n)f(n)ϵ(n) can be replaced with a function that is always either f(n)f(n) or .
domotorp
1
(3) needs to restrict to unbounded functions ff. ​ ​
@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)=1fi(n)=1 if nini, nini otherwise. Considering this enumeration, is ϵ(n)=Θ(1)ϵ(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)ϵ(n) as it equals |h(n)f(n)||h(n)f(n)|. I believe this to be a typographical error, as it should say there exist a kk such that ϵ(n)=|h(n)kf(n)|ϵ(n)=|h(n)kf(n)|. But note that kk need not be computable, so the argument need not hold. 2) You used the result by Furer in Claim 3. However, the result only holds for time-constructable functions, but f(n)ϵ(n)f(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)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)).

Joshua Grochow
источник
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
источник