Institut Supérieur d'Informatique, de Modélisation et de leurs Applications
Campus des Cézeaux 24 avenue des Landais BP 10125
63173 AUBIERE Cedex
Laboratoire d'Analyse et d'Architecture des Systèmes 7 avenue du Colonel Roche BP 54200 31031 Toulouse cedex 4
Rapport d'ingénieur Stage de 3ème année
Filière Calcul et Modélisation scientiques
Colorations identiantes de graphes
Présenté par : Pierre COUPECHOUX
Responsable LAAS : Julien MONCEL
Responsable ISIMA : Philippe MAHEY 3 septembre 2014
Stage de 5 mois
Remerciements
Je tiens tout d'abord à remercier Julien Moncel, mon tuteur de stage, pour avoir mis à ma disposition plusieurs livres, et pour les conseils qu'il m'a donnés, tout au long de mon stage.
Je remercie aussi Christian Artigues, chef de l'équipe ROC, pour son implication dans la validation de la thèse à venir à la suite du stage.
Je remercie plus généralement l'ensemble de l'équipe ROC, pour l'accueil sympathique que j'ai reçu au sein du LAAS, et pour le challenge proposé pendant la journée d'équipe.
Résumé
Les colorations identiantes sont un sujet assez récent en théorie des graphes. Le but de ce stage de recherche était d'obtenir une bibliographie aussi large que possible, et d'explorer ce domaine de la théorie des graphes en étudiant des questions de la littérature.
J'ai pu travailler ce sujet avec une session sur le réseau informatique du LAAS, sous une version d'Ubuntu. J'ai eu l'occasion de créer plusieurs programmes en C/C++, ainsi que des scripts bash.
Mes travaux m'ont permis d'améliorer un résultat et répondre à une question de Parreau. J'ai également commencé à explorer deux nouvealles questions liées aux colorations identiantes.
Mots-clés : coloration identiante, théorie des graphes, C/C++, bash
Abstract
Identifying coloring of graphs is a fairly recent topic in graph theory. The purpose of this internship was to get a wide bibliography and explore this part of graph theory.
I worked with a computer session of the LAAS network, using Ubuntu. I created some C/C++ programs, and bash scripts.
My work allowed me to improve a result and answer a question of Parreau. I also addressed two new questions on identifying colorations.
Keywords : identifying coloring, graph theory, C/C++, bash
Table des matières
Introduction 1
1 Contexte et sujet du stage 2
1.1 Présentation du laboratoire . . . 2
1.1.1 Le CNRS . . . 2
1.1.2 Le LAAS . . . 3
1.1.3 L'équipe ROC . . . 4
1.2 Origine du sujet de stage . . . 4
1.2.1 Domination . . . 4
1.2.2 Identication . . . 5
1.2.3 Lien vers les colorations identiantes . . . 6
1.3 Colorations identiantes de graphes . . . 7
1.3.1 Principaux résultats sur les colorations globalement et localement iden- tiantes . . . 8
1.3.2 Diérents types de coloration . . . 12
1.3.3 Travail réalisé . . . 15
2 Cycles universels 17 2.1 Séquences de de Bruijn . . . 17
2.1.1 Dénition . . . 17
2.1.2 Cas particulier pour les cycles universels d'ordre 3 . . . 20
2.1.3 Résultats . . . 20
2.2 Construction des cycles universels . . . 21
2.2.1 Relation d'équivalence . . . 21
2.2.2 Types . . . 22
2.2.3 Graphe associé aux types . . . 24
2.3 Cycles universels avec répétition . . . 25
3 Nouvelles questions ouvertes 35 3.1 Suppression d'un sommet . . . 35
3.1.1 Conjecture . . . 35
3.1.2 Arbres innis . . . 36
3.1.3 Treillis des couleurs . . . 38
3.2 Nouveaux problèmes . . . 40
3.2.1 Problème de modication des couleurs . . . 41
3.2.2 Problème du sous-graphe identié . . . 42
3.2.3 Heuristique . . . 44
3.3 Retour à un cadre général . . . 46
3.3.1 L'identication . . . 46 3.3.2 Continuité du stage . . . 46
Conclusion 47
Bibliographie 48
A Résumé des résultats de la littérature I
A.1 [AGS14] . . . I A.2 [HM11] . . . I A.3 [WW08] . . . II A.4 [BKT14] . . . III A.5 [PW11] . . . III A.6 [TCSW14] . . . V
B Codes et scripts VII
Table des gures
1 Les 10instituts du CNRS. . . 2
2 Le LAAS. . . 3
3 Exemple de dominant d'un graphe. Le dominant est constitué des sommets rouges ; tout sommet est soit rouge soit voisin d'au moins un sommet rouge. . . 5
4 Exemple de code identiant. Les sommets du code sont coloriés en noir. . . 6
5 Exemples de graphes tels que χid(G) =|V|. . . 10
6 Exemple de graphe tel que χid(G) = dlog2(|V|+ 1)e. . . 10
7 Exemple de coloration localement identiante d'une grille avec 3 couleurs. . . 11
8 Graphe extrémal pour la coloration localement identiante . . . 11
9 Exemple d'une coloration localement identiante avec 3 couleurs d'un graphe biparti . . . 12
10 Colorations optimums pour quelques graphes cycliques. Celles-ci respectent le motif donné par l'expression régulière fournie par Parreau. . . 13
11 Capture d'écran du programme graphique réalisé. . . 15
12 Graphe de de BruijnB(2,3). . . 18
13 Une suite de de Bruijn obtenue par un circuit hamiltonien du graphe de la Figure 12. . . 19
14 Un cycle universel d'ordre 3 sur l'alphabet [1,8]. Chaque sous-ensemble à trois éléments distincts de [1,8] apparaît exactement une fois comme suite de 3som- mets successifs. . . 19
15 Exemple d'amélioration des cycles universels pour les colorations globalement identiantes. . . 20
16 Exemples d'ensembles équivalents pour L= 8 couleurs. . . 22
17 Liste des ensembles à 3 éléments de [0, L−1] et leur type associé. Pour plus de clarté, les ensembles {i, j, k} (i≤j ≤k) sont représentés ijk. Les types sont indiqués en gras. . . 23
18 Graphe orienté des types pour L= 8. . . 24
19 Exemple de cycle universel avec répétition qui n'est pas une coloration globale- ment identiante. Un doublon a été mis en évidence, mais il en existe d'autres. . 26
20 Graphes obtenus après le choix des types. . . 30
21 Cycle obtenu pour L= 8en appliquant 8 fois la somme des sommets du circuit eulérien C1. . . 31
22 Construction d'un cycle contenant tous les ensembles représentés par les types du graphe pourL= 16. . . 32
23 Insertion de nouveaux ensembles dans le casL impair . . . 32
24 Cycle obtenu dans la deuxième partie pour L = 8 couleurs. Si l'on retire l'un des sommets verts, la coloration reste une coloration globalement identiante. Si l'on retire un sommet noir, alors on obtient un doublon. . . 35 25 Un grapheGmuni d'une coloration globalement identiante. Les valeurs inscrites
dans les sommets sont celles de la coloration, et les valeurs inscrites à côté sont les noms des sommets. . . 36 26 Valeurs de la fonctionf sur le graphe de la Figure 25. . . 37 27 Arbre construit à partir de la fonction f de l'exemple de la Figure 25, en choi-
sissant une racine étiquetée par a. . . 38 28 Treillis associé à l'exemple de la Figure 25. Les ensembles de couleurs du voisinage
de chaque sommet sont indiqués à côté de chaque sommet, sous forme de mot. . 39 29 Treillis associé à l'exemple de la Figure 25, coloré. Les ensembles de couleurs du
voisinage de chaque sommet sont indiqués à côté de chaque sommet, sous forme de mot. Les sommets blancs sont les sommets que l'on peut retirer dans le graphe d'origine sans créer de collisions. Les sommets rouges sont ceux que l'on ne peut pas retirer sans créer de collision. . . 41 30 Un grapheGmuni d'une coloration quelconque, qui n'est pas globalement iden-
tiante. Il y a deux collisions, entre les sommets dont les ensembles de couleurs sont écrits en rouge. . . 42 31 Modication d'une couleur par rapport au graphe de la Figure 30 pour essayer
de faire disparaître une collision. . . 43 32 Solution optimale du problème de modication des couleurs, par rapport au
graphe initial de la Figure 30. . . 43 33 Solution optimale du problème du sous-graphe identié, par rapport au graphe
initial de la Figure 30. . . 44
Introduction
Le thème de recherche sur lequel j'ai travaillé au LAAS est la coloration identiante de graphes. Le principe est de donner une couleur à chacun des sommets d'un graphe, pour que chaque sommet voie un ensemble de couleurs unique.
Le document sur lequel je me suis le plus basé est le mémoire de thèse d'Aline Parreau, daté de juillet 2012. Le sujet est assez récent, mais on trouve tout de même plusieurs articles sur le sujet.
Dans un premier temps, je me suis familiarisé avec les notions en jeu, et j'ai pris connaissance des divers résultats actuels. À l'aide d'un papier et d'un crayon, j'ai pu me rendre compte quelles étaient les dicultés, et où se situaient les problèmes.
Dans un second temps, j'ai créé un programme qui me permettait de faire beaucoup plus rapidement ce que je faisais à la main, et de manière plus dynamique. Ceci m'a permis de partiellement répondre à une question ouverte de la thèse d'Aline Parreau, en utilisant des cycles universels. J'ai aussi pu, en constatant divers phénomènes, énoncer une conjecture et poser deux nouveaux problèmes.
Dans ce rapport, je commencerai par situer les colorations identiantes dans la théorie des graphes. Je présenterai ensuite les améliorations que j'ai apportées aux cycles universels dans le cadre des coloration identiantes, en expliquant d'où viennent ces améliorations. Enn, j'exposerai une conjecture et deux problèmes, ainsi que diérentes pistes que j'ai suivies pour les aborder.
1 Contexte et sujet du stage
1.1 Présentation du laboratoire
1.1.1 Le CNRS
Source : Site du CNRS [CNR]
Le Centre National de la Recherche Scientique (CNRS) est un organisme public de recherche (Etablissement public à caractère scientique et technologique, placé sous la tutelle du Min- istère de l'Éducation nationale, de l'Enseignement supérieur et de la Recherche). Il produit du savoir et met ce savoir au service de la société.
Sa gouvernance est assurée par Alain Fuchs, président du CNRS, assisté de deux directeurs généraux délégués, Philippe Baptiste à la science et Xavier Inglebert aux ressources.
Avec près de 33 000 personnes (dont 24 955 statutaires - 11 204 chercheurs et 13 751 ingénieurs, techniciens et administratifs), un budget pour 2013 de 3,4 milliards d'euros dont 829 millions d'euros de ressources propres, une implantation sur l'ensemble du territoire national, le CNRS exerce son activité dans tous les champs de la connaissance, en s'appuyant sur plus de 1100 unités de recherche et de service.
Figure 1 Les 10instituts du CNRS.
Des chercheurs éminents ont travaillé, à un moment ou à un autre de leur carrière, dans des laboratoires du CNRS [LAU]. Avec 19 lauréats du prix Nobel et 11 de la Médaille Fields,
Figure 2 Le LAAS.
le CNRS a une longue tradition d'excellence.
Le CNRS a été créé en 1939, en cherchant à regrouper tous les organismes d'État, non spécialisés, de recherche fondamentale ou appliquée, et de coordonner les recherches à l'échelon national. Les premières années sont orientées vers les recherches appliquées (militaires jusqu'à l'armistice, économiques jusqu'en 1944). Après 1945, l'organisme s'oriente nettement vers la recherche fondamentale.
Aujourd'hui, le CNRS mène des recherches dans l'ensemble des domaines scientiques, tech- nologiques et sociétaux, regroupés au sein de 10instituts (voir Figure 1).
1.1.2 Le LAAS
Le Laboratoire d'Analyse et d'Architecture des Systèmes (LAAS), situé à Toulouse, est rattaché à l'Institut des Sciences de l'Ingénierie et des Systèmes (INSIS) et à l'Institut des Sciences de l'Information et de leurs Interactions (INS2I).
Le LAAS mène des recherches dans8 domaines scientiques : Informatique critique ;
Réseaux et communications ; Robotique ;
Décision et optimisation ;
Hyperfréquences et optique : de l'électromagnétisme aux systèmes ; Nano ingénierie et intégration ;
Micro nano bio technologies ; Gestion de l'énergie.
Ces domaines sont recouverts par 22 équipes de recherche, pour un total de 631 personnes (hors stagiaires). En 2013, ces personnes sont à l'origine de 620 publications.
1.1.3 L'équipe ROC
Les travaux de l'équipe Recherche Opérationnelle, Optimisation Combinatoire et Con- traintes (ROC) se situent dans des branches de la recherche opérationnelle et de l'intelligence ar- ticielle ; ils correspondent donc parfaitement au master recherche M2AD de l'ISIMA. L'équipe ROC est constituée de 11 membres permanents, 11 doctorants (pour l'année 2013/2014), 7 stagiaires (pendant l'été 2014), et une doctorante invitée. Parmi les problèmes qu'elle traite, on trouve :
Des problèmes de satisfaction de contraintes (CSP, pour Constraint Satisfaction Problem) [HOO10] [LETH12] ;
Des problèmes d'ordonnancement (scheduling en anglais) [KALM11] [OBB13] ;
Des problèmes de programmation en nombres entiers (MILP pour Mixed Integer Linear Programming) [JLS11] [KALM13] ;
Des problèmes d'allocation de ressources [HAC11] [KAHM13] ; Des problèmes de tournée de véhicules [GAFJ10] [NPC13] ;
Des problèmes d'optimisation combinatoire sur les graphes [BMP12] [GKM+13] ;
1.2 Origine du sujet de stage
1.2.1 Domination
En théorie des graphes, le problème de domination est très classique, et a été très étudié [AL78][HHS98] (le premier étant l'un des plus anciens articles à ce sujet, et le second une célèbre monographie). Un dominant d'un graphe (ou ensemble dominant, ou code couvrant) est un ensemble de sommets D tel que chaque sommet qui n'est pas dans D possède au moins un voisin qui est dans D. Le problème de domination consiste à trouver un dominant de taille minimum (l'ensemble de tous les sommets du graphe étant un dominant trivial). La Figure 3 montre un exemple de dominant d'un graphe.
Le problème suivant a été montré NP-complet [GJ79] : DOMINATION_DEC :
Instance : Un graphe G, un entier k
Question : Existe-t-il un dominant D deG tel que |D|≤k?
Figure 3 Exemple de dominant d'un graphe. Le dominant est constitué des sommets rouges ; tout sommet est soit rouge soit voisin d'au moins un sommet rouge.
L'ensemble des voisins d'un sommet u, appelé voisinage ouvert, est noté N(u) (il faut cependant bien voir que cette notation dépend du graphe duquel uest issu). Le voisinage fermé d'un sommet u, noté N[u], est le voisinage ouvert du sommet, auquel on ajoute le sommet u. Avec ces termes, on peut redénir un dominant D d'un graphe G = (V, E) comme étant un sous-sensemble des sommets du graphe tel que : ∀u∈V, N[u]∩V 6=∅.
Dans les applications, les applications de ce problème sont nombreuses. On peut par exemple imaginer la surveillance d'un musée par des caméras, le but étant de surveiller la totalité du musée, avec un nombre minimal de caméras. On peut modéliser ce problème de façon très simple : les sommets du graphe sont les pièces du musée, et deux sommets sont voisins si une caméra posée dans l'une des deux pièces peut voir la seconde. Trouver une répartition optimale des caméras correspond exactement à trouver un ensemble dominant du graphe, de cardinalité minimum. Puisque DOMINATION_DEC est NP-complet, et donc NP-dicile, les autres problèmes de la classe NP peuvent se réduire à un problème de domination.
1.2.2 Identication
La domination n'est cependant pas toujours une propriété susante. Par exemple, si on veut surveiller d'éventuelles pannes dans un réseau, modélisé par un graphe, il est intéressant, non seulement d'avoir une vue sur tout le graphe (propriété de domination), mais aussi de pouvoir localiser la panne. C'est de ce constat qu'ont été créé les codes identiants, en 1998 [KCL98].
Dans ce contexte, un code désigne un sous-ensemble des sommets du graphe ; d'où l'appel- lation code couvrant pour parler d'un ensemble dominant.
Avant de dénir ce qu'est un code identiant, il faut dénir la notion de séparation : Dénition 1 (Sommet séparant). Un sommet x sépare deux sommets u et v s'il est dans la diérence symétrique de leur voisinage fermé : x∈N[u]∆N[v].
Dénition 2 (Code séparant). Un code C est dit séparant si toutes les paires de sommets du graphe sont séparées par au moins un sommet de C.
Finalement, on peut dénir simplement un code identiant :
Dénition 3 (Code identiant). Un code identiant est un code couvrant et un code séparant.
Un code identiant correspond au cas concret d'un réseau multiprocesseurs dans lequel on voudrait détecter et identier les processeurs défectueux. Cela reviendrait à choisir des processeurs (le code, en terme graphes), qui renverraient un signal pour dire que tous les processeurs autour d'eux ainsi qu'eux-mêmes sont fonctionnels. Si tous les processeurs du code renvoient bien un signal, cela veut dire qu'il n'y a aucune panne (propriété de domination, tous les processeurs sont surveillés). Si au moins un des processeurs du code indique qu'il y a une panne, alors on peut identier quel est le processeur défectueux (propriété de séparation).
La gure 4 donne un exemple de code identiant. Le tableau indique, pour chaque sommet, quels sont les éléments du code dans son voisinage ; on constate bien que toutes les lignes sont diérentes.
v1
v2
v3
v4
v5
v6
H HH
HH
V CH v1 v2 v3 v4
v1 • • - •
v2 • • • -
v3 - • • -
v4 • - - •
v5 • • • •
v6 - - • -
Figure 4 Exemple de code identiant. Les sommets du code sont coloriés en noir.
Depuis leur création, les codes ont été très étudiés (on peut par exemple citer la thèse de Julien Moncel [Mon05]). Des articles présentent diverses applications, comme c'est le cas de [RSTU04] et de [SRP+03].
1.2.3 Lien vers les colorations identiantes
C'est sur cette notion de code identiant qu'est basée celle de coloration identiante. Elle a été proposée en 2009 par Eric Duchêne et Julien Moncel lors de la semaine discrète de l'Institut Fourier. L'idée est toujours de pouvoir identier les sommets de manière unique, non pas grâce à un sous-ensemble de sommets comme dans le cas des codes, mais avec un ensemble de couleurs, que l'on obtient en coloriant les sommets du graphe. Cette coloration particulière, qui sera dénie plus loin, est nommée coloration globalement identiante.
Il existe aussi des notions plus anciennes de colorations identiantes, qui colorient les arêtes et non pas les sommets [RS08]. Dans la partie 1.4, je donnerai des exemples de diérentes colorations identiantes possibles. Les résultats obtenus pour ces colorations sont donnés dans l'annexe A.
1.3 Colorations identiantes de graphes
Dans sa thèse [Par12], Aline Parreau a étudié deux types de colorations identiantes. Toutes les deux reposent sur une coloration des sommets.
Dénition 4 (Coloration de sommets). Une coloration c des sommets d'un graphe G= (V, E) est une fonction de V dans N.
La valeur c(v) pour un sommet v du graphe est alors appelée la couleur de v. Si A est un ensemble de sommets, on note alors c(A) = [
v∈A
c(v).
En général, par souci de clarté, on choisit c de telle sorte que c(V) = [1, n] ou c(V) = [0, n−1].
Le problème certainement le plus célèbre lié aux colorations de sommets consiste à trouver une coloration propre (le théorème des 4couleurs [4co] dans le cas des graphes planaires). C'est pour cette raison qu'on trouve parfois dans la littérature l'emploi abusif du terme coloration pour désigner une coloration propre.
Dénition 5 (Coloration propre). Une coloration propre est une coloration d'un graphe G= (V, E) telle que deux sommets voisins n'aient pas la même couleur.
An de faciliter les dénitions à venir, je vais introduire quelques notations. Pour v un sommet d'un graphe, on note N(v) son voisinage ouvert, c'est à dire l'ensemble de tout ses voisins, et N[v] son voisinage fermé, auquel on ajoute le sommet v (N[v] =N(v)∪ {v}).
Dénition 6 (Coloration globalement identiante). Une coloration globalement identiante est une coloration cd'un graphe G= (V, E) telle que :
∀u, v ∈V, u6=v ⇒c(N[u])6=c(N[v])
Dénition 7 (Coloration localement identiante). Une coloration localement identiante est une coloration propre telle que :
∀(u, v)∈E, c(N[u])6=c(N[v])
C'est sur ces deux premières colorations qu'a travaillé Aline Parreau dans sa thèse, et sur lesquelles j'ai moi-même travaillé.
Dans les2cas, on cherche à utiliser un nombre de couleurs minimum. Le nombre chromatique χ(G) d'un graphe G est le nombre minimum de couleurs d'une coloration propre de G. La déclinaison de ce nombre dans le cas de la coloration globalement identiante (resp. coloration localement identiante) est notée χid(G) (resp. χlid(G)). Si on peut obtenir d'un graphe une coloration globalement identiante (resp. localement) aveck couleurs, on dira que le graphe est k-id-coloriable (resp. k-lid-coloriable). La coloration en question sera une k-id-coloration (resp.
k-lid-coloration).
1.3.1 Principaux résultats sur les colorations globalement et localement identi- antes
Avant même de pouvoir parler du nombre minimal de couleurs pour avoir une coloration globalement ou localement identiante, il faut être sûr que celle-ci existe. Or, ce n'est pas toujours le cas.
Dénition 8 (Sommets jumeaux). Deux sommets u et v d'un graphe sont dits jumeaux si N[u] =N[v].
Il est clair qu'en présence de tels sommets, on ne pourra pas avoir de coloration globalement ou localement identiante, car quel que soit c, on aura c(N[u]) = c(N[v]). Pour résoudre ce problème, on peut modier la dénition des colorations (il faut seulement séparer les sommets non jumeaux), ou travailler avec des graphes sans jumeaux.
On connaît des bornes serrées sur χid, en fonction du nombre de sommets du graphe.
Théorème 1 (Parreau). Soit G un graphe connexe sans jumeaux. Alors
dlog2(|V|+ 1)e ≤χid(G)≤ |V|
En eet, avec k couleurs, on peut identier au plus 2k −1 sommets diérents (un som- met possède au moins une couleur dans son voisinage, la sienne), d'où la première inégalité.
En donnant une couleur diérente à chaque sommet, on obtient une coloration globalement identiante, d'où la seconde inégalité.
On sait caractériser les graphes qui vérient χid(G) = |V|. Il va d'abord falloir dénir plusieurs notations :
Dénition 9 (Joint de deux graphes). Soit G1 = (V1, E1) et G2 = (V2, E2) deux graphes. Le joint de G1 et G2, noté G1 ./ G2, est le graphe ayant pour sommets l'ensemble V1∪V2 et pour arêtes l'ensemble E1 ∪E2 ∪ {(u, v) :u∈V1, v ∈V2}.
Dénition 10 (Puissance d'un graphe). Soit G = (V, E) un graphe et k ≥ 1 un entier. La puissance k-ème du graphe G, notée Gk, est le graphe ayant pour sommets l'ensemble V, et tel que deux sommets u et v sont adjacents si et seulement si la distance de u à v dans le graphe G est inférieure ou égale à k.
Le chemin consistué de k sommets est notéPk.
Le graphe complet (tout sommet est voisin de tous les autres) constitué de k sommets est noté Kk.
Le complémentaire d'un graphe G, noté G, est le graphe dont les sommets sont ceux de G et où (u, v)est une arête si et seulement si (u, v)n'est pas une arête de G.
Un couplage d'un graphe est un ensemble d'arêtes qui n'ont aucun sommet en commun.
Un couplage maximum d'un graphe est un couplage contenant le plus grand nombre d'arêtes possible.
Théorème 2 (Parreau). Il y a équivalence entre les deux propriétés : 1. χid(G) = |V|
2. G est un graphe complet privé d'un couplage maximum, ou G est de la forme G=K1 ./
G1 ./ . . . ./ Gl, avec Gi =K2 ou Gi =P2kk−1 ∀i∈[1, l].
La Figure 5 montre deux exemples de tels graphes. On peut en eet montrer que tous les sommets doivent être coloriés avec des couleurs diérentes pour obtenir une coloration globalement identiante. Supposons que l'on ait une k-id-coloration du premier graphe, avec k < 5. Alors il existe au moins deux sommets qui ont la même couleur. Notons les u et v. Au moins l'un des deux n'est pas voisin de tous les sommets du graphe (sinon, le couplage ne serait pas maximum). Considérons par exemple que u n'est pas voisin de tous les autres sommets. Il existe donc un unique u0 tel que (u, u0) n'est pas une arête du graphe.u etu0 sont voisins avec tous les autres sommets, et N[u]6=N[u0]. Si u0 =v, alors notons V0 =V \ {u, u0}. c(N[u]) = c(V)∪ {c(u)}, et c(N[u0]) =c(V)∪ {c(u0)}; doncc(N[u]) =c(N[u0]) (car uetv ont la même couleur), ce qui est absurde. Si u0 =v, alors appelons v0 le sommet qui n'est pas relié à v s'il existe, ou posons v0 = v si v est voisin de tous les autres sommets. Dans les deux cas, c(N[v0]) = c(V) et N[v0] 6=N[u0]. De plus u0 est relié à tous les sommets sauf u, qui est de la même couleur que v. Donc c(N[u0]) =c(V), ce qui est absurde.
On peut construire des graphes qui au contraire possèdent une coloration globalement iden- tiante avec très peu de couleurs. C'est le cas du graphe de la Figure 6. Les couleurs sont notées à l'intérieur des sommets, et pour chaque sommet u gure c(N[u]), sous forme d'un mot pour plus de lisibilité.
On trouve beaucoup plus de résultats concernant les colorations localement identiantes que les colorations globalement identiantes. Ceci s'explique par le fait que la version locale permet, lorsque l'on travaille sur un sommet u en particulier, de ne regarder que les sommets
K5 privé d'un couplage maximum K1 ./ K2 ./ P41 Figure 5 Exemples de graphes tels que χid(G) =|V|.
1
1234
1
1
2
123
3
134
4
124
2
2
1
12
3
23
1
13
3
3
4
34
4
234
2
24
4
4
1
14
Figure 6 Exemple de graphe tel queχid(G) =dlog2(|V|+ 1)e.
qui sont susamment proches de u. C'est d'ailleurs sur cette idée qui sont basés le lemme et la propriété suivante :
Lemme 1 (Parreau). Si G est un graphe connexe tel que χlid(G) ≤ 2, alors G a au plus 2 sommets.
Démonstration. Supposons queGa au moins3sommets, et quecest une coloration localement identiante de G. Si G contient un triangle, alors il faut au moins 3 couleurs pour le colorier (coloration propre). Sinon, considéronsuetv deux voisins, qui sont de couleurs diérentes. Si la coloration n'était composée que de2couleurs, alors on aurait nécessairementc(N[u]) =c(N[v]). Mais, le graphe étant connexe et sans triangle, N[u]6=N[v]. Il faut donc au moins 3 couleurs pour obtenir une coloration localement identiante de G.
Théorème 3 (Parreau). Il existe une innité de graphes G tels que χlid(G)≤3.
Démonstration. On peut par exemple considérer des grilles de taille quelconque, que l'on peut colorier comme sur la gure 7, avec seulement 3couleurs. On peut de plus préciser que d'après le Lemme 1, ces colorations sont optimum.
1 1
1 1
1 1
2 2
2 2
2 2
2 2
2 2
2 2
3 3
3 3
3 3
Figure 7 Exemple de coloration localement identiante d'une grille avec 3 couleurs.
En revanche, on peut, comme dans le cas des colorations globalement identiantes, trouver des graphes qui nécessitent autant de couleurs qu'ils ont de sommets. Considérons un graphe complet, auquel on rajoute un sommet pendant à chaque sommet, sauf un, qu'on notera u. Tous les sommets de la clique issue du graphe complet ont des couleurs diérentes (coloration propre). De plus, pour séparer u des autres sommets de la clique, il faut que les sommets pendants de ceux-ci aient une couleur diérente des couleurs de la clique. Enn, si on considère v1 et v2 deux sommets de la clique, diérents de u, alors leurs sommets pendants ne peuvent pas avoir la même couleur (séparation de v1 et v2).
u v1
v2
Figure 8 Graphe extrémal pour la coloration localement identiante Cependant, on ne sait pas caractériser les graphesG tels que χlid(G) = |V(G)|. Parreau a montré le théorème suivant pour les graphes 3-lid-coloriables :
Théorème 4. Un graphe 3-lid-coloriable est soit un triangle, soit un graphe biparti.
Parreeau a aussi montré les deux théorèmes suivants pour les graphes bipartis : Théorème 5 (Parreau). Les graphes bipartis sont tous 4-lid-coloriables.
Théorème 6 (Parreau). Si un graphe biparti G= (U ∪V, E) est 3-lid-coloriable et u ∈U est tel que c(N[u]) ={1,2,3}, alors :
c(U) =c(u)
c(V) ={1,2,3} \ {c(u)}
∀u0 ∈U, c(N[u0]) ={1,2,3}
La Figure 9 montre un exemple d'une coloration d'un graphe biparti3-lid-coloriable vériant les hypothèses du Théorème 6.
1 1 1 1
2 3 2 3 2
Figure 9 Exemple d'une coloration localement identiante avec 3 couleurs d'un graphe biparti
Les cycles présentent un comportement particulier face aux colorations localement identi- antes. C5 et C7 sont les seuls à ne pas être 4-coloriables. En eet, on peut vérier la propriété suivante :
χlid(C5) =χlid(C7) = 5 χlid(Ck) = 3, sin ≡0[4], n≥4 χlid(Ck) = 4, si n 6≡0[4], n6= 5, n6= 7
Parreau donne de plus des colorations identiantes optimums des graphes Ck, pour k ≥4. Celles-ci sont créées à partir de l'expression régulière :
[124341232][42](1232)∗
Une motif entre crochets, [M], signie que l'on peut prendre le motif M ou ne pas le prendre.
(M)∗ signie que le motif M peut-être répété autant de fois que l'on veut, ou ne pas l'utiliser.
1.3.2 Diérents types de coloration
Comme je l'ai précisé plus tôt, il existe plusieurs sortes de colorations, et a fortiori, plusieurs sortes de colorations identiantes. Pour l'instant, je n'ai parlé que de coloration de sommet. On peut aussi colorier les arêtes, ou les sommets et les arêtes.
1 2
3 4
5 C5
1 2
1
3
1 4 C6
1 2
1
3 1
4 5 C7
1 2
1 3
1
2 1 3
C8
2 1
3 4
3 1
2 4 2
C9
2 1
1 3
1 2 1
3 1 4
C10
Figure 10 Colorations optimums pour quelques graphes cycliques. Celles-ci respectent le motif donné par l'expression régulière fournie par Parreau.
Dénition 11 (Coloration d'arêtes). Une coloration d'arêtes d'un graphe G = (V, E) est une fonction de E dans N.
Dénition 12 (Coloration totale). Une coloration totale est une union d'une coloration d'arêtes et d'une coloration de sommets d'un même graphe.
Il est possible de dénir de nouvelles colorations identiantes à partir de ces dénitions.
Dénition 13 (Coloration localement identiante relaxée). c est une coloration localement identiante relaxée d'un graphe G= (V, E) si :
c est une coloration de sommets, et
∀(u, v)∈E, N[u]6=N[v]⇒c(N[u])6=c(N[v])
Le nombre minimum de couleurs d'une coloration localement identiante relaxée d'un graphe G est noté χrlid(G). Les résultats portant sur cette coloration présents dans l'annexe A provi- ennent de [AGS14].
Lorsque l'on rajoute la condition de coloration propre, on retrouve la dénition de la col- oration localement identiante.
Dénition 14 (Coloration d'arêtes globalement identiante). cest une coloration d'arête globa- lement identiante si :
∀e1, e2 ∈E, e1 et e2 sont adjacentes ⇒c(e1)6=c(e2) et
∀u, v ∈V, F(u)6=F(v), où F(u) est l'ensemble des couleurs des arêtes incidentes à u.
Le nombre minimum de couleurs d'une coloration d'arêtes globalement identiante d'un graphe G est notéχ0s(G).
De même que pour la version de coloration des sommets, on peut dénir une version locale : Dénition 15 (Coloration d'arêtes localement identiante). c est une coloration d'arêtes lo- calement identiantes si :
∀e1, e2 ∈E, e1 et e2 sont adjacentes ⇒c(e1)6=c(e2) et
∀(u, v)∈E, F(u)6=F(v), où F(u) est l'ensemble des couleurs des arêtes incidentes à u.
Le nombre minimum de couleurs d'une coloration d'arêtes globalement identiante d'un graphe G est notéχ0α(G).
La version globale est étudiée dans [BKT14], et la version locale dans [TCSW14], [BKT14], [HM11] et [WW08].
On retrouve le même genre de coloration identiante pour les coloration totales, étudiée dans [TCSW14], [BKT14] et [WW08], dont les résultats sont listés dans l'annexe [?].
Enn, la dernière coloration que je présenterai ici est la coloration totale localement identi- ante par somme. On dénit pour cela, étant donné une coloration totale c, la fonctionfcqui à un sommet v ∈V associe la somme des couleurs des arêtes incidentes àv et de la couleur de v. Dénition 16 (Coloration totale localement identiante par somme). c est une coloration totale localement identiante par somme si :
c est une coloration totale propre et
∀(u, v)∈E, fc(u)6=fc(v)
Cette coloration a été étudiée dans [PW11], dont les résultats sont aussi présentés dans l'annexe A.
1.3.3 Travail réalisé
Pendant mon stage, mon document de référence était la thèse d'Aline Parreau [Par12], dont le dernier chapitre portait sur les colorations identiantes. J'ai pu me familiariser avec les diérentes notions mises en jeu, à travers les exemples et les preuves exposés. Une fois que cela a été fait, je me suis interessé à des questions qui étaient restées ouvertes. La deuxième partie de ce rapport traitera l'une d'elles, qui porte sur les cycles universels [Jac93], cousins des séquences de de Bruijn [dB46].
Figure 11 Capture d'écran du programme graphique réalisé.
J'ai disposé pendant mon stage d'un compte informatique LAAS, et d'un ordinateur sous Ubuntu 12.04 LTS. Cela m'a permis, entre autre, de créer diérents programmes/scripts pour m'assister dans mes recherches. J'ai ainsi développé un programme graphique (avec Xlib) me permettant de manipuler des graphes : ajouter ou retirer des sommets, ajouter ou retirer des
arêtes, changer la couleur des sommets, et surtout, vérier si une coloration est propre, locale- ment identiante, ou globalement identiante (voir Figure 11). En utilisant ce programme, j'ai pu constater certaines propriétés, et imaginer de nouveaux problèmes, que je présenterai en troisième partie.
J'ai aussi créé d'autres programmes (C/C++, scripts bash) pour pouvoir tester rapidement, en faisant facilement varier plusieurs paramètres, les algorithmes créés pour la génération de cycles universels, présentés dans la deuxième partie. J'ai aussi créé des scripts pour générer des graphes aléatoires directement utilisables sur mon programme graphique, pour pouvoir tester des propriétés (voir dans la troisième partie), sans devoir les créer un par un à chaque fois.
2 Cycles universels
Dans sa thèse [Par12], Aline Parreau cherche, entre autre, à construire une coloration glob- alement identiante sur un cycle. Elle cherche quelle est la taille du plus grand cycle L-id- coloriable, pour un nombre L de couleurs xé, que l'on noteran(L).
La borne évidente qu'elle donne est la suivante : Théorème 7 (Parreau).
n(L)≤ L
1
+ L
2
+ L
3
≤ L3+ 5L 6
Démonstration. Chaque sommet du cycle a deux voisins. Il peut donc y avoir1,2ou3couleurs dans son voisinage fermé.
Elle montre ensuite que l'ordre de cette borne est atteint, en utilisant les cycles universels étudiés par Jackson [Jac93] :
Théorème 8 (Parreau). Soit L≥8 un entier non divisible par 3. Alors n(L)≥
L 3
Pour expliquer d'où vient ce résultat, je vais tout d'abord expliquer ce qu'est une suite de de Bruijn, sur lesquelles sont basés les cycles universels, pour ensuite exposer comment Jackson montre l'existence de tels cycles dans [Jac93].
De plus, ceci me permettra enn d'adapter les preuves de Jackson pour construire des col- orations globalement identiantes sur des cycles plus grand, c'est-à-dire de trouver un meilleur minorant pour n(L)(voir Théorème 12 page 33).
2.1 Séquences de de Bruijn
2.1.1 Dénition
Les cycles universels sont inspirés d'un objet combinatoire bien connu, les suites de de Bruijn[dB46], elles-mêmes basées sur les graphes de de Bruijn. Ceux-ci sont des graphes orientés dont les sommets représentent des mots, et la présence d'arc entre deux sommets indique un chevauchement entre ces mots.
Dénition 17 (Graphes de de Bruijn). Un graphe de de Bruijn B(k, n) d'ordre n sur un alphabet à k lettres est constitué de kn sommets, chacun étiqueté par un mot de n lettres (on identiera le sommet à son étiquette). Il existe un arc entre deux sommets uetv si et seulement s'il existe un mot x et deux lettres a et b tels que u=ax et v =xb.
La Figure 12 montre un exemple de graphe de de Bruijn. Ces graphes possèdent plusieurs propriétés, dont celle d'être hamiltonien (c'est-à-dire qu'il existe un circuit qui passe une et une seule fois par chaque sommet du graphe).
000
001 010
011 100
101 110
111
Figure 12 Graphe de de BruijnB(2,3).
Un circuit hamiltonien sur un graphe de de Bruijn permet de créer une suite de de Bruijn.
Dénition 18 (Suite de de Bruijn). Une suite de de Bruijn d'ordre n sur un alphabet de taille k est une suite (x1, . . . , xkn) telle que chaque sous-suite (xi, xi+1, . . . , xi+n−1) (où les indices sont considérés modulo kn) est un mot de n lettres qui n'apparaît qu'une et une seule fois.
Lorsque l'on parcourt un circuit hamiltonien du graphe de de Bruijn, par dénition, on obtient une nouvelle lettre à chaque nouveau sommet. Une suite de de Bruijn s'obtient donc en prenant la dernière lettre de chaque sommet rencontré. La Figure 13 montre l'obtention d'une telle suite de de Bruijn par cette méthode.
Les cycles universels dièrent des cycles de de Bruijn dans le sens où l'on regarde les sous- suites (xi, xi+1, . . . , xi+n−1) du cycle comme des ensembles (non-ordonnés, sans répétition).
Dénition 19 (Cycle universel). Un cycle universel d'ordre n sur un alphabetA de taillek est une suite (x1,. . .,x(kn)) d'éléments de l'alphabet tel que chaque ensemble {xi, xi+1, . . . , xi+n−1} (indices modulo kn
) constitué de n sommets successifs soit unique, et ne contienne pas de doublon.
La Figure 14 est un exemple de cycle universel d'ordre3 sur un alphabet de taille8.
0 (1,0,0)
0 (0,0,0)
0 (0,0,1)
1
(0,1,0) 0
(1,0,1)
1
(0,1,1) 1 (1,1,1) 1
(1,1,0)
Figure 13 Une suite de de Bruijn obtenue par un circuit hamiltonien du graphe de la Figure 12.
8 1 2 4 6 7 2 5 6 7 1 3 4 7 2 3 4 6 8 1 4 7 8 1 3 5 6 1 4 5 6 8 2 3 6 1 2 3 5 7 8 3 6 7 8 2 4 5 8 3 4 5 7 1 2 5
Figure 14 Un cycle universel d'ordre 3 sur l'alphabet [1,8]. Chaque sous-ensemble à trois éléments distincts de [1,8] apparaît exactement une fois comme suite de3sommets successifs.
On peut remarquer que le sens de lecture n'intervient pas dans la constitution des ensembles, ceux-ci étant non ordonnés, contrairement aux cycles de de Bruijn (pour lesquels il faut s'assurer de lire les sommets toujours dans le même ordre).
L'existence des cycles universels n'est pas systématique, et dépend de la valeur des paramètres k et n. Jackson a montré dans [Jac93] une condition nécessaire et susante d'existence. J'ex- poserai cette condition dans la partie 2.1.3.
2.1.2 Cas particulier pour les cycles universels d'ordre 3
Le cas particulier des cycles universels d'ordre 3 se prête bien aux colorations globalement identiantes (comme on peut le remarquer sur la Figure 14). En eet, on peut voir un tel cycle comme étant une coloration d'un cycle, le nombre de couleurs utilisées étant la taille de l'alphabet. En revanche, une coloration globalement identiante ne constitue pas nécessairement un cycle universel, à cause d'éventuelles répétitions de couleurs : on peut par exemple trouver trois sommets consécutifs tous coloriés d'une seule couleur, ce qui n'est pas autorisé dans le cas des cycles universels (pas de doublon).
Un cycle universel d'ordre3étant constitué de L3
sommets, ceci permet de justier la borne donnée par Aline Parreau, énoncée plus haut (n(L) ≥ L3
). Cependant, elle précise aussi que cette borne n'est pas serrée : si l'on trouve le motif123dans la suite des couleurs des sommets du cycle par exemple (quitte à permuter les couleurs), on peut alors remplacer celles-ci par12223. On obtient ainsi 3 nouveaux ensembles, en en perdant un (voir Figure 15). La coloration est toujours globalement identiante, et on obtient un cycle avec deux sommets supplémentaires.
La borne n'est de plus obtenue que pour certaines valeurs de L.
1 S
2 123
3 T
1
S 2
12 2 2
2 23
3 T
Figure 15 Exemple d'amélioration des cycles universels pour les colorations globalement identiantes.
2.1.3 Résultats
Jackson [Jac93] s'est intéressé au cas général des cycles universels d'ordrek sur un alphabet de taille n, ainsi que les cas particuliers k= 3 etk = 4. Nous allons nous intéresser aux cycles d'ordre 3.
Un résultat important, qui permet d'obtenir une borne inférieure pour les colorations, est un résultat d'existence :
Théorème 9 (Jackson). Pour L ≥ 8 et pgcd(L,3) = 1, il existe un cycle universel d'ordre 3 sur un alphabet de taille L.
Jackson donne de plus une méthode systématique de construction des cycles universels d'ordrek = 3dans la preuve de ce théorème. Nous aborderons cette construction dans la partie suivante.
On peut rapidement démontrer que la condition pgcd(L,3) = 1est nécessaire : chaque som- met d'un cycle universel d'ordre3apparaît dans3ensembles distincts (celui de son prédécesseur,
le sien et celui de son successeur). Ainsi, si on considère un élément x de l'alphabet, le nombre d'ensembles contenant x est un multiple de 3. Or le nombre de tels ensembles est n−12
, ce qui revient à dire n−12
≡0[3] ou pgcd(n,3) = 1.
Jackson montre aussi un résultat d'existence pour les cycles d'ordrek = 4 :
Théorème 10 (Jackson). Pour L ≥9 et pgcd(L,4) = 1, il existe un cycle universel d'ordre 4 sur un alphabet de taille L.
La conjecture dans le cas général, posée par Chung et al. [CDG92] est encore ouverte.
Conjecture 1 (Chung et al.). Pour tout k ≥ 2, il existe un entier n0(k) tel que pour tout n ≥ n0(k) satisfaisant n−1k−1
≡ 0[k], il existe un cycle universel d'ordre k sur un alphabet de taille n.
2.2 Construction des cycles universels
La preuve de Jackson pour montrer l'existence de cycles universels est constructive. L'idée est de représenter les ensembles de 3valeurs par des arcs d'un graphe bien choisi. Un parcours eulérien de ce graphe permet au nal de construire un cycle universel.
Dans toute la suite, on travaille dans Z/LZ, oùLest la taille de l'alphabet du cycle universel, c'est-à-dire le nombre de couleurs que l'on veut utiliser.
2.2.1 Relation d'équivalence
Tout d'abord, on peut dénir une relation d'équivalence sur les ensembles. Pour ce faire, on dénit 3 fonctions v1, v2 et v3 de l'ensemble des ensembles à 3 éléments dans [0, L−1] telles que pour tout ensemble A à trois éléments, v1(A)est la plus petite des valeurs de A, v2(A) est la valeur médiane, et v3(A)la plus grande des valeurs de A. On considère ensuite les fonctions diérences d1, d2 etd3 :
d1 =v2−v1 d2 =v3−v2
d3 =v1−v3 (modulo L)
On dit alors que deux ensembles A et B sont équivalents si (d1(A), d2(A), d3(A)) est une permutation circulaire de (d1(B), d2(B), d3(B)). Autrement dit, si l'on place les éléments des deux ensembles sur une horloge, A et B sont équivalents si on passe d'un schéma à l'autre en tournant l'horloge (voir Figure 16).
Le lemme suivant sera utile par la suite :
Lemme 2. Pour tout ensemble A à trois éléments de [0, L−1], d1(A) +d2(A) +d3(A) = 0.
0
1
4 1
4 3
A={0,1,4}
v1(A) = 0 v2(A) = 1 v3(A) = 4
d1(A) = 1 d2(A) = 3 d3(A) = 4
2 3
6 1
3 4
B ={2,3,6}
v1(B) = 2 v2(B) = 3 v3(B) = 6
d1(B) = 1 d2(B) = 3 d3(B) = 4
4 5
0
1
3 4
C ={0,4,5}
v1(C) = 0 v2(C) = 4 v3(C) = 5
d1(C) = 4 d2(C) = 1 d3(C) = 3 Figure 16 Exemples d'ensembles équivalents pour L= 8 couleurs.
Démonstration.
d1(A) +d2(A) +d3(A) = (v1(A)−v3(A)) + (v3(A)−v2(A)) + (v2(A)−v1(A)) [L]
= 0 [L]
2.2.2 Types
Grâce à cette relation d'équivalence, on obtient des classes d'équivalence, que l'on va repré- senter avec des types.
Lemme 3 (Jackson). Chaque type (chaque classe d'équivalence) est constituée de L ensembles diérents.
Démonstration. Considérons un type particulier, un représentant A de cette classe et notons abusivement d1, d2 et d3 les valeurs des diérences de ce représentant. Considérons les L en- sembles Ai ={i, i+d1, i+d1+d2} pour i variant de 0 à L−1. Par dénition, ces ensembles sont tous du type considéré. Supposons maintenant par l'absurde que Ai = Aj, pour i 6= j. Deux cas sont alors possibles : i = j +d1 ou i = j +d1 +d2. Dans le premier cas, on aurait alors i+d1 =j +d1 +d2 et i+d1+d2 =j. On en déduit que d1 =d2, donc 3∗d1 =L. C'est absurde car pgcd(L,3) = 1. On trouve la même absurdité dans le second cas.
Pour un type donné, les valeurs prises parv1,v2 etv3 changent, mais les diérencesd1,d2 et d3 sont constantes (à une permutation circulaire près) ; ce sont donc celles-ci que l'on va utiliser pour noter les types. De plus, deux diérences sont susantes pour caractériser une classe d'équivalence (la somme des trois étant nulle, modulo L). Un type sera donc un couple (t1, t2) avec t1, t2 ∈ {d1, d2, d3}, noté t1t2. Cependant, il faut choisir les deux diérences à conserver tout en évitant les collisions. Jackson propose la méthode suivante, dans le cas où L est pair :
Si les3diérences sont diérentes alors on enlève la plus grande des 3, notéedi. Le type est alors di+1di+2 (en travaillant modulo3, c'est-à-dire d4 =d1 etd5 =d2).
Si deux diérences sont égales et valentk, alors le type est kk.
La Figure 17 est une liste exhaustive des types associés par Jackson aux ensembles à trois éléments, pour L= 8.
013 124 235 346 457 056 167 027
12
023 134 245 356 467 057 016 127
21
014 125 236 347 045 156 267 037
13
034 145 246 357 046 157 026 137
31
012 123 234 345 456 567 067 017
11
024 135 246 357 046 157 026 137
22
036 147 025 136 247 035 146 257
33
Figure 17 Liste des ensembles à 3éléments de [0, L−1] et leur type associé. Pour plus de clarté, les ensembles {i, j, k} (i≤j ≤k) sont représentés ijk. Les types sont indiqués en gras.
1
2
3 12 13 21
31 11
22
33
Figure 18 Graphe orienté des types pour L= 8. 2.2.3 Graphe associé aux types
Une fois ces types dénis, Jackson construit un graphe orienté dans lequel chaque arc représente un type. Les sommets sont les valeurs que peuvent prendre t1 et t2, et un type t1t2 est représenté par l'arc (orienté) (t1, t2). La Figure 18 est le graphe obtenu pour L= 8.
On peut remarquer que ce graphe est fortement connexe, et eulérien (il existe un circuit qui passe par chacun des arcs exactement une fois). Lorsque L est impair, pour garder ces deux propriétés, il faut changer un type particulier. En eet, dans le casL= 11, l'ensemble {0,1,6}
donne le type 55, qui est le seul à faire intervenir le sommet 5 du graphe, qui n'est donc pas connexe. Pour pallier ce problème, Jackson remplace les types 24 et 42 par les types 52 et 25 (en général, les types 2L-3
2 et L-3
2 2 par les types 2L-1
2 et L-1
2 2). Ces nouveaux types n'étaient pas utilisés, et les valeurs restent toujours parmi les 3valeurs d1,d2 etd3; cette modication ne pose donc pas de problème. Ce changement permet à Jackson de montrer le théorème suivant : Théorème 11 (Jackson). Lorsque pgcd(L,3) = 1, le graphe orienté construit comme expliqué ci-dessus est fortement connexe et eulérien.
Un circuit eulérien sur ce graphe est une suite de sommets. Ces sommets vont représenter les diérences dans le cycle universel. Par exemple, un déplacement du sommet 1 vers le sommet 2, c'est-à-dire suivant l'arc(1,2), soit le type 12, consiste à ajouter1, puis2à la valeur initiale.
Puisque l'on suit un cycle, on est assuré d'avoir une cohérence : la deuxième diérence d'un type sera la première du type suivant. Ainsi, en suivant le chemin 1,2,2, on parcourt les arêtes représentant les types 12 et 22. En ajoutant les valeurs des sommets à une valeur initiale, on
obtient donc un ensemble de chacun de ces types. Par exemple, avec 0 comme valeur initiale, en ajoutant les valeurs ci-dessus, on obtient : 0135. Le premier ensemble, {0,1,3} est bien de type 12 et le second, {1,3,5}, de type 22.
L'ordre dans lequel on va obtenir les 3 valeurs d'un ensemble est donc dépendant des con- ventions choisies pour noter les types. Avec la notation de Jackson, dans laquelle on enlève la plus grande diérence, on obtient un cycle universel dans lequel les diérences entre les éléments successifs n'excèdent pas L
2.
Cependant, lorsque l'on eectue un parcours eulérien du graphe, on obtient seulement une chaîne (et non pas un cycle) "universelle", qui ne contient qu'un ensemble de chaque type. Mais Jackson a montré que les sommes des valeurs des sommets du cycle notons laσ(moduloL) est première avecL. Si on commence à construire la chaîne à partir de la valeur0, arbitrairement, alors on la termine par la valeurσ. La primalité entre σ etLassure ensuite de pouvoir répéter ce processusLfois (la seconde fois en partant deσau lieu de0, etc), et d'obtenir des ensembles diérents pour un type donné à chaque répétition, de retomber sur la valeur 0à la n, et donc de pouvoir "refermer" la chaîne, et créer un cycle.
L'exemple de la Figure 14 page 19 a été construit de cette manière. Le circuit eulérien du graphe de la Figure 18 choisi est le suivant :
1→1→2→2→1→3→3(→1)
Avec pour valeur initiale0, on obtient donc le début de cycle suivant :
0 +1 1 +1 2 +2 4 +2 6 +1 7 +3 2 +3 5
L'itération suivante, en partant de 5 donne :
5 +1 6 +1 7 +2 1 +2 3 +1 4 +3 7 +3 2
Et ainsi de suite jusqu'à obtenir le cycle complet de la Figure 14.
2.3 Cycles universels avec répétition
Jackson a aussi considéré le cas des cycles universels avec répétition, mais celui-ci n'est plus applicable aux colorations globalement identiantes. Dans le cas de celles-ci, la répétition revient à considérer des ensembles de 1 à 3 couleurs (trois sommets consécutifs de couleurs 0, 0 et 1 formeront l'ensemble {0,1}). Un cycle universel avec répétition ne donne donc pas une coloration globalement identiante d'un cycle, car L(L−1)sommets seraient deux à deux des doublons (Figure 19).
On pourrait envisager de partir d'un cycle universel avec répétition, puis de supprimer les sommets doublons, c'est-à-dire les sommets qui ont un voisinage de couleurs identique. Mais en enlevant un sommet, on modie également les voisinages de ses voisins, et donc créer de nouvelles erreurs.
0 0 1 2 6 2 3 3 5 7 7 2 5 5 5 6 7 3 7 0 0 2 4 4 7 2
2 2 3 4 0 4 5 5 7 1 1 4 7 7
7 0 1 5 1 2 2 4 6 6 1 4 4 4 5 6 2 6 7 7 1 3 3 6 1 1 1 2 3 7 3 4 4 6 0 0 3 6 6
6 7 0 4 0 1 1 3 5 5 0
3 3 3 4 5 1 5 6 6 0 2 2 5 0
{0,1}
{0,1}
Figure 19 Exemple de cycle universel avec répétition qui n'est pas une coloration globalement identiante. Un doublon a été mis en évidence, mais il en existe d'autres.
Étant donné un nombre L de couleurs, une borne supérieure du nombre de sommets que l'on peut avoir dans un cycle L-id-coloriable est donc :
n(L)≤ L
3
+ L
2
+ L
1
≤ L3+ 5L 6
On peut essayer d'obtenir des colorations globalement identiantes de cycles en partant d'un cycle universel (sans répétition), puis en le modiant localement, pour essayer de rajouter des sommets au cycle (comme sur la Figure 15).
Cependant, cette façon de procéder mène vite à des impasses. On peut imaginer pourquoi, en se disant que les modications sont locales, alors que la coloration est globalement identiante.
On risque donc, en modiant localement le graphe et la coloration, d'obtenir des redondances, et donc une coloration qui n'est pas globalement identiante.
J'ai donc cherché à adapter la méthode de Jackson. Tout d'abord, il faut regarder quels sont les nouveaux ensembles que l'on ajoute, et comment leur attribuer un type. Si l'on applique la méthode de Jackson, on obtient alors des types comportant un0, mais certains sont redondants entre eux (comme on a pu le constater sur la Figure 19). Par exemple, si l'on considère la suite de trois sommets colorés 001, alors les diérences associées sont 017, ce qui donne un type 01.
La suite 011, dont les diérences sont 107, donne un type 10. De manière générale, on peut constater que les types 0i et i0 représentent les mêmes ensembles. Un autre problème qui se
pose quand L est pair est l'apparition du type L 2
L
2. En eet, ce type représente des suites qui forment des ensembles identiques. Par exemple, toujours dans le cas L = 8, les suites 040 et 404 sont deux suites représentées par le type 44.
Lemme 4. Lorsque L est pair, le type L 2
L
2 représente L
2 ensembles diérents.
Démonstration. Tous les ensembles représentés par le type L 2
L
2 contiennent deux valeurs : i et i+ L
2. Il y a donc L
2 ensembles diérents possibles :
i, i+ L 2
pour i < L
2. En eet, comme i+ L
2 + L
2 =i, on retrouve les mêmes ensembles pour i≥ L 2.
Contrairement aux autres types rencontrés jusqu'à présent, celui-ci représente donc deux fois moins d'ensembles diérents. Il n'est donc pas possible de l'utiliser comme le fait Jackson (on aurait sinon deux fois chaque ensemble de ce type). Le même problème se pose lorsque l'on considère le cas L multiple de 3. Le type L
3 L
3 présente le même problème.
Lemme 5. Lorsque L est multiple de 3, le type L 3
L
3 ne représente que L
3 ensembles diérents.
Démonstration. Pour le type L 3
L
3, les trois diérences sont constantes :d1 =d2 =d3 = L 3. Les ensembles représentés par ce type sont donc de la forme
i, i+ L
3, i+ 2L 3
. Or chacun de ces ensembles est obtenu 3 fois lorsque i parcourt [0, L−1] (par exemple pour i= 0, puis i= L
3, et i= 2L
3 ). Au total, on obtient donc seulement L
3 ensembles diérents.
Il faut donc enlever ce type pour ne pas obtenir de répétition en parcourant le cycle eulérien plusieurs fois.
Pour choisir quels types conserver, j'ai commencé par caractériser les valeurs dei6= 0 telles que le type 0i existe (pour L xé).
Lemme 6. Les types 0i et i0 existent si et seulement si i < L 2.
Démonstration. Considérons le triplet de valeurs (0,0, i), qui est un représentant du type 0i si le type existe. Ses diérences sont d1 = 0,d2 =i etd3 =L−i=j. Ce triplet est donc de type 0i si et seulement si i < j, c'est-à-dire i < L
2. On raisonne de la même manière pour le type i0 avec le triplet (0, i, i).
Le type 00 ne représente pas un problème dans le graphe orienté, dans le sens où les boucles n'aectent pas l'existence d'un chemin eulérien. On a donc
L−1 2
valeurs possibles dei(avec i6= 0). Pour chacune de ces valeurs, il faut choisir, arbitrairement, le type 0i ou le i0. Il y aura donc
L−1 2
arcs entrants ou sortants du sommet 0. Si
L−1 2
est impair, alors le graphe n'est pas eulérien, quelque soit les choix faits, puisqu'il faut autant d'arcs sortants que d'arcs entrants dans chaque sommet, pour avoir un graphe eulérien. Pour obtenir un nombre pair d'arcs, j'ai choisi d'enlever l'arc qui relie les sommets 0 et
L−1 2
2 (autrement dit, la valeur médiane parmi toutes celles possibles). Il reste donc un nombre pair d'arc, que
L−1 2
soit pair ou impair. J'ai choisi de considérer les types 0i pour la première moitié des valeurs dei, et les types i0 pour l'autre moitié. Lorsque L est impair, le type 0L
2 (ou L
20) pose problème car le graphe n'est pas fortement connexe ; le sommet L−1
2 n'étant relié qu'au sommet 0, on ne peut pas imposer le type dans un sens ou dans l'autre. Il faut donc retirer ce type pour avoir un graphe eulérien.
Notons I− l'ensemble des valeurs de i pour lesquelles les arcs 0i ont été ajoutés, et I+ les valeurs pour lesquelles ce sont les arcs i0 qui ont été ajoutés. Après avoir ajouté ces arcs, le graphe n'est plus eulérien : les sommets numérotés i ∈ I− ont un arc rentrant en trop, et les sommets numérotés i ∈ I+ ont un arc sortant en trop. Pour équilibrer, j'ai donc choisi d'enlever des arcs de la manière suivante : j'enlève l'arc qui va du sommet numéroté par la plus grande valeur deI+ au sommet numéroté par la plus petite valeur de I−, puis l'arc du sommet numéroté par la deuxième plus grande valeur de I+ au sommet numéroté par la deuxième plus petite valeur deI−, et ainsi de suite. Cette opération permet d'équilibrer les sommets deI− et de I+. Au nal, il y a donc 4 cas diérents possibles, suivant la valeur deL modulo 4. Je vais illustrer les choix dénis plus haut par des exemple pour L variant de 88 à 11. La Figure 20 montre dans ces 4exemples quels sont les types qui sont retirés, et lesquels sont conservés pour avoir un graphe eulérien.
SiL= 8 :
Lest pair, et le sommet L
2 n'est pas relié aux autres sommets. On enlève donc le type L 2
L 2 (44). Le nombre de sommets pouvant être reliés à 0 est impair (
L−1 2
= 3). On choisit les types 0i pour i < L
4, et i0 pour i > L
4. On enlève donc le type 0L
4 et le type L
40 (02 et
20). Pour rendre le graphe eulérien, on choisit d'enlever le type 31. On obtient alors le premier graphe de la Figure 20.
SiL= 9 : Le sommet
L 2
(4) pose problème, car il est seulement relié au sommet0. Que l'on choisisse le type 04 ou 40, on ne pourra pas obtenir un graphe eulérien. On supprimme donc ce type, et par conséquent, le type 44. Le sommet 0n'est plus relié qu'aux sommets 1, 2 et3, qui sont en nombre impair. On choisit d'enlever le sommet médian (2), et de prendre les types 0i, pour i plus petit que ce sommet médian, et i0 sinon (01 et 30). Pour rendre le graphe eulérien, on choisir d'enlever le type 31. On obtient alors le deuxième graphe de la Figure 20.
SiL= 10 :
L est pair donc, de même que pour le casL ≡0[4], on retire le type L 2
L
2 (55). Le sommet 0 est relié aux sommets 1, 2, 3 et 4, qui sont en nombre pair. On choisit de prendre les types 0i pour la première moitié de ces sommets, et le type i0 pour la seconde moitié (01, 02, 30 et 40). Pour rendre le graphe eulérien, on choisir d'enlever les types 41 et 32. On obtient alors le troisième graphe de la Figure 20.
SiL= 11 :
De même que pour le cas L≡ 1[4], le sommet bL
2c (5) pose problème, car il est seulement relié au sommet 0. On enlève donc les types 05 et 55. Le sommet0 est alors relié aux sommets 1, 2, 3 et 4, qui sont en nombre pair. On choisit, comme dans le cas L ≡ 2[4] de prendre les types 01, 02, 30 et 40. Pour rendre le graphe eulérien, on choisir d'enlever les types 41 et 32.
On obtient alors le troisième graphe de la Figure 20.
Dans le casL= 8, un exemple de circuit eulérien est le suivant : C1 = 1 →1→2→2→1→3→3→0→0(→1)
On peut vérier que comme c'est systématiquement le cas pour les cycles universels sans répétition la somme des valeurs des sommets de ce cyle est première avec L. En ce cas, de même que précédemment, on peut répéter ce cycle eulérien en partant d'une valeur initiale pour obtenir une coloration globalement identiante d'un cycle, dont tous les ensembles d'au plus 3 éléments associés aux types du graphe sont représentés. La Figure 21 montre ce cycle, pour L= 8, en choisissant 0 comme valeur initiale et C1 comme circuit eulérien.
0
1
2
3 4
L= 8
0
1
2
3 4
L= 9
0
1 2
3 4
5
L= 10
0
1 2
3 4
5
L= 11 Figure 20 Graphes obtenus après le choix des types.
Cependant, il arrive que la somme des valeurs des sommets du circuit eulérien ne soit pas première avec L. Dans ce cas, on ne peut pas refaire L fois le parcours du circuit eulérien en ajoutant à chaque fois les valeurs des sommets. Notonsp=pgcd(σ, L). Le nombre de fois qu'on va pouvoir répéter le même circuit eulérien successivement est L
p. Par exemple, pour L = 16, on obtient le circuit eulérien dont la somme vaut σ = 120 = 8 (modulo 16). Ainsi, en partant
1 2 4 6 7 2 5 5 5 6 7 1 3 4 7 2 2 2 3 4 6 0 1 4 7 7 7 0 1
3 5 6 1 4 4 4 5 6 0 2 3 6 1 1 1 2 3 5 7 0 3 6 6 6 7 0 2
4 5 0 3 3 3 4 5 7 1 2 5 0 0 0
Figure 21 Cycle obtenu pour L= 8 en appliquant 8 fois la somme des sommets du circuit eulérien C1.
de la valeur 0, en parcourant le cycle eulérien une première fois, on obtient une valeur nale égale à 8. En répétant le procédé à partir de8, on retombe aussitôt sur 0, la valeur initiale. On a donc eectivement répété le procédé L
p = 16
8 = 2 fois. Le cycle obtenu ne contient donc que 2 ensembles sur 16 de chacun des types représentés dans le graphe. L'astuce que j'ai trouvée pour retrouver tous les ensembles manqués consiste à enlever le type 11, préalablement choisi comme point de départ du circuit eulérien, une fois tous les L
p répétitions du procédé, après les L
p premières. Ainsi, après itération des L
p premières fois, cela revient à partir deL−1au lieu de repartir sur la valeur initiale 0, ce qui permet de recommencer L
p nouvelles itérations. On peut donc répéter p fois ce processus, jusqu'à obtenir la valeur nale L−(p−1). Ensuite, on peut ajouter tous les types 11 que l'on a enlevés. Ce faisant, on retombe alors sur la valeur initiale 0, et on peut donc "fermer" la chaîne pour obtenir un cycle qui contient tous les ensembles représentés par les types choisis. La Figure 22 montre ce phénomène.