Séparation des classes horaires

16

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

DTIME(f(n))DTIME(g(n)).
h(n)
DTIME(f(n))DTIME(h(n))DTIME(g(n))?

Cela pourrait probablement être démontré en construisant un h(n) si f,g sont constructibles dans le temps. Mais en général, je pense que cela devrait être faux similaire à DSPACE(o(log(log(n))))=DSPACE(1) .

S. Pek
la source
Cela peut dépendre du modèle précis.
Le théorème de l'écart de Borodine mentionné ici peut être pertinent: cstheory.stackexchange.com/questions/8583/…
Michael Wehar
Autorisez-vous f(n),g(n)=O(1) ? Parce qu'alors, un exemple doit exister pour certaines fonctions qui sont nulles partout, sauf la première place. Quoi qu'il en soit, cette question n'a-t-elle aucun sens si fg partout sauf un n ?
domotorp
2
Je suis désolé de ne pas suivre tout à fait le problème avec f(n),g(n)=O(1) comme par définition DTIME(f(n))=DTIME(g(n)) ?
S.Pek
Désolé, j'ai mal lu la question et mon commentaire précédent n'avait pas beaucoup de sens. Je l'ai retiré. Je vous remercie.
Michael Wehar

Réponses:

8

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:NN

Allégation 1: Je prétends que nous pouvons construire une fonction de nombre naturel non décroissant (non calculable) à croissance très lente telle sorte que:ε(n)

(1) n'est pas décroissantε(n)

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

(3) Pour tout calculable non borné , l'ensemble est infini. { nf:NN{n|ε(n)f(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}iNε(n)ijiε ( n ) i i i ε ( n ) i i + 1 i + 1 i + 1 ε ( n ) ε ( n )min{k|ε(k)i}min{k|fj(k)i}ε(n)iiiε(n)ijusqu'à 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+1i+1i+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)

Allégation 2: pour toutes les fonctions de nombres naturels calculables et , si et , puis .h ( n ) h ( n ) = Ω ( f ( n )f(n)h(n)h(n)=O(f(n))h(n)=Θ(f(n))h(n)=Ω(f(n)ε(n))h(n)=O(f(n))h(n)=Θ(f(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)

Revendication 3: Pour une durée fonction constructible , nous avons cette , mais il ne pas existe tel que et .D T I M E ( f ( n )f(n)h(n)f(n)DTIME(f(n)ε(n))DTIME(f(n))h(n)DTIME(f(n)f(n)ε(n)h(n)f(n)DTIME(f(n)ε(n))DTIME(h(n))DTIME(f(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))

Michael Wehar
la source
1
Oui, c'est exactement ce à quoi je pensais aussi, mais je me suis ensuite confus quelque part en cours de route. Je veux juste noter que n'a pas du tout besoin d'être petit; un argument similaire montre que la fonction inférieure peut être remplacée par une fonction qui est toujours soit ou , et la fonction supérieure peut être remplacé par une fonction qui est toujours soit soit . f ( n )ϵ(n) f(n)0f(n)ϵ(n)f(n)f(n)ϵ(n)f(n)0f(n)ϵ(n)f(n)
domotorp
1
(3) doit se limiter aux fonctions illimitées . f
@RickyDemer Oui, vous avez raison! Merci beaucoup d'avoir compris cela. J'ai modifié ma réponse pour ajouter le mot sans limite. :)
Michael Wehar
1
Je ne suis pas entièrement convaincu de la revendication 1. Considérons si , sinon. Compte tenu de cette énumération, est ? n i n - i ϵ ( n ) = Θ ( 1 )fi(n)=1niniϵ(n)=Θ(1)
S.Pek
2
J'ai deux autres préoccupations concernant cette preuve: 1) Dans la revendication 2, vous avez dit que la contradiction vient du fait qu'il ne peut exister un calculable car il est égal à. Je pense que c'est une erreur typographique, car il faut dire qu'il existe un tel que. Mais notez que n'a pas besoin d'être calculable, donc l'argument n'a pas besoin de tenir. 2) Vous avez utilisé le résultat de Furer dans la revendication 3. Cependant, le résultat n'est valable que pour les fonctions constructibles dans le temps, mais n'a pas besoin d'être constructible dans le temps. | h ( n ) - f ( n ) | k ϵ ( n ) = | h ( n ) - k f ( n ) | k f ( n )ϵ(n)|h(n)f(n)|kϵ(n)=|h(n)kf(n)|kf(n)ϵ(n)
S.Pek
4

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/2gffghDTIME(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))

Joshua Grochow
la source
1
Cool! Notez également qu'il existe un meilleur théorème de hiérarchie temporelle si le nombre de bandes est fixe. Voir "La stricte hiérarchie déterministe du temps" par Martin Furer.
Michael Wehar
1
@MichaelWehar: Merci pour le pointeur! En effet, lorsque l'on devient si serré qu'il ne nécessite que , comme le montre Furer lorsque le nombre de bandes est fixe, mon argument s'éloigne. (Et pour la même raison, mon argument disparaît si cette question concernait la hiérarchie spatiale au lieu du temps: pour l'espace, nous avons un théorème de hiérarchie parfaitement serré même si # les bandes ne sont pas corrigées.)g(n)=o(f(n))
Joshua Grochow
2

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|xx{0,1}}

Markus Bläser
la source