Décomposition des graphes et problèmes d’Optimisation Vassilis Giakoumakis LaRIA, 5 rue du Moulin Neuf, Amiens
Sommaire Rappels Principes de la décomposition Décompositions classiques Applications Optimisations Extensions
Le début de la théorie des graphes Le début de la théorie des graphes est considéré l’année 1736 lorsque Euler a résolu un problème qui passionnait les habitants de la ville Koenisgsberg (aujourd’hui appelée Kaliningrad) : Un piéton peut-il en se promenant traverser une fois et une seule les 7 ponts de la rivière Pregel qui traverse la ville ? a b a d c d b c
Quelques rappels Définition. Un graphe orienté G=(S,A) est un couple formé d’un ensemble de sommets S et un ensemble de couples de sommets A, appelés arcs. Définition. Un graphe non orienté G=(S,A) est un couple formé d’un ensemble de sommets S et un ensemble de paires de sommets A, appelés arêtes.
Graphes non orientés Degré : Le degré d’un sommet est le nombre d’arêtes ayant ce sommet pour extrémité. Une chaîne est une suite alternée de sommets et d'arêtes. Un cycle est une chaîne dont les arêtes sont distinctes et dont l'origine et l'extrémité sont confondues. Un graphe G est connexe si tout couple des sommets est relié par une chaîne de G. Soit G=(S,A) un graphe, un graphe G=(S’,A) est un sous-graphe de G si S’ S et A’ est formé par toutes les arêtes de G ayant leurs deux extrémités dans S’
Illustration d a e f c Deux composantes connexes {a,b} et {c,d,e,f,g} Chaîne de G e f g d Sous graphe de G a c f g
Graphes: approches Mathématique et Informatique Une chaîne eulérienne est une chaîne empruntant une fois et une seule chaque arête du graphe. Un cycle eulérien est un cycle empruntant une fois et une seule chaque arête du graphe. Le théorème d'EULER : Un graphe connexe admet une chaîne eulérienne si et seulement si tous ses sommets sont de degré pair sauf éventuellement 2 . Un graphe connexe admet un cycle eulérien si et seulement si tous ses sommets sont de degré pair.
En Informatique nous sommes intéressés aussi par Trouver une chaîne eulérienne avec un algorithme efficace Choix de la structure des données Complexité
Sommaire Rappels Principes de la décomposition
Pourquoi décomposer ? Soit un problème P portant sur un graphe G. Supposons que nous savons résoudre P pour une certaine famille F des graphes. Méthode: essayer à décomposer G en des sous-graphes appartenant à F.
Schématiquement Soit G=(V,E) un graphe simple, non orienté. G G G2 G1 G1, G’2, G’’2, G3 F
Exemple Nous souhaitons calculer le stable maximum. Nous savons le calculer pour les arbres. On peut essayer donc à décomposer G en foret e d a b c d e
Problèmes La décomposition de G en des sous graphes de type F peut être un problème difficile (en principe NP-complet) Comment déduire la solution de P sur G à partir des solutions partielles sur les sous-graphes de G?
Sommaire Rappels Principes de la décomposition Décompositions classiques
Une décomposition naturelle les Cographes Complémentation Soit G=(V,E) un graphe. Le complément de G est défini par G=(V,E) où E=VxV-E.
Les Cographes 1 Décomposition Cographe : graphe totalement décomposable par complémentation des composantes connexes. 1 a b c d e a c d b e a b c d e b e a c d a c d b e
Les Cographes Totalement décomposables par complémentation. [Lerchs, 71] Graphes sans P4 induits. [Lerchs, 72] Le P4 est le plus petit graphe qui est connexe ainsi que son complément (il est auto-complémenté) Algorithme linéaire de reconnaissance. [Corneil Perl Stewart, 85] Solutions efficaces à de nombreux problèmes d ’optimisation. [Corneil, Lerchs, Stewart, 81]
Les Cographes Calcul de la taille d ’un stable maximum Max=3 Somme=3 1
Graphes définis par des sous-graphes exclus Définition. Soit un graphe Z, un graphe G sera Z-libre s’il n’existe aucun sous-graphe de G isomorphe à Z. Exemple. La famille des cographes est l’ensemble des graphes qui sont P4-libres.
Décomposition modulaire Module Soit G=(V,E) un graphe. M Í V est un module si et seulement si : Pour x ÎV-M, Pour y ÎM, Pour z ÎM, xy ÎE Û xz ÎE. La décomposition modulaire généralise à tout graphe a décomposition par complémentation des cographes. Elle s'appuie sur la notion de moldule <Clic> Un module <Clic> c'est un ensemble de sommets qui sont vus de manière homogène par tout sommet extérieur au module. Par exemple <Clic> des composantes connexes <Clic> <Clic> sont des modules , sur cet exemple on a aussi un module non trivieal à Deux sommets. <Clic>
Modules et configurations exclues b a c d e f On décompose récursivement le graphe G en deux parties : le module Q (Q={b,c}) G* =G/Q + un marqueur M = nouveau sommet dont le voisinage est celui de {b,c} M: marqueur c b f a d e
Configuration exclue: graphe premier Théorème : G est Z-libre ssi Q et G* sont Z-libres Évident: Q et G* sont isomorphes à des sous-graphes de G Exemple: Z un C5 ? Si Z dans G, alors Z a exactement un sommet dans Q (sinon module dans Z), contradiction puisque Z serait dans G* (le marqueur remplace tout sommet de Q) M c b f a d e
Configuration exclue: graphe décomposable Théorème précédent si Z décomposable alors Z peut être formé dans G bien qu’il n’est ni dans Q ni dans G* b c d e f Z a M c b f a d e
Décomposition modulaire Théorème de décomposition [Gallaï, 67],[ Habib, 81] Soit G=(V,E) un graphe, l ’une des conditions suivantes est vérifiée: 1°) G n ’est pas connexe On a un théorème de décomposition. Pour tout graphe G<Clic> on a une des trois conditions suivantes. <Clic>Le graphe G n'est pas connexe <Clic> Son compplémentaire non plus. Dans le cas où G ainsi que son complémentaire sont connexes, c'est à dire dans le cas où on ne peut pas décomposer par complémentation on a cette troisème propriété <Clic> Il existe une unique partition de l'ensemble des sommets telle que le graphe quotient par rapport à cette partition est premier. Regardons de plus près cette 3eme condition <Clic> 2°) G n ’est pas connexe 3°) Il existe une unique partition P de V en modules forts telle que G/P est un graphe premier.
Décomposition modulaire Théorème de décomposition [Gallaï, 67], [Habib, 81] 3°) Il existe une unique partition P de V en modules forts telle que G/P est un graphe premier. b c a d e a d e b c a d e b c a d e b c Un module fort c'est un module qui n'intersecte proprement aucun autre module. Par exemple <Clic> Ce graphe n'est pas un cographe puisqu'il contient des P4s Voici la partition en modules Forts <Clic> Ce qui conduit à une décomposition <Clic> Le graphe quotient est obtenu simplement: Les sommets sont les représentants de chaque classe. en ce qui conserne les arêtes: Comme les adjacences entre deux sommets c'est du tout ou rien, il n'y a pas de difficulté à déterminer les adjacences entre deux représentants. <Clic> Voilà le graphe quaotient à ce niveau de la décomposition Evidement on applique ce théorème de décommposition de manière récursive sur tous les modules forts non triviaux <Clic> <Clic> a b c d e a b c d e
Arbre de décomposition modulaire Trois algorithmes linéaires de construction de l ’arbre de décomposition modulaire. [McConnell, Spinrad, 94] [Cournier, Habib, 94] , [Dahlhaus, Gustedt, McConnell, 97]
L’ensemble p(G) [V. Giakoumakis 95] Objectif: Ramener le problème de la reconnaissance d’un graphe G ainsi que la solution des problèmes d’optimisation à l’étude d’un ensemble p(G) des sous-graphes premiers de G obtenus à partir de l’arbre de décomposition modulaire.
Arbre de décomposition modulaire G2 p(G)={G1,G2} G1
Sommaire Rappels Principes de la décomposition Décompositions classiques Applications
Reconnaissance: ensemble des configurations exclues qui sont des graphes premiers Reconnaissance des graphes -libres Théorème : G est - libre ssi p(G) est -libre Un module fort c'est un module qui n'intersecte proprement aucun autre module. Par exemple <Clic> Ce graphe n'est pas un cographe puisqu'il contient des P4s Voici la partition en modules Forts <Clic> Ce qui conduit à une décomposition <Clic> Le graphe quotient est obtenu simplement: Les sommets sont les représentants de chaque classe. en ce qui conserne les arêtes: Comme les adjacences entre deux sommets c'est du tout ou rien, il n'y a pas de difficulté à déterminer les adjacences entre deux représentants. <Clic> Voilà le graphe quaotient à ce niveau de la décomposition Evidement on applique ce théorème de décommposition de manière récursive sur tous les modules forts non triviaux <Clic> <Clic>
Le problème de la reconnaissance Dans le cas où contient Z est une configuration non première ? Ca ne suffit pas de vérifier que tout graphe de p(G) est -libre. Il faut ajouter un marquage approprié. Exemple : soit F la famille des graphes dont chaque graphe G vérifie: tout sommet de G appartient à au plus un P4 (G est appelé P4 –reducible) Un module fort c'est un module qui n'intersecte proprement aucun autre module. Par exemple <Clic> Ce graphe n'est pas un cographe puisqu'il contient des P4s Voici la partition en modules Forts <Clic> Ce qui conduit à une décomposition <Clic> Le graphe quotient est obtenu simplement: Les sommets sont les représentants de chaque classe. en ce qui conserne les arêtes: Comme les adjacences entre deux sommets c'est du tout ou rien, il n'y a pas de difficulté à déterminer les adjacences entre deux représentants. <Clic> Voilà le graphe quaotient à ce niveau de la décomposition Evidement on applique ce théorème de décommposition de manière récursive sur tous les modules forts non triviaux <Clic> <Clic>
P4 - Reducibles Il est facile de voir que F est définie par 9 configurations exclues comme par exemple Z ci-dessous: Z Théorème. Soit G un graphe premier, alors G est P4-reducible ssi G est isomorphe à un P4 ou un taureau:
Reconnaissance des P4 - Reducibles Algorithme: Construire l’arbre T(G) de décomposition modulaire (O(n+m) Construire l’ensemble P(G) (O(n+m) Marquer chaque sommet d’un graphe de p(G) qui n’est pas une feuille dans T(G). Tester si chaque graphe de p(G) est isomorphe à un P4 non marqué ou à un taureau faiblement marqué (O(n)) Taureau faiblement marqué: seulement le somme de la tête peut être marqué.
Autres formes de décomposition La décomposition en splits D B A C - Toutes les arêtes entre A et B - Aucune arête entre C et D L’arbre de décomposition n’est pas unique mais l’ensemble des graphes premiers associés à une décomposition l’est.
Versions orientés La décomposition modulaire ainsi que la décomposition en splits sont tout aussi définies pour les graphes orientés.
Sommaire Rappels Principes de la décomposition Décompositions classiques Applications Optimisations
k-expressions [Courcelle, Engelfriet, Rozenberg, 93] k-expression : Expression permettant de définir un graphe à l ’aide de labels sur les sommets (au plus k labels) et d ’opérations portant sur ces labels. Les opérations : Å Réunion disjointe hi ® j Connexion des sommets de label i et de label j ri ® j Écrasement de labels
k-expressions [Courcelle, Engelfriet, Rozenberg] Exemple : 3-expression définissant un C5 e(3) c(2) d(1) a(1) b(2) Å h1 ® 2 c(3) h1 ® 3 h2 ® 3 r3 ® 2 e(3) c(2) d(1) a(1) b(2) Å h1 ® 2 c(3) h1 ® 3 h2 ® 3 r3 ® 2 c(2) d(1) a(1) b(2) Å h1 ® 2 c(3) h1 ® 3 h2 ® 3 r3 ® 2 c(3) d(1) a(1) b(2) Å h1 ® 2 h1 ® 3 a(1) b(2) Å a(1) b(2) Å h1 ® 2 c(3) d(1) a(1) b(2) Å h1 ® 2 h1 ® 3 h2 ® 3
Largeur de clique Largeur de clique : Nombre minimum k de labels requis pour définir un graphe par une k-expression. Théorème : [Courcelle, Makowski, Rotics, 98] Il existe des solutions efficaces pour un nombre important de problèmes d’optimisation sur toute classe de graphes dont la largeur de clique est bornée
Sommaire Rappels Principes de la décomposition Décompositions classiques Applications Optimisations Extensions Extensions des cographes Extensions des graphes bipartis Extensions des graphes séries //
Les graphes sans P5 Nous ne connaissons presque rien de leurs propriétés structurelles ! Sur les graphes sans p5 en tant que tels , il y a surtout des problèmes ouverts <Clic> <Clic>A la fois en ce qui concerne leur structure: on ne sait riensur la structure des graphes premiers sans p5 <Clic> et même en ce qui concerne la perfection qui reste à l'heure acteulle un problème ouvert.
Extensions des cographes P4-clairsemés P4-Clairsemés [Hoàng 85] Définition:Tout ensemble de 5 sommets induit au plus 1 P4 7 configurations exclues. Graphes premiers: Araignées (faiblement marquées) Je présente maintenant une ligne de recherche qui consiste à étudier des éxtension des <Clic> Cographes Il s'agit d'élargir la famille. Elargir la famille cela suppose d'y inclure des P4, mais en les contrôlant, en faisant des hypothèses sur leur nombre, leur répartition, leur densité. Les résultats que je présent ici sont délibérément vus sous l'angle de la décomposition modulaire. Je vais mettre l'accent sur les propriétés structurelles que l'on peut obtenir pour les graphes premiers des familles que je vais présenter avec toutes les conséquences que cela peut avoir sur le plan des problèmles d'optimistion comme je l'ai dit précédemment. <Clic> un des premiers à avoir défini une extension des Cographes est Hoang en 85 avec les P4 Clairsemés. Dans graphe P4 clairsemé, toute partie de 5 sommets admet au plus UN P4. On peut caractériser la classe par 7 configurations exclues Les graphes premiers de la famille sont des araignées, une famille de graphes simples à reconnaître et à manipuler. Cographes
Extensions des cographes P4-Réductibles [Jamison, Olariu 89] Définition:Tout sommet appartient à au plus 1 P4. 9 configurations exclues. Graphes premiers: P4 (non marqué) Taureau (faiblement marqué) Cographes P4-clairsemés P4-Réductibles Viennent aussi les P4 réductibles. Dans un graphe P4 réductible, tout sommet se trouve sur au plus 1 P4. On peut les caractériser par 9 configurations exclues incluant les précédentes. Les graphes premiers sont encore plus simples, ce sont des P4 ou des Taureaux un cas particulier d'araignée.
Extensions des cographes P4-Clairsemés étendus et P4-Réductibles étendus [Giakoumakis, Vanherpe 97] Définition: On autorise les C5 dans la famille Graphes premiers: C5 ou Araignée. C5 ou P4 ou Taureau Cographes P4-clairsemés P4-Réductibles P4-Réductibles étendus P4-Clairsemés étendus On peut étendre ces familles en incluant les C5. Cela conduit auyx graphes P4 clairsemés étendus et P4 réductibles étendus. Le fait d'ajouter les C5 ne va pas modifier la structures des graphes premiers de façon significative, Ce sont des C5 ou les graphes premiers précédents.
Extensions des cographes P4-Ordonnés [Giakoumakis, Roussel, Thuillier 99] Définition: Tout P4 induit a au plus un partenaire Graphes premiers: P5,P5,C5 (non marqués) ou Araignée (particulière) Cographes P4-clairsemés P4-Réductibles P4-Réductibles étendus P4-Clairsemés étendus P4-Ordonnés Une autre approche est celle des partenaires de P4. Un partenaire d'un P4 c'est un sommet qui, avec des sommets du P4 en crée un nouveau. On peut alors définir les graphes P4 ordonnés dont les P4 admettent au plus un seul partenaire. Les graphes P4-ordonnés premiers sont des P5,ou leur compléments, des C5 ou alors des araignées
Extensions des cographes Pour toutes ces familles nous avons un unique algorithme de reconnaissance (de compléxité Optimal) dont les deux premier étapes sont les mêmes Cographes P4-clairsemés P4-Réductibles P4-Réductibles étendus P4-Clairsemés étendus P4-Ordonnés Une autre approche est celle des partenaires de P4. Un partenaire d'un P4 c'est un sommet qui, avec des sommets du P4 en crée un nouveau. On peut alors définir les graphes P4 ordonnés dont les P4 admettent au plus un seul partenaire. Les graphes P4-ordonnés premiers sont des P5,ou leur compléments, des C5 ou alors des araignées
Sommaire Rappels Principes de décomposition Décompositions classiques Applications Optimisations Extensions Extensions des cographes Extensions des graphes bipartis
Graphes bipartis B W Graphe biparti : Graphe dont l ’ensemble des sommets peut être décomposé en (au plus) deux ensembles stables B et W. Un graphe biparti est noté G= (B U W, E) Un graphe biparti c'est un graphe dont l'ensembel des sommets peut être décomposé en deux ensembles stables. Cela le rend coloriables en au plus deux couleurs Ce qui fait que je parlerai souvent des sommets noirs ou des sommets blancs d'un graphe biparti. <Clic> C'est un modèle fréquement utilisé à chaquefois que l'on veut étudier les relations entre des objets de deux types différents. comme par exmple les problèmes d'affectation. Que voulons nous faire avec les graphes bipartis? Avec les résultats obtenus dans le cas général Prendre comme point de départ la recherche d'analogie avec les graphes bipartis et étudier comment on obtenir des résultats spécifiques aux graphes bipartis. Modèle très utilisé Problèmes d ’affectation
Les Bicographes Bicomplémentation Soit G=(B U W,E) un graphe biparti , le bicomplément de G est défini par : G = (B U W, BxW-E) Bip Bicographe [Giakoumakis, Vanherpe 97] Graphe biparti totalement décomposable par bicomplémentation B W B W B W Prenons par exemple les cographes. Comment définir un analogue dans le cas biparti? Tout naturellement en considérant une opération de bi complémentation, complémentation qui prenne en compte le caractère biparti des graphes sur lesquels on travaille. <CliC> Pour calculer le bicomplément d'un graphe biparti. <Clic> On va ajouter les arêtes qui manquent en prenant bien garde de ne pas ajouter d'arêtes entre deux sommets de mêm couleur <Clic> Puis on va retirer toutes les arêtes présentes initiallement. pour obtenir le bicomplément. A partir de là on peut définir la famille des bicographes <Clic> comme les graphes totalement décomposables par bicomplémentation des composantes connexes. Le résultat que nous avons obtenu dans ces conditions est la caractérisation de la famille <Clic> par trois configurations exclues que le le P7, le Star 123 et le Sun 4. Théorème Soit G=(B U W,E) un graphe biparti , G est un bicographe ssi G est (P7, Star123, Sun4)-libre P7 Star123 Sun4
Les graphes K+S Split graphes [Földes Hammer 77] Split graphe : Graphe décomposable en une clique et un ensemble stable K S Reconnaissance : en O(n) à partir des séquences de degrés Hérédité : Tout sous graphe d ’un split graphe est un split graphe Split graphe : Graphe décomposable en une clique et un ensemble stable Hérédité : Tout sous graphe d ’un split graphe est un split graphe Split graphe : Graphe décomposable en une clique et un ensemble stable
Les graphes K+S Split graphes [Földes Hammer 77] Graphes K+S [Fouquet Giakoumakis Vanherpe, 99] Reconnaissance : en O(n) à partir des séquences de degrés Hérédité : Tout sous graphe d ’un split graphe est un split graphe Split graphe : Graphe décomposable en une clique et un ensemble stable Hérédité : Pas d ’hérédité Graphe K+S: Biparti décom-posable en une biclique et un stable (ou avec des sommets isolés) Reconnaissance : en O(n) à partir des séquences de degrés Hérédité : Pas d ’hérédité Graphe K+S: Biparti décom-posable en une biclique et un stable (ou avec des sommets isolés) Graphe K+S: Biparti décom-posable en une biclique et un stable (ou avec des sommets isolés)
Reconnaissance des graphes K+S en O(n) Partition associée V1 V2
Décomposition des graphes K+S en O(n) Théorème de décomposition Il existe une unique partition (à un isomorphisme près) de l ’ensemble des sommets (V1,V2,… Vk) telle que 1°) Pour i=1..k, Vi n ’est plus décomposable 2°) Pour i=1..k-1 (V1U..Vi, Vi+1 U..Vk) est un graphe K+S V1 V2 V3 V4
Décomposition canonique des graphes bipartis en O(n2+nm) Processus récursif de décomposition Etant donné un graphe biparti G=(B UW,E) Si G est un graphe K+S ou un graphe non connexe ou si G n ’est pas connexe alors décomposer G selon ses K+S composantes ou selon ses composantes connexes ou selon les composantes connexes de G. bip
Décomposition canonique des graphes bipartis en O(n2+nm) Exemple K+S K+S K+S Paralèlle
Graphes K+S et hérédité Graphes K+S avec propriété d ’hérédité : Graphes bisplit [Frost, Jacobson, Kabell, McMorris, 90] Graphes K+S avec hérédité « allégée » : Les graphes bisplit étendus
Les graphes bisplit étendus Bip Définition. Graphe biparti vérifiant: Tout sous graphe H tel que H et H sont connexes est un graphe K+S. Caractérisation. Soit G un graphe biparti G est un graphe bisplit étendu ssi G est (P7,Star123)-libre P7 Star123 Propriétés. Totalement décomposables par décomposition canonique. Sous classes : Bisplits, Bicographes, Bipartis sans P6
Les graphes bisplit étendus. Reconnaissance en O(n+m) Algorithme presque incrémental fondé sur les idées de [Corneil, Perl, Stewart, 85] Etant donnés Un graphe bisplit étendu G, Son arbre de décomposition T(G) Un nouveau sommet x Tester si G+x est un graphe Bisplit étendu (marquage de T(G)) Si OUI Construire T(G+x) sinon STOP
Résumé Décomposition canonique des graphes bipartis en O(n2+nm) Décomposition et reconnaissance des graphes bisplit étendus en O(n+m) Décomposition et reconnaissance de sous classes: Bicographes. Bipartis sans P6.
Des graphes dont la largeur de clique est bornée Les graphes P4-ordonnés [Courcelle, Makowski, Rotics, 98] Les graphes bisplit étendus (au plus 4).
Sommaire Rappels Principes de décomposition Décompositions classiques Applications Optimisations Extensions Extensions des cographes Extensions des graphes bipartis Extensions des graphes séries //
Les graphes séries - parallels Les graphes orientés sans circuits (dag) Propriété 1 Soit G=(V,E) un dag, il existe un ordre x1,…, x1 de sommets de G t.q. si (xi, xj)E alors i<j (tri topologique) x1 x2 x3 Modélisation des problèmes d’ordonnancement des tâches x4 x6 x5 x7 x1 x2 x3 x4 x5 x6 x7 est un tri topologique
DAG: puits-sources Propriété 2 Soit G=(V,E) un dag, il existe un ensemble des sommet S sans prédécesseur (sources) et un un ensemble des sommet P sans successeur (puits) dans G. On peut définir des nouveaux dag par des opérations de composition faisant intervenir les sources et/ou les puits des dags
Les graphes séries – parallels, notés SP Définition. Soit G1=(V1,E1) et G2=(V2,E2) deux dags avec S1, S2 et P1,P2 les sources et les puits respectivement de G1 et G2. 1 Si G1 (ou G1) est un singleton alors G1 est un graphe SP 2 Si G1 et G2 sont des graphes SP alors G1 G2 est SP (composition parallèle) 3 Si G1 et G2 sont des graphes SP alors G1 G1 = (V1 V2, E1 E2 (P1 S2) est SP (composition série) G1 G2 Puits Sources
Reconnaissance linéaire des graphes SP Il existe un arbre unique de décomposition d’un graphe SP pouvant être construit en temps linéaire (J. Valdes, R.Tarjan et E. Lawer 82) Optimisations. Plusieurs résultats sur des problèmes d’affectation des tâches à des machines.
Variantes- extensions Actuellement nous étudions la structure des extensions et des variantes des graphes SP et nous proposons des solutions algorithmiques efficaces pour la reconnaissance et des problèmes d’optimisation associés à ces nouvelles classes des graphes.