Vous êtes sur la page 1sur 47

Introduction à la théorie des graphes

Introduction à la théorie des graphes

Eric Sigward

e.sigward@ac-nancy-metz.fr

Introduction à la théorie des graphes Eric Sigward e.sigward@ac-nancy-metz.fr Les sept ponts de Königsberg

Les sept ponts de Königsberg

Introduction

2

Définitions et premiers exemples

2

Graphes

non orientés

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

2

Graphes

orientés

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5

Terminologie

7

Éléments de la théorie des graphes

 

9

Graphes

eulériens

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

Graphes

hamiltoniens

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 11

Matrice d’adjacence

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

12

. Coloriage des sommets d’un graphe

Distance

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

14

16

Graphes

Graphes

valués et problème

.

probabilistes

.

.

.

.

du plus court .

.

.

.

.

.

.

.

.

.

.

.

.

chemin

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 20

27

. Chaîne de Markov

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

27

Graphes probabilistes

32

Les graphes en Terminale ES

34

Exercices

35

Solutions des exercices

38

Complément :

les arbres

43

Définition

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

43

Arbre

Arbre

. partiel de coût minimum

de recouvrement

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

43

44

A Introduction

L’histoire de la théorie des graphes débute peut-être avec les travaux d’Euler au XVIII siècle et trouve son origine dans l’étude de certains problèmes, tels que celui des ponts de Königsberg (voir page de couverture, les habitants de Königsberg se demandaient s’il était possible, en partant d’un quartier quelconque de la ville, de traverser tous les ponts sans passer deux fois par le même et de revenir à leur point de départ), la marche du cavalier sur l’échiquier ou le problème de coloriage de cartes. La théorie des graphes s’est alors développée dans diverses disciplines telles que la chimie, la biologie, les sciences sociales. Depuis le début du XX siècle, elle constitue une branche à part entière des mathématiques, grâce aux travaux de König, Menger, Cayley puis de Berge et d’Erdös. De manière générale, un graphe permet de représenter la structure, les connex- ions d’un ensemble complexe en exprimant les relations entre ses éléments : réseau de communication, réseaux routiers, interaction de diverses espèces animales, cir- cuits Les graphes constituent donc une méthode de pensée qui permet de modéliser une grande variété de problèmes en se ramenant à l’étude de sommets et d’arcs. Les derniers travaux en théorie des graphes sont souvent effectués par des infor- maticiens, du fait de l’importance qu’y revêt l’aspect algorithmique.

B Définitions et premiers exemples

B.1

Graphes non orientés

1. Définition Un graphe simple est un couple formé de deux ensembles : un ensemble dont les éléments sont appelés sommets, et un ensemble , partie de l’ensemble ( ) des parties à deux éléments de , dont les éléments sont appelé s arêtes. On notera . Lorsque , on dit que est l’arête de d’extrémités et , ou que joint et , ou que passe par et . Les sommets et sont dits adjacents dans .

et , ou que joint et , ou que passe par et . Les sommets et

2.

Définition Un multigraphe est déterminé par :

– un ensemble de sommets

– un ensemble cette fois abstrait

– une application

– un ensemble cette fois abstrait – une application Dans cet exemple, , , , sont

Dans cet exemple, , , , sont les sommets du multigraphe et :

Un multigraphe avec boucles est un triplet est une application de dans en d’autres termes, un multigraphe avec boucles peut comprendre des arêtes multiples entre deux sommets donnés ainsi que des boucles multiples en un sommet.

3. Exemples :

a. Le graphe d’un tournoi, où :

est l’ensemble des participants au tournoi est l’ensemble des paires de joueurs se rencontrant dans le tournoi.

b. La carte routière de la France, est l’ensemble des villes de la France. il y a au moins une route directe reliant les villes et

c. Le graphe discret d’ordre ,

d. Le graphe complet d’ordre , et

discret d’ordre , d. Le graphe complet d’ordre , où et e. Le graphe biparti-complet où

e. Le graphe biparti-complet

et

et

f. Le cycle , où et 4. Définition Soit un graphe simple, et un sommet

f. Le cycle , où et

f. Le cycle , où et 4. Définition Soit un graphe simple, et un sommet de

4. Définition Soit un graphe simple, et un sommet de ce graphe. Le degré de , noté , est le nombre d’arêtes incidentes à c’est–à-dire contenant . Lorsque , on dit que le sommet est isolé, lorsque , il est dit pendant. Exemples :

si est un sommet de , si est un sommet de ,

5. Définition Un graphe simple est dit régulier de degré , lorsque tous ses sommets sont de degré .

6. Lemme des poignées de mains Soit un graphe simple, alors

En effet, chaque paire de est comptée deux fois, une fois pour et une seconde fois pour Remarque Le lemme des poignées de mains reste valable pour les multigraphes avec boucles en convenant qu’une boucle contribue pour 2 dans le calcul du degré d’un som-

met.

7. Exercices

a. Montrer qu’un graphe simple a un nombre pair de sommets de degré impair.

Notons l’ensemble des sommets de degré pair et l’ensemble des sommets de degré impair d’un graphe simple et forment une partition

de d’après le lemme des poignées de mains, on a :

Or et sont des entiers pairs, on en déduit alors que est également pair, comme différence de deux entiers pairs. Chaque terme de cette dernière somme est impair, elle ne peut donc être paire que si et seule- ment si le nombre de termes est pair, on a donc montré que est un entier pair.

b. Est-il possible de relier 15 ordinateurs de sorte que chaque appareil soit relié avec exactement trois autres ?

Considérons le graphe simple dont les sommets sont les 15 ordinateurs, les arêtes étant les liaisons entre ces ordinateurs. Si chaque appareil est relié à exactement 3 ordinateurs du réseau, les sommets du graphe sont tous de degré impair. D’après le résultat établi dans l’exercice précédent, un tel graphe doit posséder un nombre pair de sommets, le réseau est donc impossible.

c. Montrer que le nombre total de gens qui ont habité la Terre et qui ont donné un nombre impair de poignées de mains est pair.

Considérons le graphe dont les sommets sont les gens qui ont habité la Terre et dont les arêtes représentent les poignées de mains échangées entre ces person- nes. La réponse à la question découle immédiatement du résultat du premier exercice.

B.2

Graphes orientés

1. Définition Un graphe orienté est formé de deux ensembles : un ensemble dont les éléments sont appelés sommets, et un ensemble , partie du produit cartésien , dont les éléments sont appelés arcs. On notera

.

, dont les éléments sont appelés arcs . On notera . Si est un arc du

Si est un arc du graphe , est l’extrémité initiale de et l’extrémité finale de .

Remarque À tout graphe orienté on associe le graphe simple où :

ou

2. Définition Soit un sommet d’un graphe orienté. On note le nombre d’arcs ayant comme extrémité initiale, et le nombre d’arcs ayant comme extrémité finale. Ainsi, on a :

3. Exercice est un graphe orienté, montrer que

En effet, on a clairement :

C

Terminologie

Sous-graphe : est un sous-graphe de si

et

Graphe partiel : est un graphe partiel de si et

Ordre d’un graphe : l’ordre d’un graphe est le nombre de sommets de ce graphe.

Chaîne : suite finie de sommets reliés entre eux par une arête.

Chaîne simple : chaîne qui n’utilise pas deux fois la même arête.

Chaîne eulérienne : chaîne simple passant par toutes les arêtes d’un graphe.

Chaîne hamiltonienne : chaîne simple passant par tous les sommets d’un graphe une et une seule fois.

Chemin : suite de sommets reliés par des arcs dans un graphe orienté.

Cycle : chaîne qui revient à son point de départ.

Cycle eulérien : cycle simple passant par toutes les arêtes d’un graphe une et une seule fois.

Cycle hamiltonien : cycle simple passant par tous les sommets d’un graphe une et une seule fois.

Graphe connexe : un graphe est dit connexe si pour toute paire de sommets de , il existe une chaîne de premier terme et de dernier terme .

Arbre : graphe connexe sans cycle simple et sans boucle.

Graphe eulérien : graphe qui possède un cycle eulérien.

Graphe semi-eulérien : graphe qui possède une chaîne eulérienne.

Graphe hamitonien : graphe qui possède un cycle hamiltonien.

Graphe semi-hamiltonien : graphe qui possède une chaîne hamiltonienne.

Graphe valué : graphe où des réels sont associés aux arêtes. Dans cet exposé, on ne considérera que des valuations positives.

Longueur d’une chaîne : nombre des arêtes qui composent la chaîne.

Valeur d’une chaîne : somme des valeurs des arêtes (arcs) d’une chaîne d’un graphe valué.

Distance entre deux sommets : longueur de la plus courte chaîne joignant ces deux sommets.

Diamètre d’un graphe : maximum des distances entre les sommets d’un graphe.

Indice chromatique : nombre minimal de couleurs permettant de colorier les

arêtes d’un graphe, de telle sorte que deux arêtes adjacentes n’aient pas la même couleur.

Nombre chromatique d’un graphe : nombre minimal de couleurs permettant de colorier les sommets d’un graphe, de telle sorte que deux sommets adjacents n’aient pas la même couleur.

D Éléments de la théorie des graphes

D.1

Graphes eulériens

1. Théorème d’Euler (1766) Un graphe simple connexe est eulérien si et seulement si pour tout sommet de , est pair. Démonstration Supposons eulérien, soit alors un cycle eulérien et un sommet de . Le cycle contient toutes les arêtes de , donc toutes les arêtes ayant comme extrémité. Lors d’un parcourt de on arrive en autant de fois qu’on en repart,

chaque arête de étant présente une et seule fois dans , est nécessairement un nombre pair. Réciproquement, supposons que tous les sommets de soient de degré pair. Formons une chaîne simple , aussi longue que possible, à partir d’un sommet arbitraire . Cette chaîne est en fait un cycle, sinon, son extrémité finale serait de degré impair. Si ce cycle contient toutes les arêtes du graphe , est le cycle eulérien cherché. Dans le cas contraire, on considère le sous-graphe obtenu à partir de en éliminant les arêtes de et ses sommets qui ne sont incidents à aucune des arêtes restantes. Comme est connexe, possède au moins un sommet commun avec le cycle . Soit un tel sommet. Les sommets de sont encore de degré pair. Construisons alors, de la même manière que précédemment, un cycle dans à partir de . Rallongeons le cycle en

insérant à partir du sommet le cycle pour former un cycle

de à .

Si ce cycle possède toutes les arêtes de , est le cycle eulérien cherché.

Sinon, on continue ce processus, qui se terminera car les sommets du graphe sont en nombre fini. Remarques

– Le théorème d’Euler reste valable pour des multigraphes connexes.

– La démonstration fournit un algorithme de construction de cycle eulérien

fournit un algorithme de construction de cycle eulérien Exemples i. n’est pas eulérien, ses sommets ne

Exemples

i.

un algorithme de construction de cycle eulérien Exemples i. n’est pas eulérien, ses sommets ne sont

un algorithme de construction de cycle eulérien Exemples i. n’est pas eulérien, ses sommets ne sont

n’est pas eulérien, ses sommets ne sont pas tous pairs.

est eulérien, un cycle eulérien est par exemple :

ii. Le problème des ponts de Königsberg La ville de Königsberg en Prusse (maintenant Kaliningrad) comprenait 4 quartiers, séparés par les bras du Prégel. Les habitants de Königsberg se demandaient s’il était possible, en partant d’un quartier quelconque de la ville, de traverser tous les ponts sans passer deux fois par le même et de revenir à leur point de départ. Le plan de la ville peut se modéliser à l’aide du multigraphe ci-dessous, les quartiers sont représentés par les 4 sommets, les 7 ponts par des arêtes :

par les 4 sommets, les 7 ponts par des arêtes : La question posée devient alors

La question posée devient alors : ce graphe est-il eulérien ? Le théorème d’Euler répond immédiatement de façon négative aux habitants de Königs- berg.

iii. Est-il possible de tracer une courbe continue coupant chacun des 16 seg- ments de la figure ci-dessous exactement une et une seule fois ?

de la figure ci-dessous exactement une et une seule fois ? Considérons le multigraphe dont les

Considérons le multigraphe dont les sommets sont les 6 régions de la fig- ure, et dont les arêtes sont les 16 segments qui sont frontières entre les différentes régions.

la fig- ure, et dont les arêtes sont les 16 segments qui sont frontières entre les
la fig- ure, et dont les arêtes sont les 16 segments qui sont frontières entre les

Le problème consiste à construire un cycle eulérien, ce qui est impossible, car le sommet par exemple, est de degré 5.

2. Théorème Un graphe simple connexe est semi-eulérien si et seulement si il admet 0 ou ex- actement 2 sommets de degré impair. La démonstration est identique à celle du théorème d’Euler. Si le nombre de sommets de degré impair est nul, la chaîne sera un cycle et le graphe sera en fait eulérien, et s’il est égal à deux, les chaînes eulériennes du graphe auront ces deux sommets pour extrémités.

D.2

Graphes hamiltoniens

Contrairement aux graphes eulériens, il n’existe pas de caractérisation simple des graphes hamiltoniens ou semi-hamiltoniens. On peut cependant énoncer quelques propriétés et conditions suffisantes.

1. Un graphe possédant un sommet de degré 1 ne peut être hamiltonien.

2. Si un sommet dans un graphe est de degré 2, alors les deux arêtes incidentes à ce sommet doivent faire partie du cycle hamiltonien.

3. Les graphes sont hamiltoniens.

4. Théorème (Ore) Soit un graphe simple d’ordre Si pour toute paire de sommets non adjacents, on a alors est hamiltonien.

5. Corollaire (Dirac) Soit un graphe simple d’ordre Si pour tout sommet de

alors est hamiltonien.

on a

En effet, un tel graphe vérifie les conditions du théorème précédent, si et ne sont pas adjacents, on a bien :

6. Exemples

si et ne sont pas adjacents, on a bien : 6. Exemples n’est pas hamiltonien, car

si et ne sont pas adjacents, on a bien : 6. Exemples n’est pas hamiltonien, car

n’est pas hamiltonien, car il possède un sommet de degré 1.

est hamiltonien : est un cycle hamiltonien. (La condition du

corollaire de Dirac n’est pas nécessaire : est d’ordre 5, et

)

D.3

Matrice d’adjacence

1. Définition Soit un graphe orienté, avec La matrice d’adjacence du graphe est la matrice ) dont les coefficients sont définis par :

exemple :

si

0 si

coefficients sont définis par : exemple : si 0 si 2. Propriétés Avec les notations précédentes,

2. Propriétés Avec les notations précédentes, nous avons les propriétés immédiates suivantes :

a. Pour tout

b. La trace de est égale au nombre de boucles du graphe

Remarque La représentation matricielle est également utilisable pour des graphes non orientés, leurs matrices sont symétriques.

3. Théorème Soit un graphe orienté, avec

d’adjacence

Alors

matrice

Pour tout entier naturel non nul notons

est égal au nombre de chemins de longueur du sommet

de

au sommet Démonstration Effectuons une récurrence sur :

chemins allant de à Supposons le résultat vrai pour l’entier comme

désigne bien le nombre de

on a

:

Par hypothèse de récurrence,

allant de à et est égal à 1 si est une arête de et à sinon.

est donc le nombre de chemins de longueur allant de à dont

la dernière arête est la somme de ces termes est donc bien le nombre de chemins de longueur allant de à

est le nombre de chemins de longueur

allant de à est le nombre de chemins de longueur Exemples Déterminons le nombre de chemins

Exemples Déterminons le nombre de chemins de longueur 4 allant de à dans le graphe

de chemins de longueur 4 allant de à dans le graphe La matrice d’adjacence de est

La matrice d’adjacence de est :

Le nombre de chemins cherché est le terme de la matrice

c’est-à-dire 8. Déterminons le nombre de circuits de longueur 4 dans le graphe

La matrice d’adjacence de est : Le nombre de circuits de longueur 4 dans est

La matrice d’adjacence de est :

Le nombre de circuits de longueur 4 dans est égale à la trace de

et

4. Exercice Soit un graphe simple orienté d’ordre de matrice d’adjacence Mon- trer que si n’est pas nulle, alors le graphe contient des cycles. Étudier la réciproque.

Si n’est pas la matrice nulle, il existe tel que

Il existe donc au moins un chemin de longueur de à Or un chemin de longueur dans un graphe d’ordre passe au moins deux fois par le même sommet, c’est qu’il existe un cycle dans Réciproquement si contient un cycle, alors on peut trouver un chemin de longueur arbitraire dans le graphe, en particulier un chemin de longueur On en déduit que

D.4

Distance

1. Définition Soit un graphe orienté. Pour tout la distance entre le sommet et le sommet est le nombre défini par :

s’il n’existe pas de chemin de à est un chemin de à

désigne la longueur du chemein La matrice des distances du graphe est

la matrice

exemple

exemple La matrice des distances de est : 2. Algorithme de Moore Soit et deux sommets

La matrice des distances de est :

2. Algorithme de Moore Soit et deux sommets d’un graphe L’algorithme suivant calcule la distance :

On étiquette les sommets de en observant les règles suivantes :

– le sommet reçoit l’étiquette 0

– si et est étiqueté :

i. si n’est pas étiqueté, alors reçoit l’étiquette

ii. si est étiqueté alors l’étiquette de est remplacée par

Si, à la fin, à une étiquette alors sinon Exemple

à une étiquette alors sinon Exemple On a dans cet exemple: Remarque : lorsque

On a dans cet exemple:

Remarque : lorsque l’algorithme précédent permet d’exhiber de façon récursive les chemins de longueur de à : on part de et on détermine les sommets tels que avec et ainsi de suite jusqu’en

D.5

Coloriage des sommets d’un graphe

1. Définitions Soit un graphe non orienté. Un sous-ensemble de est stable s’il ne comprend que des sommets non adjacents deux à deux. Le cardinal de la plus grande partie stable est le nombre de stabilité de on le note La coloration des sommets d’un graphe consiste à affecter tous les sommets de ce graphe d’une couleur de telle sorte que deux sommets adjacents ne portent pas la même couleur. Une coloration avec couleurs est donc une partition de l’ensemble des sommets en parties stables. Le nombre chromatique, noté du graphe est le plus petit entier pour lequel il existe une partition de en sous-ensembles stables.

2. Encadrement du nombre chromatique

a. Proposition Soit un graphe simple d’ordre On a l’encadrement suivant :

est le degré maximal des sommets du graphe

Démonstration Notons une partition de en parties stables avec Alors :

et étant des entiers naturels, l’inégalité de gauche est établie.

Construisons une partition de en sous-ensembles stables de la manière suivante :

on considère un sommet arbitraire de et est une plus grande partie stable de contenant

s’il existe un sommet de qui n’est pas dans , on construit une plus grande partie stable de contenant disjointe de

s’il existe un sommet de qui n’est pas dans on construit plus grande partie stable de contenant telle que et soient deux à deux disjointes.

étant un ensemble fini, ce procédé se terminera et nous obtenons une partition de En choisissant une couleur par élément de la partition, nous aurons nécessairement : Considérons à présent un sommet de la partie Le caractère maximal des parties construites assure que ce sommet est adjacent à au moins un sommet de chaque partie On en déduit alors que

d’où :

ce qui établit la deuxième inégalité.

d’où : ce qui établit la deuxième inégalité. b. Proposition Soit un graphe simple d’ordre alors

b. Proposition Soit un graphe simple d’ordre alors :

Démonstration Considérons une partie stable de de cardinal Une coloration pos- sible des sommets consiste à colorier les sommets de d’une même couleur et les autres sommets de couleurs toutes différentes. On en déduit que :

3. Exemples

i.

ii. pour

iii.

iv.

en déduit que : 3. Exemples i. ii. pour iii. iv. v. Déterminons le nombre chromatique

v. Déterminons le nombre chromatique du graphe suivant :

v. Déterminons le nombre chromatique du graphe suivant : Considérons la partition de l’ensemble des sommets

Considérons la partition de l’ensemble des sommets de en sous-ensembles stables :

on a donc D’autre part, contient un cycle d’ordre 3, donc Finalement, le nombre chromatique de est donc 3. La parti- tion précédente en donne une 3_coloration :

4. Exemples d’application a. Problème d’emploi du temps Une université doit organiser les horaires des

4. Exemples d’application

a. Problème d’emploi du temps

Une université doit organiser les horaires des examens. On suppose qu’il y a

7 épreuves à planifier, correspondant aux cours numérotés de 1 à 7 et que les

paires de cours suivantes ont des étudiants communs : 1 et 2, 1 et 3, 1 et 4, 1 et 7, 2 et 3, 2 et 4, 2 et 5, 2 et 7, 3 et 4, 3 et 6, 3 et 7, 4 et 5, 4 et 6, 5 et 6, 5 et

7 et 6 et 7. Comment organiser ces épreuves de façon qu’aucun étudiant n’ait

à passer deux épreuves en même temps et cela sur une durée miminale ?

Solution :

Construisons le graphe dont les sommets sont les épreuves numérotées de 1

à 7, une arête relie deux de ses sommets lorsque les deux cours correspondant possèdent des étudiants communs :

deux cours correspondant possèdent des étudiants communs : Planifier les examens en un temps minimal consiste

Planifier les examens en un temps minimal consiste à déterminer une _ coloration de avec possède un sous-graphe complet d’ordre 4 (de sommets 1,2,3,4), donc Déterminons une partition des sommets de en sous-ensembles stables :

d’où et finalement Les examens peuvent être répartis

en 4 périodes, de la manière suivante :

1 période, épreuves des cours 1 et 6

2 période, épreuve du cours 2

3 période, épreuves des cours 3 et 5

4 période, épreuves des cours 4 et 7.

b. Un problème d’aquariophilie (exercice du document d’accompagnement ) A, B, C, D, E, F, G et H désignent huit poissons ; dans le tableau ci-dessous, une croix signifie que les poissons ne peuvent cohabiter dans un même aquar- ium :

A B C D E F G H A x x x x x B
A
B
C
D
E
F
G
H
A x
x
x
x
x
B x
x
x
x
C x
x
x
x
x
D x
x
x
x
E x
x
x
x
F x
x
x
G x
x
x
x
H x
x
x

Quel nombre minimum d’aquariums faut-il ?

Solution :

Construisons le graphe dont les sommets sont les huit poissons tel que deux de ses sommets sont reliés lorsque les poissons associés à ces sommets ne peuvent cohabiter. Le nombre minimum d’aquariums est égal au nombre chromatique de ce graphe.

d’aquariums est égal au nombre chromatique de ce graphe. contient un sous-graphe complet d’ordre 4 (de

contient un sous-graphe complet d’ordre 4 (de sommets donc Déterminons une partition des sommets de en sous-ensembles stables :

donc et on en déduit que

5. Algorithme de coloriage des sommets d’un graphe simple Voici un algorithme permettant de colorier un graphe simple. Nommons les sommets du graphe en ordre de degré décroissant : avec pour 1 Attribuons la couleur à et au sommet suivant de la liste qui n’est pas adjacent à et ainsi de suite avec les sommets de la liste qui ne sont pas adjacents aux sommets déjà coloriés. Ensuite, on attribue la couleur au premier sommet non colorié ainsi qu’aux sommets suivants qui ne sont pas adjacents aux sommets coloriés par la couleur On continue ce processus jusqu’à épuisement des sommets de la liste. Remarquons bien que le nombre de couleurs ainsi utilisées n’est pas nécessairement minimal. Appliquons cet algorithme au graphe de l’exemple précédent. Rangeons les som- mets par ordre de degré décroissant :

Sommet degré A 5 C 5 B 4 D 4 E 4 G 4 F
Sommet
degré
A
5
C
5
B
4
D
4
E
4
G
4
F
3
H
3

On attribue la couleur aux sommets : A et E On attribue la couleur aux sommets : C et B On attribue la couleur aux sommets : D,F et G On attribue enfin la couleur au sommet H.

D.6

Graphes valués et problème du plus court chemin

Beaucoup de problèmes peuvent être modélisés en utilisant des graphes valués. Les problèmes de cheminement dans les graphes, en particulier la recherche du

plus court chemin, comptent parmi les problèmes les plus anciens de la théorie des graphes et les plus importants par leurs applications : coût de transport, temps de

parcours, problème de

Les algorithmes de recherche de plus court chemin

seront différents selon les caractérisitiques du graphe.

1. Définition

Un graphe valué est un graphe orienté muni d’une fonction :

appelée fonction de coût.

Remarque On peut également définir la notion de graphe valué non orienté

2.

Exemple

2. Exemple Graphe valué de modélisation d’un réseau aérien 3. Définitions Le coût d’un chemin est

Graphe valué de modélisation d’un réseau aérien

3. Définitions Le coût d’un chemin est la somme des coûts des arcs de ce chemin. On peut définir la matrice des coûts du graphe, c’est la matrice où :

si

si et

si et

4. Définition Soit un graphe valué, et deux éléments de Une chemin de de à est dit minimum lorsque pour tout chemin de allant de à on a : On définit la matrice de coût minimum par :

si

s’il n’existe pas de chemin de à

chemin de

à

Décrivons à présent deux algorithmes de recherche de chemin minimum.

5. Algorithme de Dijkstra ( 1959 ) Numérotons les sommets du graphe de 1 à Cet algorithme calcule le plus court chemin du sommet 1 à tous les sommets du graphe ( il donnera donc la première ligne de la matrice de coût minimum ). On construit un vecteur ayant composantes tel que soit égal à la longueur du plus court chemin allant de 1 au sommet On initialise ce vecteur à c’est-à-dire à la première ligne de la matrice des coûts du graphe. On considère ensuite deux ensembles de sommets, initialisé à et son complémentaire dans ensemble des sommets du graphe. À chaque pas de l’algorithme, on ajoute à des sommets jusquà ce que de telle sorte que le vecteur donne à chaque étape le coût minimal des chemins de 1 aux sommets de

Edsger Dijsktra, Université d’Amsterdam

Description de l’algorithme :

initialisations

pour

;

itérations

Tant que Choisir dans tel que est minimum Retirer de et l’ajouter à Pour chaque successeur de dans

Exemple :

Appliquons l’algorithme de Dijkstra au graphe suivant :

: Appliquons l’algorithme de Dijkstra au graphe suivant : Initialisation ; ; 1 itération : car

Initialisation

; ;

1 itération :

car

; ; les successeurs de 5 dans sont 3 et 4,

prend la nouvelle valeur

prend la nouvelle valeur d’où le nouveau vecteur

2 itération : ;

; ;

3 itération : ;

; ;

4 itération : ;

; ;