On dit qu'une fonction est constructible dans le temps , s'il existe une machine de Turing déterministe multi-bandes qui sur toutes les entrées de longueur fait au plus pas et pour chaque il existe une entrée de longueur sur laquelle fait exactement pas.
On dit qu'une fonction est entièrement constructible dans le temps , s'il existe une machine de Turing déterministe multi-bandes qui sur toutes les entrées de longueur fait exactement 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 . La condition du «oui» peut-elle être renforcée à ? 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.
Réponses:
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:N→N ϵ>0 f(n)≥(1+ϵ)n O(f(n)) 2n , n ! , n ⌊ log n ⌋ , tous les polynômes p sur N st ppour q ∈ Q + ...22n n! n⌊logn⌋ p N ... Kobayashi a également prouvé sa pleine constructibilité temporelle pour certaines fonctions qui croissent plus lentement que ( 1 + ϵ ) n , comme n + ⌊ ⌊ log n ⌋ q ⌋p(n)≥(1+ϵ)n (1+ϵ)n n+⌊⌊logn⌋q⌋ q∈Q+
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 1 ∘ f 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.f1 f2 f1+f2 f1f2 ff21 f1∘f2
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 ) ) .f M 1n f(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 LEXP−TIME=NEXP−TIME L∈NEXP−TIME L⊆{0,1}∗ k∈N L 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 √2nk−1 M
Je prétends que est interprétable dans le temps. Considérons la machine Turing déterministe T suivante :f T
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 =n M fait au plusnétapes.(first ⌊⌊logn⌋+1−−−−−−−−−√k⌋ bits of bin(n)) n
Now suppose thatf is fully time-constructible. We will prove that this leads to EXP−TIME=NEXP−TIME .
The following algorithm solvesL :
This algorithm runs in exponential time and solvesL . Since L∈NEXP−TIME was arbitrary, EXP−TIME=NEXP−TIME .
la source