• Aucun résultat trouvé

Espace non déterministe logarithmique

Dans le document COMPLEXITÉ ALGORITHMIQUE (Page 132-136)

Considérations de base sur l’espace

4.3 Comparaison avec les classes en temps

4.4.2 Espace non déterministe logarithmique

Réductions en espace logarithmique

PuisqueNLP, il n’est pas pertinent d’étudier les problèmesNL-complets pour les réduc-tions polynomiales (cf. proposition3-L). Il nous faut des réductions plus faibles. Pour comparer des problèmes en fonction de leur complexité en espace, il est naturel de défi-nir des réductions many-one en espace logarithmique.

4.4. Complétude 113 4-AE Définition

Uneréduction many-oneen espace logarithmique d’un problèmeB (sur l’alphabetΣB) à un problèmeA(sur l’alphabetΣA) est une fonction f :ΣB ΣA calculable en espace logarithmique telle que :

∀xΣB, xB ⇐⇒ f(x)A.

Si une telle fonctionf existe, on dira queBse réduit àA(via f) en espace logarithmique et on noteraBLmA.

De la même manière que précédemment (cf. définition3-J), on a bien sûr aussi les notions deC-difficulté etC-complétude pour les réductions en espace logarithmique.

4-AF Remarque SiBLmAalorsBpmA.

. 4-AG Exercice

Vérifier que tous les langages complets que nous avons vus jusqu’à présents restent complets pour les réductions en espace logarithmique. On peut par exemple vérifier que la réduction d’un problèmeNPàSATdonnée au théorème3-V se calcule en espace logarithmique. De même pour la réduction deSATà3SAT(proposition3-Z), etc.

Complétude pourNL

Pour préparer la preuve de complétude pourNL, nous devons tout d’abord définir une variante du graphe des configurations (définition4-S), où l’on considère toutes les confi-gurations potentielles, y compris celles qui ne sont pas accessibles depuis la configuration initiale.

4-AH Définition (graphe des configurations potentielles)

SoitNune machine non déterministe etxune entrée. On appellegraphe des configurations potentielles deN(x)en espaces(n)le graphe :

– dont les sommets sont toutes les configurations de travail possibles qui utilisent un espaces(|x|)et dont la position de la tête sur le ruban d’entrée est comprise entre

−2s(|x|)et2s(|x|);

– il y a un arc de la configurationc à la configurationcsiN peut aller dec àcen une étape.

114 Chapitre 4. Considérations de base sur l’espace 4-AI Remarques

– La différence avec le graphe des configurations de la définition4-Sest que toutes les configurations sont prises en compte, et pas seulement celles accessibles depuis la configuration initiale.

– Par un dénombrement simple similaire à la première partie de celui de la preuve du lemme4-V, le nombre de sommets de ce graphe est majoré par2αs(n)pour une constanteα.

L’intérêt de ce graphe vient du fait qu’il est simple à construire.

4-AJ Lemme

Soit s(n) une fonction constructible en espace. SoitN une machine non déterministe fonctionnant en espace s(n)et αune constante. Alors il existe une constanteγ telle que le graphe des configurations potentielles deN(x)en espaceαs(n)est constructible en espace déterministeγs(n).

Démonstration Soit Gx le graphe des configurations potentielles de N(x) en espace αs(n). Il s’agit de construire la matrice d’adjacence deGx. Soitmle nombre des confi-gurations potentielles en espaceαs(n): il existe une constanteβtelle quem2βs(n) (cf. remarque4-AI). Le codage de chaque configuration potentielle est simplement le contenu des rubans de travail, l’état ainsi que la position des têtes. Cela correspond à un numéro en binaire entre0et m1.

On remplit la matrice d’adjacence deGxcoefficient par coefficient. Pour le coefficient (i,j), on se place à la bonne position sur le ruban de sortie, on simule une étape de calcul deN à partir de la configurationi pour toutes les transitions possibles. Si la configuration jest ainsi obtenue à partir dei alors on inscrit1sur le ruban de sortie, sinon on inscrit0.

L’espace requis par ce procédé est majoré parγs(n)pour une certaine constanteγ : en effet, d’abord on calcules(n)en espaceO(s(n)); puis pour se déplacer sur le ruban de sortie on utilise un compteur en binaire dont la valeur n’excède pas2βs(n); l’écriture dei et j nécessite également βs(n) bits, et enfin la simulation d’une étape de N à partir dei utilise un espace supplémentaireαs(n). ⊓⊔

Sans surprise après tout ce qui précède, le problèmeNL-complet que nous allons voir se rapporte à l’accessibilité dans un graphe orientéGpour lequel on noteS l’ensemble des sommets etAl’ensemble des arcs. Nous l’avons déjà rencontré à la section2.1.3.

4.4. Complétude 115 4-AK Définition

Le problèmeACCESSIBILITÉest défini comme suit :

entrée: un graphe orientéG= (S,A)et deux sommetss,tS; – question: existe-t-il un chemin des àt dansG?

4-AL Proposition

Le langageACCESSIBILITÉestNL-complet pour les réductions en espace logarithmique.

Idée de la démonstration Pour déciderACCESSIBILITÉen espace non déterministe lo-garithmique, il suffit de se diriger dans le graphe en partant de s et en devinant à chaque étape le voisin suivant jusqu’à trouvert. Sitn’a pas été trouvé après|S|étapes, on rejette.

LaNL-difficulté vient du fait que décider si une machine non déterministe en espace logarithmiqueN accepte revient à trouver un chemin de la configuration initiale à une configuration acceptante dans le graphe des configurations deN.

Démonstration Voici un algorithme pourACCESSIBILITÉsur l’entrée(G,s,t): – us;

Pouri allant de0à|S| −1faire

si u=taccepter,

choisir de manière non déterministe un voisin sortant v de u,

uv;

rejeter.

S’il existe un chemin desàt, alors il existe un cheminsimpledesàt(c’est-à-dire sans boucle) et celui-ci est de taille<|S|(le nombre de sommets). Donc il existera une suite de choix non déterministes dans l’algorithme arrivant àten au plus|S|−1étapes, c’est-à-dire que l’algorithme acceptera. Si par contretn’est pas accessible depuiss, alors la boucle se terminera sans avoir trouvétet tous les chemins rejetteront. Cet algorithme non déterministe décide doncACCESSIBILITÉ.

Cet algorithme nécessite de conserver en mémoire le compteurivariant de0à|S|−1: en binaire, il prend1+log(|S|−1)cases. Il faut également écrire les deux sommetsuet v: on les désigne par leur numéro en binaire, ce qui prend encore un espace1+log|S|. Une foisv deviné, vérifier qu’il s’agit d’un voisin sortant deu se fait en parcourant l’entrée, de même que vérifier si v = t. Au final, cet algorithme non déterministe fonctionne en espace logarithmique, doncACCESSIBILITÉNL.

116 Chapitre 4. Considérations de base sur l’espace Pour laNL-difficulté, nous allons réduire tout problème deNLàACCESSIBILITÉ. Soit ANLetN une machine non déterministe pourAfonctionnant en espaceαlogn, c’est-à-dire quexAssiN(x)a un chemin acceptant. Pour une entréex, on noteGx le graphe des configurations potentielles (définition4-AH) deN(x)en espaceαγlogn, oùγest la constante du lemme4-Vconcernant le déplacement de la tête sur le ruban d’entrée. À partir deGx on définit un nouveau graphe Gx en ajoutant un sommet t et en reliant toutes les configurations acceptantes de Gx à t. Pour s, on prend la configuration initiale. Ainsi,N(x)accepte ssit est accessible depuissdansGx. Notre réductionf deAàACCESSIBILITÉassocie(Gx,s,t)àx. Par ce qui précède,xAssi

f(x)ACCESSIBILITÉ.

Le lemme 4-AJmontre que Gx est calculable en espace logarithmique. Pour en dé-duireGx, il suffit de relier toutes les configurations acceptantes à t, ce qui nécessite simplement de parcourir chaque sommet et se fait en espace logarithmique également.

Ainsi, f est calculable en espace déterministe logarithmique, ce qui conclut. ⊓⊔

4-AM Remarque Quant à lui, le problème ACCESSn.o. de l’accessibilité dans un graphenon orienté,que nous rencontrerons au chapitre12, n’est probablement pasNL -complet car ce problème est dans la classeLgrâce un algorithme sophistiqué (cf. théo-rème12-C).

Dans le document COMPLEXITÉ ALGORITHMIQUE (Page 132-136)