Vous êtes sur la page 1sur 24

` LA THEORIE INTRODUCTION A DES GRAPHES : DEFINITIONS, APPLICATIONS ET TECHNIQUES DE PREUVES par Bruno Courcelle

1. Bibliographie Olivier Cogis et Claudine Robert, Th eorie des graphes, Vuibert, 2004. probl` emes, th eor` emes, algorithmes, Ed. J. de Rumeur (nom collectif), Communications dans les r eseaux de processeurs, Ed. Masson, 1994. Bordas 1973, (300 Claude Berge, Graphes et hypergraphes, Ed. pages). Nguyen Huy Xuong, Math ematiques discr` etes et informatique, Ed. Masson, 1997 Aim e Sache, La th eorie des graphes, Collec. Que-Sais-Je ?, 1974 ; r e edition pr evue en 2004 chez Cassini. M. Kaufmann, Des points des ` eches, la th eorie des graphes, Ed. Dunod, Sciences-poche, epuis e. Alan Gibbons, Algorithmic graph theory, Cambridge University Press, 1985 Reinhard Diestel, Graph Theory, Second Edition, SpringerVerlag, 2000. Bojan Mohar et Carsten Thomassen, Graphs on surfaces, John Hopkins University Press, Baltimore, 2001.

B. COURCELLE

2. Introduction La th eorie des graphes est un tr` es vaste domaine, en evolution constante tant du point de vue des recherches fondamentales que de celui des applications. Concernant la recherche fondamentale, il faut citer les travaux de P. Seymour et de ses collaborateurs qui ont d emontr e r ecemment la Conjecture des Graphes Parfaits formul ee par Claude Berge, am elior e la preuve du Th eor` eme dit des quatre couleurs et surtout, d evelopp e la th eorie des mineurs de graphes. Dautre part, les applications sont tr` es nombreuses. Elles justient une recherche importante en algorithmique. Limportance des r eseaux de transport et de communication, qui sont dailleurs de plus en plus des r eseaux evolutifs (pour faire fonctionner les connexions des utilisateurs a ` des serveurs de t el ephonie mobile, ou a ` des r eseaux pair-` a-pair), explique le foisonnement des probl ematiques. La th eorie des graphes ore dautre part un int er et p edagogique certain. En eet, les d enitions sont simples et de v eritables probl` emes de recherche peuvent etre pos es sous forme de jeux math ematiques dont la formulation ludique peut recouvrir de grandes dicult es. Si, comme en g eom etrie, le support est visuel, les raisonnements y sont plus rigoureux, car il ny a pas de risque de biais li e aux cas de gure , et laxiomatique de base est plus rigoureuse que celle de la g eom etrie au niveau el ementaire. Le raisonnement par r ecurrence y a une place de choix. Comme les graphes mod elisent de tr` es nombreuses situations, les probl` emes pos es sont des plus naturels . Cest ainsi que les sujets propos es par les equipes Math.en.JEANS rel` event tr` es souvent de la th eorie des graphes et plus largement de la combinatoire. Le livre de Claude Berge illustre les concepts par de nombreux exemples de jeux et de probl` emes concrets. La multiplicit e des applications explique egalement la vari et e des d enitions, ou des variantes de d enitions. Ainsi un article de th eorie des graphes doit toujours xer les d enitions , ce qui nest pas le cas pour les groupes ou les espaces vectoriels. Pour xer les id ees, je partirai de la d enition suivante (qui nest pas la plus g en erale) : un graphe G est un couple (S, A), o` u A est une relation binaire sur un ensemble S . Les el ements de S sont les

` LA THEORIE INTRODUCTION A DES GRAPHES

sommets du graphe, chaque couple (x, y ) dans A en est un arc. La terminologie nest pas totalement x ee : Bourbaki ne sest pas int eress e aux graphes, et maintenant cest trop tard. Et les traductions rapides de langlais cr eent de la confusion. Ainsi, on trouve parfois les termes nud ou point pour sommet, ar ete ou ` eche pour arc. Ces variantes peuvent incorporer des pr ecisions sur lorientation, comme nous le verrons. Une valeur num erique est souvent attach ee aux sommets et/ou aux arcs. La valeur dun arc pourra etre la distance entre deux villes, ou la dur ee dun trajet, ou une capacit e dans le cas dun r eseau de transport d electricit e ou de p etrole. Lalgorithmique des graphes porte tr` es souvent sur des graphes ainsi valu es. Il ne faut pas confondre un graphe et son dessin : un m eme graphe peut etre dessin e de plusieurs fa cons. La lisibilit e de la visualisation est une question importante, et le dessin de graphes est a ` lui seul un domaine de recherche dont les applications sont nombreuses : fabrication de cartes routi` eres, repr esentation dinteractions entre soussyst` emes, aide graphique a ` lordonnancement des t aches, pour ne prendre que quelques exemples. Un graphe est planaire sil admet un dessin dont les arcs sont repr esent es par des segments de courbes qui ne se coupent pas. Un graphe planaire poss` ede des dessins non planaires, eventuellement plus lisibles que des dessins planaires car ils peuvent faire mieux voir les sym etries. Les deux graphes non planaires les plus petits sont K5 , le graphe complet a ` cinq sommets, et K 3,3 , le graphe complet biparti a ` 3+3 sommets, dit aussi graphe des trois usines et des trois maisons . Ces deux graphes jouent un r ole important dans la caract erisation des graphes planaires. Lun des d efauts de la th eorie des graphes est le foisonnement des d enitions de classes de graphes particuli` eres, et des r esultats les concernant. On est conduit a ` se demander o` u sont les principaux r esultats, quels sont les objets centraux de la th eorie. Une autre dicult e est labsence (sauf dans des cas tr` es particuliers) de notation alg ebrique pour les graphes. Ainsi, en ordonnant les polyn omes par degr es d ecroissants des mon omes, on peut rep erer sans peine leur egalit e. Un polyn ome factoris e peut etre manipul e par composantes. Par contre, un graphe est toujours un objet global, dont la d enition

B. COURCELLE

formelle peut etre soit une matrice de 0 et de 1, soit une liste de sommets et de couples de sommets, soit une description par une propri et e, soit un dessin, soit une m ethode ad hoc combinant plusieurs types de d enitions. Mon objectif est de pr esenter quelques concepts principaux, et quelques m ethodes de preuve les concernant. Les principaux th` emes abord es seront les suivants : Chemins Arbres recouvrants et explorations Th eor` eme de Menger Coloriage et probl` emes NP complets Planarit e et sous-graphes interdits Arbres syntaxiques Structuration des graphes et grammaires D ecompositions arborescentes et algorithmes polynomiaux Graphes d enombrables

3. Chemins Un peu de terminologie est n ecessaire. Soit un graphe d eni comme une relation binaire A sur un ensemble S . Un couple (x, y ) est un arc. Un couple (x, x) dans A est une boucle du graphe. Le graphe est dit non orient e si la relation A est sym etrique. Dans ce cas, on nomme ar ete lensemble {x, y } o` u (x, y ) A. On dessine les ar etes ` tout graphe sans pointes de ` eches et le dessin en est simpli e. A orient e est associ e son graphe non orient e sous-jacent, celui qui correspond a ` la relation A A1 . Faute de pr ecision particuli` ere, un graphe est orient e. Beaucoup de propri et es, la planarit e par exemple, ne d ependent pas de lorientation des arcs, et sont invariantes par changement dorientation . On peut les d enir comme des propri et es du graphe non orient e sous-jacent. Beaucoup dauteurs d esignent par graphe un graphe ni non orient e sans boucle. Ils consid` erent que lon capture ainsi lessence de la notion de graphe, et que tout le reste est accessoire. Ceci pour indiquer quelques pi` eges terminologiques .

` LA THEORIE INTRODUCTION A DES GRAPHES

Un sous-graphe de G = (S, A) est un graphe G = (S , A ) o` u S S , et A A (S S ). Si G est sp eci e comme non orient e, alors A doit etre sym etrique. Si un graphe est d eni comme une relation, la notion principale est celle de chemin. Un chemin orient e dorigine x et dextr emit e y dans un graphe orient e est une suite (x, . . . , y ) de sommets deux a ` deux distincts telle que si v suit u dans cette suite, (u, v ) est un arc. Si lon omet la pr ecision deux a ` deux distincts , on a la notion de cheminement orient e. Un circuit el ementaire est un chemin orient e (x, . . . , y ), avec la condition suppl ementaire que (y, x) est un arc. Dans un graphe non orient e, on obtient en rempla cant arc par ar ete les notions de chemin, de cheminement, de cycle el ementaire. Les cycles et les circuits non el ementaires peuvent passer plusieurs fois par un m eme sommet sans utiliser plusieurs fois le m eme arc ou la m eme ar ete. Le 8 est un exemple de cycle non el ementaire. Un graphe non orient e est connexe si deux sommets quelconques sont reli es par un chemin. Un graphe orient e est connexe si son graphe non orient e sous-jacent est connexe. Un graphe orient e est fortement connexe si pour tout couple de sommets distincts x, y il existe un chemin orient e de x a ` y et un de y a ` x. Un sous-graphe connexe (fortement connexe) maximal est une composante connexe (une composante fortement connexe ). Les arbres sont des graphes particuli` erement importants. Un arbre peut etre d eni de plusieurs fa cons equivalentes : comme un graphe non orient e connexe sans cycle, ou bien comme un graphe non orient e tel que deux sommets distincts sont reli es par un et un seul chemin. Un arbre est donc un graphe connexe ayant un nombre dar etes minimal. Si on enl` eve une ar ete on d econnecte le graphe. En tant que support dun r eseau de communication ou de transport, un arbre est donc tr` es fragile. La moindre panne au niveau dune ar ete ` d econnecte le r eseau. A loppos e, un graphe complet, cest-` a-dire un graphe dont les sommets sont tous deux a ` deux adjacents (reli es par une ar ete) fournit un r eseau tr` es solide, mais tr` es co uteux a ` entretenir. Une arborescence est un graphe orient e sans circuit disposant dun sommet nomm e racine tel que pour tout sommet x il existe un et seul chemin orient e de cette racine a ` x. Cette racine est unique, le graphe

B. COURCELLE

non orient e sous-jacent est un arbre. Pour tout sommet a dun arbre il existe une et une seule fa con dorienter ses ar etes qui fait de ce graphe une arborescence de racine a. Di erents param` etres associ es aux graphes ont et e introduits pour classer et comparer les graphes. La distance de deux sommets est la longueur dun plus court chemin non orient e qui les relie. Le diam` etre dun graphe connexe est la plus grande distance de deux sommets. Le degr e dun sommet est le nombre dar etes dont ce sommet est une extr emit e. On compte une boucle pour 2. Le degr e sortant (entrant ) dun sommet x est le nombre darcs dont x est lorigine (lextr emit e). Le degr e (resp. degr e sortant, resp. degr e entrant ) dun graphe est le maximum des degr es de ses sommets (resp. des degr es sortants, resp. des degr es entrants). Des in egalit es r esultent de ces d enitions. On peut ainsi majorer le nombre darcs en fonction du degr e et du nombre de sommets. On peut majorer le nombre de sommets en fonction du degr e et du diam` etre. Pour un graphe connexe (ni) dessin e dans le plan sans croisements darcs, soit C lensemble compl ementaire du dessin du graphe. Cest une union douverts connexes que lon nomme faces. (Lune des faces est non born ee). On a alors la relation dEuler : n m + f = 2 o` u n est le nombre de sommets, m le nombre darcs, f le nombre de faces. La preuve est facile par r ecurrence sur le nombre dar etes, en prenant le cas dun arbre comme base de la r ecurrence, et en ajoutant les ar etes une par une. Ainsi le nombre de faces ne d epend pas du dessin particulier. Le nombre 2 dans cette formule est caract eristique du plan. Une formule analogue est valide pour les autres surfaces (par exemple le tore ). On peut am eliorer la formule en faisant intervenir le nombre de composantes connexes. De cette formule, on peut d eduire que les graphes K5 et K3,3 ne sont pas planaires. La notion de longueur dun chemin peut etre g en eralis ee en une ` notion de co ut ou de capacit e. A chaque arc ou ar ete on associe une valeur num erique positive. Le co ut dun chemin est alors la somme des co uts des di erents arcs qui le composent. Si ces valeurs repr esentent des capacit es (des ux maxima), cest le minimum sur un chemin qui sera sa valeur. Le probl` eme classique du voyageur de commerce

` LA THEORIE INTRODUCTION A DES GRAPHES

consiste a ` parcourir un graphe, cest-` a-dire a ` passer par tous les sommets, au moyen dun cheminement ferm e ( revenant a ` la ville de d epart ), de co ut minimum. Lid eal est le cycle qui optimise ce co ut : on parle alors de cycle hamiltonien optimal. D eterminer lexistence dun cycle hamiltonien et en trouver un optimal si cest possible est un probl` eme dicile en ce sens que lon ne dispose pas de m ethode g en erale evitant davoir a ` faire des essais syst ematiques nombreux, qui dans des cas extr emes peuvent n ecessiter un temps exponentiel par rapport a ` la taille du graphe. Seul un temps de calcul polynomial peut etre consid er e comme raisonnable. Et encore, cela d epend de lexposant et/ou de la constante qui peuvent etre astronomiques . Des heuristiques, fournissant de bons r esultats proches de loptimum ont bien s ur et e d evelopp ees. La d enition dun graphe comme relation permet den donner une repr esentation math ematique et informatique par une matrice. Un graphe orient e a ` n sommets peut etre repr esent e par une matrice n n not ee encore A telle que A[x, y ] = 1 sil existe un arc de x vers y et 0 sinon. Dans ce cas Ap [x, y ] est le nombre de cheminements orient es de x a ` y de longueur p. Supposons maintenant que les produits de matrices soient calcul es dans lalg` ebre de Boole {0,1} avec 1 + 1 = 1, les autres calculs etant comme dans les entiers. Lentr ee (x, y ) de la matrice (A + I n )p repr esente la pr esence ou labsence dun chemin orient e de x a ` y de p longueur au plus p. La suite des matrices (A + I n ) est croissante avec p. Elle est donc n ecessairement stationnaire et le plus petit p tel que p +1 (A + In ) = (A + In )p est inf erieur a ` n. Cette observation re` ete un principe combinatoire tr` es utile en th eorie des automates : sil existe un cheminement de x a ` y dans un graphe a ` n sommets, il existe un chemin de x a ` y de longueur au plus n, que lon peut construire par suppressions it er ees des circuits inclus dans le cheminement donn e. Si chaque arc (x, y ) est donn e avec un co ut C [x, y ] r eel positif ou nul, on peut repr esenter le graphe par une matrice C a ` valeurs r eelles et en prenant C [x, y ] = + lorsquil ny a pas darc de x a ` y , et C [x, x] = 0 pour tout x. Si lon eectue les produits de matrices en prenant comme addition le minimum, et comme produit la somme (avec x. = m eme pour x = 0), on obtient en calculant C n le tableau des co uts des chemins optimaux de x a ` y de longueur n.

B. COURCELLE

4. Arbres recouvrants et explorations Soit un graphe non orient e G = (S, A). Un arbre T = (S, B ) o` u B A sappelle un arbre recouvrant. Lexistence dun arbre recouvrant implique que le graphe consid er e est connexe. Le plus souvent, on choisit un sommet s, on explore le graphe a ` partir de ce sommet et on construit une arborescence dont la racine est s. On parle n eanmoins traditionnellement darbre recouvrant et non darborescence recouvrante. Il existe plusieurs m ethodes de construction dun arbre recouvrant. 4.1. Arbre recouvrant en largeur. On choisit un sommet s, point de d epart de lexploration du graphe G donn e, et on ajoute successivement des sommets et des arcs pour constituer larborescence d esir ee. On construit une suite de sommets x 0 , x1 , . . . , xn , . . . et pour chaque n > 0 un arc (xi , xn ) pour quelque i < n de la fa con suivante : On d enit x0 = s. La liste (x0 , x1 , . . . , xn ) etant construite, on choisit le plus petit indice i tel que x i a des voisins non dans la liste. Soient xn+1 , . . . , xn+p ces voisins. On les ajoute a ` la liste et lon ajoute a ` larborescence en cours de construction des arcs de x i a ` chacun de ces nouveaux sommets. Si un tel i nexiste pas, cest que lon a obtenu une arborescence qui recouvre la composante connexe de x 0 , (cest dire lensemble des sommets reli es par un chemin a ` x 0 ). Propri et e. La distance de x0 a ` un sommet xi est la m eme dans G et dans larbre construit. Les arcs non dans larbre relient des sommets de m emes niveaux ou de niveaux cons ecutifs. 4.2. Arbre recouvrant en profondeur. Le principe est le m eme, mais le mode dextension dune liste x 0 , x1 , . . . , xn est di erent : on d etermine i, le plus grand indice ( eventuellement n) tel xi a des voisins non dans la liste. On prend pour x n+1 lun de ces voisins et on ajoute larc (xi , xn+1 ). Si un tel indice i nexiste pas, cest que lon a un arbre recouvrant la composante connexe de x 0 . Un arbre de Tr emaux T est une arborescence recouvrante telle que tout arc ou ar ete du graphe qui nest pas dans T relie deux sommets situ es sur un m eme chemin issu de la racine.

` LA THEORIE INTRODUCTION A DES GRAPHES

Propri et e. Tout graphe ni connexe poss` ede un arbre de Tr emaux. Les arbres de Tr emaux dun graphe sont les arbres construits par les explorations en profondeur de ce graphe. Pour les graphes orient es, on peut utiliser cet algorithme en prenant pour i le plus grand indice tel quil existe un arc x i u o` u u nest pas dans la liste. On ajoute a ` la liste un tel u que lon le nomme x n+1 , ainsi que larc xi u. On recouvre ainsi lensemble S des sommets accessibles par un chemin orient ea ` partir de x 0 , qui peut ne pas etre toute la composante connexe. Propri et e. Tout arc entre deux sommets de S qui nest pas dans larborescence recouvrante relie deux sommets situ es sur un m eme chemin issu de la racine, ou bien va de x p a ` xq avec p > q (cest un arc transverse de droite a ` gauche si lon dessine larborescence en repr esentant de gauche a ` droite les successeurs dun sommet dans lordre o` u ils sont plac es dans la liste construite lors de lexploration en profondeur). On peut ainsi d eterminer dans un graphe orient e les sommets accessibles a ` partir dun sommet, lexistence de cycles (qui equivaut a ` lexistence darcs remontants ), un tri topologique du graphe consid er e sil est sans circuit (linverse de lordre de la liste), la composante fortement connexe dun sommet.

5. Th eor` eme de Menger Soit G connexe, egal a ` H K lunion de deux graphes, telle que H et K ont un seul sommet s en commun. Un tel sommet est dit s eparateur. Soient x et y deux sommets distincts de s, lun dans H , lautre dans K . Tout chemin allant de x a ` y doit passer par s. Il nexiste donc pas de cycle el ementaire passant par x et y . (Un 8 nest pas un cycle el ementaire). Il nexiste pas de paire de chemins disjoints reliant x a ` y. La r eciproque est vraie : si dans un graphe connexe, deux sommets x et y ne peuvent etre reli es par deux chemins disjoints, alors, cest quil existe un sommet s eparateur, un goulot d etranglement en quelque sorte. (Preuve : Consid erons un chemin c de x a ` y dans G.

10

B. COURCELLE

Soit H le sous-graphe d eni comme r eunion des chemins dans G issus de x et qui ne rencontrent pas c (sauf en x). Soit K la r eunion des chemins issus de y et qui ne rencontrent pas c (sauf en y ). Soit x le sommet sur c le plus eloign e de x li ea ` un sommet de H . Soit y le sommet de c le plus loin de y li e a ` un sommet de K . On a sur le chemin c : x x y y (car si y < x , on aurait deux chemins disjoints.) Nimporte quel sommet entre x et y (inclus) est un s eparateur de G qui s epare x et y . Ce r esultat se g en eralise aux ensembles de k chemins disjoints. Un ensemble de sommets U est un k -s eparateur dun graphe connexe et s epare x de y si U poss` ede au plus k sommets et si x et y sont dans deux composantes connexes du sous-graphe obtenu en retirant U et tous les arcs incidents. Le th eor` eme de Menger (1926) dit que si dans un graphe connexe x et y sont deux sommets non adjacents et sil nexiste pas k chemins disjoints entre x et y , alors il existe un (k 1)-s eparateur s eparant x et y . Dun point de vue logique ce th eor` eme enonce un changement de quantication : la n egation dune propri et e existentielle : il nexiste pas densemble de k chemins disjoints tels que... est montr ee equivalente a ` une propri et e de la forme existentielle : il existe un (k 1)-s eparateur... . Beaucoup de th eor` emes importants ont ce type de structure logique. On peut rapprocher cela de luniforme continuit e sur un intervalle compact, qui remplace une propri et e de la forme quelque-soit il-existe par une propri et e de la forme il-existe quelque-soit . Le th eor` eme de Menger peut se d eduire du th eor` eme de Ford et Fulkerson portant sur les ots dans les r eseaux de transport . Soit un graphe orient e poss edant un sommet source s de degr e sortant ` non nul et un sommet but b de degr e entrant non nul. A tout arc (x, y ) est associ e un entier c(x, y ) positif ou nul, sa capacit e. Un ot est une fonction f qui associe a ` chaque arc (x, y ) un entier f (x, y ), son ux, avec 0 f (x, y ) c(x, y ), et qui satisfait la loi de Kirchho, cest-` a-dire que pour chaque sommet sauf pour la source et le but, la somme des ux des arcs entrants est egale a ` celle des ux des arcs sortants. Le ot partout nul satisfait trivialement ces conditions. Le probl` eme est de trouver un ot qui maximise la valeur globale f (G)

` LA THEORIE INTRODUCTION A DES GRAPHES

11

d enie comme la somme des f (s, x) moins la somme des f (x, s). De nombreux probl` emes pratiques n ecessitent ce type doptimisation. Une coupe est une partition de S en A B o` u s A, b B . On note c(A, B ) la somme des capacit es des arcs de A vers B . Si f est un ot alors, par une sommation globale, on montre que f (G) est egal a ` la somme des valeurs des arcs de A vers B moins la somme des valeurs des arcs de B vers A. Il en r esulte que f (G) c(A, B ) pour toute coupe (A, B ). Le th eor` eme de Ford et Fulkerson (1957) indique que l egalit e peut etre atteinte. Un algorithme dam eliorations successives permet de construire un ot qui r ealise le maximum issu de cette majoration, cest-` a-dire le minimum des c(A, B ) pour toutes les coupes (A, B ). Une variante du th eor` eme de Menger est obtenue en d enissant pour un graphe non orient e dont on remplace chaque ar ete par deux arcs oppos es : f (x, y ) = le nombre maximum de chemins sans ar etes communes entre x et y , c(x, y ) = la cardinalit e minimale dun ensemble dar etes dont la suppression d econnecte x et y (cest-` a-dire supprime lexistence de chemins reliant x a ` y ). On cr ee un arc de u a ` v avec capacit e 1 pour tout couple de sommets adjacents u, v . Un ot entre deux sommets x et y correspond au nombre maximum de chemins sans arcs communs entre x et y . On obtient ainsi que le nombre maximum de chemins sans ar ete commune entre x et y est egal au cardinal minimum dun ensemble dar etes dont la suppression d econnecte x et y .

6. Coloriages et probl` emes NP-complets Soit un ensemble ni C appel e lensemble des couleurs. Un coloriage dun graphe G est une fonction c : S (G) C qui aecte une couleur a ` chaque sommet, et qui est telle que deux sommets voisins nont pas la m eme couleur. Un graphe est k -coloriable sil peut etre colori e au moyen dun ensemble de k couleurs. Il existe dautres notions de coloriage des graphes (on peut demander que chaque arc ait une couleur di erente de celle des arcs incidents, on peut aussi

12

B. COURCELLE

mettre dautres contraintes que la di erence de couleur de deux sommets voisins). Dans tous les cas, on se pose des questions de ce type : est-ce que tous les graphes de tel ou tel type peuvent etre colori es avec un nombre x e de couleurs ? Si oui, comment peut-on d eterminer un tel coloriage ? Le nombre chromatique dun graphe G est le nombre minimum (G) de couleurs dun coloriage. Il nest pas tr` es dicile de montrer que (G) deg(G) + 1. (On construit un arbre recouvrant en profondeur et on colorie les sommets dans lordre associ e en utilisant a ` chaque fois la plus petite couleur disponible.) L egalit e a lieu pour un graphe complet, ainsi que pour un cycle impair. Un th eor` eme dicile de Brooks (1941) montre que ce sont les seuls cas o` u l egalit e est atteinte. Ainsi pour un graphe de degr e d au moins 3 qui ne contient pas Kd+1 comme sous-graphe, on a (G) d.

Tout graphe planaire peut etre colori e avec quatre couleurs, quelque soit son degr e. La preuve de ce r esultat, conjectur e depuis plus dun si` ecle, na et e donn ee quen 1976 et n ecessite la v erication par ordinateur de nombreux cas. On parle a ` ce sujet de coloriage des cartes pour la raison suivante. Soit une carte de g eographie dont les pays sont connexes (pas d le ni denclave dans un pays voisin). Est-il possible de colorier chaque pays par une couleur parmi quatre de telle sorte que deux pays ayant une fronti` ere commune (non r eduite a ` un point) aient des couleurs di erente ? Une traduction en termes combinatoires (ne reposant pas sur la notion de r egion connexe du plan r eel), peut etre donn ee ainsi : on construit un graphe en prenant chaque capitale comme un sommet et on place un arc entre deux capitales si les pays ont une fronti` ere commune. On obtient un graphe planaire. Un 4-coloriage de ce graphe donnera donc le coloriage demand e de la carte g eographique. Les coloriages de graphes ont bien dautres applications. On citera des allocations de fr equences pour les t el ephones mobiles ou les stations de radio : les fr equences de stations voisinent doivent etre di erentes. Le probl` eme de d eterminer si un graphe est 3-coloriable est un probl` eme dicile, et ceci en un sens que lon va pr eciser.

` LA THEORIE INTRODUCTION A DES GRAPHES

13

On dit quun probl` eme est polynomial sil peut etre r esolu par un algorithme formalis e en termes de Machine de Turing (mod` ele formel simpli e mais universel de calculateur), en temps polynomial par rapport a ` la taille de la donn ee. La notion de temps polynomial est robuste. Pour les graphes, elle est ind ependante de leur mode de repr esentation : les m emes probl` emes sont polynomiaux, que le graphe soit donn e par une matrice bool eenne ou par une liste de sommets et darcs. (Par contre, pour des probl` emes comportant des nombres entiers comme donn ees, il nest pas indi erent que les entiers soient donn es en notation binaire ou en notation unaire. Les tailles des repr esentations ne sont plus compar ees par des polyn omes mais par des exponentielles.) Un probl` eme est NP, cest-` a-dire r esoluble en temps Polynomial par une machine Non d eterministe sil est de la forme : il existe une aectation de valeurs a ` certaines variables qui satisfait une condition v eriable en temps polynomial. La recherche de cette valuation des variables peut n ecessiter une s erie dessais syst ematiques dont on ne sait pas majorer par un polyn ome le temps total de recherche. Par contre, pour chaque valuation particuli` ere, la v erication quelle est correcte prend un temps polynomial. On conjecture quil existe des probl` emes de type NP qui nont pas dalgorithme polynomial. Cette conjecture a et e class ee comme lun des 10 principaux probl` emes de math ematiques lors dun r ecent Congr` es Mondial des Math ematiciens. Parmi ces probl` emes de type NP, certains, dits NP-complets, sont les plus diciles de la classe NP toute enti` ere. Cela veut dire, pour faire court, que P = NP, autrement dit que tout probl` eme de type NP peut etre r esolu en temps polynomial ( eventuellement avec des exposants enormes), si et seulement si tel probl` eme NP-complet, par exemple celui de lexistence dun 3-coloriage, poss` ede un algorithme polynomial. Il existe dautres probl` emes NP-complets portant sur les graphes : lexistence dun circuit hamiltonien, le 3-coloriage des graphes planaires, le coloriage des arcs dun graphe 3-r egulier avec 3 couleurs, lexistence dun sousgraphe complet de taille au moins k o` u k fait partie de la donn ee du probl` eme. D eterminer si un graphe est 4-, 5-, . . . , k -coloriable pour chaque k x e est egalement NP-complet. Par contre, un graphe est 2-coloriable

14

B. COURCELLE

si et seulement si son ensemble de sommets S peut etre partitionn e en deux classes A et B telles quaucun arc ne relie deux sommets de A ou deux sommets de B . D eterminer si un graphe est 2-coloriable peut se faire au moyen dune exploration a ` partir dun arbre recouvrant en largeur, donc en temps polynomial. Il existe des liens entre coloriages et orientations. Soit G un graphe non orient e. Si H est une orientation de G obtenue en choisissant une direction pour chaque ar ete, on note L(H ) le nombre maximum de sommets dun chemin orient e dans H . Le th eor` eme de Gallai et Roy enonce que (G) est le minimum des entiers L(H ) pour toutes les orientations H de G. Esquissons sa preuve : Si G est colori e par 1, . . . , k , orientons les arcs de sorte que x y si c(x) < c(y ). Un chemin orient e a des couleurs strictement croissantes et donc un nombre de sommets au plus k . Inversement, soit H une orientation qui r ealise le minimum de L(H ). On prend B un ensemble minimal darcs de H tel que A B est un sous-graphe sans circuit de H . Pour tout x on pose c(x) = le nombre maximal de sommets dun chemin orient e issu de x. On v erie sans peine que cest un k -coloriage. Voici un autre exemple de relation entre coloriage et orientation : il sagit de d enir une orientation a ` partir dun coloriage. Supposons que lensemble C des couleurs est lensemble des sommets dun tournoi (cest-` a-dire dun graphe orient e complet tel quaucun narc na darc retour ). Soit G un graphe non orient e C -colori e. On d enit une orientation de ce graphe en orientant un arc de x y si et seulement si c(x) c(y ). Question. Combien faut-il de couleurs pour sp ecier ainsi lorientation dun graphe ? Si ce graphe est un arbre, 3 couleurs susent, mais 4 sont n ecessaires pour un circuit de longueur 4. Pour un graphe planaire, 80 couleurs susent, mais lon na pas dexemple o` u 80 couleurs sont n ecessaires. Pour un graphe orient e de telle sorte que chaque sommet ait un degr e entrant au plus d, le nombre de couleurs est au plus 2 2d(d+1) , alors que le nombre chromatique pour ces graphes est au plus 2d + 1.

` LA THEORIE INTRODUCTION A DES GRAPHES

15

(Ces graphes sont les graphes uniform ement d-creux, cest-` a-dire tels que pour tout sous-graphe, le nombre darcs est au plus d fois le nombre de sommets.)

7. Planarit e et congurations interdites La notion de graphe planaire, cest-` a-dire de graphe plongeable topologiquement dans le plan, n ecessite de d enir la notion darc de Jordan, donc de passer par les nombres r eels et les fonctions continues. La caract erisation combinatoire de Kuratowski permet d eviter ce long d etour. (Mentionnons quun graphe planaire peut etre dessin e dans le plan au moyen de segments de droites repr esentant ses arcs ou ses ar etes. Cela nest pas pour autant une caract erisation combinatoire de la planarit e). On dit que H non orient e, est un sous-graphe topologique de G si G admet un sous-graphe K qui est obtenu en rempla cant les ar etes de H par des chemins disjoints (sauf a ` leurs extr emit es), ou encore par subdivisions it er ees de ses ar etes. Il est clair que si G est planaire, il en va de m eme de H et K . Si H est lun des deux graphes K5 et K3,3 , alors G nest pas planaire. Le th eor` eme de Kuratowski (1930) enonce que la r eciproque est vraie : si un graphe ne contient aucun sous-graphe topologique isomorphe a ` K5 ou a ` K3,3 , alors il est planaire. On dispose ainsi dune caract erisation des graphes planaires en termes de leurs sous-graphes, ne faisant pas appel a ` lanalyse et a ` la g eom etrie. On peut egalement repr esenter des graphes sur dautres surfaces que le plan. Sur la sph` ere on repr esente les m emes graphes que sur le plan, mais sur le tore on peut repr esenter K 5 et K3,3 . N. Robertson et P. Seymour ont d emontr e en 1986 que pour toute surface orientable (tores a ` plusieurs trous) la famille des graphes repr esentables etait caract eris ee par un nombre ni de sous-graphes topologiques interdits . Le cas des surfaces non orientables (plan projectif, bouteille de Klein) est d ua ` Glover et al. (1980). Les preuves ne sont pas constructives. On ne conna t la liste de ces graphes que pour deux surfaces, le plan (la sph` ere) et le plan projectif pour lequel ils sont tr` es nombreux : 103. Il y en a au moins 2200 pour le tore. On ne

16

B. COURCELLE

dispose m eme pas dun algorithme qui, quitte a ` demander un temps extravagant, pourrait en principe les enum erer. 8. Arbres syntaxiques La grammaire dune langue d enit des types de mots et de groupes de mots en fonction desquels on peut d ecomposer une phrase et lui donner une structure arborescente qui est li ee a ` son sens. Cette structure permet de d enir des r` egles dites daccord , et elle constitue pour un processus de traduction automatique une repr esentation pivot . Ainsi la traduction dune langue dans une autre peut etre vue comme compos ee de deux phases, une phase danalyse syntaxique partant de la phrase donn ee et aboutissant a ` la construction de son arbre syntaxique (avec les probl` emes dambigu t e inh erents aux langues naturelles), et dune phase de transformation de cet arbre en une phrase de la langue vis ee, transformation qui utilisera un lexique de mots et dexpressions idiomatiques, et une grammaire. Lapproche grammaticale formalis ee des langues naturelles a et e introduite par N. Chomsky dans les ann ees 50. ` cette A epoque ont et e construits les premiers ordinateurs, dont le fonctionnement est assur e par des programmes ecrits dans des langages . Lordinateur dispose dun langage interne, son langage-machine , illisible pour un humain, dont les programmes sont des suites dinstructions d enissant des op erations el ementaires, notamment arithm etiques, et des transferts de donn ees dun emplacement a ` un autre, sans oublier les instructions dentr ee-sortie. Le programmeur utilise un langage de programmation pour ecrire ses programmes, plus lisibles, mais qui restent n eanmoins peu compr ehensibles pour le non sp ecialiste. Le compilateur est un programme qui traduit les programmes ecrits dans un langage de programmation en des programmes ex ecutables, cest-` a-dire ecrits dans le langage-machine de lordinateur. Comme les langues naturelles, les langages de programmation ont des grammaires, con cues, elles, pour eviter toute ambigu t e, et le compilateur a pour t ache la traduction. Le m ecanisme en deux temps, analyse syntaxique construisant un arbre syntaxique a ` partir dun texte, suivi dune traduction proprement dite de larbre en

` LA THEORIE INTRODUCTION A DES GRAPHES

17

un programme-objet reste pertinent, m eme sil est simpli e. La construction des compilateurs a motiv e une importante recherche en th eorie des langages formels et en s emantique des langages de programmation. Les arbres y jouent un r ole pr epond erant. Un arbre syntaxique repr esente un terme au sens de la logique math ematique et de lalg` ebre universelle. Un polyn ome, par exemple est un terme ecrit avec des symboles dop eration, des constantes, des variables. La notation dite inx ee qui consiste a ` placer le symbole dop eration entre les arguments est une source dambigu t e : comment doit-on lire x + y z ? et x y z ? Les notations pr ex ees l` event ces ambigu t es car ces deux termes s ecrivent alors +(x, (y, z )) et ((x, y ), z ) mais elles ne correspondent pas a ` nos habitudes d ecriture. Mais elles ont lavantage de permettre lutilisation de fonctions a ` plus de deux arguments. Un exemple de terme est f (x, g (y, x, z ), h(x), a), o` u f est darit e 4, g darit e 3, h darit e 1. Un tel terme peut etre ecrit comme ci-dessus avec des parenth` eses et des virgules, mais egalement repr esent e par un arbre etiquet e et ordonn e. Les etiquettes, valeurs des sommets, indiquent les fonctions, les variables et les constantes. Les arcs sont orient es vers les arguments. On obtient donc une arborescence. Mais en plus, lensemble des successeurs dun sommet est totalement ordonn e. En eet, lordre des arguments est important (sauf dans le cas tr` es particulier de fonctions commutatives). (On repr esente le plus souvent un tel terme comme une arborescence dont la racine est en haut et les feuilles sont en bas ; les informaticiens disent habituellement un arbre , cela fait partie des variations terminologiques). Une grammaire peut etre formalis ee comme un ensemble de d enitions simultan ees dun ensemble de termes. Prenons lexemple tr` es simple des termes ecrits avec un unique symbole binaire f et deux constantes a et b. Quelques exemples de termes en commen cant par les plus petits sont : a, b, f (a, b), f (a, a), f (a, f (a, b)), f (f (b, b), a), etc. On peut les caract eriser par des r` egles de formation. Dans des ouvrages de math ematiques qui ne sattardent pas a ` des questions formelles on trouve des d enitions de ce genre : (1) a et b sont des termes,

18

B. COURCELLE

(2) si s et t sont des termes alors f (s, t) est un terme, (3) rien nest un terme que par application des r` egles qui pr ec` edent. Pour etre correct, il faut pr eciser quun terme est une suite nie de symboles, on dit un mot en th eorie des langages formels. Cette hypoth` ese de nitude est n ecessaire pour exclure le terme inni f (f (., .), f (., .)) solution de l equation T = f (T, T ) (sorte de s erie formelle g en eralis ee). En utilisant le vocabulaire de la th eorie des langages formels, on ecrirait que lensemble des termes est le langage engendr e par la grammaire compos ee des r` egles de r e ecriture : terme a, terme b, terme f ( terme , terme ). Une mani` ere plus el egante de formuler cela est de dire que lensemble des termes est le plus petit ensemble L de mots qui contient a, b et inclut lensemble de mots f (L, L). (On d esigne par f (L, L) lensemble des mots de la forme f (s, t) pour s et t dans L.) Lanalyse syntaxique des langages de programmation sappuie sur la notion de grammaire o` u, au lieu dune unique cat egorie dexpressions on en utilise plusieurs, par exemple instruction , d eclaration , expression bool eenne , expression arithm etique , appel de proc edure . De fa con semblable, les phrases des langues naturelles sont analys ees en groupe verbal , adjectif , proposition relative etc. La notion de grammaire peut egalement sappliquer a ` la description dautres objets que des mots et en particulier a ` des graphes comme nous le verrons bient ot.

9. Structurations et grammaires de graphes Indiquons quelques r esultats de d ecomposition canonique. Tout graphe est lunion disjointe de ses composantes connexes. Tout graphe connexe est dune mani` ere unique, un recollement arborescent de ses composantes 2-connexes (un graphe est 2-connexe si tout couple de sommets appartient a ` un cycle). Un graphe 2-connexe peut egalement etre d ecrit de mani` ere unique comme recollement arborescent de ses composantes 3-connexes (deux sommets sont reli es par trois chemins disjoints).

` LA THEORIE INTRODUCTION A DES GRAPHES

19

Les composantes fortement connexes dun graphe 2-connexe orient e forment un graphe orient e sans circuit que lon obtient en contractant chaque composante en un sommet. Une autre notion importante est la d ecomposition modulaire. Elle sappuie sur la notion de substitution dans un graphe dun graphe a ` un sommet. Ainsi, G[H/v ] o` u G et H sont disjoints (sils ne le sont pas on remplace H par une copie isomorphe) est le graphe K dont lensemble de sommets est S (G) S (H ) {v }, et dont les arcs sont ceux de H , ceux de G non incidents a ` v , et pour tout x dans G, x = v , pour tout y dans H , on place un arc de x y (de y x) si et seulement si il y a dans G un arc de x v (de v x). Un graphe est premier sil ne peut pas s ecrire comme G[H/v ] sauf avec G ou H r eduit a ` un unique sommet. Cette op eration de substitution se g en eralise a ` des substitutions simultan ees a ` plusieurs sommets : G[H1 /v1 , ..., Hn /vn ]. Les substitutions peuvent etre imbriqu ees, cest-` a-dire que lon peut d enir un graphe comme G[H1 /v1 , . . . , K [L1 /x1 , . . . , M1 /y1 , . . . ], . . . ] . . . , Hn /vn ]. Tout graphe (ni) peut s ecrire ainsi et de fa con unique comme le r esultat de substitutions it er ees portant sur des graphes premiers. On consid` ere comme premiers les graphes form es de sommets sans arcs, les graphes complets, et les graphes des ordres totaux. Ces d ecompositions sont utiles pour ramener des preuves relatives a ` tous les graphes dun certain type aux cas particuliers de leurs constituants, qui sont, selon les cas, les graphes connexes, les graphes fortement connexes et sans circuits, ou les graphes premiers. Dautre part, pour am eliorer lecacit e et la modularit e dun algorithme, il est souvent utile de r eduire le probl` eme consid er e a ` des probl` emes identiques ou similaires pour des composants tels que les graphes premiers. Malheureusement, ces possibilit es de d ecomposition restent dutilisation limit ee. Ainsi, un graphe al eatoire a ` n sommets a une probabilit e d etre premier qui tend vers 1 quand n tend vers linni. On citera plus loin dautres d ecompositions, dune certaine fa con plus puissantes, qui nont plus la propri et e dunicit e, mais qui n eanmoins diminuent le temps de calcul de certains algorithmes. Un graphe g en eral est un objet non structur e, d eni de mani` ere globale et non par composition dentit es plus petites. Cela ne facilite

20

B. COURCELLE

pas la r edaction des preuves. Les choses sont plus simples pour les arbres, car on peut dans ce cas faire des r ecurrences sur leur structure. Il existe toutefois des familles de graphes que lon peut engendrer au moyen dun nombre ni dop erations, et que lon peut donc repr esenter par des termes. Les cographes sont les graphes d enissables a ` partir de deux op erations : lunion disjointe et le produit complet, not ees respectivement et . (On ne consid` ere ici que des graphes non orient es, sans boucles). Le graphe G = H K est d eni a ` partir de deux copies disjointes des graphes H et K : on en prend lunion des sommets et lunion des ensembles darcs. Le graphe G = H K est d eni comme H K augment e de tous les arcs possibles entre les sommets de H et ceux de K . Ces graphes ne sont d enis qu` a isomorphisme pr` es puisque, a ` chaque etape, on prend des copies disjointes. Notons 1 le graphe r eduit a ` un sommet isol e. Les cographes sont les graphes d enis par les termes nis ecrits avec 1, et . On peut egalement ecrire que lensemble des cographes L est lunique solution, parmi les ensembles de graphes nis, de l equation : Chacun des graphes engendr es a une repr esentation arborescente. Est-elle unique ? Non car les op erations et sont associatives et commutatives (mais cest tout). Donc plusieurs termes peuvent repr esenter le m eme cographe (` a isomorphisme pr` es). Cela dit, on peut d enir une repr esentation unique par des termes a ` op erateurs commutatifs darit es variables. L = (L L) (L L) {1}.

10. D ecompositions arborescentes et algorithmes polynomiaux Voici un exemple dutilisation algorithmique des d ecompositions de graphes. Soit D un ensemble ni d etiquettes. Un D -graphe est un graphe muni dune injection s : D S (G). On appelle s(a) la a-source de G. On d enit sur ces graphes une op eration de recollement. Soit H un D -graphe et K un E -graphe. On note G = H//K le graphe obtenu a ` partir de lunion disjointe de H et de K en fusionnant la a-source de

` LA THEORIE INTRODUCTION A DES GRAPHES

21

H et la a-source de K pour tout a dans D E . Le graphe G est donc un D E -graphe. Si h est une injection : D E , on note Ren(h) lop eration de renommage des sources d enie de la fa con suivante : Si H est un E -graphe, Ren(h)(H ) est le D -graphe obtenu en prenant s h comme application d esignant les sources. En utilisant des sous-ensembles dun ensemble x e de k etiquettes de sources et des graphes de base a ` au plus k sommets, on d enit une famille de graphes que lon peut d esigner par des termes. Le nombre minimal k d etiquettes a ` utiliser pour construire un graphe de cette mani` ere est un param` etre introduit ind ependamment par Robertson et Seymour dans le cadre de leur etude des mineurs de graphes, et d enomm e sa largeur arborescente (tree-width ). Les graphes de largeur arborescente au plus k sont dune certaine fa con tr` es particuliers. Ils sont uniform ement (k + 1)-creux. Les graphes planaires bien quuniform ement 3-creux, ne sont pas de largeur arborescente born ee. Montrons lint er et algorithmique de cette notion, en prenant lexemple du probl` eme NP-complet de la recherche dune 3coloration. Lid ee est de chercher a ` v erier la 3-colorabilit e dun graphe G en partant dune d ecomposition arborescente, cest-` a-dire de ramener la v erication que G = H//K ou que G = Ren(h)(H ) est 3 coloriable a ` des v erications de ce type pour H et K . Il est clair que si G est 3 coloriable, ses sous-graphes H et K le sont aussi. Mais la r eciproque est fausse. Ainsi, comme souvent pour une preuve par r ecurrence, il faut renforcer la propri et e et faire la r ecurrence sur une propri et e plus forte. Pour un D -graphe, on note c : V (G) {1, 2, 3} un 3-coloriage. On note C (G) lensemble de tous les 3-coloriages de G. On va extraire de C (G) une information nie qui passe a ` la r ecurrence . ` A un coloriage c on associe sa restriction aux sources, cest-` a-dire lapplication c s : D {1, 2, 3} qui associe a ` chaque etiquette de source la couleur du sommet correspondant. On note c # (G) cette application pour un D -graphe G. Lobservation clef est que lon peut d eterminer si d = c # (H//K ) en fonction de c# (H ) et c# (K ). Une fois connue une expression de G au moyen de recollements et de renommages de sources, on peut calculer lensemble c # (H ) pour tous les sous-graphes de G associ es aux sous-termes du terme qui

22

B. COURCELLE

le d enit, inductivement et en montant dans larbre syntaxique du terme. On obtient donc un algorithme en temps lin eaire (supposant le terme connu), et pour un nombre d etiquettes maximal k x e. Il importe que les informations a ` calculer inductivement restent dans un ensemble ni, m eme tr` es grand. Cette m ethode sapplique a ` bien dautres probl` emes. En particulier a ` la recherche dun cycle hamiltonien optimal, et plus g en eralement a ` tout probl` eme de graphe que lon peut formuler par une formule de la logique du second ordre monadique, cest-` a-dire dune formule logique ecrite avec des quantications existentielles et universelles sur des variables d esignant des sommets, des arcs, des ensembles de sommets et des ensembles darcs. Cette logique exclut l ecriture de conditions telles que : il existe une bijection dun ensemble X sur un ensemble Y .

11. Graphes d enombrables : utilisation du lemme de Koenig Jusquici nous avons surtout parl e de graphes nis, mais la plupart des d enitions s etendent sans dicult e aux graphes innis. Nous nous limiterons a ` des graphes d enombrables. Le Lemme de Koenig etablit que dans une arborescence innie dont chaque sommet est de degr e ni (mais non n ecessairement born e), il existe un chemin inni issu de la racine. (Preuve : On construit pas a ` pas ce chemin en choisissant a ` chaque fois de continuer en allant vers un sommet qui est la racine dune sous-arborescence innie). On peut prouver ainsi que tout sous-ensemble inni de lintervalle r eel [0,1] poss` ede un point daccumulation. Ce lemme permet d etendre aux graphes d enombrables diverses propri et es des graphes nis. Si un graphe d enombrable G est tel que tout sous-graphe ni est k -coloriable, alors il est lui m eme k coloriable. La preuve se fait ainsi : on choisit une suite G i , i N, de graphes nis, croissante pour linclusion, dont la r eunion est G. On construit une arborescence innie dont les sommets sont les coloriages c des graphes Gi . On d enit un arc c c si et seulement si c est un coloriage de Gi et c est la restriction de c a ` Gi1 . On

` LA THEORIE INTRODUCTION A DES GRAPHES

23

obtient une arborescence innie (car chaque G i poss` ede au moins un k -coloriage). Il ny a quun nombre ni de k -coloriages dun graphe ni, donc chaque sommet de larborescence est de degr e ni. Le lemme de Koenig montre quil existe un chemin inni. Ces coloriages sont tous compatibles et lon a ainsi un coloriage de lunion des graphes Gi , cest-` a-dire de G. On peut donc montrer ainsi que la validit e du Th eor` eme des quatre couleurs pour les graphes nis implique son extension aux graphes d enombrables. Il en va de m eme de la d enition des orientations de degr e entrant au plus d au moyen dun graphe de couleurs. Par contre, certains r esultats n ecessitent une preuve particuli` ere. On a vu que tout graphe ni connexe poss edait un arbre de Tr emaux. On montre lexistence dun tel arbre par une exploration du graphe en profondeur . Dans le cas dun arbre inni, cette exploration peut omettre compl` etement une partie du graphe, et donc ne permet pas de conclure a ` lexistence dun arbre de Tr emaux. N eanmoins, tout graphe connexe d enombrable poss` ede un arbre de Tr emaux. Je laisserai cette d emonstration aux lecteurs.
B. Courcelle, Universit e Bordeaux 1, LaBRI (CNRS UMR 5800), 351 cours de la Lib eration, F-33405 Talence Cedex, France E-mail : http ://www.labri.fr/ courcell/SafeMail.php Url : http://www.labri.fr/Perso/~courcell/ActSci2.html

Vous aimerez peut-être aussi