Justification de log f dans le théorème de la hiérarchie DTIME


30

Si nous regardons le théorème de la hiérarchie DTIME, nous avons un journal en raison de la surcharge dans la simulation d'une machine de Turing déterministe par une machine universelle:

DTIME(flogf)DTIME(f)

Nous n'avons pas ce genre de frais généraux pour NTIME de DSPACE. Une justification de base vient des détails de la preuve en considérant la différence entre les simulateurs.

Ma question est la suivante: sans considérer le détail de la preuve du théorème de la hiérarchie DTIME, y a-t-il une justification de ce log ou cela pourrait être juste une conséquence de la preuve et il serait raisonnable d'imaginer que si f=o(g) puis

DTIME(f)DTIME(g)

À mon avis, considérer que l'explication de la simulation est une bonne justification devrait être lui-même justifié en prouvant que si nous avions un meilleur résultat, nous pourrions créer une meilleure simulation.


5
Je pense que ce que vous avez écrit dans le dernier paragraphe est moins probable que son contraire. À savoir, je ne pense pas que nous puissions actuellement exclure la possibilité qu'une déclaration plus forte puisse être prouvée par une méthode autre que la simulation. D'un autre côté, nous pourrions être en mesure d'exclure la possibilité qu'une déclaration plus forte puisse être prouvée par simulation en construisant un monde relativisé où la déclaration plus forte échoue.
Tsuyoshi Ito

Pour autant que je sache, la réduction de la surcharge de simulation Ω(logn) dans le théorème de la hiérarchie temporelle déterministe serait un résultat révolutionnaire. D'une part, plusieurs résultats pourraient être immédiatement renforcés.
András Salamon

4
C'est quelque peu pédant, mais à moins que vous n'ayez d'autres restrictions supplémentaires sur f et g (la norme serait f et g étant constructible dans le temps), il existe f et g tels que f = o (g) et DTIME (f) = DTIME (g). Pour voir cela, il suffit de considérer l'ensemble indénombrable de toutes les fonctions x ^ i, avec i réel, 0 <i <= 1. Si le théorème de la hiérarchie temporelle était vrai pour toutes les paires de ces fonctions, alors nous obtiendrions un ensemble indénombrable de langues, toutes décidables par les machines de Turing. Cela contredit le fait que l'ensemble des machines de Turing est dénombrable.
Abel Molina

1
@abel Je suppose bien sûr que f et g sont constructibles dans le temps, comme dans le théorème de la hiérarchie temporelle actuelle.
Ludovic Patey

oui, il existe une justification à la lumière de la preuve actuelle, mais une réponse complète à ce problème / question s'avérerait nécessaire et pas seulement suffisante. c'est-à-dire comme AS commenté ci-dessus, une limite plus stricte est un problème ouvert. dans hopcroft / ullman 1976, ils soulignent que le facteur log (n) est dû à la réduction d'une MT multitape en une TM à 2 bandes et ont également la preuve pertinente de cette réduction. (en même temps que cette question, nous nous sommes toujours demandé comment la hiérarchie thms serait différente pour une théorie de la complexité basée sur des MT à bande unique au lieu d'une qui autorise les TM à bandes multiples. semble liée à cette question)
vzn

Réponses:


5

Le théorème de la hiérarchie du temps est le sujet de mon projet de diplôme, peut-être que vous voulez voir les commentaires sur ma question Limites inférieures et séparation des classes .

En repensant à cette question et à la façon dont elle se rapporte à ce que vous demandez, j'ai eu une idée qui pourrait montrer que les frais généraux de simulation TM multi-bande à bande unique nécessaires à la preuve du théorème ne peuvent pas être améliorés. Ainsi, une autre approche est nécessaire si nous voulons améliorer ce résultat.

EDIT: Cette preuve est incorrecte, voir les commentaires ci-dessous pour la raison exacte. J'édite actuellement la réponse pour refléter cela.

Soit la langue .{ 0 k 1 k | k 0 }A{0k1k|k0}

Sur une seule machine à bande, il existe un algorithme (vous pouvez trouver les détails de cet algorithme au chapitre 7.1.2 du livre de Sipser "Introduction à la théorie du calcul). Dans la même référence, vous pouvez voir qu'une langue est en o (n \ log n) si et seulement si elle est régulière. Kaveh fournit également les documents originaux pour cette affirmation dans la question liée ci-dessus.O(nlogn)

Dans les commentaires de ma question, Ryan Williams illustre un algorithme pour le même problème, en utilisant une TM à 2 bandes.O(n)

Supposons maintenant qu'il existe une technique pour simuler une MT multitape en une seule bande TM qui a un temps d'exécution de , où est le temps d'exécution de la TM simulée . En l'appliquant à la machine illustrée par Ryan, nous obtiendrions une seule bande TM qui s'exécuterait en . Par conséquent, est régulier, ce qui est une contradiction. Ainsi, nous concluons qu'une surcharge de est la meilleure que nous puissions faire lors de la simulation de machines à bandes multiples avec des machines à bande uniques.T ( n ) o ( n log n ) A log T ( n )o(T(n)logT(n))T(n)o(nlogn)AlogT(n)

Je me rends compte que c'est une déclaration forte, donc je peux me tromper dans mon interprétation.

Même s'il existe une technique qui permet d'améliorer ce résultat, je pense qu'il n'est pas possible de faire correspondre le résultat pour ou . Mon intuition dérive du fait suivant:S P A C ENTIMESPACE

Il existe un résultat très connu qui indique . Sous l'hypothèse que je crois que ce résultat est amélioré en , pour tout .Ainsi, une très petite classe non déterministe est beaucoup plus puissante que tout déterministe . Donc, étant donné la puissance d'un temps non déterministe d'une ressource, je m'attendrais à ce qu'une plus grande quantité de temps déterministe soit nécessaire pour rendre une MT plus puissante pour compenser la puissance du non-déterminisme.P N PDTIME(n)NTIME(n)PNPkDTIME(nk)NTIME(n)k


9
Il faut du temps quadratique pour simuler une machine de Turing à bandes multiples sur une machine à bande unique. Le langage des palindromes montre que cela est nécessaire: les palindromes peuvent être reconnus en temps sur les machines à deux bandes, mais cela prend du temps sur les machines à bande uniqueO(n)Ω(n2)
Luca Trevisan

Luca a bien sûr raison (je m'attendais à une erreur en raison de la force de la déclaration). Ma faute: j'ai confondu à la hâte le single-tape TM standard avec le single work-tape (avec différentes bandes d'entrée non écrites et peut-être une bande de sortie séparée). Quand j'ai réalisé l'erreur, j'ai essayé de voir si la régularité sur ce modèle, mais montre que ce n'est pas vrai. J'édite la réponse pour refléter ce fait, j'espère que le demandeur @Monoid l'a acceptée pour la partie intuition. o(nlogn)PALINDROMES
chazisop

L'exemple que Luca mentionne concerne un cas où le temps est . Ce cas particulier est troublant en général en raison du comportement non robuste des machines à bande unique dans de si petites classes. Ce n'est donc pas un obstacle si l'heure est . Fait intéressant, la preuve de la version forte du théorème de la hiérarchie pour n'utilise pas la simulation mais un argument direct (voir Hartmanis 1968). o(n2)Ω(n2)o(n2)
Kaveh

8

Pour les TM n-tape, un résultat de hiérarchie temporelle serré similaire au théorème de la hiérarchie spatiale est prouvé par Furer en 1982. Le facteur n'est pas nécessaire.lg

Le facteur pour le théorème de la hiérarchie temporelle indiqué dans votre article ne concerne que les MT à bande unique. Sauf si vous êtes très attaché au modèle à bande unique pour une raison quelconque, il n'y a pas de différence entre l'espace et le temps en ce qui concerne les théorèmes de hiérarchie.lg

Il existe des raisons et des arguments pour utiliser des MT à bande unique pour définir des classes de complexité temporelle, mais l'utilisation de MT à bande unique pour définir des classes de complexité n'est pas universelle, par exemple, voir Lance Fortnow et Rahul Santhanam [2007] où ils utilisent plusieurs bandes. MT.

La référence d'origine pour le théorème de la hiérarchie temporelle est Hennie et Stearns [1966]. Ils prouvent le théorème des machines à deux bandes. La théorie classique de la récursivité d'Odifreddi les cite ainsi que Hartmanis [1968] et décrit une preuve qui ressemble à celle du livre de Sipser.

Cependant, la preuve des MT à bande unique dans l'article de Hartmanis n'utilise pas simplement la simulation. Il distinguait deux cas: 1. le temps d'exécution étant et 2. le temps d'exécution étant .Ω(n2)o(n2)

  1. Pour le premier cas, il utilise une simulation, et il semble que l'on puisse se débarrasser du facteur si les simulations peuvent être effectuées plus efficacement.lg

  2. Pour le deuxième cas, le papier donne directement une langue pour la séparation et n'utilise pas du tout la simulation. Cela utilise des propriétés particulières des MT à bande unique avec une durée de fonctionnement sub-quadratique.

Il convient de noter que les MT à bande unique avec le temps ne sont pas aussi robustes et qu'il existe des limites inférieures quadratiques (par exemple pour les Palindroms) sur les MT à bande unique alors qu'une MT à deux bandes peut résoudre ces problèmes en temps linéaire.o(n2)

Comme je l'ai dit ci-dessus, à moins que vous ne soyez engagé dans le modèle TM à bande unique pour une raison quelconque, même lorsque le temps est sub-quadratique, il n'y a pas de vide à combler, le théorème de la hiérarchie temporelle est aussi serré que possible.

PS: si nous utilisons des MT à bandes multiples, c'est-à-dire qu'une machine Turing de la classe peut avoir un nombre fixe mais arbitraire de bandes, le résultat de Fürer ne s'applique pas.

  1. Martin Fürer, " La hiérarchie temporelle déterministe serrée ", 1982
  2. Piergiorgio Odifreddi, "Théorie classique de la récursivité", vol. II, 1999 (page 84)
  3. Juris Hartmanis, " Complexité computationnelle des calculs de machine de Turing à une bande ", 1968
  4. FC Hennie et RE Stearns, " Simulation à deux bandes de machines de Turing à bandes multiples ", 1966
  5. L'article de Lance Fortnow et Rahul Santhanam " Time Hierarchies: A Survey ", 2007

4
Le résultat de Fürer ne s'applique-t-il pas uniquement au cas où le nombre de bandes des machines de Turing considérées est fixe, c'est-à-dire, parle des classes , étant le nombre de bandes. DTIMEk(f)k
Markus Bläser

@Markus, oui, c'est exact, il est similaire au boîtier à bande unique. La seule différence est que le nombre de bandes est supérieur à un, mais il est toujours fixe, par exemple 2 bandes.
Kaveh

Voir aussi Krzysztof Loryś, " New time hierarchy results for deterministic TMs ", 1992. Une autre référence est Kazuo Iwama, Chuzo Iwamoto, " Improved time and space hierarchies of one-tape off-line TMs ", 1998, qui améliore le facteur de journalisation pour journal journal pour les MT à bande unique.
Kaveh

5

Pour un nombre fixe de bandes supérieur à un, ) pour constructible dans le temps . Le surcoût logarithmique provient du théorème de réduction de bande, où un nombre quelconque de bandes peuvent être converties en deux bandes (ou même juste une seule bande et une pile et avec juste un mouvement inconscient).Time(o(f))Time(O(f)f

Si le nombre de bandes n'est pas fixe, nous n'avons pas vraiment de technique pour prouver de manière constructive sans passer par le théorème de réduction de bande. Il est plausible que pour chaque , les machines à bandes ne puissent pas être simulées par des machines à bandes sans surcharge logarithmique.DTime(g)DTime(f)kk+1k

Cependant, cela ne signifie pas que le théorème de la hiérarchie temporelle ne peut pas être amélioré, ou que échoue.DTime(o(f))DTime(O(f))

En fait, nous avons déjà les éléments suivants.

Théorème: Pour tout et tout de la forme ( et rationnel; ou ), .fε>0fna(logn)baba>1a=1b0DTime(O(f/(logf)ε)DTime(O(f))

Preuve: si chaque langue avec un algorithme de décision peut être décidée en temps , alors en complétant l'entrée, chaque langue avec un algorithme de décision peut être décidé en temps (où est fixé ), et donc pour chaque constante , , contredisant le théorème de la hiérarchie temporelle.O(f)O(f/(logf)ε)O(f(n)(logf(n))kε)O(f(n)(logf(n))(k1)ε)k0c0DTime(O(f(n)(logf(n))c))=DTime(O(f(n)))

Cependant, cette preuve non constructive a trois limites:
* La preuve nécessite que soit bien comporté (non seulement constructible dans le temps, mais aussi dans un certain sens continu). * Nous ne connaissons pas de langage particulier qui se trouve dans mais pas dans . Pour un suffisamment grand , la simulation des machines de Turing à bande n'est pas dans , mais nous n'avons pas exclu que même pour et , le moins tel soit> BB (BB (1000)) où BB est la fonction de castor occupé. * Nous ne savons pas que l'inclusion est robuste.f
DTime(O(f))DTime(O(f/(logf)ε)kkDTime(O(f/(logf)ε)ε=1f(n)=n2k
DTime(O(f/(logf)ε) échouera pour certaines entrées, mais nous n'avons pas prouvé qu'il échoue pour certaines entrées pour toutes les tailles d'entrée, mais en nombre fini (bien que ce soit très surprenant) si ce n'est pas le cas).


Réponse géniale !! :)
Michael Wehar
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.