NSPACE
En théorie de la complexité, NSPACE désigne une famille de classes de complexité caractérisées par leur complexité en espace sur une machine de Turing non déterministe.
Plus précisément, {\displaystyle {\mathsf {NSPACE}}(f(n))} est la classe des problèmes de décision qui, pour une entrée de taille {\displaystyle n}, peuvent être décidés par une machine de Turing non déterministe fonctionnant en espace {\displaystyle {\mathcal {O}}(f(n))}.
Définitions
[modifier | modifier le code ]Les classes de complexité NL, NPSPACE et NEXPSPACE sont définies à partir de la famille NSPACE :
- {\displaystyle {\mathsf {NL}}={\mathsf {NSPACE}}({\mathcal {O}}(\log n))}
- {\displaystyle {\mathsf {NPSPACE}}=\bigcup \limits _{k\in \mathbb {N} }{\mathsf {NSPACE}}(n^{k})={\mathsf {PSPACE}}}
- {\displaystyle {\mathsf {NEXPSPACE}}=\bigcup \limits _{k\in \mathbb {N} }{\mathsf {NSPACE}}\left(2^{n^{k}}\right)={\mathsf {EXPSPACE}}}
Les langages rationnels peuvent être définis comme {\displaystyle {\mathsf {REG}}={\mathsf {DSPACE}}({\mathcal {O}}(1))={\mathsf {NSPACE}}({\mathcal {O}}(1))}. En fait, on a même {\displaystyle {\mathsf {REG}}={\mathsf {DSPACE}}({\mathcal {o}}(\log \log n))={\mathsf {NSPACE}}({\mathcal {o}}(\log \log n))} : le plus petit espace requis pour reconnaître un langage non rationnel est {\displaystyle {\mathcal {O}}(\log \log n)}, et toute machine de Turing (déterministe ou non) en espace {\displaystyle o(\log \log n)} reconnaît un langage rationnel[1] .
La classe des langages contextuels peut être définie comme {\displaystyle {\mathsf {CSL}}={\mathsf {NSPACE}}({\mathcal {O}}(n))}.
Propriétés
[modifier | modifier le code ]Hiérarchie en espace
[modifier | modifier le code ]Informellement, le théorème de hiérarchie en espace indique que disposer de plus d'espace permet de décider davantage de problèmes. Plus précisément, pour toutes fonctions {\displaystyle f} et {\displaystyle g} telles que {\displaystyle f=o(g)} et {\displaystyle g} est constructible en espace, l'inclusion stricte suivante est vérifiée :
- {\displaystyle {\mathsf {NSPACE}}(f(n))\subsetneq {\mathsf {NSPACE}}(g(n))}
Théorème d'Immerman-Szelepcsényi
[modifier | modifier le code ]Le théorème d'Immerman-Szelepcsényi affirme que les classes NSPACE sont closes par complémentaire : pour toute fonction {\displaystyle f} constructible en espace telle que {\displaystyle f(n)\geq \log n} :
- {\displaystyle {\mathsf {NSPACE}}(f(n))={\mathsf {coNSPACE}}(f(n))}
En particulier, {\displaystyle {\mathsf {NL}}={\mathsf {coNL}}}.
Liens avec d'autres classes
[modifier | modifier le code ]Le théorème de Savitch relie NSPACE aux classes de complexité en mémoire déterministe DSPACE par les inclusions suivantes, pour toute fonction {\displaystyle f} constructible en espace telle que {\displaystyle f(n)\geq \log n} :
- {\displaystyle {\mathsf {DSPACE}}(f(n))\subseteq {\mathsf {NSPACE}}(f(n))\subseteq {\mathsf {DSPACE}}\left(f(n)^{2}\right)}
Une conséquence en est que PSPACE = NPSPACE.
Par ailleurs, NSPACE est relié aux classes de complexité en temps DTIME et NTIME par les inclusions suivantes, pour toute fonction {\displaystyle f} constructible en espace :
- {\displaystyle {\mathsf {NTIME}}(f(n))\subseteq {\mathsf {DSPACE}}(f(n))\subseteq {\mathsf {NSPACE}}(f(n))\subseteq {\mathsf {DTIME}}\left(2^{{\mathcal {O}}(f(n))}\right)}
Notes et références
[modifier | modifier le code ]Références
[modifier | modifier le code ]- ↑ (en) Andrzej Szepietowski, Turing Machines with Sublogarithmic Space, Springer Science+Business Media, , 114 p. (ISBN 978-3-540-58355-4, lire en ligne), p. 28
Bibliographie
[modifier | modifier le code ]- (en) Sanjeev Arora et Boaz Barak, Computational Complexity: A Modern Approach, Cambridge University Press, , 579 p. (ISBN 978-0-521-42426-4, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
- Sylvain Perifel, Complexité algorithmique, Éditions Ellipses, , 432 p. (ISBN 978-2-729-88692-9, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
| Classes de complexité (liste) |
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Théorèmes et outils |
|
||||||||||||
| Approches non-standard | |||||||||||||