Unité d Enseigneent RCP : Recherche Opérationnelle et Aide à la Décision Cours - Théorie des graphes Conservatoire National des Arts et étiers E. Soutil et F. Badran UE RCP Recherche Opérationnelle et Aide à la Décision Plan du cours Partie - Eléents de Théorie des Graphes Généralités, fereture transitive et conneité Cheins de longueur optiale Partie Ordonnanceent éthode PERT éthode P Partie 3 Prograation linéaire odélisation éthode du siplee Dualité Partie 4 : Processus de arkov et files d attente Partie 5 : Optiisation ulticritères RCP Partie Théorie des Graphes
Bibliographie 3 Précis de Recherche Opérationnelle Editions Dunod Auteurs : R. Faure, B. Leaire, Ch. Picouleau éthodes d optiisation cobinatoire Editions asson Auteurs : I. Charon, A. Gera, O. Hudry RCP Partie Théorie des Graphes 4 Partie Eléents de Théorie des Graphes Les graphes : Un outil irreplaçable pour la odélisation des systèes réels Qu est-ce qu un graphe? «Des points et des flèches» Point de vue athéatique : une relation binaire Point de vue pratique : représentation abstraite d un réseau (de télécounication par eeple) Utilisés dans des doaines très variés : éconoie, inforatique, industrie, chiie, sociologie. RCP Partie Théorie des Graphes
5 Graphe orienté : G = (X, U) X : enseble de soets. X : ordre de G (noté n) U : enseble d arcs. U : taille de G (notée ) Représentation graphique : Soets : X = {,, 3, 4} Arcs : U = {a, b, c, d, e, f, g} Notation : l arc u se note u = (,y) Le no des soets est quelconque (chiffres, lettres, ot), les arcs sont rareent noés (désignés par leurs etréités initiale et terinale) RCP Partie Théorie des Graphes 6 Soit G = (X,U) un graphe orienté et u = (,y) un arc de G : : etréité initiale de u ; y : etréité terinale de u et y sont dits adacents ; u est incident intérieureent à y, etérieureent à u est aussi dit adacent à et y deu arcs sont adacents s ils ont une etréité coune d + () : dei-degré etérieur de = nb d arcs qui partent de d - () : dei-degré intérieur de = nb d arcs qui arrivent en d() = d + ()+ d - () : degré de G est dit régulier si tous ses soets ont le êe degré d + () = 4 d - () = d()=6 RCP Partie Théorie des Graphes 3
7 + () = {,, 3} : enseble des successeurs de - () = {, } : enseble des prédécesseurs de ()={,, 3} : enseble des voisins de Un -graphe (ultigraphe) + (D) = {A, C} : enseble des successeurs de D - (D) = {B} : enseble des prédécesseurs de D (D)={A, B, C} : enseble des voisins de D Un graphe siple valué RCP Partie Théorie des Graphes 8 Soit G = (X,U) un graphe orienté y est successeur de si (,y)u + () : enseble des successeurs de y est prédécesseur de si (y,)u - () : enseble des prédécesseurs de y est voisin de si y ()= + () - () c-à-d si y est successeur ou prédécesseur de Un graphe est dit siple (ou encore -graphe) s il ne possède pas deu arcs ayant la êe etréité initiale et la êe etréité terinale : U X X Une boucle est un arc dont l etréité initiale est aussi l etréité terinale (e : c = (,) ) On s intéresse le plus souvent au graphes siples sans boucle. Graphe non siple = ultigraphe Graphe valué : les arcs portent une inforation appelée valuation (distance, coût, gain, ) RCP Partie Théorie des Graphes Un -graphe (ultigraphe) Un graphe siple valué 4
9 Un chein dans G = (X, U) : séquence d arcs u, u,, u de U t.q. l etréité terinale d un arc coïncide avec l etréité initiale de l arc suivant : Pour tout k ( k -) on a : etréité terinale de u k = etréité initiale de u k+ Eeple : ((D,A),(A,B),(B,C)) noté DABC Un chein peut être : siple : ne passe pas deu fois le êe arc éléentaire : ne passe pas deu fois par le êe soet DABA : chein siple, non éléentaire éléentaire siple RCP Partie Théorie des Graphes Un circuit : chein dont l origine et la fin coïncident etréité initiale de u = etréité terinale de u DABD : circuit éléentaire DABDABD : circuit non éléentaire éléentaire siple RCP Partie Théorie des Graphes 5
Graphes non orientés : G = (X, A) X : enseble de soets A : enseble d arêtes (arc sans orientation) Deu arêtes ayant une etréité coune dont dites adacentes (E : [a,b] et [b,c] ) Une chaîne : séquence d arêtes t.q. toute arête de la séquence est adacente à l arête qui la suit et à celle qui la précède. Eeple : [acdb] ou ([a,c], [c,d], [b,d]) Chaîne dans un graphe orienté : DCBA Cycle : chaîne dont les deu etréités coïncident (E : [eacdbe]) Graphe non orienté Graphe orienté RCP Partie Théorie des Graphes Chaîne eulérienne : passant une fois et une seule par chaque arête Eeple : les sept ponts de Königsberg. Peut-on se proener dans la ville en traversant chaque pont une et une seule fois? (Euler, 736) Théorèe d Euler : Un ultigraphe connee adet une chaîne eulérienne si et seuleent si le nobre de soets de degré ipair est ou RCP Partie Théorie des Graphes 6
3 Orienté Non orienté Arc Arête Chein (la notion de chaîne eiste aussi dans les graphes orientés en faisant abstraction de l orientation) Circuit (la notion de cycle eiste aussi) Chaîne Cycle RCP Partie Théorie des Graphes Conneité 4 Soit G = (X, U) un graphe, orienté ou non. On définit la relation binaire R sur X, dite relation de conneité par : R y si et seuleent si et y sont reliés par une chaîne dans G. R est une relation d équivalence (réfleive, syétrique, transitive), dont les classes d équivalence sont appelées coposantes connees de G G est dit connee s il ne possède qu une unique coposante connee Un graphe coportant 3 coposantes connees RCP Partie Théorie des Graphes 7
5 : les arbres Définition : un arbre est un graphe connee et sans cycle. Une forêt est un graphe sans cycle. Un arbre Propriété : Soit G = (X, U) un graphe d ordre n.. Si G est connee, U n-. Si U n, G possède au oins un cycle Une forêt RCP Partie Théorie des Graphes 6 Forte conneité (graphes orientés uniqueent) Soit G = (X, U) un graphe, orienté. On définit la relation binaire R FC sur X, dite relation de forte conneité par : R FC y si et seuleent s il eiste un circuit de G contenant et y ou =y. R FC est une relation d équivalence (réfleive, syétrique, transitive), dont les classes d équivalence sont appelées coposantes forteent connees de G G est dit forteent connee s il ne possède qu une unique coposante forteent connee Il eiste un algorithe perettant de déteriner les coposantes forteent connees d un graphe orienté. Eeple de graphe orienté coportant deu coposantes forteent connees (entourées). Ce graphe n est donc pas forteent connee. RCP Partie Théorie des Graphes 8
Forte conneité et graphe réduit 7 Soit G un graphe orienté adettant p coposantes forteent connees : C, C,, C p On définit le graphe réduit de G (noté G R ) par G R = (X R, U R ), avec : X R = {C,C,,C p } L' arc ( C, C ) U i R Il eiste au oins un arc dans G ayant son etréité initiale dans la coposante forteent connee C i et son etréité terinale dans C RCP Partie Théorie des Graphes Forte conneité et graphe réduit 8 Eeple : Résultat : Le graphe réduit est un graphe sans circuit RCP Partie Théorie des Graphes 9
Représentation des graphes : atrice binaire RCP Partie Théorie des Graphes 9 Soit G = (X,U) un graphe orienté ayant n soets. On définit la atrice binaire n n associée : =[ ] (i, =,, n) avec Eeple : sinon U ), l'arc ( si i 5 4 3 5 4 3 Représentation des graphes : lien entre puissances de la atrice et cheineent dans le graphe RCP Partie Théorie des Graphes En utilisant les opérations arithétiques classiques (+ et ), on peut calculer les puissances successives de. Par eeple : Nous allons voir que les éléents de chacune de ces atrices a une signification pratique pour cheiner dans le graphe. 3, 5 4 3 5 4 3
Représentation des graphes : lien entre puissances de la atrice et cheineent dans le graphe Eeple : Eléents de la atrice ² : Notons i Dans la suite, le tere i, de la atrice produit de la i i désigne donc [ i, ] et non Ce tere se calcule de la façon suivante: èe ligne de et de la... in n (différent de èe [ i, ] colonne de au carré) RCP Partie Théorie des Graphes Représentation des graphes : lien entre puissances de la atrice et cheineent dans le graphe i i... inn Eeple : 5 5 335 445 = + + + + = 5 555 RCP Partie Théorie des Graphes
Représentation des graphes : lien entre puissances de la atrice et cheineent dans le graphe 3 = + + + + = 5 5 5 5 335 445 555 Les uniques teres valant dans la soe proviennent de et de 3 35 4 45 3 35 vaut car les arcs (, 3 ) et ( 3, 5 ) eistent. Il eiste un chein de arcs allant de à 5 passant par 3 4 45 vaut car les arcs (, 4 ) et ( 4, 5 ) eistent. Il eiste un chein de arcs allant de à 5 passant par 4 5 vaut donc car il eiste cheins de arcs allant de à 5 RCP Partie Théorie des Graphes Représentation des graphes : lien entre puissances de la atrice et cheineent dans le graphe 4 On peut calculer les puissances suivantes de ( 3, 4 et 5 ) et s intéresser à leur signification concrète. p p p p p p i i... Résultat : p in n p l Il eiste eacteent l cheins de i à forés de p arcs. RCP Partie Théorie des Graphes
Représentation des graphes : lien entre puissances booléennes de la atrice et cheineent dans le graphe 5 Notation : Eeple : désigne le «et» logique désigne le «ou» logique vrai et fau = fau se traduit par : = vrai ou fau = vrai se traduit par : = vrai ou vrai = vrai se traduit par : = Rearque : Cette dernière opération ( = ) est la seule pour laquelle le résultat des opérations logiques et arithétiques diffèrent sur {,} (le résultat étant en logique, en arithétique). RCP Partie Théorie des Graphes Représentation des graphes : lien entre puissances booléennes de la atrice et cheineent dans le graphe 6 En utilisant les opérations booléennes et (et logique et ou logique) sur {,} on calcule les puissances successives de : [] = où désigne le produit booléen des atrices booléennes. [] Si on note l éléent i, de la atrice [], on a : [ ] i i... in n où désigne la soe booléenne On note : [ p] avec [ p] [ p] [ p] i [ p], [ p] i... [ p] in n RCP Partie Théorie des Graphes 3
Représentation des graphes : lien entre puissances booléennes de la atrice et cheineent dans le graphe 7 Résultat 3 : Il eiste au oins un chein de à [ p] i forés de p arcs. Déonstration : Par récurrence sur p. Le résultat est vrai pour p =, par définition de la atrice = [] Hypothèse H de récurrence : supposons le résultat vrai pour p-. ontrons qu il est alors vrai pour p. [ p] [ p] [ p] [ p] i i... in n Or : Il eiste au oins un k, [ p] k n, avec et [ p] Copte tenu de l hypothèse H, ik signifie qu il eiste un chein de i à k forés de p- arcs. k = signifie que l arc ( k, ) eiste. En aoutant cet arc au précédent chein de i à k on obtient un chein de p arcs allant de i à. Ainsi, si l hypothèse H est vérifiée au rang p-, le résultat est égaleent vérifié au rang p. RCP Partie Théorie des Graphes ik k Fereture transitive d un graphe 8 Soit G = (X,U) un graphe orienté ayant n soets. On définit sa fereture transitive coe étant le graphe G ( X, U ) tel que : i L'arc ( i, ) Uˆ ou il eiste au oins un chein dans G de i vers G Si désigne la atrice binaire de, on a alors : I []... RCP Partie Théorie des Graphes [ n] 4