Rang cyclique (graphe orienté)
En thĂ©orie des graphes, le rang cyclique d'un graphe orientĂ© est une mesure de la connexitĂ© introduite par Eggan et BĂŒchi en 1963[1]. Intuitivement, cette valeur mesure Ă quel point un graphe est presque acyclique : un graphe orientĂ© acyclique a un rang cyclique de zĂ©ro, tandis qu'un digraphe complet d'ordre n (avec une boucle Ă chaque sommet) a un rang cyclique n. Le rang cyclique d'un graphe orientĂ© est proche de la hauteur d'Ă©toile des langages rationnels.
DĂ©finition
Le rang cyclique r(G) d'un graphe orienté G = (V, E) est défini par induction sur le nombre de sommets dans G :
- Si G est acyclique, alors r(G) = 0.
- Si G est fortement connexe et E non vide, alors
- oĂč est le graphe orientĂ© obtenu en supprimant le sommet v et toutes les arĂȘtes qui commencent ou terminent au sommet v.
- Si G n'est pas fortement connexe, alors r(G) est Ă©gal au maximum des rangs cycliques des composantes fortement connexes de G.
Histoire
Le rang cyclique a été introduit par Eggan[1] pour résoudre le problÚme de la hauteur d'étoile des langages rationnels. Il a été ensuite redécouvert par Eisenstat et Liu[2] par généralisation de la notion de profondeur d'arbre pour les graphes non orientés, qui a été développée et appliquée aux calculs de matrices creuses dans les années 80[3].
Exemples
Le rang cyclique d'un graphe orientĂ© acyclique est 0, et un graphe complet Ă n sommets (avec, en plus une arĂȘte allant de chaque sommet Ă lui-mĂȘme) a un rang cyclique de n. Le rang cyclique de quelques autres graphes est connu :
Calculer le rang cyclique
Le calcul du rang cyclique est un problĂšme algorithmique complexe. Le problĂšme de dĂ©cision est NP-complet, mĂȘme pour des graphes orientĂ©s de degrĂ© 2[6]. On peut trouver une solution en temps en sur des graphes orientĂ©s de degrĂ© au plus 2, et en temps en en gĂ©nĂ©ral. Il existe un algorithme d'approximation de ratio en .
Applications
La hauteur d'Ă©toile des langages rationnels
La premiĂšre application du rang cyclique fut en thĂ©orie des langages formels, afin d'Ă©tudier la hauteur d'Ă©toile des langages rationnels. Eggan (1963) Ă©tablit une relation entre la thĂ©orie des expressions rĂ©guliĂšres, des automates finis et des graphes orientĂ©s. Dans les annĂ©es qui suivirent, cette relation devint connue sous le nom du ThĂ©orĂšme d'Eggan, cf. Sakarovitch (2009). Dans la thĂ©orie des automates, un automate fini non-dĂ©terministe avec Δ-transitions (Δ-AFN) est dĂ©fini par un 5-uplet (Q, ÎŁ, ÎŽ, q0, F) oĂč
- Q est un ensemble fini d'Ă©tats
- ÎŁ est un ensemble fini de lettres
- ÎŽ est un ensemble d'arcs orientĂ©s Ă©tiquetĂ©s par des lettres, reprĂ©sentĂ© par une partie de Q Ă (ÎŁâȘ{Δ}) Ă Q oĂč Δ reprĂ©sente le mot vide
- q0 â Q est l'Ă©tat initial
- F â Q est l'ensemble des Ă©tats finaux ou Ă©tats acceptants
Un mot m â ÎŁ* est acceptĂ© par l'Δ-AFN si, et seulement si, il existe un chemin de l'Ă©tat initial q0 Ă un Ă©tat final de F n'utilisant que des arcs de ÎŽ et de sorte que la concatĂ©nation de toutes les Ă©tiquettes visitĂ©es au long du chemin forme le mot m. L'ensemble des mots de ÎŁ* acceptĂ©s par l'automate est le langage acceptĂ© par l'automate. Un automate fini non-dĂ©terministe peut ĂȘtre vu comme un graphe orientĂ© dont les sommets sont les Ă©tats Q et dont les arcs sont les transitions de ÎŽ.
Ainsi s'énonce le théorÚme :
- ThéorÚme d'Eggan : La hauteur d'étoile d'un langage rationnel L est égale au rang cyclique minimum parmi tous les automates finis non-déterministes avec Δ-transitions acceptant L.
La preuve de ce théorÚme est donnée dans Eggan (1963)[7], et plus récemment dans Sakarovitch (2009)[8].
Factorisation de Cholesky dans le calcul des matrices creuses
Une autre application de ce concept appartient au domaine du calcul des matrices creuses, plus prĂ©cisĂ©ment pour utiliser la dissection imbriquĂ©e pour calculer la factorisation de Cholesky d'une matrice (symĂ©trique) en parallĂšle. Une matrice M creuse carrĂ©e de taille n peut ĂȘtre interprĂ©tĂ©e comme la matrice d'adjacence d'un graphe orientĂ© G symĂ©trique ayant n sommets, de sorte que les coefficients non-nuls de la matrice correspondent exactement aux arcs de G. Si le rang cyclique du graphe orientĂ© G est au plus k, alors la factorisation de Cholesky de M peut ĂȘtre calculĂ©e en au plus k Ă©tapes sur un ordinateur parallĂšle disposant de processeurs (Dereniowski & Kubale 2004[9]).
Notes et références
- (en) Eggan, Lawrence C., « Transition graphs and the star-height of regular events », Michigan Mathematical Journal,â , p. 385â397
- (en) Eisenstat, Stanley C et Liu, Joseph W. H., « The theory of elimination trees for sparse unsymmetric matrices », The theory of elimination trees for sparse unsymmetric matrices,â , p. 686-705
- (en) Schreiber, Robert, « A new implementation of sparse Gaussian elimination », ACM Transactions on Mathematical Software,â , p. 256-276 (lire en ligne)
- (en) McNaughton, Robert, « The loop complexity of regular events », Information Sciences,â , p. 305-328
- (en) Gruber, Hermann et Holzer, Markus, « Finite automata, digraph connectivity, and regular expression size », International Colloquium on Automata, Languages and Programming,â , p. 39-50
- (en) Gruber, Hermann, « Digraph Complexity Measures and Applications in Formal Language Theory », Discrete Mathematics & Theoretical Computer Science,â , p. 189-204 (lire en ligne)
- (en) Eggan, Lawrence C., « Transition graphs and the star-height of regular events », Michigan Mathematical Journal,â , p. 385â397 (lire en ligne)
- (en) Sakarovitch, Jacques, Elements of Automata Theory, Cambridge University Press, (ISBN 0-521-84425-8)
- (en) Dereniowski, Dariusz et Kubale, Marek, « Cholesky Factorization of Matrices in Parallel and Ranking of Graphs », Lecture Notes on Computer Science,â , p. 985â992 (lire en ligne)