Théorème d'Immerman-Szelepcsényi
Le théorème d'Immerman-Szelepcsényi est un théorème d'informatique théorique, et notamment de la théorie de la complexité, démontré en 1987 indépendamment par Neil Immerman et Róbert Szelepcsényi, et qui leur a valu d'obtenir conjointement le prix Gödel en 1995. Une version simplifiée de ce théorème est NL = co-NL.
Introduction
[modifier | modifier le code]Le théorème concerne la complexité en espace des calculs effectués par des machines de Turing non déterministes. La complexité en espace est mesurée par le nombre de cellules qu'occupent sur la bande les calculs de la machine de Turing. Elle est exprimée en fonction de la taille de l'entrée.
Il est toujours un peu délicat de parler de complexité dans le cas des machines non déterministes puisque, pour une donnée, il peut exister plusieurs, voire une infinité de calculs. D'abord, on ne considère que les calculs qui se terminent. Et parmi ces calculs, celui qui est le plus favorable quant à la mesure que l'on adopte, soit le plus rapide pour une complexité en temps, soit le plus économe en place pour une complexité en espace. Enfin, dans les problèmes qui sont à réponses « oui-non », ce qui est le cas ici, on ne considère que les calculs réussis, qui donc apportent une réponse positive.
On note par NSPACE l'ensemble des problèmes qui peuvent être ainsi résolus par une machine de Turing non déterministe en place au plus en fonction de la taille de la donnée, et par co-NSPACE l'ensemble des problèmes dont le complémentaire qui peut être résolu par une machine de Turing non déterministe en place au plus .
Dans le modèle de calcul décrit plus haut, si une machine de Turing apporte une réponse positive en utilisant un certain espace, rien ne garantit a priori que cet espace est suffisant pour apporter une réponse négative à un problème qui n'a pas de solution : il ne suffit pas de considérer les calculs qui ont échoué dans la machine, puisqu'ils peuvent être très volumineux, voire ne pas se terminer sur un ensemble borné de cellules, et alors comment choisir le meilleur ?
Le théorème
[modifier | modifier le code]Dans sa forme générale, le théorème d'Immerman-Szelepcsényi énonce l'égalité :
pour toute fonction .
Le théorème donne comme cas particulier une preuve positive au « deuxième problème » concernant les automates linéairement bornés, et par là même prouve que l'ensemble des langages contextuels est fermé par complémentation, une question restée ouverte pendant plus de trois décennies.
Un énoncé équivalent concerne les classes de complexité NL et co-NL. En fait, NL est une abréviation pour NSPACE, c'est-à-dire NL = NSPACE et de même co-NL=co-NSPACE. L'énoncé dit :
- .
Il est apparemment plus faible puisque c'est le cas particulier du premier avec , mais un argument, assez fréquemment employé dans cette théorie et appelé l'argument de remplissage (en) (en anglais padding argument), permet de prouver l'équivalence.
Démonstrations
[modifier | modifier le code]La démonstration du théorème est qualifiée d'élémentaire mais subtile[1]. Le résultat en lui-même est fondamental, et plutôt unique dans la théorie de la complexité. On ne connaît pas de résultat analogue pour la complexité en temps, et il est en général conjecturé que les classes de complexité NP et co-NP sont différentes.
Depuis sa publication, le théorème et sa démonstration font partie du socle de la théorie de complexité, et sont donc enseignés au niveau master, et contenus dans des livres d'enseignement. On peut citer notamment les livres de Papadimitriou[2] et de Arora et Barak[3].
Hiérarchie logarithmique
[modifier | modifier le code]Dans le même article, Immerman démontre, comme corollaire, l'égalité entre la classe NL et la hiérarchie logarithmique, c'est-à-dire les langages acceptés par des machines de Turing alternantes avec accès direct en temps logarithmique et avec un nombre borné d'alternances. Il utilise pour cela l'égalité entre la classe NL et la logique du premier ordre avec fermeture transitive FO (Fermeture transitive) (en), égalité qu'il établit par la complexité descriptive.
Notes
[modifier | modifier le code]- (en) Citation du prix Gödel 1995 sur ACM.
- (en) Christos Papadimitriou, Computational Complexity, Addison-Wesley, (ISBN 978-0-201-53082-7).
- (en) Sanjeev Arora et Boaz Barak, Computational Complexity : A Modern Approach, Cambridge University Press, (ISBN 0-521-42426-7).
Annexes
[modifier | modifier le code]Articles connexes
[modifier | modifier le code]- Théorème de Savitch. Ce théorème établit une relation entre les classes de complexité non déterministe en espace et leur contre-parties déterministes.
Lien externe
[modifier | modifier le code]- Lance Fortnow, Foundations of Complexity, Lesson 19: The Immerman–Szelepcsenyi Theorem. Une autre preuve, sur le Web.
Bibliographie
[modifier | modifier le code]- Article originaux
- N. Immerman, Nondeterministic space is closed under complementation, SIAM Journal on Computing 17, 1988, pp. 935–938.
- Róbert Szelepcsényi, « The Method of Forced Enumeration for Nondeterministic Automata ». Acta Informatica vol. 26, no 3, 1988, p. 279-284. Une prépublication, de titre « The method of forcing for nondeterministic automata », dans le Bulletin de l'EATCS, vol. 33, 1987, p. 96–100.
- Manuels
- (en) Christos H. Papadimitriou, Computational Complexity, Reading (Mass), Addison-Wesley, 1993 (réimpression avec corrections 1995), 523 p. (ISBN 978-0-201-53082-7 et 0-201-53082-1), p. 151-153.
- (en) Sanjeev Arora et Boaz Barak, Computational Complexity : A Modern Approach, Cambridge University Press, (ISBN 0-521-42426-7), chap. 4 (« Space Complexity ») pp. 91-92.