Définitions équivalentes de la constructibilité temporelle


13

On dit qu'une fonction f:NN est constructible dans le temps , s'il existe une machine de Turing déterministe multi-bandes M qui sur toutes les entrées de longueur n fait au plus f(n) pas et pour chaque n il existe une entrée de longueur n sur laquelle M fait exactement f(n) pas.

On dit qu'une fonction f:NN est entièrement constructible dans le temps , s'il existe une machine de Turing déterministe multi-bandes M qui sur toutes les entrées de longueur n fait exactement f(n) pas.

Q1: Existe-t-il une fonction qui est constructible dans le temps et pas entièrement constructible dans le temps?

La réponse est oui (voir cette réponse ), si EXPTIMENEXPTIME . La condition du «oui» peut-elle être renforcée à PNP ? Le «oui» peut-il être prouvé?

Q2: La classe des fonctions (entièrement) constuctibles dans le temps change-t-elle si nous n'autorisons que les machines de Turing à 2 bandes dans la définition?

Q3: Quelles sont les raisons "prouvables" de croire que toutes les belles fonctions sont entièrement constructibles dans le temps?

L'article
Kojiro Kobayashi: sur la preuve de la constructibilité du temps des fonctions. Théor. Comput. Sci. 35: 215-225 (1985)
répond partiellement à Q3. Le résumé partiel et la mise à niveau de celui-ci se trouvent dans cette réponse . Je prends Q3 comme répondu.

Historiquement, la notion de fonction dénombrable en temps réel a été utilisée au lieu d'être (entièrement) constructible en temps. Voir cette question pour plus.


Curieux - pourriez-vous m'indiquer une référence pour ces définitions? Je ne connais pas les fonctions constructibles, et je ne peux pas trouver ces définitions en ligne (il est pas non plus évident pour moi qu'ils soient équivalents à , par exemple les wikipedia ceux).
usul

@usul La référence est: JE Hopcroft, JD Ullman. Introduction à la théorie des automates, aux langages et au calcul. Addison-Wesley Series in Computer Science, 1979 La même définition peut être trouvée ici: cse.ohio-state.edu/~gurari/theory-bk/theory-bk-fivese2.html
David G

Réponses:


5

Au cours des derniers jours, j'ai beaucoup pensé aux fonctions (entièrement) constructibles dans le temps et je présenterai ce que j'ai découvert en répondant aux Q1 et Q3. Le T2 semble trop difficile.

Q3:

Kobayashi dans son article (la référence est dans la question) a prouvé qu'une fonction , pour laquelle il existe un ϵ > 0 st f ( n ) ( 1 + ϵ ) n , est entièrement constructible dans le temps si elle est calculable en temps O ( f ( n ) ) . (notez qu'il est indifférent que l'entrée ou la sortie soit en unaire / binaire puisque nous pouvons transformer entre ces deux représentations en temps linéaire). Cela rend les fonctions suivantes entièrement constructibles dans le temps: 2 n ,f:NNϵ>0f(n)(1+ϵ)nO(f(n))2n , n ! , n log n , tous les polynômes p sur N st ppour q Q + ...22nn!nlognpN ... Kobayashi a également prouvé sa pleine constructibilité temporelle pour certaines fonctions qui croissent plus lentement que ( 1 + ϵ ) n , comme n + log n qp(n)(1+ϵ)n(1+ϵ)nn+lognqqQ+

Pour continuer avec des exemples de fonctions entièrement constructibles dans le temps, on peut prouver que si et f 2 sont entièrement constructibles dans le temps, alors f 1 + f 2 , f 1 f 2 , f f 2 1 et f 1f 2 sont également entièrement constructible dans le temps (le dernier découle directement du théorème 3.1 de Kobayashi). Cela me convainc tout à fait que de nombreuses fonctions intéressantes sont en effet entièrement constructibles dans le temps.f1f2f1+f2f1f2f1f2f1f2

Il est surprenant que Kobayashi n'ait pas moyen de prouver pleinement la constructibilité temporelle de la (belle) fonction n log n (et moi non plus).nlogn

Commentons également la définition de l'article Wikipedia : Une fonction est constructible dans le temps, s'il existe une machine de Turing M qui, étant donnée une chaîne 1 n , produit f ( n ) en temps O ( f ( n ) ) . fM1nf(n)O(f(n)) Nous voyons que cette définition est équivalente à notre définition de la pleine constructibilité temporelle pour les fonctions .f(n)(1+ϵ)n

Q1:

Cette question a une réponse vraiment intéressante. Je revendique que si toutes les fonctions de temps sont entièrement constructible temps constructible, alors . Pour le prouver, prenons un problème arbitraire L N E X P - T I M E , L { 0 , 1 } . Il existe alors un k N , st LEXPTIME=NEXPTIMELNEXPTIMEL{0,1}kNL peut être résolu par un NDTM en 2M étapes. On peut supposer qu'à chaque étapeMpasse dans au plus deux états différents pour plus de simplicité. Définissons maintenant la fonction f(n)= { 8 n + 2 if  ( premier k 2nk1M

f(n)={8n+2if (first logn+1k bits of bin(n))L8n+1else

Je prétends que est interprétable dans le temps. Considérons la machine Turing déterministe T suivante :fT

  • sur l'entrée de longueur n, il calcule (wnenO(n)temps(first logn+1k bits of bin(n))O(n)
  • puis il simule sur ces bits, où les bits de w déterminent les choix (anciennement non déterministes) à prendre.Mw
  • accepter ssi .(M accepts using choices given by w)

Notons que la longueur de ( = n ) est suffisante pour déterminer tous les choix non déterministes, puisque M en entrée (d' abord k w=nMfait au plusnétapes.(first logn+1k bits of bin(n))n

T8n+1 steps. Now the following Turing machine proves that f is time-constructible:

  • wn run T and count steps in parallel so that exacly 8n steps are done.
  • if T rejected or would reject in the next step, go to a halting state in the next step. Else, make one more step and then go to a halting state.

Now suppose that f is fully time-constructible. We will prove that this leads to EXPTIME=NEXPTIME.

The following algorithm solves L:

  • on input x, let n be the number with binary representation x000 (|x|k1 zeros). It follows that x=(first logn+1k bits of bin(n)).
  • compute f(n) in time f(n) and check whether it is divisible by 2.

This algorithm runs in exponential time and solves L. Since LNEXPTIME was arbitrary, EXPTIME=NEXPTIME.


4
Very nice! [padding to make the comment box happy]
Emil Jeřábek 3.0

1
A very similar idea to the one presented in the answer to the question Q1 is also used here.
David G
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.