Un de mes étudiants a récemment posé la question suivante:
SupposonsDoit-il exister un h (n) tel que DTIME (f (n)) \ subsetneq DTIME (h (n)) \ subsetneq DTIME (g (n))?
Cela pourrait probablement être démontré en construisant un si sont constructibles dans le temps. Mais en général, je pense que cela devrait être faux similaire à .
cc.complexity-theory
S. Pek
la source
la source
Réponses:
Si est défini comme la classe de toutes les langues décidables en temps par une machine de Turing à deux bandes, alors je soupçonne que la réponse est non. En d'autres termes, je pense qu'il n'existe pas toujours une classe de complexité temporelle strictement intermédiaire.O ( f ( n ) )DTIME(f(n)) O(f(n))
Remarque: Cette réponse n'est peut-être pas exactement ce que vous recherchez, car je considère les fonctions non calculables et je n'inclus pas tous les détails de l'argument. Mais j'ai senti que c'était un bon début. N'hésitez pas à poser des questions. Je pourrais peut-être compléter ces détails à un moment donné ou peut-être que cela mènera à une meilleure réponse d'un lecteur intéressé.
Considérons les fonctions de la forme . Nous appelons ces fonctions des fonctions de nombres naturels.f:N→N
Nous construisons comme une fonction de pas non décroissante à croissance lente. Énumérons toutes les fonctions calculables illimitées . Nous voulons construire de telle sorte que pour chaque et chaque , . En d'autres termes, nous attendons de mapper à jusqu'à ce que les premières fonctions de l'énumération soient mappées à une valeur supérieure ou égale à au moins une fois. Ensuite, continue de mapper vers{ f i } i ∈ N ε ( n ) i j ≤ i m i n { kε(n) {fi}i∈N ε(n) i j≤i ε ( n ) i i i ε ( n ) i i + 1 i + 1 i + 1 ε ( n ) ε ( n )min{k|ε(k)≥i}≥min{k|fj(k)≥i} ε(n) i i i ε(n) i jusqu'à ce que les premières fonctions de l'énumération soient mappées à une valeur supérieure ou égale à au moins une fois et à ce stade, elle commence à être mappée à . Si nous continuons ce processus itératif pour construire , alors pour toute fonction calculable non bornée donnée, bien que ne soit pas toujours plus petit, il sera infiniment souvent au moins aussi petit.i+1 i+1 i+1 ε(n) ε(n)
Remarque: Je viens de fournir une intuition derrière la revendication 1, je n'ai pas fourni de preuve détaillée. N'hésitez pas à vous joindre à la discussion ci-dessous.
Parce que est une fonction à croissance si lente, nous avons ce qui suit:ε(n)
Pour la revendication 2, s'il existait une fonction calculable entre et telle que , alors nous pourrions calculer une fonction de nombre naturel illimitée qui croît plus lentement que ce qui n'est pas possible. f ( n )h(n) f(n)h(n)≠Θ(f(n))ε(n)f(n)ε(n) f(n) h(n)≠Θ(f(n)) ε(n)
Permettez-moi d'expliquer certains détails pertinents. Supposons par souci de contradiction qu'une telle fonction existe. Ensuite, est illimité.⌊ f ( n )h(n) ⌊f(n)h(n)⌋
Remarque: La fonction précédente est calculable car et sont calculables.h ( n )f(n) h(n)
Puisque , nous avons . Il s'ensuit qu'il existe une constante telle que pour tout suffisamment grand, . Puisque cette fonction est illimitée et calculable, nous pouvons appliquer la revendication 1 pour obtenir ce infiniment souvent, ce qui contredit la déclaration précédente.⌊f(n)h(n)=Ω(f(n)ε(n)) αn⌊αf(n)⌊f(n)h(n)⌋=O(ε(n)) α n ε(n)≤⌊αf(n)⌊αf(n)h(n)⌋<ε(n) ε(n)≤⌊αf(n)h(n)⌋
Afin de montrer simplement que, nous devons utiliser un théorème de hiérarchie temporelle plus fort et c'est là que nous utilisons le hypothèse que le nombre de bandes est fixe (nous avons dit deux bandes ci-dessus). Voir "La stricte hiérarchie déterministe du temps" par Martin Furer.DTIME(f(n)ε(n))⊊DTIME(f(n))
Puisqu'il n'y a pas de fonctions de nombres naturels calculables entre et autres que celles qui sont , nous avons cela pour chaque fonction tel que et , . f(n)Θ(f(n))h(n)f(n)f(n)ε(n) f(n) Θ(f(n)) h(n) h(n)≠Θ(f(n))DTIME(f(n)f(n)ε(n)≤h(n)≤f(n) h(n)≠Θ(f(n)) DTIME(f(n)ε(n))=DTIME(h(n))
la source
Si ce résultat est vrai, il renforcerait le théorème de la hiérarchie temporelle déterministe le plus connu. [C'est plus un commentaire qu'une réponse, mais trop long pour un commentaire. Cela laisse ouverte la construction directe d'un contre-exemple.] Rappelons que le meilleur théorème de la hiérarchie temporelle déterministe que nous avons actuellement est que si sont constructibles dans le temps, et , puis .f(n),g(n) g(n)≤o(f(n)/logf(n)) DTIME(g(n))⊊DTIME(f(n))
Supposons maintenant que le résultat souhaité soit vrai, et que soit une fonction constructible dans le temps qui soit proche, mais toujours peu oh, de , disons, . (Ce peut ne pas être constructible dans le temps pour arbitrairement constructible dans le temps , mais sûrement pour de nombreux constructibles dans le temps, ce est également constructible dans le temps.) Maintenant, le résultat souhaité produit un tel que . Afin d'éviter d'améliorer le théorème de la hiérarchie des meilleurs temps actuels, nous aurions besoin à la fois deg(n) f(n)/log(f(n)) g(n)=f(n)/(logf(n))3/2 g f f g h DTIME(g(n))⊊DTIME(h(n))⊊DTIME(f(n)) g(n)=o(h(n)/log(h(n))) et . Ces deux ensemble impliquent que . Puisque , nous avons , ou de manière équivalente . Mais , qui n'est pas .h(n)=o(f(n)/log(f(n)) g(n)≤o(f(n)/(log(f(n))log(h(n))) h(n)≥g(n) g(n)≤o(f(n)log(f(n))log(g(n))) g(n)logg(n)≤o(f(n)/log(f(n))) 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))−−−−−−−−√ o(f(n)/log(f(n))
la source
Je pense qu'un tel comportement est vrai pour les DTM 1 bande. D'une part, nous avons . Malheureusement, la seule référence que je connaisse est en allemand: R. Reischuk, Einführung in die Komplexitätstheorie, Teubner, 1990, Theorem 3.1.8.DTIME1(O(n))=DTIME1(o(nlogn))
En revanche, il devrait être possible de séparer et par la langue utilisant un argument de séquence de croisement standard.DTIME1(O(n)) DTIME1(O(nlogn)) {x#2|x|x∣x∈{0,1}∗}
la source