Clases de tiempo de separación

16

Un estudiante mío recientemente hizo la siguiente pregunta:

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))?

Esto probablemente podría demostrarse cierto construyendo una h(n)h(n) si f,gf,g son construibles en el tiempo. Pero en general, creo que esto debería ser falso similar a DSPACE(o(log(log(n))))=DSPACE(1)DSPACE(o(log(log(n))))=DSPACE(1) .

S. Pek
fuente
Esto podría depender del modelo preciso.
El teorema de brecha de Borodin mencionado aquí puede ser relevante: cstheory.stackexchange.com/questions/8583/…
Michael Wehar
¿Permiten ? Porque entonces debe existir algún ejemplo para algunas funciones que son cero en todas partes, excepto el primer lugar. De todos modos, ¿no tiene sentido esta pregunta si todas partes excepto una ? f ( n ) , g ( n ) = O ( 1 ) f g nf(n),g(n)=O(1)fgn
domotorp
2
Lo siento, no sigo el problema con como por definición ? f ( n ) , g ( n ) = O ( 1 ) D T I M E ( f ( n ) ) = D T I M E ( g ( n ) )f(n),g(n)=O(1)DTIME(f(n))=DTIME(g(n))
S. Pek
Lo siento, leí mal la pregunta y mi comentario anterior no tenía mucho sentido. Lo quité. Gracias.
Michael Wehar

Respuestas:

8

Si D T I M E ( f ( n ) )DTIME(f(n)) se define como la clase de todos los idiomas decidibles en tiempo O ( f ( n ) )O(f(n)) por una máquina de Turing de dos cintas, entonces sospecho que la respuesta es no. En otras palabras, creo que no siempre existe una clase de complejidad temporal estrictamente intermedia.

Nota: Esta respuesta podría no ser exactamente lo que está buscando porque estoy considerando funciones no computables y no incluyo todos los detalles del argumento. Pero, sentí que es un buen comienzo. Por favor, siéntase libre de hacer cualquier pregunta. Tal vez pueda completar estos detalles en algún momento o tal vez esto conduzca a una mejor respuesta de un lector interesado.

Considere funciones de la forma f : NNf:NN . Nos referimos a estas funciones como funciones numéricas naturales.

Reclamación 1: afirmo que podemos construir una función de número natural (no computable) de crecimiento lento y no decreciente ε ( n )ε(n) tal que:

(1) ε ( n )ε(n) no es decreciente

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

(3) Para todos los f computables ilimitados f : NNf:NN , el conjunto { nEl |ε ( n ) f ( n ) }{n|ε(n)f(n)} es infinito.

Construimos ε ( n ) como una función de paso de crecimiento lento y no decreciente. Vamos a enumerar todas las funciones computables ilimitadas { f i } i N . Queremos construir ε ( n ) de tal manera que para cada i y cada j i , m i n { kε(n){fi}iNε(n)ijiEl |ε ( k ) i } m i n { kEl |f j ( k ) i } . En otras palabras, esperamos mapear ε ( n ) a i hasta que las primerasfunciones i en la enumeración se hayan mapeado a un valor mayor o igual a i al menos una vez. Luego, ε ( n ) continúa asignando a i hasta que las primerasfunciones i + 1 en la enumeración han asignado a un valor mayor o igual a i + 1 al menos una vez y en este punto comienza a asignar a i + 1min{k|ε(k)i}min{k|fj(k)i}ε(n)iiiε(n)ii+1i+1i+1. Si continuamos este proceso iterativo para construir ε ( n ) , entonces, para cualquier función computable ilimitada dada, aunque ε ( n ) puede no ser siempre más pequeña, será infinitamente frecuente al menos tan pequeña.ε(n)ε(n)

Nota: Acabo de proporcionar alguna intuición detrás de la reivindicación 1, no proporcioné una prueba detallada. No dude en unirse a la discusión a continuación.

Debido a que ε ( n ) es una función de crecimiento tan lento, tenemos lo siguiente:ε(n)

Reclamación 2: para todas las funciones de números naturales computables f ( n ) y h ( n ) , si h ( n ) = Ω ( f ( n )f(n)h(n)ε ( n ) )yh(n)=O(f(n)), luegoh(n)=Θ(f(n)).h(n)=Ω(f(n)ε(n))h(n)=O(f(n))h(n)=Θ(f(n))

Para la reivindicación 2, si existiera una función computable h ( n ) entre f ( n )h(n)ε ( n ) yf(n)tal queh(n)Θ(f(n)), entonces podríamos calcular una función de número natural ilimitado que crece más lentamente queε(n), locual no es posible . f(n)ε(n)f(n)h(n)Θ(f(n))ε(n)

Déjame explicarte algunos detalles relevantes. Supongamos, en aras de la contradicción, que tal función h ( n ) existe. Entonces, f ( n )h(n)h ( n )no tiene límites.f(n)h(n)

Nota: La función anterior es computable porque f ( n ) y h ( n ) son computables.f(n)h(n)

Como h ( n ) = Ω ( f ( n )ε ( n ) ), tenemosf(n)h(n)=Ω(f(n)ε(n))h ( n )=O(ε(n)). De ello se deduce que hay una constanteαtal que para todonsuficientemente grande,αf(n)f(n)h(n)=O(ε(n))αnh ( n )<ε(n). Como esta función no tiene límites y es computable, podemos aplicar la Reclamación 1 para obtener queε(n)αf(n)αf(n)h(n)<ε(n)h ( n )infinitamente a menudo, lo que contradice la afirmación anterior.ε(n)αf(n)h(n)

Reclamación 3: Para una función construible en el tiempo f ( n ) , tenemos que D T I M E ( f ( n )f(n)ε ( n ) )DTIME(f(n)), sin embargo,noexisteh(n)tal quef(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
fuente
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
fuente
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
fuente