Un estudiante mío recientemente hizo la siguiente pregunta:
D T I M E ( f ( n ) ) ⊊ D T I M E ( g ( n ) ) .
Esto probablemente podría demostrarse cierto construyendo una h(n)
cc.complexity-theory
S. Pek
fuente
fuente
Respuestas:
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 : N → Nf:N→N . Nos referimos a estas funciones como funciones numéricas naturales.
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}i∈N ε(n) i j≤i El |ε ( 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) i i i ε(n) i i+1 i+1 i+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)
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 ) ), tenemos⌊f(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)) α n h ( 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)⌋
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)) .
fuente
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)).
fuente
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.
fuente