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 iO ( n 2 + ε )ε>0MiO(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 iwLi 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.)MMMMMMΩ(n2+1/M)Ω(n2+1/M)0M1nM0M1nMnnMMMMMMΩ(n2+1/M)Ω(n2+1/M)MMMM


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.