Accueil du site > MOCA > Représentation matricielle d’un graphe
Aller à ...
OMFG
Informations
Dans la rubrique MOCA , cet article a été écrit par b3nj et publié le 18 mars 2006.
2565 personnes ont affiché cette page et sa popularité est de 35.
Pebkac
Mots clefs
I see dead pixels.
Outils
SYN
Représentation matricielle d’un graphe

Existence et dénombrement de chemins dans un graphe

L’existence et le dénombrement de chemins de longueur k dans un graphe se fait en élevant à la puissance k la matrice booléenne aux arcs.

Matrice booléenne

On prend la matrice booléenne M, on l’élève successivement au carré, au cube, ..., à la puissance k pour déterminer le nombre de chemins de longueur 2,3,...,k

Calcul de M^{2}

M^{2} = M*M

11210
01110
10001
11201
01111

L’intersection de la ligne i et de la colonne j de la matrice M^{2} donne le nombre de chemins de longueur 2 entre les sommets i et j

Plus généralement l’intersection de la ligne i et de la colonne j de la matrice M^{k} donne le nombre de chemins de longueur k entre les sommets i et j

Matrice aux arcs

On prend la matrice aux arcs A, on l’élève successivement au carré, au cube, ..., à la puissance k pour déterminer le nombre de chemins de longueur 2,3,...,k ainsi que leur composition.

L’intérêt d’une telle représentation par rapport à la représentation par matrice booléenne est que l’on peut lire directement dans A^{k} la composition des chemins de longueur k.

A^{2} = A*A

ABCDE
AAEAABBABC, AECACD0
B0BBBBBCBCD0
CCDA000CDE
DDEADABDAC, DEC0DAE
E0EABEACECDEAE

La méthode pour élever la matrice aux arcs au carré, au cube, etc, est d’adopter les lois de composition suivantes pour l’addition et la multiplication :

  • La multiplication revient à concaténer 2 chemins AB*BC \rightarrow ABC
  • L’addition est équivalente à la réunion ensembliste \left( A,B,C \right) + \left( A, E, C \right) \rightarrow ils figurent dans la même case de la matrice aux arcs A^{2}

L’intersection de la ligne i et de la colonne j de la matrice A^{2} donne le nombre de chemins de longueur 2 entre les sommets i et j ainsi que leur composition.
Plus généralement, l’intersection de la ligne i et de la colonne j de la matrice A^{k} donne le nombre de chemins de longueur k entre les sommets i et j ainsi que leur composition.

Chemins élémentaires - chemins hamiltoniens

L’existence et le dénombrement de chemins élémentaires de longueur k dans un graphe se fait en élevant à la puissance k la matrice aux arcs et en ne retenant que les chemins ne comportant pas de répérition de lettres.

Soit le graphe orienté G = <X, U> comportant N sommets

Voir la figure Exemple de graphe orienté pour réaliser les matrices booléennes et aux arcs

  • Chemins élémentaires de longueur 1
    Dans la matrice aux arcs A, on commence par supprimer tous les chemins qui ne sont pas élémentaires.
    \left(B, B\right) \rightarrow boucle sur le sommet B
    Ce chemin est éliminé de A
    On obtient la matrice aux arcs A’ contenant les chemins élémentaires de longueur 1
ABCDE
A0ABAC0AE
B00BC00
C000CD0
DDA000DE
EEA0EC00
  • Chemins élémentaires de longueur 2
    On calcule A'^{2} à partir de A' en ne retenant que les chemins élémentaires.
    \left(A, E\right)*\left(E, A\right) \rightarrow \left(A, E, A\right) est un chemin de longueur 2 passant deux fois par le sommet A
    Ce chemin est éliminé de A'^{2} puisqu’il n’est pas élémentaire.
    On obtient la matrice aux arcs A'^{2} qui contient les chemins élémentaires de longueur 2
ABCDE
A00ABC, AECACD0
B000BCD0
CCDA000CDE
DDEADABDAC, DEC0DAE
E0AEBEACECD0
  • Chemins élémentaires de longueur 3
    On calcule A'^{3} en ne retenant que les chemins élémentaires
    On obtient la matrice aux arcs A'^{3} contenant les chemins élémentaires de longueur 3
  • Chemins élémentaires de longueur 4
    Dans la matrice A'^{4} apparaissent les chemins élémentaires de longueur 4
ABCDE
A0000ABCDE
BBCDEA000BCDAE
C0CDEAB000
D00DEABC00
E0ECDAB0EABCD0

Ces chemins passent une fois et une seule par tous les sommets du graphe, ce sont donc des chemins Hamiltoniens. Si de plus les chemins Hamiltoniens ce referment sur eux-mêmes, ce sont des circuits Hamiltoniens.

pages : << 1 2 3 >>