13.07.2013 Views

Coloration online dans les graphes de co-comparabilité

Coloration online dans les graphes de co-comparabilité

Coloration online dans les graphes de co-comparabilité

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ÉCOLE POLYTECHNIQUE<br />

FÉDÉRALE DE LAUSANNE<br />

<strong>Coloration</strong> <strong>online</strong><br />

<strong>dans</strong> <strong>les</strong> <strong>graphes</strong> <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité<br />

4<br />

Samuel Bian<strong>co</strong><br />

Semestre d’automne 2007<br />

6<br />

5<br />

Assistant responsable : Benjamin Leroy-Beaulieu<br />

Professeur : Dominique <strong>de</strong> Werra<br />

1<br />

2<br />

3


Table <strong>de</strong>s matières<br />

1 Introduction 3<br />

2 Définitions et exemple fil rouge 4<br />

2.1 Définitions <strong>de</strong> base . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

2.2 Exemple et modélisation . . . . . . . . . . . . . . . . . . . . . 6<br />

3 <strong>Coloration</strong> offline 9<br />

3.1 Graphes parfaits . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

4 <strong>Coloration</strong> <strong>online</strong> 10<br />

4.1 <strong>Coloration</strong> <strong>online</strong> d’un graphe <strong>de</strong> <strong>co</strong>mparabilité . . . . . . . . 10<br />

4.2 <strong>Coloration</strong> <strong>online</strong> d’un graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité . . . . . . . 12<br />

4.3 <strong>Coloration</strong> par l’algorithme First Fit . . . . . . . . . . . . . . 16<br />

5 Conclusion 21<br />

2


1 Introduction<br />

Dans l’industrie <strong>de</strong> l’acier, <strong>de</strong>s feuil<strong>les</strong> <strong>de</strong> métal <strong>de</strong> taille aléatoire sont<br />

fabriquées. Après la fonte, <strong>les</strong> plaques sont déposées sur <strong>de</strong>s chariots afin<br />

d’être entreposées. Les <strong>co</strong>ûts <strong>de</strong> stockage étant élevés, on souhaite minimiser<br />

le nombre <strong>de</strong> chariots à utiliser, pour gagner un maximum <strong>de</strong> place au sol<br />

et donc d’argent. Notons que le nombre <strong>de</strong> plaques fabriquées est <strong>co</strong>nnu à<br />

l’avance. Pour <strong>de</strong>s raisons <strong>de</strong> stabilité, une plaque ne peut être déposée sur<br />

une autre que si elle est plus petite que l’autre. En effet, la pile serait vacillante<br />

si cette <strong>co</strong>ndition n’était pas respectée; et, suite à une étu<strong>de</strong> poussée,<br />

il s’est avéré que l’é<strong>co</strong>nomie sur <strong>les</strong> chariots ne <strong>co</strong>mpense pas la perte en cas<br />

<strong>de</strong> chute <strong>de</strong> la pile. Ajoutons en<strong>co</strong>re qu’il n’est pas possible <strong>de</strong> soulever une<br />

plaque pour en glisser une autre au-<strong>de</strong>ssous.<br />

Nous <strong>co</strong>mmencerons par donner <strong>les</strong> définitions principa<strong>les</strong> et modéliser<br />

le problème sous forme <strong>de</strong> graphe. Ensuite, nous allons voir <strong>de</strong>ux types <strong>de</strong><br />

résolution. Nous nous intéresserons en premier lieu à la résolution dite « offline<br />

», c’est-à-dire que nous attendrons que toutes <strong>les</strong> plaques soient sorties<br />

<strong>de</strong> la presse pour déci<strong>de</strong>r sur quel chariot <strong>les</strong> placer. Nous supposerons ensuite<br />

que dès qu’une plaque sort <strong>de</strong> la presse, il faut absolument la placer sur<br />

un chariot. C’est la résolution « <strong>online</strong> ». Dans cette partie, nous étudierons<br />

<strong>de</strong>ux algorithmes : OcCC et First Fit. Nous terminerons par une synthèse<br />

<strong>de</strong>s différents résultats.<br />

3


2 Définitions et exemple fil rouge<br />

2.1 Définitions <strong>de</strong> base<br />

Dans cette section, nous donnons <strong>les</strong> définitions <strong>de</strong> <strong>co</strong>ncepts nécessaires<br />

à la <strong>co</strong>mpréhension <strong>de</strong> ce travail. Les <strong>de</strong>ux notions suivantes sont tirées <strong>de</strong><br />

l’article Online algorithms : A survey [1].<br />

Un problème dont <strong>les</strong> données ne sont pas <strong>co</strong>mplètes avant <strong>de</strong> <strong>co</strong>mmencer<br />

sa résolution est dit <strong>online</strong>. Par opposition, un problème dont toutes <strong>les</strong><br />

données sont <strong>co</strong>nnues au début du processus <strong>de</strong> résolution est dit offline.<br />

Les définitions qui suivent sont <strong>de</strong>s définitions classiques <strong>de</strong> la théorie <strong>de</strong>s<br />

<strong>graphes</strong>. El<strong>les</strong> sont tirées <strong>de</strong> Algorithmic graph theory and perfect graphs [2].<br />

Définition 1. Un graphe G = (V, E) est le <strong>co</strong>uple <strong>co</strong>nstitué :<br />

1. d’un ensemble V = {v1, . . .,vn};<br />

2. d’une famille E = {(a, b) | a ∈ V, b ∈ V }.<br />

On appelle V l’ensemble <strong>de</strong>s sommets et E l’ensemble <strong>de</strong>s arêtes.<br />

Si un graphe est orienté (c’est-à-dire (a, b) = (b, a)), alors on parle <strong>de</strong><br />

digraphe (<strong>de</strong> l’anglais directed graph).<br />

Définition 2. Un graphe sera appelé graphe simple si l’on a <strong>les</strong> <strong>de</strong>ux <strong>co</strong>nditions<br />

suivantes :<br />

1. ∀ (x, y) ∈ E, x = y ;<br />

2. ∀ x = (x1, x2) ∈ E, ∀ y = (y1, y2) ∈ E, si x = y, alors x1 = y1 ou<br />

x2 = y2.<br />

Un graphe qui n’est pas simple est appelé multigraphe.<br />

Dans cet article, sauf mention du <strong>co</strong>ntraire, le terme « graphe » désigne<br />

toujours un graphe simple. Ces définitions basiques nous permettent d’introduire<br />

<strong>les</strong> termes utilisés abondamment <strong>dans</strong> ce travail. Les définitions<br />

qui suivent peuvent être retrouvées <strong>dans</strong> Online Coloring of Comparability<br />

Graphs : some results [3] et <strong>dans</strong> Algorithmic Graph Theory and Perfect<br />

Graphs [2].<br />

Définition 3. Un ensemble C ⊂ V est appelé clique (ou <strong>co</strong>mplet) si <strong>de</strong>ux<br />

sommets distincts sont toujours adjacents, i.e. il y a un arc entre chaque paire<br />

<strong>de</strong> sommets.<br />

Définition 4. Un ensemble S ⊂ V est dit stable si <strong>de</strong>ux sommets distincts<br />

<strong>de</strong> S ne sont jamais adjacents.<br />

4


Définition 5. Une <strong>co</strong>loration admissible, parfois appelée simplement <strong>co</strong>loration,<br />

est une partition <strong>de</strong> l’ensemble <strong>de</strong>s sommets V en ensemb<strong>les</strong> stab<strong>les</strong>.<br />

Une k-<strong>co</strong>loration d’un graphe G est une <strong>co</strong>loration qui utilise au plus k ensemb<strong>les</strong><br />

stab<strong>les</strong>. Ajoutons en<strong>co</strong>re que le nombre chromatique d’un graphe G,<br />

noté χ(G), est le plus petit nombre k tel que G admette une k-<strong>co</strong>loration.<br />

Définition 6. Soit A un algorithme <strong>de</strong> <strong>co</strong>loration <strong>online</strong> d’un graphe G. Soit<br />

χA(G) le nombre maximum <strong>de</strong> <strong>co</strong>uleurs utilisées par A pour <strong>co</strong>lorer G sous<br />

toutes <strong>les</strong> présentations <strong>online</strong>s possib<strong>les</strong> <strong>de</strong> G. Un algorithme <strong>online</strong> garantit<br />

un rapport <strong>de</strong> <strong>co</strong>mpétitivité <strong>de</strong> ρ(G) si, pour tout graphe G,<br />

ρ(G) ≥ χA(G)<br />

χ(G) .<br />

Cela revient en fait à trouver la <strong>co</strong>nfiguration qui donne le plus grand écart<br />

entre la solution <strong>online</strong> donnée par l’algorithme A et la solution optimale<br />

offline.<br />

Cet article traite <strong>de</strong> <strong>de</strong>ux types <strong>de</strong> <strong>graphes</strong> bien particuliers. Il s’agit <strong>de</strong>s<br />

<strong>graphes</strong> <strong>de</strong> <strong>co</strong>mparabilité et <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité. Avant <strong>de</strong> pouvoir <strong>les</strong> définir,<br />

nous avons en<strong>co</strong>re besoin <strong>de</strong>s notions qui suivent.<br />

Définition 7. On dit qu’un graphe orienté G = (V, E) respecte la propriété<br />

d’orientation transitive si la <strong>co</strong>ndition suivante est respectée :<br />

(a, b) ∈ E et (b, c) ∈ E ⇒ (a, c) ∈ E, ∀ a, b, c ∈ V.<br />

Définition 8. Soit G = (V, E) un graphe (orienté ou non). Le <strong>co</strong>mplément<br />

<strong>de</strong> G est le graphe G = (V, E), où<br />

E = {(a, b) ∈ V × V | a = b et (a, b) /∈ E}.<br />

Maintenant, nous pouvons passer aux <strong>de</strong>ux <strong>de</strong>rnières définitions <strong>de</strong> cette<br />

section.<br />

Définition 9. Un graphe G non-orienté qui admet une orientation transitive<br />

est appelé graphe <strong>de</strong> <strong>co</strong>mparabilité.<br />

Définition 10. Si G est un graphe <strong>de</strong> <strong>co</strong>mparabilité, alors son <strong>co</strong>mplément<br />

est appelé graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité.<br />

Un exemple <strong>de</strong> graphe <strong>de</strong> <strong>co</strong>mparabilité et <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité se trouve<br />

<strong>dans</strong> la partie ci-après (Fig. 3 et Fig. 4 respectivement, page 8).<br />

5


2.2 Exemple et modélisation<br />

Nous allons maintenant pouvoir modéliser le problème initial. Nous nous<br />

appuierons sur un exemple que nous gar<strong>de</strong>rons tout au long <strong>de</strong> cet article.<br />

Nous l’appelons exemple fil rouge.<br />

Modélisation du problème<br />

Le problème qui suit a motivé ce travail. C’est un exemple <strong>co</strong>ncret <strong>dans</strong><br />

lequel la théorie développée <strong>dans</strong> le reste <strong>de</strong> cet article s’applique.<br />

Dans une usine, on doit transporter <strong>de</strong>s plaques <strong>de</strong> métal sur <strong>de</strong>s chariots.<br />

Pour <strong>de</strong>s raisons <strong>de</strong> stabilité, chaque plaque déposée au sommet <strong>de</strong> la pile ne<br />

doit pas dépasser <strong>de</strong> celle du <strong>de</strong>ssous. En d’autres termes, la plaque A peut<br />

être posée sur la plaque B si et seulement si<br />

⎧<br />

⎨<br />

⎩<br />

Ax ≤ Bx<br />

Ay ≤ By<br />

A est arrivée après B<br />

où Ax, Ay et Bx, By sont <strong>les</strong> dimensions <strong>de</strong> la plaque A et B respectivement.<br />

Ce problème peut être présenté sous forme <strong>de</strong> graphe. L’arc reliant A à B<br />

(A → B) signifie que « A peut être posé sur B ». Il est clair que si la plaque<br />

A peut être posée sur la plaque B et que la plaque B peut être posée sur<br />

la plaque C, alors la plaque A pourrait aussi être posée sur la plaque C. Ce<br />

sera donc un graphe <strong>de</strong> <strong>co</strong>mparabilité.<br />

Nous pouvons maintenant <strong>co</strong>mmencer à penser à la résolution <strong>de</strong> ce<br />

problème. Nous cherchons à <strong>co</strong>uvrir le graphe <strong>de</strong> <strong>co</strong>mparabilité par <strong>de</strong>s cliques.<br />

Chaque clique représentera un chariot différent. En effet, tous <strong>les</strong> éléments<br />

d’une clique sont, par définition, reliés entre eux. En terme <strong>de</strong> « plaque »,<br />

cela signifie que <strong>les</strong> plaques <strong>de</strong> la même <strong>co</strong>uleur seront placées <strong>les</strong> une sur <strong>les</strong><br />

autres et formeront donc un chariot.<br />

Cependant, nous n’allons pas tenter <strong>de</strong> <strong>co</strong>uvrir le graphe <strong>de</strong> <strong>co</strong>mparabilité<br />

par <strong>de</strong>s cliques directement, nous allons résoudre un problème similaire. Nous<br />

allons <strong>co</strong>lorer (i.e. <strong>co</strong>uvrir par <strong>de</strong>s stab<strong>les</strong>) son graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité.<br />

C’est une tâche équivalente, car <strong>co</strong>uvrir un graphe par <strong>de</strong>s cliques revient<br />

à <strong>co</strong>uvrir son <strong>co</strong>mplément par <strong>de</strong>s stab<strong>les</strong>. L’exemple ci-<strong>de</strong>ssous (Fig. 1) le<br />

montre très bien.<br />

Exemple fil rouge<br />

Dans cet exemple fil rouge, nous nous restreindrons à la production <strong>de</strong><br />

six plaques <strong>de</strong> métal. La figure 2 (page 7) montre la dimension <strong>de</strong>s plaques<br />

ainsi que l’ordre d’arrivée <strong>de</strong> cel<strong>les</strong>-ci.<br />

6


Couvert par <strong>de</strong>s cliques Couvert par <strong>de</strong>s stab<strong>les</strong><br />

Fig. 1 – Couverture par <strong>de</strong>s stab<strong>les</strong> et <strong>de</strong>s cliques.<br />

5<br />

4<br />

3<br />

1<br />

3<br />

5<br />

Fig. 2 – Dimensions et ordre d’arrivée <strong>de</strong>s six plaques.<br />

7<br />

1<br />

2<br />

1<br />

5<br />

5<br />

4<br />

1<br />

3<br />

2<br />

6<br />

3<br />

2


En observant la figure 2, nous remarquons que nous pouvons relier le<br />

sommet 5 au sommet 4 (5 → 4), vu que la plaque 5 est plus petite que la<br />

plaque 4 et qu’elle est arrivée après. En revanche, il n’est pas possible <strong>de</strong><br />

placer la plaque 1 sur la 5, vu qu’elle est arrivée avant. En procédant <strong>de</strong><br />

cette manière pour chaque plaque, nous trouvons le graphe <strong>de</strong> <strong>co</strong>mparabilité<br />

<strong>de</strong> l’exemple fil rouge (Fig. 3).<br />

4<br />

6<br />

5<br />

Fig. 3 – Problème mis sous forme <strong>de</strong> graphe <strong>de</strong> <strong>co</strong>mparabilité.<br />

En appliquant la définition 8, nous trouvons son graphe <strong>co</strong>mplémentaire.<br />

C’est donc un graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité (Fig. 4).<br />

4<br />

6<br />

5<br />

Fig. 4 – Problème mis sous forme <strong>de</strong> graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité.<br />

Pour illustrer <strong>les</strong> différents algorithmes proposés <strong>dans</strong> <strong>les</strong> parties qui<br />

suivent, nous nous servirons en premier lieu <strong>de</strong> cet exemple fil rouge.<br />

8<br />

1<br />

2<br />

1<br />

2<br />

3<br />

3


3 <strong>Coloration</strong> offline<br />

3.1 Graphes parfaits<br />

Nous n’avons pas trouvé trace <strong>dans</strong> la littérature qu’un graphe <strong>de</strong> <strong>co</strong><strong>co</strong>mparabilité<br />

est parfait. Nous allons le montrer brièvement. Nous nous appuyons<br />

sur un <strong>co</strong>rollaire et un théorème tirés <strong>de</strong> Algorithmic Graph Theory<br />

and Perfect Graphs [2].<br />

Corollaire 1. Un graphe G est <strong>co</strong>mplet si et seulement si son <strong>co</strong>mplémentaire<br />

G est parfait.<br />

Théorème 1. Tout graphe <strong>de</strong> <strong>co</strong>mparabilité est un graphe parfait.<br />

Nous en déduisons que tout graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité est un graphe parfait.<br />

Vu qu’il existe un algorithme pour <strong>co</strong>lorer <strong>les</strong> <strong>graphes</strong> parfaits donnés offline,<br />

nous pouvons donc affirmer qu’un tel algorithme existe pour <strong>les</strong> <strong>graphes</strong><br />

<strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité.<br />

Ainsi, il existe une <strong>co</strong>uverture par clique optimale pour tout graphe <strong>de</strong><br />

<strong>co</strong>mparabilité présenté offline.<br />

9


4 <strong>Coloration</strong> <strong>online</strong><br />

Dans cette section, nous allons <strong>co</strong>mparer <strong>de</strong>ux algorithmes, à savoir OcCC<br />

et First Fit. Ce <strong>de</strong>rnier est un algorithme classique utilisé <strong>dans</strong> la théorie <strong>de</strong>s<br />

<strong>graphes</strong>. L’algorithme OcCC est un dérivé d’un algorithme <strong>de</strong> <strong>co</strong>loration <strong>de</strong>s<br />

<strong>graphes</strong> <strong>de</strong> <strong>co</strong>mparabilité.<br />

4.1 <strong>Coloration</strong> <strong>online</strong> d’un graphe <strong>de</strong> <strong>co</strong>mparabilité<br />

L’algorithme OCC (<strong>de</strong> l’anglais : <strong>online</strong> <strong>co</strong>mparability graph <strong>co</strong>loring) est<br />

tiré <strong>de</strong> Online Coloring of Comparability Graphs : some results [3]. Il sert à<br />

<strong>co</strong>lorer un graphe <strong>de</strong> <strong>co</strong>mparabilité, dont <strong>les</strong> sommets sont délivrés <strong>online</strong>.<br />

Toujours <strong>dans</strong> ce même article, nous trouvons le théorème ci-<strong>de</strong>ssous.<br />

Théorème 2. Il existe un algorithme pour <strong>co</strong>lorer <strong>les</strong> <strong>graphes</strong> <strong>de</strong> <strong>co</strong>mparabilité<br />

(présentés <strong>online</strong> et avec une orientation transitive) garantissant un<br />

rapport <strong>de</strong> <strong>co</strong>mpétitivité <strong>de</strong> χ+1<br />

2 .<br />

Dans la preuve <strong>de</strong> ce théorème, <strong>les</strong> auteurs montrent que cet algorithme<br />

est OCC. Le principe <strong>de</strong> cet algorithme est le suivant.<br />

Il va assigner à chaque sommet une <strong>co</strong>uleur, sous forme <strong>de</strong> suite croissante<br />

<strong>de</strong> nombres entiers. A chaque étape, nous notons C(v) la <strong>co</strong>uleur du sommet<br />

v. Les nombres Cl(v) et Cr(v) désignent <strong>les</strong> nombres situés à l’extrême gauche<br />

(respectivement droite) <strong>de</strong> la <strong>co</strong>uleur <strong>de</strong> v. Par exemple, si C(v) = 234, alors<br />

Cl(v) = 2 et Cr(v) = 4. Remarquons en<strong>co</strong>re que s’il n’y a pas d’ambiguïté<br />

sur le sommet désigné, on notera seulement C, Cl et Cr. Dès qu’un sommet<br />

apparaît, disons le sommet v ∗ , l’algorithme va lui assigner une <strong>co</strong>uleur. Il va<br />

d’abord tenter <strong>de</strong> lui donner une <strong>co</strong>uleur déjà présente <strong>dans</strong> le graphe. S’il ne<br />

peut pas, il va augmenter la <strong>co</strong>uleur (donc la suite) <strong>de</strong> tous <strong>les</strong> autres sommets<br />

du graphe déjà présentés d’une unité et assigner au sommet fraîchement<br />

ajouté une nouvelle <strong>co</strong>uleur. Celle-ci est en rapport avec le rang <strong>de</strong> v ∗ <strong>dans</strong><br />

le plus long chemin du graphe le <strong>co</strong>ntenant. L’algorithme OCC (Alg. 1) est<br />

présenté ci-après.<br />

<strong>Coloration</strong> <strong>de</strong> l’exemple fil rouge<br />

En appliquant l’algorithme OCC à l’exemple fil rouge, nous obtenons une<br />

2-<strong>co</strong>loration <strong>de</strong> ce graphe <strong>de</strong> <strong>co</strong>mparabilité (Fig. 5).<br />

Notons que, <strong>dans</strong> ce cas très précis, la <strong>co</strong>loration donnée est l’optimum,<br />

i.e. la <strong>co</strong>loration optimale si ce graphe avait été donné offline. Cependant, ce<br />

n’est pas toujours le cas.<br />

10


Algorithme 1 : <strong>Coloration</strong> <strong>online</strong> d’un graphe <strong>de</strong> <strong>co</strong>mparabilité (OCC)<br />

Données : Un graphe <strong>de</strong> <strong>co</strong>mparabilité G délivré <strong>online</strong>, sommet par<br />

sommet<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

Résultat : Une χ(χ+1)<br />

2 -<strong>co</strong>loration <strong>de</strong> G, où χ est le nombre<br />

chromatique <strong>de</strong> G. χ n’est pas <strong>co</strong>nnu avant la fin <strong>de</strong><br />

l’algorithme.<br />

tant que G n’est pas <strong>co</strong>mplètement présenté faire<br />

Soit G ′ le sous-graphe <strong>de</strong> G induit par <strong>les</strong> sommets déjà présentés.<br />

Définir k := χ(G ′ ) et accepter un nouveau sommet v∗ ;<br />

Dans le graphe défini par G ′ ∪ {v∗ }, <strong>co</strong>nsidérer le plus long chemin<br />

K <strong>co</strong>ntenant v∗ . Soit l := |K|;<br />

si l > k alors<br />

Renommer <strong>les</strong> <strong>co</strong>uleurs déjà attribuées <strong>de</strong> la manière suivante :<br />

Pour chaque sommet v, renommer sa <strong>co</strong>uleur en <strong>co</strong>ncaténant le<br />

nom <strong>de</strong> sa <strong>co</strong>uleur C(v) avec Cr(v) + 1 sur la droite.<br />

Incrémenter k <strong>de</strong> 1;<br />

Soit p le rang <strong>de</strong> v ∗ <strong>dans</strong> K. Attribuer à v ∗ la <strong>co</strong>uleur<br />

p . . .(k − l + p);<br />

fin<br />

4<br />

12<br />

1<br />

1<br />

6<br />

5<br />

Fig. 5 – <strong>Coloration</strong> <strong>de</strong> l’exemple fil rouge par l’algorithme OCC.<br />

11<br />

1<br />

12<br />

12<br />

2<br />

1<br />

3


4.2 <strong>Coloration</strong> <strong>online</strong> d’un graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité<br />

Le but <strong>de</strong> ce projet est <strong>de</strong> <strong>co</strong>lorer un graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité, afin <strong>de</strong><br />

pouvoir résoudre le problème <strong>de</strong>s plaques <strong>de</strong> métal. L’algorithme OcCC (<strong>de</strong><br />

l’anglais : <strong>online</strong> <strong>co</strong>-<strong>co</strong>mparability graph <strong>co</strong>loring) présenté ci-<strong>de</strong>ssous (Alg. 2)<br />

est un moyen <strong>de</strong> <strong>co</strong>lorer un tel graphe. Il est fortement inspiré <strong>de</strong> l’algorithme<br />

OCC.<br />

Un graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité est, par définition, non-orienté. Il est donc<br />

impossible <strong>de</strong> pouvoir appliquer l’algorithme OCC tel quel. C’est pourquoi,<br />

l’algorithme OcCC <strong>co</strong>mprend une phase d’orientation <strong>de</strong>s arêtes. Il oriente<br />

<strong>les</strong> arêtes <strong>de</strong> manière à ce que la flèche aille du somment le plus ancien au<br />

sommet le plus récent (selon l’ordre d’arrivée).<br />

Pourquoi avoir choisi cette orientation précise? Il s’agit <strong>de</strong> l’orientation<br />

la plus intuitive. Nous aurions aussi pu orienter <strong>les</strong> arcs <strong>de</strong> manière à ce que<br />

<strong>les</strong> flèches aillent du sommet <strong>les</strong> plus récents au plus anciens. Cela aurait<br />

aussi été intuitif, mais l’algorithme OcCC ne fonctionnait pas avec cette<br />

orientation.<br />

Ainsi, nous pouvons appliquer l’algorithme OCC au graphe fraîchement<br />

orienté. L’algorithme OcCC (Alg. 2) est présenté ci-après.<br />

Algorithme 2 : <strong>Coloration</strong> <strong>online</strong> d’un graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité<br />

(OcCC)<br />

Données : Un graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité G délivré <strong>online</strong>, sommet<br />

par sommet<br />

Résultat : Une <strong>co</strong>loration <strong>de</strong> G<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

tant que G n’est pas <strong>co</strong>mplètement présenté faire<br />

Soit G ′ le sous-graphe <strong>de</strong> G induit par <strong>les</strong> sommets déjà présentés.<br />

Définir k := χ(G ′ ) et accepter un nouveau sommet v∗ ;<br />

Pour tous sommets a, b ∈ G ′ ∪ {v∗ }, si (a, b) ∈ G ′ ∪ {v∗ }, orienter<br />

l’arc (a, b) <strong>de</strong> telle sorte que l’arc aille du sommet le plus ancien au<br />

plus récent;<br />

Dans le graphe orienté défini par G ′ ∪ {v ∗ }, <strong>co</strong>nsidérer le plus long<br />

chemin K <strong>co</strong>ntenant v∗ . Définir l := |K|;<br />

si l > k alors<br />

Pour chaque sommet v, renommer sa <strong>co</strong>uleur en <strong>co</strong>ncaténant<br />

Cr(v) + 1 à sa <strong>co</strong>uleur C(v). Poser k := k + 1;<br />

Soit p le rang <strong>de</strong> v ∗ <strong>dans</strong> K. Attribuer à v ∗ la <strong>co</strong>uleur<br />

p · · ·(k − l + p);<br />

fin<br />

12


Comme expliqué <strong>dans</strong> la section précé<strong>de</strong>nte, l’algorithme OCC est valable<br />

<strong>dans</strong> <strong>les</strong> <strong>graphes</strong> <strong>de</strong> <strong>co</strong>mparabilité. Est-ce que la <strong>co</strong>loration reste admissible<br />

lorsque l’on applique cet algorithme à la version orientée d’un graphe <strong>de</strong><br />

<strong>co</strong>-<strong>co</strong>mparabilité? La réponse est oui. Le théorème qui suit nous l’assure.<br />

Théorème 3. L’algorithme OcCC <strong>co</strong>lore <strong>de</strong> manière admissible <strong>les</strong> <strong>graphes</strong><br />

<strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité. Son rapport <strong>de</strong> <strong>co</strong>mpétitivité ρ est n,<br />

où n est le nombre<br />

2<br />

<strong>de</strong> sommets du graphe.<br />

Démonstration. Elle se base sur quatre affirmations. Notons que l’on dit que<br />

<strong>de</strong>ux sommets v et v ∗ sont sur le même chemin pour dire qu’ils sont liés, i.e.<br />

qu’il existe un chemin allant <strong>de</strong> v à v ∗ ou l’inverse.<br />

Affirmation 1. Si un sommet v du graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité orienté appartient<br />

à <strong>de</strong>ux chemins, tous <strong>de</strong>ux <strong>de</strong> longueur maximale, alors v sera <strong>de</strong><br />

même rang <strong>dans</strong> chaque chemin.<br />

Démonstration. Supposons, par l’absur<strong>de</strong>, que v n’ait pas le même rang <strong>dans</strong><br />

chaque chemin. Soit K1 le chemin <strong>dans</strong> lequel le rang <strong>de</strong> v est le plus petit<br />

et K2 celui <strong>dans</strong> lequel il est le plus grand. On crée un nouveau chemin en<br />

<strong>co</strong>ncaténant <strong>les</strong> éléments <strong>de</strong> K2 qui précè<strong>de</strong>nt v, le sommet v et <strong>les</strong> éléments<br />

<strong>de</strong> K1 qui suivent v. Ce chemin sera alors plus long que K1 et K2, ce qui<br />

<strong>co</strong>ntredit l’hypothèse.<br />

Affirmation 2. Pour tout sommet v <strong>de</strong> <strong>co</strong>uleur C, il existe un chemin <strong>de</strong><br />

longueur χ(G ′ ) + Cl − Cr, où v est <strong>de</strong> rang Cl.<br />

Démonstration. Ceci est trivial lorsque l’on assigne une <strong>co</strong>uleur à v. Ensuite,<br />

chaque fois que χ(G ′ ) augmente <strong>de</strong> 1, Cr augmente aussi <strong>de</strong> 1, par la partie<br />

l > k <strong>de</strong> l’algorithme OcCC. Ceci nous assure la validité <strong>de</strong> l’affirmation<br />

2.<br />

Affirmation 3. L’algorithme OcCC donne une <strong>co</strong>loration admissible du<br />

graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité G.<br />

Démonstration. Soit v ∗ le <strong>de</strong>rnier sommet introduit. Soit v un sommet <strong>de</strong> la<br />

même <strong>co</strong>uleur que v ∗ . Il faut montrer que v et v ∗ ne sont pas sur le même<br />

chemin.<br />

Par l’absur<strong>de</strong>, supposons que v soit avant v ∗ sur un chemin K. Par l’affirmation<br />

2, le sommet v appartient à un chemin Kv. Toujours par cette<br />

affirmation, le sommet v∗ appartient à un chemin Kv∗ <strong>de</strong> longueur χ(G′ ) +<br />

Cl(v∗ ) − Cr(v∗ ) et v∗ est <strong>de</strong> rang Cl(v∗ ) <strong>dans</strong> Kv∗. De plus, Kv∗ est <strong>de</strong> longueur<br />

maximale.<br />

Comme <strong>dans</strong> la preuve <strong>de</strong> l’affirmation 1, on définit un nouveau chemin en<br />

13


<strong>co</strong>ncaténant <strong>les</strong> éléments <strong>de</strong> Kv précédant v, <strong>les</strong> sommets v et v∗ , ainsi que <strong>les</strong><br />

sommets <strong>de</strong> Kv∗ suivant v∗ . Ce chemin sera alors plus long que Kv∗, d’où la<br />

<strong>co</strong>ntradiction. Ainsi, v et v ∗ ne sont pas sur le même chemin et la <strong>co</strong>loration<br />

est admissible.<br />

Le cas v ∗ précédant v se traite <strong>de</strong> manière similaire.<br />

Les affirmations 1 à 3 nous assurent une <strong>co</strong>loration admissible du graphe<br />

<strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité. Il faut en<strong>co</strong>re voir que ρ = n<br />

2 .<br />

Affirmation 4. Toute chaîne <strong>de</strong> n sommets est le <strong>co</strong>mplément d’un graphe<br />

<strong>de</strong> <strong>co</strong>mparabilité.<br />

Démonstration. Soit une chaîne <strong>de</strong> n sommets. Prenons son graphe <strong>co</strong>mplémentaire<br />

(non-orienté, pour l’instant). On remarque que :<br />

– le sommet {1} est relié à n − 2 autres sommets (tous sauf le {2} et<br />

lui-même);<br />

– <strong>les</strong> sommets {k} avec k ∈ {2, . . ., n − 1} sont reliés à n − 3 autres<br />

sommets (tous sauf {k − 1}, {k + 1} et lui-même);<br />

– le sommet {n} est relié à n − 2 autres sommets (tous sauf {n − 1} et<br />

lui-même).<br />

Nous orientons le graphe <strong>de</strong> la manière suivante :<br />

∀ (a, b) ∈ E,<br />

si a < b, alors orienter l’arête <strong>de</strong> la sorte : a → b<br />

si a > b, alors orienter l’arête <strong>de</strong> la sorte : b → a<br />

Montrons que ce graphe fraîchement orienté forme un graphe <strong>de</strong> <strong>co</strong>mparabilité.<br />

Pour ce faire, nous allons montrer que si l’arc (a, b) et l’arc (b, c) sont<br />

<strong>dans</strong> le graphe, alors l’arc (a, c) y est aussi.<br />

Soient {k}, {i}, {j} trois sommets tels que k, i, j ∈ {1, . . .,n} et k <<br />

i < j. Supposons en<strong>co</strong>re que (k, i) et (i, j) sont <strong>dans</strong> le graphe. Le sommet<br />

{k} est, grâce à l’orientation, relié à tous <strong>les</strong> sommets α tels que α > k + 1.<br />

Donc i > k + 1. Par le même argument, j > i + 1. Nous en tirons donc que<br />

j > i + 1 > k + 2 > k + 1. Donc (k, j) est <strong>dans</strong> le graphe.<br />

Comme k, i, j étaient arbitraires, tout triplet <strong>de</strong> sommets du graphe vérifie<br />

la propriété d’orientation transitive. C’est un graphe <strong>de</strong> <strong>co</strong>mparabilité.<br />

Si on donne à OcCC une chaîne <strong>de</strong> longueur n (qui est un graphe <strong>de</strong><br />

<strong>co</strong>-<strong>co</strong>mparabilité, d’après l’affirmation 4), il va nous donner n <strong>co</strong>uleurs. L’op-<br />

timum serait <strong>de</strong>ux <strong>co</strong>uleurs (alterner <strong>les</strong> <strong>co</strong>uleurs 1 et 2). Donc ρ ≥ n<br />

2 .<br />

S’il y a n sommets isolés, l’algorithme OcCC va utiliser une seule <strong>co</strong>uleur<br />

(ce qui est l’optimum). Au maximum, OcCC peut donner n <strong>co</strong>uleurs (une<br />

différente pour chaque sommet). De plus, dès qu’il y a un arc <strong>dans</strong> le graphe,<br />

l’optimum est au moins à <strong>de</strong>ux <strong>co</strong>uleurs. Donc ρ ≤ n<br />

2 .<br />

et le théorème est démontré.<br />

Finalement, ρ = n<br />

2<br />

14


Illustration<br />

Nous donnons ici une instance pour laquelle OcCC atteint sa borne. L’algorithme<br />

va trouver 4 <strong>co</strong>uleurs pour le graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité, alors que<br />

l’optimum est 2.<br />

1<br />

4<br />

12<br />

1<br />

2<br />

12<br />

3<br />

1<br />

4<br />

1234<br />

1<br />

2<br />

234<br />

Graphe <strong>de</strong> <strong>co</strong>mparabilité Graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité<br />

Fig. 6 – Présentation du plus mauvais cas pour l’algorithme OcCC.<br />

Remarque 1. L’algorithme OcCC atteint sa borne pour n’importe quelle<br />

chaîne <strong>de</strong> longueur n.<br />

<strong>Coloration</strong> <strong>de</strong> l’exemple fil rouge<br />

Nous allons appliquer l’algorithme OcCC à l’exemple fil rouge. La figure<br />

ci-après (Fig. 7) montre le résultat du passage <strong>de</strong> l’exemple fil rouge <strong>dans</strong><br />

l’algorithme OcCC. Il en ressort une 3-<strong>co</strong>loration du graphe.<br />

3<br />

4<br />

3<br />

6<br />

5<br />

23<br />

4<br />

123<br />

1<br />

2<br />

23<br />

3<br />

3<br />

123<br />

Fig. 7 – <strong>Coloration</strong> <strong>de</strong> l’exemple fil rouge par l’algorithme OcCC.<br />

15<br />

34


4.3 <strong>Coloration</strong> par l’algorithme First Fit<br />

L’algorithme First Fit est un algorithme basique <strong>dans</strong> <strong>les</strong> problèmes <strong>de</strong><br />

<strong>co</strong>loration <strong>online</strong>. Son principe est simple : dès qu’un sommet arrive, il lui<br />

attribue la <strong>co</strong>uleur la plus petite possible. Nous allons restreindre notre étu<strong>de</strong><br />

aux <strong>graphes</strong> <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité bipartis.<br />

Rapport <strong>de</strong> <strong>co</strong>mpétitivité <strong>de</strong> First Fit<br />

Théorème 4. Soit n le nombre <strong>de</strong> sommets d’un graphe G.<br />

Dans <strong>les</strong> <strong>graphes</strong> <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité bipartis, First Fit a un rapport <strong>de</strong><br />

<strong>co</strong>mpétitivité <strong>de</strong> O( √ n).<br />

Démonstration. Par Online Coloring of Comparability Graphs : some results<br />

[3], nous savons que <strong>dans</strong> <strong>les</strong> <strong>graphes</strong> <strong>de</strong> permutation bipartis, First<br />

Fit a un rapport <strong>de</strong> <strong>co</strong>mpétitivité <strong>de</strong> O( √ n). Comme un graphe <strong>de</strong> permutation<br />

est un graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité, nous en déduisons que le rapport<br />

<strong>de</strong> <strong>co</strong>mpétitivité <strong>de</strong> First Fit <strong>dans</strong> <strong>les</strong> <strong>graphes</strong> <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité bipartis,<br />

ρFF, est plus grand que O( √ n). De plus, nous savons que <strong>dans</strong> <strong>les</strong> <strong>graphes</strong><br />

généraux, First Fit a un rapport <strong>de</strong> n 1<br />

+ . Ainsi, nous pouvons donner <strong>de</strong>ux<br />

4 2<br />

bornes pour le rapport <strong>de</strong> <strong>co</strong>mpétitivité <strong>de</strong> First Fit <strong>dans</strong> <strong>les</strong> <strong>graphes</strong> <strong>de</strong><br />

<strong>co</strong>-<strong>co</strong>mparabilité :<br />

O √ n ≤ ρFF ≤ n 1<br />

+ (1)<br />

4 2<br />

Nous allons maintenant essayer <strong>de</strong> restreindre cet intervalle. Nous allons<br />

abaisser la borne supérieure. Pour ce faire, nous <strong>de</strong>vons trouver le nombre<br />

minimum <strong>de</strong> sommets n qu’il faut pour forcer la ke <strong>co</strong>uleur.<br />

Remarquons que le graphe <strong>de</strong> la figure 8 (page 17) est un sous-graphe<br />

interdit. En effet, le <strong>co</strong>mplément <strong>de</strong> ce graphe n’est pas un graphe <strong>de</strong> <strong>co</strong>mparabilité.<br />

Il faudrait ajouter <strong>les</strong> arcs qui sont en traitillés. Nous pouvons en<br />

déduire que si un graphe <strong>co</strong>ntient ce sous-graphe interdit, il ne sera pas un<br />

graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité.<br />

Nous cherchons à remédier à ce problème. Nous allons ajouter un sommet<br />

<strong>de</strong> <strong>co</strong>uleur 1 (Fig. 9). Le <strong>co</strong>mplément du graphe <strong>de</strong>vient un graphe <strong>de</strong><br />

<strong>co</strong>mparabilité et donc le graphe un graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité.<br />

Nous déduisons <strong>de</strong> ceci que pour forcer First Fit à ajouter la <strong>co</strong>uleur<br />

3 et que le graphe reste un graphe <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité, il faut ajouter un<br />

sommet <strong>de</strong> <strong>co</strong>uleur 1. Remarquons que l’on pourrait aussi ajouter un sommet<br />

<strong>de</strong> <strong>co</strong>uleur 2, cela reviendrait au même. Forçons maintenant l’algorithme à<br />

ajouter la <strong>co</strong>uleur 4. En regardant <strong>les</strong> <strong>co</strong>uleurs 4-3-2, on remarque qu’il y a un<br />

sous-graphe interdit (Fig. 10). Il faudra donc ajouter un troisième sommet<br />

<strong>de</strong> <strong>co</strong>uleur 2.<br />

16


3<br />

2<br />

1<br />

Ce n’est pas un graphe<br />

<strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité.<br />

3<br />

2<br />

1<br />

3<br />

2<br />

1<br />

Fig. 8 – Sous-graphe interdit<br />

3<br />

2<br />

1<br />

1<br />

C’est un graphe<br />

<strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité.<br />

3<br />

2<br />

1<br />

Ce n’est pas un graphe<br />

<strong>de</strong> <strong>co</strong>mparabilité.<br />

3<br />

2<br />

1<br />

3<br />

2<br />

1<br />

3<br />

2<br />

1<br />

1<br />

C’est un graphe<br />

<strong>de</strong> <strong>co</strong>mparabilité.<br />

Fig. 9 – Solution pour avoir un graphe <strong>de</strong> <strong>co</strong>mparabilité<br />

17


4<br />

3<br />

2<br />

1<br />

4<br />

3<br />

2<br />

1<br />

1<br />

En noir, le<br />

sous-graphe interdit.<br />

4<br />

3<br />

2<br />

1<br />

Solution pour éviter<br />

ce sous-graphe interdit.<br />

Fig. 10 – Solution pour éviter le premier sous-graphe interdit.<br />

18<br />

4<br />

3<br />

2<br />

1<br />

1<br />

2


Cependant, l’ajout <strong>de</strong> ce sommet entraîne la formation d’un nouveau<br />

sous-graphe interdit, et il faut y remédier en ajoutant un sommet <strong>de</strong> <strong>co</strong>uleur<br />

1 (Fig. 11). Ainsi, pour forcer la <strong>co</strong>uleur 4, nous avons dû ajouter un sommet<br />

<strong>de</strong> <strong>co</strong>uleur 1 et un <strong>de</strong> <strong>co</strong>uleur 2.<br />

4<br />

3<br />

2<br />

1<br />

4<br />

3<br />

2<br />

1<br />

1<br />

2<br />

En noir, le<br />

sous-graphe interdit.<br />

4<br />

3<br />

2<br />

1<br />

1<br />

Solution pour éviter<br />

ce sous-graphe interdit.<br />

Fig. 11 – Solution pour éviter le <strong>de</strong>uxième sous-graphe interdit.<br />

Plus généralement, pour forcer First Fit à ajouter la <strong>co</strong>uleur k et que le<br />

graphe ne présente pas <strong>de</strong> sous-graphe interdit, il faut ajouter un sommet <strong>de</strong><br />

<strong>co</strong>uleur k − 2. De même, pour forcer la <strong>co</strong>uleur k − 1, il faudra ajouter un<br />

sommet <strong>de</strong> <strong>co</strong>uleur k −3; pour forcer la (k −2) e <strong>co</strong>uleur, ajouter un sommet<br />

<strong>de</strong> <strong>co</strong>uleur k−4; et ainsi <strong>de</strong> suite. Ensuite, <strong>co</strong>mme nous l’avons vu pour le cas<br />

k = 4, cela reforme <strong>de</strong>s sous-<strong>graphes</strong> interdits. Ainsi, pour chaque sommet<br />

ajouté, il faudra aussi ajouter <strong>de</strong>s sommets <strong>de</strong> <strong>co</strong>uleurs moindres.<br />

Nous aurons donc beau<strong>co</strong>up <strong>de</strong> sommets <strong>de</strong> <strong>co</strong>uleurs « petites » et peu<br />

<strong>de</strong> « gran<strong>de</strong>s » <strong>co</strong>uleurs. En fait, le nombre <strong>de</strong> sommet sera <strong>de</strong> l’ordre <strong>de</strong> k 2 .<br />

19<br />

4<br />

3<br />

2<br />

1<br />

1<br />

2


Ainsi, le nombre <strong>de</strong> <strong>co</strong>uleur est <strong>de</strong> l’ordre <strong>de</strong> √ n. D’où<br />

Finalement, <strong>de</strong> (1) et (2), nous déduisons que<br />

et la preuve est terminée.<br />

ρFF < O( √ n). (2)<br />

ρFF ∼ O( √ n)<br />

Comparaison avec l’algorithme OcCC<br />

Soit n le nombre <strong>de</strong> sommets d’un graphe G. Comme nous venons <strong>de</strong> le<br />

voir, l’algorithme First Fit a un rapport <strong>de</strong> <strong>co</strong>mpétitivité <strong>dans</strong> <strong>les</strong> <strong>graphes</strong><br />

<strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité <strong>de</strong> l’ordre <strong>de</strong> √ n. Le théorème 3 donne le rapport <strong>de</strong><br />

). Nous remarquons donc que<br />

<strong>co</strong>mpétitivité <strong>de</strong> OcCC (ρOcCC = n<br />

2<br />

ρFF ≤ ρOcCC pour n ≥ 2.<br />

Le but premier du rapport <strong>de</strong> <strong>co</strong>mpétitivité est <strong>de</strong> mesurer la performance<br />

<strong>de</strong>s algorithmes afin <strong>de</strong> <strong>les</strong> <strong>co</strong>mparer. Vu que le rapport <strong>de</strong> <strong>co</strong>mpétitivité <strong>de</strong><br />

First Fit est plus petit que celui <strong>de</strong> l’algorithme OcCC, nous pouvons affirmer<br />

que First Fit est meilleur qu’OcCC pour la <strong>co</strong>loration <strong>online</strong> <strong>de</strong> graphe <strong>de</strong><br />

<strong>co</strong>-<strong>co</strong>mparabilité bipartis.<br />

20


5 Conclusion<br />

Nous avons vu <strong>de</strong>ux métho<strong>de</strong>s différentes pour résoudre ce problème.<br />

L’algorithme OcCC n’est pas toujours efficace, puisque nous avons vu que<br />

lorsque <strong>les</strong> sommets arrivent sous forme <strong>de</strong> chaîne (ou qu’un sous-graphe du<br />

graphe à traiter est une chaîne). Nous trouvons un rapport <strong>de</strong> <strong>co</strong>mpétitivité<br />

<strong>de</strong> n,<br />

ce qui n’est pas bon du tout. Nous nous sommes ensuite intéressés<br />

2<br />

à un autre algorithme, First Fit. Cet algorithme est bien <strong>co</strong>nnu, car il est<br />

simple donc souvent utilisé. Cependant, cet algorithme n’est pas toujours<br />

excellent. Nous avons appliqué First Fit uniquement aux <strong>graphes</strong> <strong>de</strong> <strong>co</strong><strong>co</strong>mparabilité<br />

bipartis et trouvé un rapport <strong>de</strong> <strong>co</strong>mpétitivité bien meilleur<br />

que celui d’OcCC, <strong>de</strong> l’ordre <strong>de</strong> √ n. Nous en avons déduit que <strong>dans</strong> <strong>les</strong><br />

<strong>graphes</strong> <strong>de</strong> <strong>co</strong>-<strong>co</strong>mparabilité bipartis, OcCC était moins bon que First Fit.<br />

Le problème initial est donc partiellement résolu, puisque nous avons<br />

trouvé un moyen pour répartir <strong>les</strong> plaques sur nos chariots. Cependant, l’optimum<br />

n’est pas atteint. Il serait donc intéressant <strong>de</strong> poursuivre ce travail et<br />

trouver d’autres algorithmes qui permettent une <strong>co</strong>uverture par clique d’un<br />

graphe <strong>de</strong> <strong>co</strong>mparabilité (ou <strong>de</strong> manière équivalente une <strong>co</strong>uverture par stable<br />

<strong>de</strong> son <strong>co</strong>mplément), <strong>de</strong> calculer leur rapport <strong>de</strong> <strong>co</strong>mpétitivité et <strong>de</strong> <strong>les</strong> <strong>co</strong>mparer<br />

à First Fit, afin <strong>de</strong> trouver une meilleure solution et donc d’abaisser<br />

en<strong>co</strong>re plus <strong>les</strong> <strong>co</strong>ûts <strong>de</strong> production <strong>de</strong> ces plaques ou <strong>de</strong> montrer que <strong>dans</strong><br />

ce cas particulier First Fit est le meilleur.<br />

21


Références<br />

[1] Susanne Albers. Online Algorithms : A Survey. Mathematical Programming,<br />

2003.<br />

[2] Martin Char<strong>les</strong> Golumbic. Algorithmic Graph Theory and Perfect<br />

Graphs. North Holland (Amsterdam), 2004.<br />

[3] Marc Demange & Benjamin Leroy-Beaulieu. Online <strong>co</strong>loring of <strong>co</strong>mparability<br />

graphs : some results. April 2007.<br />

22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!