Est- que ?


15

Je m'attends à ce que la réponse soit non, mais je n'ai pas pu réellement construire un contre-exemple. La différence est que dans , nous pourrions ne pas être en mesure de choisir uniformément un algorithme dans ε .∩ ε > 0 D T I M E ( O ( n 2 + ε ) ) O ( n 2 + ε ) ε∩ε>0DTIME(O(n2+ε))O(n2+ε)ε

Par un argument en queue d'aronde (voir par exemple cette question ), s'il existe un ensemble de ce de machines de Turing M iMi décidant un langage LL tel que ∀ ε > 0 ∃ M i ∈ O ( n 2 + ε )∀ε>0∃Mi∈O(n2+ε) , alors LL est dans D T I M E ( n 2 + o ( 1 ) )DTIME(n2+o(1)) .

Étant donné une machine de Turing, si la machine fonctionne dans le temps n 2 + o ( 1 )n2+o(1) est Π 0 3Π03 -complet. Si une langue (étant donné un code pour une machine qui la reconnaît) est dans D T I M E ( n 2 + o ( 1 ) )DTIME(n2+o(1)) est Σ 0 4Σ04 (et Π 0 3Π03 -hard); si une langue est en ∩ ε > 0 D T I M E ( O ( n 2 + ε ) )∩ε>0DTIME(O(n2+ε)) est Π 0 3Π03 -complete. Si nous pouvons prouver l' Σ 0 4Σ04 (ou simplement la Σ 0 3Σ03 ) de D T I M E ( n 2 + o ( 1 ) )DTIME(n2+o(1)) , cela résoudrait le problème, mais je ne sais pas comment faire cette.

Le problème serait également résolu si nous trouvions une séquence de langages L iLi telle que
* L iLi a un algorithme de décision naturel O ( n 2 + 1 / i )O(n2+1/i) (uniformément en jei ).
* Chaque L iLi est fini.
* Non seulement la taille de L iLi indécidable, mais un algorithme ne peut pas exclure w ∈ L iw∈Li beaucoup plus rapidement que O (n 2 + 1 / i )O(n2+1/i) (pour le pire des cas ww ), sauf pour un nombre fini de jei (dépendant du algorithme).

Je suis également curieux de savoir s'il existe des exemples notables / intéressants (pour ∩ ε > 0 D T I M E ( O ( n 2 + ε ) ) ∖ D T I M E ( n 2 + o ( 1 ) )∩ε>0DTIME(O(n2+ε))∖DTIME(n2+o(1)) ou une relation analogue).


Je n'ai jamais pensé à des questions de décidabilité comme donner une machine de Turing, reconnaît-elle un langage en D T I M E ( n 2 + o ( 1 ) )DTIME(n2+o(1)) . Très propre! Y avait-il une raison particulière pour laquelle vous avez choisi 2 dans l'exposant? Je suppose que ce serait à peu près la même chose si vous considérez un autre nombre dans l'exposant qui était supérieur à 2?
— Michael Wehar

1
@MichaelWehar Je voulais juste un exemple concret, et «1» est parfois spécial, j'ai donc choisi «2». Les propriétés d'exhaustivité ci-dessus et la réponse ci-dessous sont assez générales.
— Dmytro Taranovsky

Réponses:


10

Voici un contre-exemple, c'est-à-dire un langage avec un algorithme (utilisant des machines de Turing multitape) pour chaque , mais pas uniformément dans : Accepter iff et la ème machine de Turing s'arrête en moins de pas sur l'entrée vide. Les autres chaînes sont rejetées.O ( n 2 + ε ) ε > 0 ε 0 k 1 m k > 0 k m 2 + 1O(n2+ε)ε>0ε
0k1mk>0k / km2+1/k

Pour chaque , nous obtenons un algorithme en codant en dur toutes les machines de non-asphaltage suffisamment petites et en simulant le reste.ε O ( n 2 +ε ε )O(n2+ε)

Considérons maintenant une machine de Turing décide de la langue.MM

Soit (sur l'entrée vide) une implémentation efficace des éléments suivants: pour dans 1,2,4,8, ...:      utilisez pour décider si s'arrête dans étapes.      stop ssi dit que nous ne nous arrêtons pas mais que nous pouvons toujours nous arrêter par étapes .M ′ n M M ′ < n 2 + 1 / M ′ M < n 2 + 1 / M ′M′
n
MM′<n2+1/M′
M<n2+1/M′

Par exactitude de , ne s'arrête pas, mais prend -étapes sur l'entrée pour une infinité de . (Si est trop rapide, alors serait en contradiction avec La borne dépend de simulant en temps linéaire et autrement efficace.)MMM′M′MMΩ(n2+1/M′)Ω(n2+1/M′)0M′1n−M′0M′1n−M′nnMMM′M′MMΩ(n2+1/M′)Ω(n2+1/M′)M′M′MM


Je ne comprends pas la dernière phrase. Où obtient-on des limites inférieures sur le temps de course de ? MM
— Emil Jeřábek soutient Monica le

@ EmilJeřábek J'ai clarifié la réponse. Faites-moi savoir si cela peut encore être amélioré.
— Dmytro Taranovsky

1
Peut-être que je ne comprends pas ce que signifie "mais nous pouvons encore nous arrêter ...". Que fait exactement M '?
— Emil Jeřábek soutient Monica le

@ EmilJeřábek M 'n'utilise aucune entrée et appelle à plusieurs reprises M pour décider du problème d'arrêt limité pour M'. Si, par exemple, après avoir exécuté 900 étapes, M 'découvre que (selon M) M' ne s'arrête pas dans les 1000 premières étapes, alors M 's'arrête. Sinon, alors M 'continue de fonctionner et appelle M pour décider si M' s'arrête dans les 4000 premières étapes ou plus.
— Dmytro Taranovsky
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.