Introduction gnrale
Au niveau du projet R.O complexit nous avons eu location dtudier le phnomne de coloration de graphe, qui est un phnomne utiliser dans plusieurs domaines et sur tout dans le domaine de tlcommunication , et notre tache consist a tudier ce phnomne et a concevoir un programme qui doit permettre de colorer un graphe avec le moins de couleurs possibles et qui semble le plus fiable avec la complexit la plus faible et un temps de rponse optimale . Ce rapport rsume notre travail. Il est compos de trois chapitres diviss comme suit : Le premier chapitre Etude de lart sera ddi pour ltude de phnomne coloration de graphe avec les diffrentes solutions algorithmiques disponibles et une comparaison entre eux. Dans le second Solution optimale second peut plus au niveau de lalgorithme optimale. Dans le dernier chapitre intitul Implmentation nous prsentons la solution implmente. ce chapitre est consiste sapprofondir un
Chapitre 1 Etat de lart
:
I.
Coloration de graphe
Conformment la dfinition fournie par le professeur Hao, colorer un graphe consiste attribuer une couleur chacun de ses sommets de sorte que deux sommets adjacents aient une couleur diffrente, et de manire obtenir un nombre de couleurs le plus faible possible. Ce nombre minimum est appel nombre chromatique du graphe color.
II.
Problmatique
Dans le cas gnral, le calcul du nombre chromatique d'un graphe non-orient constitue un problme NP-complet ; Un problme NP-complet est un problme de dcision qui est possible de lui vrifier une solution efficacement (en temps polynomial). Cela signifie que bien que l'on puisse rapidement en vrifier une solution mais on ne sait pas en dterminer un rsultat efficace. Ainsi, un algorithme de coloration exact prsente une complexit exponentielle. En effet, la mthode la plus performante connue ce jour demeure dans l'impossibilit de prouver que le nombre chromatique qu'elle permet d'obtenir correspond bien au plus petit k possible ds lors qu'elle traite un graphe de plus de 125 sommets. Les mthodes approches prsentent donc un intrt certain, bien qu'elles ne garantissent de fournir un rsultat optimal.
III.
Solution
Nous avons choisi dtudier plusieurs algorithmes de coloration de graphe afin de permettre une comparaison de leurs performances en termes de temps de rponse et defficacit.
1. Algorithme Glouton
L'algorithme glouton constitue probablement la mthode de coloration la plus intuitive qui soit. De ce fait, il est trs facile mettre en uvre. Son principe est simple ; il parcoure le graphe selon l'ordre de cration des nuds, et pour chaque nud, il vrifie quelles couleurs ont t attribues ses voisins afin de savoir lesquelles demeurent disponibles. S'il n'existe plus de couleur disponible, on en cre une nouvelle. Cet algorithme permet une coloration trs rapide d'un graphe, mais le nombre chromatique obtenu est rarement optimal.
Figure 1 Illustration du maximum local de l'algorithme glouton
Comme reprsente le schma suivant En partant du point A et en cherchant monter selon la plus forte pente, un algorithme glouton trouvera le maximum local "m", mais pas le maximum global "M".
2. Algorithme Glouton ordonn
Cet algorithme est une variante de la mthode gloutonne. Il en diffre uniquement dans la mesure o il trie pralablement les sommets suivant l'ordre dcroissant de leur degr. Cette rorganisation des Nodes dans le vecteur iGraph permet, la plupart du temps, d'obtenir un meilleur rsultat et ce pour un temps quasiment identique.
3. Algorithme Welsh and Powell
L'algorithme Welsh and Powell constitue une mthode de coloration assez proche de l'algorithme glouton. Elle dbute par un tri des sommets de la mme manire que l'algorithme glouton ordonn (par ordre dcroissant de leur degr). Ensuite, elle cre une couleur et parcoure tout le graphe en colorant autant de nuds que possible avec celle-ci. Elle recommence cette procdure avec d'autres couleurs jusqu' ce que l'ensemble des sommets du graphe ait t color. Pour tous les graphes tests, les rsultats sont identiques ceux fournis par l'algorithme glouton ordonn. En revanche, le temps d'excution du Welsh and Powell est systmatiquement plus long.
4. Algorithme Dsatur
L'algorithme DSATUR a t cr en 1979 par Daniel Brlaz, professeur de mathmatiques l'EPFL (cole Polytechnique Fdrale de Lausanne). Son principe n'en est pas moins relativement simple : 1. On ordonne les sommets de la mme manire qu'avec le Welsh and Powell. 2. On colore le premier sommet de la liste avec la premire couleur. 3. On choisit un sommet non-color ayant un DSAT* maximum ; s'il en existe plusieurs, on choisit le sommet de plus haut degr (i.e. le premier, du fait de l'ordre de tri). 4. On colore ce sommet avec la plus petite couleur possible ; si aucune couleur n'est disponible, on en cre une nouvelle. 5. On recommence ainsi partir de l'tape 3 jusqu' avoir color la totalit du graphe.
La plupart du temps, cet algorithme donne de meilleurs rsultats que les autres mthodes implmentes. Cependant, son excution est plus longue.
IV.
Etude Comparative
Les tests dont les rsultats sont prsents ci-aprs ont t effectus par un programme nomm COLORATOR qui colore les graphe avec les diffrentes algorithme trait prcdemment on utilisant un ordinateur de bureau quip d'un microprocesseur 64 bits Intel Core i7 920 cadenc 2,66 Ghz et pouvant atteindre une frquence de 2,80 Ghz . Cette machine dispose entre autres d'une distribution Linux 32 bits base sur Debian ; c'est ce systme qui a t utilis pendant les tests.
Tableau 1 Tableau Comparatif entre diffrentes algorithme
Il est noter que les temps affichs ne tiennent pas compte de la construction du graphe mais uniquement du processus de coloration des sommets.
NB : dsjc250.5 , dscjc500.1 : Random graphe
Comme les tests montrent que la plus rapide est le glouton, mais que la plus performante en terme de k est DSATUR. Toutefois, l'algorithme glouton ordonn fournit un trs bon compromis avec le meilleur rapport k / temps.
Tableau 2 Tableau rcaputilatif
Critre Temps de rponse Performance /k
Welsh et Powell long performent
Glouton Trs Rapide Moins prforment
Glouton ordonn rapide performent
DSATUR long Trs performent
Figure 2 Echelle de qualit
V.
Solution optimale
Dans notre choix bien sure, et selon ltude comparatif que nous avons fais , on dois choisir la solution optimale en terme de performance (qualit du rsultat) et en terme de complexit (temps de rponse) , et on vas choisir entre les deux algorithme qui sont le glouton ordonn et le Dsatur , le premier est plus rapide que le second vue que le Dsatur est plus performant , et la on dois choisir entre un algorithme performant et un algorithme rapide , et on a choisis la performance vue que la qualit de la lgorithme est toujours le premier critre de choix vue que lutilisateur cherche au premier lieux la performance et la qualit du rsultat fournie , et en second lieux on trouve le critre du temps de rponse , car avoir un rsultat erron dans moins de temps nintresse plus lutilisateurs . Et on peut dire que la mthode Dsatur prsente un intrt certain car son auteur a dmontr qu'elle est en mesure de fournir un rsultat optimal dans 90% des cas, et comme le tableau comparatif nous a montrer que le K fournie par lalgorithme de Dsatur est toujours le plus proche du meilleur connu.
Chapitre 2 : Implmentation
I.
Choix des outils
Nous avons choisi Eclipse comme environnement de travaille et le langage JAVA pour notre implmentation dans la mesure o il s'avre tout fait adapt la manipulation de graphes. De surcrot, nous disposons de solides connaissances en programmation orient objet. Par ailleurs, nous avons prfr concevoir une interface graphique pour notre programme, au profit d'une meilleure esthtique et d'une ergonomie amliore.
II.
Fonctionnement du programme
Notre programme est facile a manipuler, il consiste dfinir les diffrentes sommais par un click droits de la souris sur lcran, ensuite vient ltape de la liaison entre les diffrentes sommais par un click droit sur la premire sommais puis sur la seconde. Aprs avoir reli tous les sommais, lutilisateur na qua cliqu avec le bouton gauche de la souri quelque par dans linterface et la seffectue la coloration du graphe.
Figure 3 Graphe a 8 sommais et 3 couleurs
Figure 4 Graphe a 13 sommais et 3 couleurs
10
Conclusion
Ce mini projet a pour but de mettre en valeur la recherche oprationnel en matire de complexit. Au cours de notre travail, nous avons entam plusieurs phases, qui englobent la mise en uvre du problme, ltude du principe des algorithmes, ltude comparative, limplmentation et le test de la proposition. Ce mini projet est une parfaite occasion pour enrichir notre formation et qui impose quelques exigences organisationnelles en ce qui concerne le travail collaboratif et la discipline.
11