Colorations identiantes de graphes



Documents pareils
LE PROBLEME DU PLUS COURT CHEMIN

Introduction à la théorie des graphes. Solutions des exercices

chapitre 4 Nombres de Catalan

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

6. Les différents types de démonstrations

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

CHAPITRE VIII : Les circuits avec résistances ohmiques

Algorithmes de recherche

Télécom Nancy Année

Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct (ajout de la section 3 et augmentation de la section 1)

Recherche dans un tableau

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Couples de variables aléatoires discrètes

D'UN THÉORÈME NOUVEAU

Exercices de dénombrement

Date : Tangram en carré page

Eléments de Théorie des Graphes et Programmation Linéaire

Conception d'un réseau de transport d'électricité

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Table des matières. 1 Programmation linéaire 1

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Nombre de marches Nombre de facons de les monter

Carl-Louis-Ferdinand von Lindemann ( )

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

Raisonnement par récurrence Suites numériques

Algorithmes d'apprentissage

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Structures algébriques

Chapitre 1 : Introduction aux bases de données

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

Axiomatique de N, construction de Z

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Suites numériques 3. 1 Convergence et limite d une suite

5 ème Chapitre 4 Triangles

Ebauche Rapport finale

TP3 : Creation de tables 1 seance

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

(VM(t i ),Q(t i+j ),VM(t i+j ))

modélisation solide et dessin technique

Développements limités. Notion de développement limité

Probabilités Loi binomiale Exercices corrigés

MIS 102 Initiation à l Informatique

Compte-rendu de projet de Système de gestion de base de données

CNAM UE MVA 210 Ph. Durand Algèbre et analyse tensorielle Cours 4: Calcul dierentiel 2

Retournement Temporel

Principe de symétrisation pour la construction d un test adaptatif

Cours 02 : Problème général de la programmation linéaire

Définitions. Numéro à préciser. (Durée : )

Pourquoi l apprentissage?

Chapitre 5 : Flot maximal dans un graphe

1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

Programmation linéaire

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Programmation linéaire

Université Paris-Dauphine DUMI2E 1ère année, Applications

Année Universitaire 2009/2010 Session 2 de Printemps

Une réponse (très) partielle à la deuxième question : Calcul des exposants critiques en champ moyen

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Objets Combinatoires élementaires

GEA II Introduction aux probabilités Poly. de révision. Lionel Darondeau

NOTATIONS PRÉLIMINAIRES

ALGORITHME GENETIQUE ET MODELE DE SIMULATION POUR L'ORDONNANCEMENT D'UN ATELIER DISCONTINU DE CHIMIE

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

ÉPREUVE COMMUNE DE TIPE Partie D


Espaces probabilisés

BACCALAUREAT GENERAL MATHÉMATIQUES

OPTIMISATION À UNE VARIABLE

1. Introduction Création d'une requête...2

Annexe 6. Notions d ordonnancement.

Baccalauréat technologique

I3, Probabilités 2014 Travaux Dirigés F BM F BM F BM F BM F B M F B M F B M F B M

Problème : Calcul d'échéanciers de prêt bancaire (15 pt)

Propagation sur réseau statique et dynamique

Big Data et Graphes : Quelques pistes de recherche

I. Ensemble de définition d'une fonction

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Initiation à la programmation en Python

Chaînes de Markov au lycée

Vers l'ordinateur quantique

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

3 Approximation de solutions d équations

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Systèmes de transport public guidés urbains de personnes

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Cours de Probabilités et de Statistique

Conduite et Gestion de Projet - Cahier des charges

Cours de Master Recherche

Travaux pratiques avec RapidMiner

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Image d un intervalle par une fonction continue

Transcription:

Institut Supérieur d'informatique, de Modélisation et de leurs Applications Campus des Cézeaux avenue des Landais BP 05 7 AUBIERE Cedex Laboratoire d'analyse et d'architecture des Systèmes 7 avenue du Colonel Roche BP 500 0 Toulouse cedex Rapport d'ingénieur Stage de è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 septembre 0 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. i

ii

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 iii

iv

Table des matières Introduction Contexte et sujet du stage. Présentation du laboratoire............................... Le CNRS..................................... Le LAAS..................................... L'équipe ROC.................................. Origine du sujet de stage................................. Domination.................................... Identication................................. 5.. Lien vers les colorations identiantes..................... Colorations identiantes de graphes......................... 7.. Principaux résultats sur les colorations globalement et localement identiantes.................................... 8.. Diérents types de coloration.......................... Travail réalisé................................. 5 Cycles universels 7. Séquences de de Bruijn................................ 7.. Dénition................................... 7.. Cas particulier pour les cycles universels d'ordre............. 0.. Résultats................................... 0. Construction des cycles universels............................ Relation d'équivalence.............................. Types....................................... Graphe associé aux types............................ Cycles universels avec répétition........................... 5 Nouvelles questions ouvertes 5. Suppression d'un sommet.............................. 5.. Conjecture................................... 5.. Arbres innis................................... Treillis des couleurs.............................. 8. Nouveaux problèmes................................. 0.. Problème de modication des couleurs..................... Problème du sous-graphe identié........................ Heuristique................................... Retour à un cadre général.............................. v

.. L'identication.................................. Continuité du stage.............................. Conclusion 7 Bibliographie 8 A Résumé des résultats de la littérature I A. [AGS]........................................ I A. [HM]......................................... I A. [WW08]........................................ II A. [BKT]........................................ III A.5 [PW]......................................... III A. [TCSW]....................................... V B Codes et scripts VII vi

Table des gures Les 0 instituts du CNRS............................... Le LAAS........................................ 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 Exemple de code identiant. Les sommets du code sont coloriés en noir...... 5 Exemples de graphes tels que χ id (G) = V...................... 0 Exemple de graphe tel que χ id (G) = log ( V + )................. 0 7 Exemple de coloration localement identiante d'une grille avec couleurs..... 8 Graphe extrémal pour la coloration localement identiante............ 9 Exemple d'une coloration localement identiante avec couleurs d'un graphe biparti......................................... 0 Colorations optimums pour quelques graphes cycliques. Celles-ci respectent le motif donné par l'expression régulière fournie par Parreau............. Capture d'écran du programme graphique réalisé.................. 5 Graphe de de Bruijn B(, ).............................. 8 Une suite de de Bruijn obtenue par un circuit hamiltonien du graphe de la Figure............................................ 9 Un cycle universel d'ordre sur l'alphabet [, 8]. Chaque sous-ensemble à trois éléments distincts de [, 8] apparaît exactement une fois comme suite de sommets successifs..................................... 9 5 Exemple d'amélioration des cycles universels pour les colorations globalement identiantes....................................... 0 Exemples d'ensembles équivalents pour L = 8 couleurs............... 7 Liste des ensembles à éléments de [0, L ] 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.................................... 8 Graphe orienté des types pour L = 8......................... 9 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.. 0 Graphes obtenus après le choix des types....................... 0 Cycle obtenu pour L = 8 en appliquant 8 fois la somme des sommets du circuit eulérien C....................................... Construction d'un cycle contenant tous les ensembles représentés par les types du graphe pour L =................................. Insertion de nouveaux ensembles dans le cas L impair............... vii

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............... 5 5 Un graphe G muni 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................................. Valeurs de la fonction f sur le graphe de la Figure 5................ 7 7 Arbre construit à partir de la fonction f de l'exemple de la Figure 5, en choisissant une racine étiquetée par a........................... 8 8 Treillis associé à l'exemple de la Figure 5. Les ensembles de couleurs du voisinage de chaque sommet sont indiqués à côté de chaque sommet, sous forme de mot.. 9 9 Treillis associé à l'exemple de la Figure 5, 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........................... 0 Un graphe G muni d'une coloration quelconque, qui n'est pas globalement identiante. Il y a deux collisions, entre les sommets dont les ensembles de couleurs sont écrits en rouge.................................. Modication d'une couleur par rapport au graphe de la Figure 0 pour essayer de faire disparaître une collision............................ Solution optimale du problème de modication des couleurs, par rapport au graphe initial de la Figure 0............................. Solution optimale du problème du sous-graphe identié, par rapport au graphe initial de la Figure 0.................................

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 0. 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.

Contexte et sujet du stage. Présentation du laboratoire.. 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 Ministè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 000 personnes (dont 955 statutaires - 0 chercheurs et 75 ingénieurs, techniciens et administratifs), un budget pour 0 de, milliards d'euros dont 89 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 00 unités de recherche et de service. Figure Les 0 instituts du CNRS. Des chercheurs éminents ont travaillé, à un moment ou à un autre de leur carrière, dans des laboratoires du CNRS [LAU]. Avec 9 lauréats du prix Nobel et de la Médaille Fields,

Figure Le LAAS. le CNRS a une longue tradition d'excellence. Le CNRS a été créé en 99, 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 9). Après 95, l'organisme s'oriente nettement vers la recherche fondamentale. Aujourd'hui, le CNRS mène des recherches dans l'ensemble des domaines scientiques, technologiques et sociétaux, regroupés au sein de 0 instituts (voir Figure )... 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 (INSI). Le LAAS mène des recherches dans 8 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 équipes de recherche, pour un total de personnes (hors stagiaires). En 0, ces personnes sont à l'origine de 0 publications... L'équipe ROC Les travaux de l'équipe Recherche Opérationnelle, Optimisation Combinatoire et Contraintes (ROC) se situent dans des branches de la recherche opérationnelle et de l'intelligence articielle ; ils correspondent donc parfaitement au master recherche MAD de l'isima. L'équipe ROC est constituée de membres permanents, doctorants (pour l'année 0/0), 7 stagiaires (pendant l'été 0), 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) [HOO0] [LETH] ; Des problèmes d'ordonnancement (scheduling en anglais) [KALM] [OBB] ; Des problèmes de programmation en nombres entiers (MILP pour Mixed Integer Linear Programming) [JLS] [KALM] ; Des problèmes d'allocation de ressources [HAC] [KAHM] ; Des problèmes de tournée de véhicules [GAFJ0] [NPC] ; Des problèmes d'optimisation combinatoire sur les graphes [BMP] [GKM + ] ;. Origine du sujet de stage.. 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 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 de G tel que D k? Figure 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 u est 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. 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... 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 998 [KCL98]. Dans ce contexte, un code désigne un sous-ensemble des sommets du graphe ; d'où l'appellation 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 (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 (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. 5

Finalement, on peut dénir simplement un code identiant : Dénition (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 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. v v v C v v V v v v - v - v - - v - - v 5 v - - - v v 5 v Figure 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 [RSTU0] et de [SRP + 0]... 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 009 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., je donnerai des exemples de diérentes colorations identiantes possibles. Les résultats obtenus pour ces colorations sont donnés dans l'annexe A.. Colorations identiantes de graphes Dans sa thèse [Par], Aline Parreau a étudié deux types de colorations identiantes. Toutes les deux reposent sur une coloration des sommets. Dénition (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 Ac(v). En général, par souci de clarté, on choisit c de telle sorte que c(v ) = [, n] ou c(v ) = [0, n ]. Le problème certainement le plus célèbre lié aux colorations de sommets consiste à trouver une coloration propre (le théorème des couleurs [co] 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 (Coloration globalement identiante). Une coloration globalement identiante est une coloration c d'un graphe G = (V, E) telle que : u, v V, u v c(n[u]) 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]) c(n[v]) 7

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 les cas, 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) avec k 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)... Principaux résultats sur les colorations globalement et localement identiantes 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 (Parreau). Soit G un graphe connexe sans jumeaux. Alors log ( V + ) χ id (G) V En eet, avec k couleurs, on peut identier au plus k sommets diérents (un sommet 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 G = (V, E ) et G = (V, E ) deux graphes. Le joint de G et G, noté G G, est le graphe ayant pour sommets l'ensemble V V et pour arêtes l'ensemble E E {(u, v) : u V, v V }. 8

Dénition 0 (Puissance d'un graphe). Soit G = (V, E) un graphe et k un entier. La puissance k-ème du graphe G, notée G k, 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é P k. Le graphe complet (tout sommet est voisin de tous les autres) constitué de k sommets est noté K k. 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 (Parreau). Il y a équivalence entre les deux propriétés :. χ id (G) = V. G est un graphe complet privé d'un couplage maximum, ou G est de la forme G = K G... G l, avec G i = K ou G i = P k k i [, 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 u tel que (u, u ) n'est pas une arête du graphe. u et u sont voisins avec tous les autres sommets, et N[u] N[u ]. Si u = v, alors notons V = V \ {u, u }. c(n[u]) = c(v ) {c(u)}, et c(n[u ]) = c(v ) {c(u )} ; donc c(n[u]) = c(n[u ]) (car u et v ont la même couleur), ce qui est absurde. Si u = v, alors appelons v le sommet qui n'est pas relié à v s'il existe, ou posons v = v si v est voisin de tous les autres sommets. Dans les deux cas, c(n[v ]) = c(v ) et N[v ] N[u ]. De plus u est relié à tous les sommets sauf u, qui est de la même couleur que v. Donc c(n[u ]) = c(v ), ce qui est absurde. On peut construire des graphes qui au contraire possèdent une coloration globalement identiante avec très peu de couleurs. C'est le cas du graphe de la Figure. 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 9

K 5 privé d'un couplage maximum K K P Figure 5 Exemples de graphes tels que χ id (G) = V. Figure Exemple de graphe tel que χ id (G) = log ( V + ). 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 (Parreau). Si G est un graphe connexe tel que χ lid (G), alors G a au plus sommets. Démonstration. Supposons que G a au moins sommets, et que c est une coloration localement identiante de G. Si G contient un triangle, alors il faut au moins couleurs pour le colorier (coloration propre). Sinon, considérons u et v deux voisins, qui sont de couleurs diérentes. Si la coloration n'était composée que de couleurs, alors on aurait nécessairement c(n[u]) = c(n[v]). Mais, le graphe étant connexe et sans triangle, N[u] N[v]. Il faut donc au moins couleurs pour obtenir une coloration localement identiante de G. Théorème (Parreau). Il existe une innité de graphes G tels que χ lid (G). 0

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 couleurs. On peut de plus préciser que d'après le Lemme, ces colorations sont optimum. Figure 7 Exemple de coloration localement identiante d'une grille avec 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 v et v deux sommets de la clique, diérents de u, alors leurs sommets pendants ne peuvent pas avoir la même couleur (séparation de v et v ). v u v Figure 8 Graphe extrémal pour la coloration localement identiante Cependant, on ne sait pas caractériser les graphes G tels que χ lid (G) = V (G). Parreau a montré le théorème suivant pour les graphes -lid-coloriables : Théorème. Un graphe -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 -lid-coloriables. Théorème (Parreau). Si un graphe biparti G = (U V, E) est -lid-coloriable et u U est tel que c(n[u]) = {,, }, alors : c(u) = c(u) c(v ) = {,, } \ {c(u)} u U, c(n[u ]) = {,, } La Figure 9 montre un exemple d'une coloration d'un graphe biparti -lid-coloriable vériant les hypothèses du Théorème. Figure 9 Exemple d'une coloration localement identiante avec couleurs d'un graphe biparti Les cycles présentent un comportement particulier face aux colorations localement identiantes. C 5 et C 7 sont les seuls à ne pas être -coloriables. En eet, on peut vérier la propriété suivante : χ lid (C 5 ) = χ lid (C 7 ) = 5 χ lid (C k ) =, si n 0[], n χ lid (C k ) =, si n 0[], n 5, n 7 Parreau donne de plus des colorations identiantes optimums des graphes C k, pour k. Celles-ci sont créées à partir de l'expression régulière : [][]() 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... 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.

C 5 5 C C 7 5 C 8 C 9 C 0 Figure 0 Colorations optimums pour quelques graphes cycliques. Celles-ci respectent le motif donné par l'expression régulière fournie par Parreau. Dénition (Coloration d'arêtes). Une coloration d'arêtes d'un graphe G = (V, E) est une fonction de E dans N. Dénition (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 (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] N[v] c(n[u]) 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 proviennent de [AGS].

Lorsque l'on rajoute la condition de coloration propre, on retrouve la dénition de la coloration localement identiante. Dénition (Coloration d'arêtes globalement identiante). c est une coloration d'arête globalement identiante si : e, e E, e et e sont adjacentes c(e ) c(e ) et u, v V, F (u) 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é χ s(g). De même que pour la version de coloration des sommets, on peut dénir une version locale : Dénition 5 (Coloration d'arêtes localement identiante). c est une coloration d'arêtes localement identiantes si : e, e E, e et e sont adjacentes c(e ) c(e ) et (u, v) E, F (u) 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é χ α(g). La version globale est étudiée dans [BKT], et la version locale dans [TCSW], [BKT], [HM] et [WW08]. On retrouve le même genre de coloration identiante pour les coloration totales, étudiée dans [TCSW], [BKT] 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 fonction f c qui à un sommet v V associe la somme des couleurs des arêtes incidentes à v et de la couleur de v. Dénition (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, f c (u) f c (v) Cette coloration a été étudiée dans [PW], dont les résultats sont aussi présentés dans l'annexe A.

.. Travail réalisé Pendant mon stage, mon document de référence était la thèse d'aline Parreau [Par], 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 [Jac9], cousins des séquences de de Bruijn [db]. Figure 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.0 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 5

arêtes, changer la couleur des sommets, et surtout, vérier si une coloration est propre, localement identiante, ou globalement identiante (voir Figure ). 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.

Cycles universels Dans sa thèse [Par], Aline Parreau cherche, entre autre, à construire une coloration globalement identiante sur un cycle. Elle cherche quelle est la taille du plus grand cycle L-idcoloriable, pour un nombre L de couleurs xé, que l'on notera n(l). La borne évidente qu'elle donne est la suivante : Théorème 7 (Parreau). n(l) ( ) L + ( ) L + ( ) L L + 5L Démonstration. Chaque sommet du cycle a deux voisins. Il peut donc y avoir, ou couleurs dans son voisinage fermé. Elle montre ensuite que l'ordre de cette borne est atteint, en utilisant les cycles universels étudiés par Jackson [Jac9] : Théorème 8 (Parreau). Soit L 8 un entier non divisible par. Alors ( ) L n(l) 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 [Jac9]. De plus, ceci me permettra enn d'adapter les preuves de Jackson pour construire des colorations globalement identiantes sur des cycles plus grand, c'est-à-dire de trouver un meilleur minorant pour n(l) (voir Théorème page ).. Séquences de de Bruijn.. Dénition Les cycles universels sont inspirés d'un objet combinatoire bien connu, les suites de de Bruijn[dB], 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 7 (Graphes de de Bruijn). Un graphe de de Bruijn B(k, n) d'ordre n sur un alphabet à k lettres est constitué de k n sommets, chacun étiqueté par un mot de n lettres (on identiera le sommet à son étiquette). Il existe un arc entre deux sommets u et v si et seulement s'il existe un mot x et deux lettres a et b tels que u = ax et v = xb. 7

La Figure 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 00 00 00 0 0 0 Figure Graphe de de Bruijn B(, ). Un circuit hamiltonien sur un graphe de de Bruijn permet de créer une suite de de Bruijn. Dénition 8 (Suite de de Bruijn). Une suite de de Bruijn d'ordre n sur un alphabet de taille k est une suite (x,..., x k n) telle que chaque sous-suite (x i, x i+,..., x i+n ) (où les indices sont considérés modulo k n ) 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 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 soussuites (x i, x i+,..., x i+n ) du cycle comme des ensembles (non-ordonnés, sans répétition). Dénition 9 (Cycle universel). Un cycle universel d'ordre n sur un alphabet A de taille k est une suite (x,...,x ( k n) ) d'éléments de l'alphabet tel que chaque ensemble {x i, x i+,..., x i+n } (indices modulo ( k n) ) constitué de n sommets successifs soit unique, et ne contienne pas de doublon. La Figure est un exemple de cycle universel d'ordre sur un alphabet de taille 8. 8

(, 0, 0) (0, 0, 0) 0 0 (,, 0) (0, 0, ) 0 (,, ) (0,, 0) 0 (, 0, ) (0,, ) Figure Une suite de de Bruijn obtenue par un circuit hamiltonien du graphe de la Figure. 8 5 7 5 8 5 7 8 7 5 7 8 7 5 7 8 8 5 7 8 5 Figure Un cycle universel d'ordre sur l'alphabet [, 8]. Chaque sous-ensemble à trois éléments distincts de [, 8] apparaît exactement une fois comme suite de sommets 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 [Jac9] une condition nécessaire et susante d'existence. J'exposerai cette condition dans la partie... 9

.. Cas particulier pour les cycles universels d'ordre Le cas particulier des cycles universels d'ordre se prête bien aux colorations globalement identiantes (comme on peut le remarquer sur la Figure ). 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'ordre étant constitué de ( L ) sommets, ceci permet de justier la borne donnée par Aline Parreau, énoncée plus haut (n(l) ( L ) ). Cependant, elle précise aussi que cette borne n'est pas serrée : si l'on trouve le motif dans la suite des couleurs des sommets du cycle par exemple (quitte à permuter les couleurs), on peut alors remplacer celles-ci par. On obtient ainsi nouveaux ensembles, en en perdant un (voir Figure 5). 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. S T S T Figure 5 Exemple d'amélioration des cycles universels pour les colorations globalement identiantes... Résultats Jackson [Jac9] s'est intéressé au cas général des cycles universels d'ordre k sur un alphabet de taille n, ainsi que les cas particuliers k = et k =. Nous allons nous intéresser aux cycles d'ordre. 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, ) =, il existe un cycle universel d'ordre sur un alphabet de taille L. Jackson donne de plus une méthode systématique de construction des cycles universels d'ordre k = dans 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, ) = est nécessaire : chaque sommet d'un cycle universel d'ordre apparaît dans ensembles distincts (celui de son prédécesseur, 0

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. Or le nombre de tels ensembles est ( ) n, ce qui revient à dire ( ) n 0[] ou pgcd(n, ) =. Jackson montre aussi un résultat d'existence pour les cycles d'ordre k = : Théorème 0 (Jackson). Pour L 9 et pgcd(l, ) =, il existe un cycle universel d'ordre sur un alphabet de taille L. La conjecture dans le cas général, posée par Chung et al. [CDG9] est encore ouverte. Conjecture (Chung et al.). Pour tout k, il existe un entier n 0 (k) tel que pour tout n n 0 (k) satisfaisant ( n k ) 0[k], il existe un cycle universel d'ordre k sur un alphabet de taille n.. 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 valeurs 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ù L est la taille de l'alphabet du cycle universel, c'est-à-dire le nombre de couleurs que l'on veut utiliser... Relation d'équivalence Tout d'abord, on peut dénir une relation d'équivalence sur les ensembles. Pour ce faire, on dénit fonctions v, v et v de l'ensemble des ensembles à éléments dans [0, L ] telles que pour tout ensemble A à trois éléments, v (A) est la plus petite des valeurs de A, v (A) est la valeur médiane, et v (A) la plus grande des valeurs de A. On considère ensuite les fonctions diérences d, d et d : d = v v d = v v d = v v (modulo L) On dit alors que deux ensembles A et B sont équivalents si (d (A), d (A), d (A)) est une permutation circulaire de (d (B), d (B), d (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 ). Le lemme suivant sera utile par la suite : Lemme. Pour tout ensemble A à trois éléments de [0, L ], d (A) + d (A) + d (A) = 0.

0 0 5 A = {0,, } v (A) = 0 d (A) = v (A) = d (A) = v (A) = d (A) = B = {,, } v (B) = d (B) = v (B) = d (B) = v (B) = d (B) = C = {0,, 5} v (C) = 0 d (C) = v (C) = d (C) = v (C) = 5 d (C) = Figure Exemples d'ensembles équivalents pour L = 8 couleurs. Démonstration. d (A) + d (A) + d (A) = (v (A) v (A)) + (v (A) v (A)) + (v (A) v (A)) [L] = 0 [L].. Types Grâce à cette relation d'équivalence, on obtient des classes d'équivalence, que l'on va représenter avec des types. Lemme (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 d, d et d les valeurs des diérences de ce représentant. Considérons les L ensembles A i = {i, i + d, i + d + d } pour i variant de 0 à L. Par dénition, ces ensembles sont tous du type considéré. Supposons maintenant par l'absurde que A i = A j, pour i j. Deux cas sont alors possibles : i = j + d ou i = j + d + d. Dans le premier cas, on aurait alors i + d = j + d + d et i + d + d = j. On en déduit que d = d, donc d = L. C'est absurde car pgcd(l, ) =. On trouve la même absurdité dans le second cas.

Pour un type donné, les valeurs prises par v, v et v changent, mais les diérences d, d et d 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 (t, t ) avec t, t {d, d, d }, noté t t. 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 les diérences sont diérentes alors on enlève la plus grande des, notée d i. Le type est alors d i+ d i+ (en travaillant modulo, c'est-à-dire d = d et d 5 = d ). Si deux diérences sont égales et valent k, alors le type est kk. La Figure 7 est une liste exhaustive des types associés par Jackson aux ensembles à trois éléments, pour L = 8. 0 0 0 5 57 05 7 07 0 5 5 7 057 0 7 5 7 05 5 7 07 0 5 57 0 57 0 7 5 5 57 07 07 0 5 57 0 57 0 7 0 7 05 7 05 57 Figure 7 Liste des ensembles à éléments de [0, L ] 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.

Figure 8 Graphe orienté des types pour L = 8... 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 t et t, et un type t t est représenté par l'arc (orienté) (t, t ). La Figure 8 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 cas L =, l'ensemble {0,, } 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 et par les types 5 et 5 (en général, les types L- L- L- et par les types L- et ). Ces nouveaux types n'étaient pas utilisés, et les valeurs restent toujours parmi les valeurs d, d et d ; cette modication ne pose donc pas de problème. Ce changement permet à Jackson de montrer le théorème suivant : Théorème (Jackson). Lorsque pgcd(l, ) =, 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 vers le sommet, c'est-à-dire suivant l'arc (, ), soit le type, consiste à ajouter, puis à 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,,, on parcourt les arêtes représentant les types et. 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 : 05. Le premier ensemble, {0,, } est bien de type et le second, {,, 5}, de type. L'ordre dans lequel on va obtenir les valeurs d'un ensemble est donc dépendant des conventions 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. 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 σ (modulo L) est première avec L. Si on commence à construire la chaîne à partir de la valeur 0, arbitrairement, alors on la termine par la valeur σ. La primalité entre σ et L assure ensuite de pouvoir répéter ce processus L fois (la seconde fois en partant de σ au lieu de 0, 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 page 9 a été construit de cette manière. Le circuit eulérien du graphe de la Figure 8 choisi est le suivant : ( ) Avec pour valeur initiale 0, on obtient donc le début de cycle suivant : + + + + + + + 0 7 5 L'itération suivante, en partant de 5 donne : + + + + + + + 5 7 7 Et ainsi de suite jusqu'à obtenir le cycle complet de la Figure.. 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 à couleurs (trois sommets consécutifs de couleurs 0, 0 et formeront l'ensemble {0, }). Un cycle universel avec répétition ne donne donc pas une coloration globalement identiante d'un cycle, car L(L ) sommets seraient deux à deux des doublons (Figure 9). 5

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 5 7 7 5 5 5 7 7 0 0 7 0 5 0 5 5 7 5 5 0 7 {0, } 7 7 0 0 5 5 0 7 0 5 {0, } 0 0 7 Figure 9 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 : ( ) ( ) ( ) L L L n(l) + + L + 5L 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 5). 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 un 0, mais certains sont redondants entre eux (comme on a pu le constater sur la Figure 9). Par exemple, si l'on considère la suite de trois sommets colorés 00, alors les diérences associées sont 07, ce qui donne un type 0. La suite 0, dont les diérences sont 07, donne un type 0. 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 7 7 5

pose quand L est pair est l'apparition du type L L. En eet, ce type représente des suites qui forment des ensembles identiques. Par exemple, toujours dans le cas L = 8, les suites 00 et 0 sont deux suites représentées par le type. Lemme. Lorsque L est pair, le type L L représente L ensembles diérents. Démonstration. Tous les ensembles représentés par le type L L contiennent deux valeurs : i et i + L. Il y a donc L { ensembles diérents possibles : i, i + L } pour i < L. En eet, comme i + L + L = i, on retrouve les mêmes ensembles pour i L. 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. Le type L L présente le même problème. Lemme 5. Lorsque L est multiple de, le type L L ne représente que L ensembles diérents. Démonstration. Pour le type L L, les trois diérences sont constantes : d = d = d = L {. Les ensembles représentés par ce type sont donc de la forme i, i + L, i + L }. Or chacun de ces ensembles est obtenu fois lorsque i parcourt [0, L ] (par exemple pour i = 0, puis i = L, et i = L ). Au total, on obtient donc seulement L 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 de i 0 telles que le type 0i existe (pour L xé). Lemme. Les types 0i et i0 existent si et seulement si i < L. 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 d = 0, d = i et d = L i = j. Ce triplet est donc de type 0i si et seulement si i < j, c'est-à-dire i < L. On raisonne de la même manière pour le type i0 avec le triplet (0, i, i). 7

Le type 00 ne représente pas un problème dans le graphe orienté, dans le sens où les boucles L n'aectent pas l'existence d'un chemin eulérien. On a donc valeurs possibles de i (avec i 0). Pour chacune de ces valeurs, il faut choisir, arbitrairement, le type 0i ou le i0. Il y aura L L donc arcs entrants ou sortants du sommet 0. Si 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 L d'arcs, j'ai choisi d'enlever l'arc qui relie les sommets 0 et (autrement dit, la valeur L médiane parmi toutes celles possibles). Il reste donc un nombre pair d'arc, que soit pair ou impair. J'ai choisi de considérer les types 0i pour la première moitié des valeurs de i, et les types i0 pour l'autre moitié. Lorsque L est impair, le type 0 L (ou L 0) pose problème car le graphe n'est pas fortement connexe ; le sommet L 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 de I + 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 de I, et ainsi de suite. Cette opération permet d'équilibrer les sommets de I et de I +. Au nal, il y a donc cas diérents possibles, suivant la valeur de L modulo. Je vais illustrer les choix dénis plus haut par des exemple pour L variant de 88 à. La Figure 0 montre dans ces exemples quels sont les types qui sont retirés, et lesquels sont conservés pour avoir un graphe eulérien. Si L = 8 : L est pair, et le sommet L n'est pas relié aux autres sommets. On enlève donc le type L L L (). Le nombre de sommets pouvant être reliés à 0 est impair ( = ). On choisit les types 0i pour i < L, et i0 pour i > L. On enlève donc le type 0L et le type L 0 (0 et 8

0). Pour rendre le graphe eulérien, on choisit d'enlever le type. On obtient alors le premier graphe de la Figure 0. Si L = 9 : L Le sommet () pose problème, car il est seulement relié au sommet 0. Que l'on choisisse le type 0 ou 0, on ne pourra pas obtenir un graphe eulérien. On supprimme donc ce type, et par conséquent, le type. Le sommet 0 n'est plus relié qu'aux sommets, et, qui sont en nombre impair. On choisit d'enlever le sommet médian (), et de prendre les types 0i, pour i plus petit que ce sommet médian, et i0 sinon (0 et 0). Pour rendre le graphe eulérien, on choisir d'enlever le type. On obtient alors le deuxième graphe de la Figure 0. Si L = 0 : L est pair donc, de même que pour le cas L 0[], on retire le type L L (55). Le sommet 0 est relié aux sommets,, et, 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é (0, 0, 0 et 0). Pour rendre le graphe eulérien, on choisir d'enlever les types et. On obtient alors le troisième graphe de la Figure 0. Si L = : De même que pour le cas L [], le sommet L (5) pose problème, car il est seulement relié au sommet 0. On enlève donc les types 05 et 55. Le sommet 0 est alors relié aux sommets,, et, qui sont en nombre pair. On choisit, comme dans le cas L [] de prendre les types 0, 0, 0 et 0. Pour rendre le graphe eulérien, on choisir d'enlever les types et. On obtient alors le troisième graphe de la Figure 0. Dans le cas L = 8, un exemple de circuit eulérien est le suivant : C = 0 0( ) 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 éléments associés aux types du graphe sont représentés. La Figure montre ce cycle, pour L = 8, en choisissant 0 comme valeur initiale et C comme circuit eulérien. 9

0 0 L = 8 L = 9 0 0 5 5 L = 0 L = Figure 0 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. Notons p = pgcd(σ, L). Le nombre de fois qu'on va pouvoir répéter le même circuit eulérien successivement est L. Par exemple, pour L =, p on obtient le circuit eulérien dont la somme vaut σ = 0 = 8 (modulo ). Ainsi, en partant 0

0 0 0 5 5 0 7 7 5 5 5 5 7 7 7 0 7 5 7 0 0 7 0 7 5 Figure Cycle obtenu pour L = 8 en appliquant 8 fois la somme des sommets du circuit eulérien C. 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 de 8, on retombe aussitôt sur 0, la valeur initiale. On a donc eectivement répété le procédé L p = = fois. Le cycle obtenu ne contient donc que 8 ensembles sur 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, préalablement choisi comme point de départ du circuit eulérien, une fois tous les L répétitions du procédé, après les p L p premières. Ainsi, après itération des L premières fois, cela revient à partir de L au lieu de p repartir sur la valeur initiale 0, ce qui permet de recommencer L nouvelles itérations. On peut p donc répéter p fois ce processus, jusqu'à obtenir la valeur nale L (p ). Ensuite, on peut ajouter tous les types 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 montre ce phénomène. 0 5

0 8 0 Deux premières itérations du circuit eulérien, en partant de la valeur initiale 0. 0 8 0 7 5 5 0 9 - - - - - - - Construction de la chaine en enlevant certains types 9 0 5 0 Ajout des types précédemment enlevés Figure Construction d'un cycle contenant tous les ensembles représentés par les types du graphe pour L =. Lorsque L est impair, on peut modier la n de la construction de la chaîne pour obtenir de nouveaux ensembles correspondant aux types que l'on a enlevés (0 L et L L ). L'idée est de rajouter des sommets qui seront de ces types-là après un type 00. Cela revient à eectuer plusieurs fois le cycle eulérien (en enlevant des types, c'est-à-dire une boucle sur le sommet, lorsque c'est nécessaire), en insérant après une des boucles sur le sommet 0 le chemin L L L 0... 0. La Figure illustre ces modications, du point de vue du parcours du graphe, des types successifs, et du cycle obtenu au nal. Avant insertion : Parcours des sommets du graphe... 0 0... Types 0 00 0 Éléments du cycle obtenu 7 7 7 8 Après insertion :... 0 0 0... 0 00 0 0 0 7 7 7 5 0 8 7 7 8 Figure Insertion de nouveaux ensembles dans le cas L impair

On peut facilement compter le nombre de sommets du cycle obtenu, en fonction de L. Si L 0[] : On a enlevé L types, chacun représentant L ensembles, donc L sommets. On a aussi enlevé L, qui représente L L, qui représente L le type L à trois éléments étant L + 5L, le cycle est donc composé de L + 5L Si L [] : On a retiré L tous les ensembles de type L L 0 et 0 Si L [] : On a retiré L sommets est donc L + 5L Si L [] : ensembles diérents. Le nombre d'ensembles L + L sommets. + types, mais, grâce à la dernière insertion proposée, on a pu rajouter L L, sauf un. Et l'on a aussi inséré deux ensembles de type. Le nombre de sommets est donc : L + 5L L + L +. types représentant L ensembles, ainsi que le type L L L. L. Le nombre de On a retiré L + types, mais de même que pour le cas L [], on a compensé un type par une insertion à la n de la construction. Le nombre de sommets est donc L + 5L L + L +. Enn, lorsque L est multiple de, il faut retrancher L à la valeur trouvée, car on a enlevé le type L L, qui représente L ensembles distincts. Ce résultat permet d'énoncer le théorème suivant :

Théorème. Pour L 8, L + L si L 0[] L + n(l) L + 5L L si L [] L si L 0[] L si L [] 0 sinon L + L si L []

Nouvelles questions ouvertes. Suppression d'un sommet Lorsque j'ai créé mon programme, il m'a fallu faire plusieurs tests pour vérier qu'il fonctionnait bien. En particulier, il était important que la mise à jour des propriétés du graphe se fasse correctement ; c'est-à-dire que lorsque je modie la couleur d'un sommet, que je supprime un sommet, ou que j'ajoute une arête, par exemple, il fallait vérier à nouveau si la coloration était globalement/localement identiante ou non... Conjecture C'est en faisant ces vérications que j'ai formulé la conjecture suivante : Conjecture. Étant donné un graphe G = (V, E) non vide et c une coloration globalement identiante de G, il existe un sommet u V telle que la coloration induite sur le graphe induit G \ {u} est une coloration globalement identiante de G \ {u}. La Figure montre un exemple de graphe satisfaisant cette conjecture. Le graphe pris dans l'exemple est le cycle obtenu dans la partie précédente, pour L = 8 couleurs. 0 0 0 5 5 0 7 7 5 5 5 5 7 7 7 0 7 5 7 0 0 7 0 7 5 Figure 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. J'ai testé cette conjecture sur de nombreux exemples, de manière automatisée. Pour cela, j'ai créé un script qui génère des graphes. Ce script dépend de plusieurs paramètres : le nombre de sommets, la probabilité d'arête entre deux sommets et une graine pour l'aléatoire (par souci de reproductibilité). Un second script me permet ensuite de vérier la conjecture, pour chacun des graphes. Ce script m'a permis de vérier la conjecture sur plusieurs milliers de graphes, jusqu'à plusieurs dizaines de sommets, pour diérentes valeurs de probabilité d'arêtes. 5 0 5

Pendant que les scripts s'exécutaient, j'ai cherché à prouver cette conjecture, de plusieurs manière. Dans la suite, je présenterai les deux principales idées que j'ai eues. Les deux reposent sur un raisonnement par l'absurde. Je n'ai pas encore réussi à prouver la conjecture, mais je présenterai tout de même quelques lemmes que j'ai trouvés en essayant de le faire. Pour illustrer, j'utiliserai le graphe de la Figure 5. h c g i f e a d b j Figure 5 Un graphe G muni 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... Arbres innis La première idée consiste à créer un arbre particulier, qui possèdera certaines propriétés. Tout d'abord, il faut dénir une fonction f qui à chaque sommet u V du graphe associe un ensemble de sommets. Les sommets de cet ensemble seront ceux qui deviendraient des doublons si l'on retirait le sommet u. Si la conjecture est vraie, alors pour tout graphe, il existe au moins un sommet u V tel que f(u) =. Par contraposée, pour que la conjecture soit fausse, il surait de trouver un contre-exemple : un graphe G = (V, E) tel que u V, f(u). La Figure montre les valeurs que prend la fonction f sur les sommets du graphe de la Figure 5 (on constate que ce graphe n'est pas un contre-exemple à la conjecture). Si l'on essaye de retirer le sommet a par exemple, alors le voisinage de couleurs du sommet e devient {, }, c'est-à-dire le même que le sommet f. Si l'on essaye de supprimer le sommet g, alors deux problèmes se posent : le voisinage de couleurs du sommet c devient {}, le même que celui du sommet d ; le voisinage de couleurs du sommet j devient {, }, le même que celui du sommet b. Ensuite, on construit un arbre, dont tous les sommets u seront étiquetés par un des sommets du graphe d'origine, e(u). On choisit arbitrairement une étiquette pour la racine. Le nombre

u a b c d e f(u) {e,f} {a,d} u f g h i j f(u) {a,e} {b,c,d,j} {b,d} Figure Valeurs de la fonction f sur le graphe de la Figure 5. de ls de chaque sommet u de l'arbre sera alors égal au cardinal de f (e(u)). Les étiquettes de ceux-ci seront exactement les valeurs de l'ensemble f (e(u)). Autrement dit, lorsque l'on prend un sommet de l'arbre, étiqueté e(u), les étiquettes de ses ls seront exactement les sommets qui posent problème lorsque l'on retire le sommet e(u) dans le graphe d'origine. S'il existe un contre-exemple H à la conjecture, alors l'arbre obtenu à partir de H par ce procédé sera inni. Cet arbre aura aussi la propriété de n'avoir aucune feuille. En eet, chaque suppression d'un sommet du graphe entraîne des doublons, et donc chaque n ud de l'arbre possède des ls. Lemme 7. Étant donné un arbre construit de cette manière, prendre un sous-arbre de celui-ci depuis une étiquette e revient à construire un arbre dont l'étiquette de la racine est e. Démonstration. Le processus de construction reste tout le temps le même, indépendamment de la profondeur à laquelle se situe le n ud. Le fait que l'arbre soit inni n'est pas une absurdité en soi. On peut constater que l'arbre construit à partir du graphe de la Figure 5, selon la valeur en laquelle on l'enracine, peut aussi être inni. La Figure 7 montre cet arbre. On peut constater sur cet arbre inni, enraciné en a, que toutes les étiquettes présentes dans l'arbre le sont une innité de fois. On peut montrer que c'est tout le temps le cas : Lemme 8. Si un arbre construit comme précédemment est inni, alors il existe une possibilité d'étiqueter la racine de telle sorte que toutes les étiquettes de l'arbre soient présentes une innité de fois. Démonstration. Comme l'arbre est inni, il existe une branche composée de n + n uds, où n est le nombre de sommets du graphe (et donc le nombre d'étiquettes possible). Sur cette branche, au moins une étiquette apparaît plusieurs fois. Notons e une telle étiquette. Alors l'arbre construit par rapport au même graphe, mais dont l'étiquette de la racine est e ne possède aucune étiquette en nombre ni d'exemplaires. En eet, pour toute étiquette e qui apparaît dans l'arbre, on peut construire un chemin de la racine à l'un des n ud d'étiquette e (ce chemin est unique, car c'est un chemin dans un arbre). Or, il y a une innité de n uds 7

a e f a d a e e f e f a d Figure 7 Arbre construit à partir de la fonction f de l'exemple de la Figure 5, en choisissant une racine étiquetée par a. dont l'étiquette est e. En copiant ce chemin à partir de chacun d'entre eux, on obtient alors une innité de n uds étiquetés e. Ces lemmes sont peut-être utilisables pour prouver la Conjecture, mais ne m'ont pas permis d'y arriver, pour l'instant... Treillis des couleurs L'autre idée que je présente ici consiste à créer un treillis, c'est-à-dire un graphe dont les sommets sont classés par une relation d'ordre. Dans le cas présent, cette relation d'ordre sera le nombre de couleurs diérentes dans le voisinage fermé. Autrement dit, si le graphe a une L-id-coloration, le sommet de niveau sera (s'il existe) le sommet qui a les L couleurs dans son voisinage fermé, les sommets de niveau seront ceux qui ont L couleurs dans leur voisinage fermé, et ainsi de suite. Ensuite, on ajoute une arête entre deux sommets u et v s'il est possible en retirant un troisième sommet que u et v rentrent en collision (deviennent doublon en ayant le même ensemble de couleurs dans le voisinage). La Figure 8 montre le treillis associé à l'exemple de la Figure 5. En triant les sommets de cette façon, on peut rapidement voir quels sont les paires de sommets qui peuvent se retrouver en doublon, après avoir retiré un sommet du graphe. En eet, lorsque l'on retire un sommet, chacun de ses voisins est susceptible de "perdre" une couleur dans son voisinage (si aucun de ses autres voisins n'ont la même couleur), et donc de passer du niveau k au niveau k +. 8

g j e b c a f h d i Figure 8 Treillis associé à l'exemple de la Figure 5. Les ensembles de couleurs du voisinage de chaque sommet sont indiqués à côté de chaque sommet, sous forme de mot. Comme on peut le voir sur la Figure 8, le treillis n'est pas un arbre, malgré l'ordre des sommets, qui pourrait correspondre à la profondeur dans un arbre. Il est possible que le treillis ne soit pas connexe, et qu'il présente des cycles. J'ai ensuite essayé de voir ce qui se passerait si on avait un contre-exemple à la conjecture. Notons G ce contre-exemple, et T le treillis associé. On ne peut enlever aucun sommet du graphe G tout en gardant une coloration globalement identiante, donc à chaque sommet de G correspond au moins une arête de T. Lemme 9. Soit e = (u, v) une arête de T, treillis associé à un contre-exemple de la Conjecture. Il existe un unique sommet w diérent de u et v tel que la suppression de w entraîne la collision de u et v. Démonstration. Comme e est une arête de T, il existe au moins un sommet w qui entraîne la collision de u et v. Sans perte de généralité, supposons que u possède une couleur de plus que v dans son voisinage, notée c. Puisque sans w, il y a collision entre u et v, la couleur de w est c, w est un voisin de u et w n'est pas un voisin de v. S'il existait un sommet x tel que la suppression de x entraînerait la collision de u et v, alors par le même raisonnement, x serait de couleur c et serait voisin de u. Mais alors, la suppression de w ne changerait pas les couleurs du voisinage de u, car c serait toujours présente, avec le sommet x ; ce qui est absurde. Ce lemme permet de déduire que T contiendrait au moins autant d'arêtes que de sommets. 9

T ne pourrait donc en aucun cas être un arbre. Le lemme suivant permet de voir où peuvent se situer les arêtes. Lemme 0. Un sommet qui a k couleurs dans son voisinage peut rentrer en collision avec maximum L sommets, où L est le nombre de couleurs de G. Démonstration. Soit u un sommet ayant k couleurs dans son voisinage. Il y a L k ensembles de couleurs qui sont composés des couleurs du voisinage de u et d'une autre couleur. Et il y a k possibilités que u perde une couleur en supprimant un de ses voisins (u ne peut en eet pas perdre sa propre couleur). Il y a donc au nal au plus L k + k = L sommets qui peuvent rentrer en collision avec u. Au nal, il y a donc beaucoup de positions possibles pour les arêtes. Moralement, la contrainte de positions possibles pour les arêtes semble assez large par rapport au nombre d'arêtes. Le treillis tel qu'il est construit permet de voir directement quels sont les sommets qui entrent en collision, mais ne permet pas de voir quels sont les sommets que l'on peut enlever ou pas. Pour améliorer ceci, j'ai choisi de colorier le treillis avec deux couleurs ; la première signiant que le sommet peut être retiré sans collision, et la seconde que ce n'est pas le cas. La Figure 9 montre ce qu'on obtient avec le graphe de la Figure 5. La structure du treillis est la même que celle du treillis de la Figure 8 ; l'élément nouveau est la coloration. Les sommets blancs sont ceux que l'on peut retirer sans créer de collisions. Les sommets rouges sont ceux qui créent des collisions. Dans le cas du treillis T du contre-exemple, tous les sommets seraient de couleur T. On peut essayer de trouver de nouvelles structures qui pourraient apparaître sur T, et entraîner une absurdité. J'ai donc essayé de trouver des structures qui n'apparaissaient pas sur les treillis que je créais, pour ensuite essayer de comprendre pourquoi cette structure était impossible, et donc montrer que le treillis T ne pouvait exister. Ceci prouverait la conjecture. Bien que sur les exemples générés aléatoirement, il y ait beaucoup de cycles, ceux-ci semblaient toujours être composés d'au moins un sommet "blanc", c'est-à-dire un sommet que l'on pouvait enlever sans collision. Cependant, je n'ai pas réussi à montrer qu'un cycle constitué uniquement de sommets "rouges" qu'on ne peut pas enlever sans créer de collision était un cas impossible. Et pour cause, à force de tester plusieurs centaines de graphe, à l'aide de scripts, j'ai ni par en trouver un qui présente cette structure. Ce graphe est composé de 9 sommets et 5 arêtes.. Nouveaux problèmes De la même manière que la conjecture précédente, c'est en utilisant mon programme que j'ai pensé à nouveaux problèmes. Dans les deux cas, on dispose initialement d'un graphe G = (V, E) et d'une coloration quelconque c. 0

g j e b c a f h d i Figure 9 Treillis associé à l'exemple de la Figure 5, 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... Problème de modication des couleurs Le premier problème consiste à changer les couleurs de certains sommets pour obtenir une coloration globalement identiante. Le problème de décision associé est le suivant : MODIFICATION_COULEURS_DEC : Instance : Un graphe G = (V, E), une coloration c quelconque, et un entier k. Question : Est-il possible d'obtenir une coloration globalement identiante de G à partir de c en modiant au plus les couleurs de k sommets? Ce problème est clairement dans la classe NP, car il est facile de vérier qu'une coloration est globalement identiante polynomialement, par rapport au nombre de sommets. En revanche, il est plus dicile de montrer si ce problème est NP-dicile (et donc NPcomplet) ou pas. Lorsque l'on cherche une liste de modications de couleurs, il semble naturel de commencer par regarder quels sont les sommets qui sont actuellement en collision. Ensuite, lorsque l'on a deux sommets qui sont en collision, on peut essayer de modier une couleur dans le voisinage de l'un des deux sommets, pour essayer de les séparer. Évidemment, en faisant ceci, on va modier les voisinages d'autres sommets, et ceci risque de créer de nouvelles

5 5 5 Figure 0 Un graphe G muni d'une coloration quelconque, qui n'est pas globalement identiante. Il y a deux collisions, entre les sommets dont les ensembles de couleurs sont écrits en rouge. collisions. Par exemple, avec le graphe de la Figure 0, deux sommets ont {, } comme couleurs dans leur voisinage. On peut essayer de modier le voisin du sommet de degré (celui le plus à droite), et passer sa couleur de à, comme c'est fait sur le Figure. Les deux sommets qui étaient en collision ne le sont plus, mais une autre collision est apparue. En essayant de trouver une solution au problème, sur un graphe simple, on conçoit bien que ce problème est relativement dicile. Il existe néanmoins une solution optimale en modiant la couleur d'un seul sommet : elle est présentée dans la Figure... Problème du sous-graphe identié Le second problème consiste aussi à obtenir une coloration globalement identiante sans changer les couleurs des sommets cette fois-ci mais en ne considérant qu'un sous-graphe induit, c'est-à-dire en enlevant des sommets. Le but est d'enlever le moins de sommets possibles.

5 5 5 Figure Modication d'une couleur par rapport au graphe de la Figure 0 pour essayer de faire disparaître une collision. 5 5 5 5 5 5 5 Figure Solution optimale du problème de modication des couleurs, par rapport au graphe initial de la Figure 0.

Le problème de décision associé est le suivant : SOUS-GRAPHE_IDENTIFIE_DEC : Instance : Un graphe G = (V, E), une coloration c quelconque, et un entier k. Question : Existe-t'il un sous ensemble V de V de cardinal V k tel que la coloration c induite sur le sous-graphe de G induit par V est globalement identiante? De même que pour le premier problème, celui-ci est clairement dans la classe NP. Il est aussi tout à fait naturel de commencer par regarder quels sont les sommets en collision. Mais de la même manière que pour le problème de modication des couleurs, en supprimant les sommets qui sont en collision, on peut en créer de nouvelles. La Figure montre cependant que c'est parfois une bonne solution : dans ce cas, en supprimant un sommet, on supprime les deux collisions, sans en créer de nouvelle. 5 5 5 Figure Solution optimale du problème du sous-graphe identié, par rapport au graphe initial de la Figure 0... Heuristique Dans l'optique où ces problèmes seraient NP-complets, il pourrait être intéressant de chercher à construire des heuristiques pour les résoudre. Plusieurs approches sont envisageables.

On pourrait essayer une approche gloutonne, en cherchant à modier (changer la couleur ou supprimer, suivant le problème) les sommets qui sont en collision. La Figure montre bien que cette approche peut parfois être ecace. Une autre idée serait de construire un treillis des couleurs, comme dans la sous-partie précédente. Cela permettrait de voir quels ensembles de couleurs on peut modier sans collision. Une approche prudente pourrait consister à modier les sommets de degré faible. Ce faisant, on aurait sûrement moins de chance de créer de nouvelles collisions. 5

. Retour à un cadre général Après s'être penché sur des problèmes particuliers de coloration identiante, il peut être intéressant de prendre un peu de recul et de s'intéresser à l'identication en général... L'identication C'est une notion qui était déjà présente dans les années 90, notamment dans [KS]. C'était alors dans un contexte purement théorie de l'information, sans structure de graphe sous-jacente. L'identication dans la théorie des graphes a débuté en 998 dans un article de l'ieee Transactions on Information Theory ; ce sont les codes identiants, que j'ai présentés en première partie de ce rapport [KCL98]. Il est peut-être possible d'unier les diérentes identications qui existent, en généralisant les colorations identiantes que j'ai présentées dans ce rapport. On peut par exemple, pour chaque sommet du graphe, restreindre les couleurs qu'on peut lui donner (on parle alors de coloration par liste identiante), ou bien colorier chaque sommet avec un sous-ensemble de couleurs d'une liste (on parle de multicoloration par liste identiante) [Mon]. Le cas des colorations par liste identiantes est un cadre qui permet de regrouper les colorations globalement identiantes et les codes identiants. En eet, si l'on donne la même liste à chacun des sommets, on se retrouve dans le cas des colorations globalement identiantes. On peut aussi retrouver un code identiant en procédant comme suit : la liste des couleurs utilisées pour un sommet u est constituée de deux éléments : u et un élément abstrait ω V. Pour obtenir un code à partir d'une coloration par liste identiante, construites avec ces listes, il sut de considérer l'ensemble C des sommets coloriés par eux-mêmes. Alors C est un code identiant du graphe. Réciproquement, à partir d'un code identiant C, on peut construire une coloration par liste identiante de la même manière. Les colorations par liste identiantes généralisent donc correctement les colorations globalement identiantes et les codes identiants. Le cas des multicolorations par liste identiantes généralisent naturellement les colorations par liste identiantes... Continuité du stage Quand j'aurai ni le stage, je continuerai à travailler sur ce sujet, en thèse. Ce sera l'occasion d'essayer de prouver ce qui ne l'est pas à l'heure actuelle, notamment la conjecture que j'ai énoncée. Je pourrai aussi analyser plus attentivement des problèmes que je n'ai pu qu'eeurer pour l'instant (graphes de Sierpi«ski, graphes aléatoires, etc).

Conclusion Lors de mon stage au LAAS, j'ai amélioré une borne fournie par Aline Parreau pendant sa thèse, en utilisant et en adaptant les cycles universels de Jackson. J'ai de plus proposé de nouveaux problèmes et énoncé une conjecture, qui peuvent être une piste à suivre pour continuer les recherches dans ce domaine. Pendant ces 5 mois, j'ai eu l'occasion de découvrir le monde de la recherche, en explorant librement un domaine assez vaste de la théorie des graphes. Les compétences acquises pendant ma scolarité, en terme de connaissance en théorie des graphes, ou en programmation, m'ont été très utiles. Bien que le stage se termine, ce n'est pour moi que le début, car je vais continuer à étudier ce sujet en thèse. Je pourrai ainsi travailler plus profondément sur les résultats que j'ai obtenus, et en découvrir de nouveaux. 7

Références [co] Théorème des couleurs. http://fr.wikipedia.org/wiki/th\%c\%a9or\%c\ %A8me\_des\_quatre\_couleurs. [AGS] M. Aïder, S. Gravier, and S. Slimani. Relaxed locally identifying coloring of graphs. 0. [AL78] R. B. Allan and R. Laskar. On domination and independent domination numbers of a graph. Discrete Mathematics, :77, 978. [BKT] J.-L. Baril, H. Kheddouci, and O. Togni. Vertex distinguishing edge- and totalcolorings of cartesian and other product of graphs. 0. [BMP] M. Bouznif, J. Moncel, and M. Preissmann. Generic algorithms for some decision problems on fasciagraphs and rotagraphs. Discrete Mathematics,, 0. [CDG9] F. Chung, P. Diaconis, and R. Graham. Universal cycles for combinatorial structures. Discrete Mathematics, 0 :59, 99. [CNR] Présentation du cnrs. http://www.cnrs.fr/fr/organisme/presentation.htm. [db] N. G. de Bruijn. A combinatorial problem. 9. [GAFJ0] T. Garaix, C. Artigues, D. Feillet, and D. Josselin. Vehicle routing problems with alternative paths : an application to on-demand transportation. European Journal of Operational Research, 0, 00. [GJ79] M. R. Garey and D. S. Johnson. Computers And Intractability A Guide to the Theory of NP-Completeness. W. H. Freeman And Company, 979. [GKM + ] S. Gravier, M. Kovse, M. Mollard, J. Moncel, and A. Parreau. New results on variants of covering codes in sierpinski graphs. Designs Codes and Cryptography, 9 :888, 0. [HAC] L. Houssin, C. Artigues, and E. Corbel. Frequency allocation problem in a sdma satellite communication system. Computers and Industrial Engineering, : 5, 0. [HHS98] T. W. Haynes, S. T. Hedetniemi, and P. J. Slater. Fundamentals of domination in graphs. New York : Marcel Dekker, 998. [HM] H. Hocquard and M. Montassier. Adjacent vertex-distinguishing coloring of graphs with maximum degree δ. 0. [HOO0] E. Hebrard, E. O'Mahony, and B. O'Sullivan. Constraint programming and combinatorial optimisation in numberjack. Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, pages 885, 00.

[Jac9] B. W. Jackson. Universal cycles of k-subsets and k-permutations. Discrete Mathematics, 7 :50, 99. [JLS] N. Jozefowiez, G. Laporte, and F. Semet. A branch-and-cut algorithm for the minimum labeling hamiltonian cycle problem and two variants. Computers & Operations Research, 8 :55, 0. [KAHM] K. Kiatmanaroj, C. Artigues, L. Houssin, and F. Messine. Frequency assignment in a sdma satellite communication system with beam decentring feature. Computational Optimization and Applications, 5 :955, 0. [KALM] O. Koné, C. Artigues, P. Lopez, and M. Mongeau. Event-based milp models for resource-constrained project scheduling problems. Computers & Operations Research, 8 :, 0. [KALM] O. Koné, C. Artigues, P. Lopez, and M. Mongeau. Comparison of mixed integer linear programming models for the resource-constrained project scheduling problem with consumption and production of resources. Flexible Services and Manufacturing Journal, 5 :57, 0. [KCL98] M. Karpovsky, K. Chakrabarty, and L. Levitin. On a new class of codes for identifying vertices in graphs. IEEE Transactions on information theory,, 998. [KS] W. H. Kautz and R. C. Singleton. Nonranom binary superimposed codes. IEEE transactions on information theory, pages 77, 9. [LAU] Lauréats du cnrs. http://www.cnrs.fr/fr/recherche/prix.htm. [LETH] P. Lopez, P. Esquirol, M. Trojet, and F. H'mida. Planication multi-site : Modélisation sous forme d'un problème desatisfaction de contraintes dynamiques. In International Conference on Modeling Optimization & SIMulation (MOSIM 0), Bordeaux : France (0), 0. [Mon05] J. Moncel. Codes identiants dans les graphes. PhD thesis, Université Joseph- Fourier, juin 005. [Mon] J. Moncel. Identication de sommets dans les graphes. Habilitation à diriger des recherches, Université Toulouse - Paul Sabatier, 0. [NPC] S.U. Ngueveu, C. Prins, and R. Woler Calvo. New lower bounds and exact method for the m-pvrp. Transportation Science, 7 :85, 0. [OBB] S. Ourari, C. Briand, and B. Bouzouia. Minimizing the number of tardy jobs in single machine scheduling using mip. RAIRO Operations Research, 7 :, 0. [Par] A. Parreau. Problèmes d'identication dans les graphes. PhD thesis, Institut Fourier, juillet 0. [PW] M. Pil±niak and M. Wo¹niak. On the adjacent-vertex-distinguishing index by sums in total propre colorings. 0.

[RS08] J. Rudasová and R. Sotak. Vertex-distinguishing proper edge colourings of some regular graphs. Discrete Mathematics, 08 :79580, 008. [RSTU0] S. Ray, D. Starobinski, A. Trachtenberg, and R. Ungrangsi. Robust location detection with sensor networks. IEEE Journal on Selected Areas in Communications, :005, 00. [SRP + 0] S.Ray, R.Ungrangsi, F. Pellegrini, A.Trachtenberg, and D.Starobinski. Robust location detection in emergency sensor networks. INFOCOM, 00. [TCSW] S. Tian, P. Chen, Y. Shao, and Q. Wang. Adjacent vertex distinguishing edgecoloring and total-coloring of the cartesian product of graphs. Numerical algebra, control and optimization,, 0. [WW08] W. Wang and Y. Wang. Adjacent vertex distinguishing total coloring of graphs with lower average degree. Taiwanese journal of mathematics, :979990, 008.

A Résumé des résultats de la littérature Cette annexe référence les résultats de diérents articles. A. [AGS] Soit G = (V, E) un graphe. Notons R la relation d'équivalence suivante : pour u V et v V, urv ssi u et v sont jumeaux. Notons t(g) la taille de la plus grande classe d'équivalence de G. Alors : χ rlid (G/R) t(g) χ rlid (G) χ rlid (G/R) log (ω(g/r)) + s χ rlid (G) s n H = H H... H l χ rlid (G) = n ssi G = K H avec et H i P k k ou H i K Soit G un graphe sans jumeaux et k un entier. Posons G le graphe obtenu à partir de G en remplaçant chaque arête par un chemin de taille, et en ajoutant un sommet pendant à chaque sommet de G. Alors : χ rlid (G ) k ssi χ(g) k Si G est un graphe biparti, alors : χ rlid (G) Si G est un graphe scindé connexe et sans jumeaux, alors : A. [HM] log (ω(g)) + χ rlid (G) ω(g) + Soit G un cycle d'ordre n. Alors : si n 0[] χ α(g) = si n 0[] et n 5 5 si n = 5 Si G est un graphe de degré maximum (G) 5 et de degré moyen maximum mad(g) < (G), alors : χ α (G) (G) + I

A. [WW08] χ α(g) χ (G) + χ(g) Si G est un graphe avec deux voisins de degré maximum, alors : χ α(g) (G) + Soit G un graphe planaire. Notons g(g) la longueur d'un cycle le plus court de G. Alors : mad(g) < g(g) g(g) Si G est un graphe tel que mad(g) < et (G) 5, alors : (G) + χ α(g) (G) + et χ α(g) = (G) + ssi G contient deux voisins de degré maximum Si G est un graphe tel que mad(g) < et (G) =, alors : χ α(g) Si G est un graphe tel que mad(g) < et (G) =, alors : χ α(g) 5 Si G est un graphe tel que mad(g) <, alors : χ α(g) max { (G) +, } Si G est un graphe tel que mad(g) < et ne possédant pas deux voisins de degré maximum, alors : χ α(g) max { (G) +, } Si G est un graphe tel que mad(g) < 8 et (G), alors : χ α (G) 5 II

A. [BKT] Soit d un entier et G un graphe tel que (G) d. S'il existe une coloration d'arêtes localement identiante de G avec d couleurs, alors : χ α(g P ) d + et χ α(g P k ) d +, pour k Si G et H sont deux graphes diérents de K, alors : Si G est un graphe, alors : χ s(g H) χ s(g) + χ s(h) χ s(g K ) χ s(g) + Si G et H sont deux graphes diérents de K tels que χ(h) χ α(g), alors : χ α(g H) χ α(g) + χ α(h) Si G est un graphe tel que le degré de tout sommet de G est premier avec χ α(g), et H est un graphe tel que χ(h) χ α(g), alors : χ α(g H) χ α(g) + (H) Si G est un graphe tel que le degré de tout sommet de G est premier avec χ α(g), et H est un graphe tel que χ(h) χ α(g), alors : A.5 [PW] Si P n est un chemin d'ordre n, alors : Conjecture : pour tout graphe G : χ α(g H) χ α(g) + (H) χ Σ (P n ) = = (G) + χ Σ (G) (G) + Si G possède deux voisins de degré maximum (G), alors : χ Σ (G) (G) + III

χ Σ (P ) = = (G) + Si C n est un cycle d'ordre n, alors : Si K,n est une étoile d'ordre n +, alors : χ Σ (C ) = 5 = (G) + χ Σ (C n ) = = (G) + χ Σ (K,n ) = n + = (K,n ) + Si K n est un graphe complet d'ordre n, alors : { n + = (Kn ) +, si n est pair χ Σ (K n ) = n + = (K n ) +, si n est impair Si K p,q est un graphe biparti complet d'ordre p + q, alors : { (Kp,q ) +, si p < q χ Σ (K p,q ) = (K p,q ) +, si p = q Si G est un graphe biparti k-régulier, alors : Si G est un graphe biparti, alors : χ Σ (G) = (G) + χ Σ (G) (G) + Soit G est un arbre. Si G possède deux voisins de degré maximum, alors : Sinon : χ Σ (G) = (G) + χ Σ (G) = (G) + Si G est un graphe de degré maximum (G), alors : χ Σ (G) (G) + IV

A. [TCSW] Soit G et H deux graphes, et c une coloration d'arêtes localement identiante de H avec k (H) + couleurs. Alors : ω(g) est plus petit que le plus petit des facteurs premiers de k χ α(g H) (G) + k si ou H est t-régulier et k r et pgcd(t, k) = Soit G un graphe biparti et K n un graphe complet d'ordre n. Alors : χ α(g K n ) = (G) + n Soit G et H deux arbres d'ordre au moins. Si G et H n'ont pas de sommets de degré maximum qui sont voisins, alors : χ α(g H) = (G) + (H) Sinon : χ α(g H) = (G) + (H) + Pour i [, d] et t t... t d, soit G i un graphe t i -régulier. Si χ α(g ) = t, alors pour tout entier k : k χ α(g G... G k ) = t i + Si G et H sont deux graphes, et c une coloration totale localement identiante de H avec k (H) + couleurs, alors : ω(g) est plus petit que le plus petit des facteurs premiers de k χ α(g H) (G) + k si ou H est t-régulier et k ω(g) et pgcd(t +, k) = Si G est un graphe tel que ω(g), et n un entier, alors : i= χ α(g C n ) = (G) + Si G est un graphe biparti et K n un graphe complet d'ordre n, alors χ α(g K n ) = (G) + n + Soit C m un cycle d'ordre m et K n un graphe complet d'ordre n. Si m est pair ou si n est pair, alors : χ α(c m K n ) = n + V

Soit G et H deux arbres d'ordre supérieur à. Si G et H n'ont pas de voisins de degré maximum, alors : χ α(g H) = (G) + (H) + Sinon : χ α(g H) = (G) + (H) + Pour i [, d] et t t... t d, soit G i un graphe t i -régulier. Si χ α(g ) = t +, alors pour tout entier k : k χ α (G G... G k ) = t i + i= VI

B Codes et scripts Les diérents programmes et scripts ont été réalisés en C/C++, et en script bash. Les scripts avaient pour but de coordonner les diérents programmes compilés entre eux. Classe Graphe qui modélise des graphes avec une coloration de sommets : c l a s s Graphe { protected : Ensemble e ; i n t nb_sommets_visibles ; i n t nb_arcs_visibles ; vector<pair<int, int> > pos ; vector<pair<int, int> > arcs ; vector<bool> a c t i f s ; vector<int> couleurs ; stack<int> l_suppression ; s t a t i c i n t rayon ; s t a t i c i n t NB_COULEURS_MAX_DESSIN; i n t nb_couleurs ; f l o a t zoom ; bool flag_ok ; bool est_coloration_propre ; bool est_coloration_id ; bool est_coloration_lid ; / bool calc_coloration_propre ( ) ; bool calc_coloration_id ( ) ; bool calc_coloration_lid ( ) ; / public : void c a l c u l ( ) ; Graphe ( i n t nb_c = ) ; VII

Graphe ( const Graphe& g ) ; Graphe& operator=(const Graphe &g ) ; ~Graphe ( ) ; void r e s e t ( ) ; void l i r e _ f i c h i e r ( const char s ) ; void sauvegarder ( const char s ) ; i n t ajouter_sommet ( i n t x, i n t y ) ; void annuler_suppression ( ) ; void supprimer_sommet ( i n t s ) ; i n t ajouter_arc ( i n t s, i n t s ) ; bool jumeaux ( i n t s, i n t s ) ; / bool separes ( i n t s, i n t s ) ; / bool coloration_propre ( ) ; bool coloration_id ( ) ; bool c o l o r a t i o n _ l i d ( ) ; void d e s s i n e r ( Display &dpy, Window& win, GC& pen, XColor tab_couleurs [ ] ) ; void changer_couleur ( i n t s, i n t c ) ; void changer_couleur ( i n t s ) ; i n t trouver_sommet ( i n t x, i n t y ) ; void t r a n s l a t i o n ( i n t x, i n t y ) ; void zoomer ( f l o a t z ) ; void chercher_coloration ( i n t num_coloration ) ; void i n i t _ c o l o r a t i o n ( ) ; void c o l o r a t i o n _ a l e a t o i r e ( ) ; void chercher_coloration_id_alea ( ) ; bool coloration_suivante ( ) ; void afficher_ensemble ( ) ; void deplacer_sommet ( i n t s, i n t x, i n t y ) ; i n t get_nb_couleurs () const ; i n t get_nb_sommets () const ; i n t get_nb_arcs () const ; i n t get_couleur ( i n t n) const ; pair<int, int > get_pos ( i n t n) const ; pair<int, int > get_arc ( i n t n) const ; VIII

bool e s t _ a c t i f ( i n t n) const ; bool couleur_voisine ( i n t s, i n t c ) ; bool i d e n t i f i e ( i n t s ) ; }; ostream& a f f i c h e r ( ostream& f ) ; ostream& operator <<(ostream &f, Graphe& g ) ; Le programme qui fournit une interface graphique avec les graphes permet : d'ajouter un sommet avec le clic gauche ; de retirer un sommet avec le clic droit ; d'ajouter une arête entre deux sommets en cliquant dessus ; de changer la couleur d'un sommet avec le clic gauche ; de déplacer des sommets en changeant entre les modes édition/déplacement avec la touche d ; de sauvegarder un graphe avec la touche s ; de charger un graphe avec la touche o ; de zoomer avec la touche * ; de dézoomer avec la touche / ; de déplacer le graphe entier avec les touches échées ; de chercher une coloration propre en brute force avec la touche ; de chercher une coloration localement identiante en brute force avec la touche ; de chercher une coloration globalement identiante en brute force avec la touche ; de générer une coloration aléatoire avec la touche c ; IX

d'annuler la suppression d'un sommet avec la touche a. Le script bash suivant permet de coordonner les diérents programmes pour créer les cycles universels de manière automatique. #!/ bin /sh./ nettoyage. sh expor t LMAX=50 cd /home/pcoupech/documents/ S tage_colorations_identifiantes / Cycles_universels / echo " Creation des c y c l e s... " echo "$LMAX"./ aaa >/dev/ n u l l echo " Modification des f i c h i e r s... "./ script_modification_pour_verification. sh cd.. / Calculs echo " Calcul des e r r e u r s... "./ r e s u l t a t s _ t e s t s. sh >/dev/ n u l l cd.. / generation echo " Stats... "./comp_max. sh cd.. / v e r i f i c a t i o n echo " Calcul des pgcd ' s... "./ t o u t _ v e r i f i e r. sh echo " Creation du graphique... "./ a f f i c h e r _ p o i n t s. sh cd.. / X