Element de Theorie des Graphes Définition 1 – X : ensemble des sommets « points » – U : ensemble des arcs « flèches » Exp 1. x2 x3 x5 x4 x1 X = {x1, x2, x3, x4, x5} U = {x1 x2,x2 x3, x3 x4,x4 x2, x4 x4, x3 x5} - Si l’arc xi xk ! U alors xi est son extrémité initiale et xk l’extrémité terminale xi est le prédécesseur de xk et xk le successeur de xi - L’arc xi xi : boucle Chemin : Une suite d’arcs u1, u2, …, um de U tel que pour tout k (1 ! k ! m-1) on a : (extrémité terminale de uk ) = (extrémité initiale de uk+1 ) x1 x2 x3 x5 Le chemin sera dit circuit si (extrémité initiale de u1 ) = (extrémité terminale de um ) x2 x3 x4 1 Chemin élémentaire : passe une fois par chacun de ses sommets. Chemin simple : passe une fois par chacun de ses arcs. Elémentaire Simple Définition 2 (d’un Graphe): G = (X, Γ+) X est l’ensemble des sommets. Γ+ : X P(X) où Γ+(x) est l’ensemble des successeurs de x Exp. Γ(x3) = {x4, x5} et Γ(x5) = Φ NB. D’une manière analogue, on peut définir Γ-(x) comme étant l’ensemble des prédécesseurs de x. Card(Γ+(x)) : degré extérieur de x Card(Γ-(x)) : degré intérieur de x Graphe non orienté Définition G = (X,V) X : Ensemble des sommets V : ensemble des arêtes x4 x2 x1 x5 x3 Une arête est représentée par une connexion non orienté : xi xj extrémités de l’arête 2 Définitions xi xk xi xk Matrice binaire associée à un graphe Graphe G = (X,U) un graphe orienté ayant n sommets. On défini la matrice binaire n ! n associée : M = mij i,j = 1,…, n Avec mij = 1 si l’arc xi 0 sinon Matrice de l’exemple 1 : xj ! U 0 0 M= 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 3 Produit des matrices : En utilisant les opérations sur les nombres entiers on calcule les puissances successives de M : M2 = M ! M où ! désigne le produit des matrices en nombres entiers. 2 Si on note par mij l’élément de la matrice M2 2 On a mij = mi1 m1 j + mi 2 m2 j + .... + min mnj • Où + désigne la somme des nombres entiers p Mp = Mp-1 ! M = [ mij ] et mijp = mip1 !1m1 j + mip2!1m2 j + .... + minp !1mnj Produit Booléen des matrices : En utilisant les opérations booliennes sur {0,1} on calcule les puissances successives de M : M[2] = M ! M où ! désigne le produit booléen des matrices booléennes. [ 2] Si on note par mij l’élément de la matrice M[2] On a : m[ij2] = mi1 m1 j ! mi 2 m2 j ! .... ! min mnj Où ! désigne la somme booléenne On note M[p] =M[p-1] ! M = [m[ijp ]] [ p !1] mij[ p ] = mi[1p !1]m1 j " mi[2p !1]m2 j " .... " min mnj 4 Interprétation M = [m ij ]i =1...nétant la matrice booléenne d’un graphe G j=1...n Résultat1 [ p] mij = 1 Il existe au moins un chemin de xi vers xj formé de arcs p. Résultat2 p mij = l Il existe exactement l chemins de de xi vers xj formés de p arcs. Démonstration du Résultat 1 Le résultat1 est vrai pour p=1 (par définition) Hypothèse H Le résultat1 est vrai pour (p-1) Si m pij = m pi1"1m1j ! m pi2"1m 2 j ! .... ! m pin"1m nj = 1 Il existe au moins un k (1 ! k ! n ) avec mikp !1 = 1 et mkj = 1 Compte tenu de l’hypothèse H, il existe au moins un chemin de longueur (p-1) entre xi et xk et en plus un arc en xk et xj. Ainsi : Hypothèse H vrai pour (p-1) Hypothèse H vrai pour (p) 5 Fermeture transitive d’un graphe Soit G = (X,U) ) ) On défini sa fermeture transitive par : G = ( X ,U ) ) xi xj ! U ! (i=j) ou (Il existe au moins un chemin dans G de xi vers xj ) Si ) M alors désigne la matrice binaire de ) G on a ) M = I " M " M [ 2] " .... " M [ n !1] ! Désigne la somme boolienne des matrices Connexité Graphe non orienté Relation d’équivalence : " x et y ! X on défini x C y ! (Il existe une chaîne entre x et y) C est une relation d’équivalence : réflexive, symétrique et transitive Chaque classe d’équivalence de C sera dite composante connexe de G Exp. Un graphe ayant une seule composante connexe sera dit graphe connexe 6 Forte Connexité Graphe orienté Relation d’équivalence : " x et y ! X on défini x FC y ! (Il existe un circuit de G contenant x et y) FC est une relation d’équivalence : réflexive, symétrique et transitive Chaque classe d’équivalence de FC sera dite composante fortement connexe de G Exp. Un graphe ayant une seule composante fortement connexe sera dit graphe fortement connexe Graphe Réduit G : graphe orienté admettant p composantes fortement connexes : C1, C2, …, Cp On définit le graphe réduit de G (noté GR) par GR=(XR,UR) avec : - XR={C1,C2,…,Cp} - Ci Cj ! UR Il existe au moins un arc dans G ayant son extrémité initiale dans la composante fortement connexe Ci et son extrémité terminale dans la composante fortement connexe Cj 7 Exemple Graphe G Graphe GR C4 C2 x3 x2 x7 x8 C1 x5 C4 C1 x4 x1 C2 x9 x10 C3 x6 C3 Résultat 2 Le graphe réduit est un graphe sans circuit 8