NL (complexité)
En informatique thĂ©orique, plus prĂ©cisĂ©ment en thĂ©orie de la complexitĂ©, NL est une classe de complexitĂ©. Cette classe est aussi appelĂ©e NLogSpace. C'est l'ensemble des problĂšmes de dĂ©cision qui peuvent ĂȘtre dĂ©cidĂ©s par des machines de Turing non dĂ©terministes dont l'espace de travail est bornĂ© par une fonction logarithmique.
DĂ©finition formelle
Si l'on appelle , l'ensemble des problĂšmes de dĂ©cision qui peuvent ĂȘtre dĂ©cidĂ©s par des machines de Turing non dĂ©terministes utilisant un espace pour une fonction en la taille de l'entrĂ©e , alors on dĂ©finit [1].
Un problÚme A est NL-dur si tout problÚme de NL se réduit en espace logarithmique à A. Un problÚme est NL-complet s'il est dans NL et NL-dur.
Exemples de problĂšmes NL-complets
Le problÚme de l'accessibilité (aussi appelé s-t-accessibilité) qui consiste, étant donné un graphe orienté G, et deux sommets s et t de G, à déterminer s'il y a un chemin de s à t dans G, est NL-complet. Dans ce problÚme, le graphe est représenté explicitement, avec une matrice d'adjacence ou avec des listes d'adjacences.
Voici d'autres problÚmes de décision NL-complets :
- 2-SAT, la restriction du problÚme SAT (qui est NP-complet) aux ensembles de clauses d'au plus deux littéraux.
- décider si le langage d'un automate fini non-déterministe est vide[2] - [3] - [4].
- décider si le langage d'un automate fini déterministe (avec un alphabet non unaire) est vide[3]. Si l'alphabet est unaire, le problÚme devient L-complet[3].
- décider si le langage d'une automate fini déterministe est le langage de tous les mots[3] (attention, si l'automate fini est non-déterministe, le problÚme devient PSPACE-complet[5]).
- dĂ©cider si le langage d'un automate de BĂŒchi est vide est NL-complet[6].
En 1976, Neil D. Jones, Y. Edmund Lien et William T. Laaser propose des démonstrations de NL-complétude pour plusieurs problÚmes[7], à l'instar des problÚmes de Karp pour la NP-complétude.
Relations avec les autres classes
La classe NL est une classe relativement petite parmi les classes usuelles. On a notamment NL P.
Comme pour toutes les classes, la variante non dĂ©terministe contient la version dĂ©terministe, c'est-Ă -dire que L NL. Au , l'autre sens NL L est un problĂšme ouvert. Un autre rĂ©sultat est donnĂ© par le thĂ©orĂšme de Savitch[8]âŻ:
ThĂ©orĂšme de Savitch â
Un autre résultat est le théorÚme dû à Neil Immerman[9] et Róbert Szelepcsényi[10] indépendamment :
ThĂ©orĂšme d'Immerman-SzelepcsĂ©nyi â , pour toute fonction , en particulier NL=co-NL
La classe NL est incluse dans NC, mĂȘme plus prĂ©cisĂ©ment dans NC2[11]. Pour le dĂ©montrer, on construit un circuit de taille polynomiale et de profondeur polylogarithmique pour le problĂšme d'accessibilitĂ© qui est NL-complet. On montre aussi que la classe NC est stable par rĂ©duction logarithmique.
Autres définitions
DĂ©finition par certificat
Une dĂ©finition par certificat est aussi possible, comme pour NP. Les contraintes Ă ajouter sont les suivantes : le vĂ©rificateur est unidirectionnel, c'est-Ă -dire que la tĂȘte de lecture ne peut pas revenir en arriĂšre, et il travaille en espace logarithmique[12].
Définition de complexité descriptive
En complexité descriptive, NL correspond à la logique du premier ordre avec fermeture transitive[13].
Notes et références
- Sylvain Perifel, ComplexitĂ© algorithmique, Ellipses, , 432 p. (ISBN 9782729886929, lire en ligne), chap. 4.3 (« ConsidĂ©rations de base sur lâespace : comparaison avec les classes en temps »), p. 109
- « Examen qui pose cette question »
- « Space-bounded reducibility among combinatorial problems », Journal of Computer and System Sciences, vol. 11, no 1,â , p. 68â85 (ISSN 0022-0000, DOI 10.1016/S0022-0000(75)80050-X, lire en ligne, consultĂ© le )
- « Complexity of universality and related problems for partially ordered NFAs », Information and Computation, vol. 255,â , p. 177â192 (ISSN 0890-5401, DOI 10.1016/j.ic.2017.06.004, lire en ligne, consultĂ© le )
- Alfred V. Aho et John E. Hopcroft, The Design and Analysis of Computer Algorithms, Addison-Wesley Longman Publishing Co., Inc., (ISBN 0201000296, lire en ligne)
- (en) A. Prasad Sistla, Moshe Y. Vardi et Pierre Wolper, « The complementation problem for BĂŒchi automata with applications to temporal logic », Theoretical Computer Science, vol. 49, no 2,â , p. 217â237 (ISSN 0304-3975, DOI 10.1016/0304-3975(87)90008-9, lire en ligne, consultĂ© le ) :
« Theorem 2.9 The nonemptiness problem for BĂŒchi automata is logspace complete for NLOGSPACE. »
- (en) Neil D. Jones, Y. Edmund Lien et William T. Laaser, « New problems complete for nondeterministic log space », Mathematical Systems Theory, vol. 10, no 1,â , p. 1â17 (ISSN 0025-5661 et 1433-0490, DOI 10.1007/bf01683259, lire en ligne, consultĂ© le )
- Sylvain Perifel, Complexité algorithmique, Ellipses, , 432 p. (ISBN 9782729886929, lire en ligne), chap. 4.5.2 (« ThéorÚme de Savitch »), p. 118.
- Neil. Immerman, « Nondeterministic Space is Closed under Complementation », SIAM Journal on Computing, vol. 17, no 5,â , p. 935â938 (ISSN 0097-5397, DOI 10.1137/0217058, lire en ligne, consultĂ© le )
- (en) RĂłbert SzelepcsĂ©nyi, « The method of forced enumeration for nondeterministic automata », Acta Informatica, vol. 26, no 3,â , p. 279â284 (ISSN 1432-0525, DOI 10.1007/BF00299636, lire en ligne, consultĂ© le )
- (en) Papadimitriou, Computational complexity, Theorem 16.1 (p. 395)
- Sylvain Perifel, Complexité algorithmique, Ellipses, , 432 p. (ISBN 9782729886929, lire en ligne), chap. 4.5.1 (« Certificats unidirectionnels »), p. 117.
- (en) Neil Immerman, « Languages Which Capture Complexity Classes », 15th ACM STOC Symp.,â , p. 347-354 (lire en ligne).
Bibliographie
(en) Sanjeev Arora et Boaz Barak, Computational Complexity : A Modern Approach, Cambridge University Press, (ISBN 0-521-42426-7), chap. 4 (« Space complexity »)