Recherches Opérationnelles

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 21

RECHERCHE OPERATIONNELLE - GRAPHES

Dr. RAKOTOARISOA Hasina Patrick

CHAPITRE 1 : GRAPHES NON ORIENTES

I- Notions de base

a) Vocabulaire

Définition : Un graphe (graph) est un objet mathématique simple et puissant qui permet de
représenter, modéliser et résoudre de nombreux problèmes dans une multitude de domaines.

Un graphe est constitué :

– d’un ensemble fini de points appelés sommets (Vertices),

– d’un ensemble fini de lignes, appelées arêtes (Edges);

Chaque arête relie deux sommets appelés ses extrémités. Si les deux extrémités d’une arête
sont égales, on dit que l’arête est une boucle. Deux arêtes différentes peuvent avoir les
mêmes extrémités.

Voici un graphe G = (V,E), avec V ={a,b,c,d} et E = {ab,ac,ad,bc,cd}. Les arêtes seront


écrites comme la juxtaposition des noms des sommets qu’elles relient. Avec cette
convention, l’arête ab est l’arête reliant les sommets a et b.

Un graphe simple est un graphe sans boucle dans lequel deux sommets sont reliés par au
plus une arête. Dans un graphe simple, une arête a est définie sans ambigüité par ses
extrémités s et s’, on note a = ss’.

Deux sommets sont voisins s’ils sont reliés par une arête.

L’ordre du graphe, que nous noterons n est le nombre de sommets qu’il contient (|V|=
n). On notera m son nombre d’arêtes (|E|= m).

Une boucle est une arête reliant un sommet à lui-même, elle sera noté aa si le sommet est
a.

Un multigraphe est un graphe qui contient au moins deux arêtes parallèles ou une boucle.

Pour parler des relations qu’il y a entre deux sommets, deux arêtes, ou un sommet et une
arête, on utilise les termes d’incidence et d’adjacence. On dit que deux sommets a et b sont
adjacents si le graphe contient une arête ab. On dit que deux arêtes sont adjacentes s’il
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

existe un sommet commun à ces deux arêtes. Par exemple, ab et ac sont adjacentes car elles
ont le sommet a en commun.

On dit qu’une arête est incidente à un sommet ou qu’un sommet est incident à une arête si
le sommet est une des extrémités de l’arête. L’arête ab est incidente au sommet a, le sommet
a est incident à l’arête ab, mais l’arête ab n’est pas incidente au sommet c. Le degré d’un
sommet est par définition le nombre d’arêtes incidentes à ce sommet.

Un graphe orienté est un graphe où chaque arête est orientée par une flèche. Une arête
orientée va d’une extrémité initiale à une extrémité finale. Dans un graphe orienté, d+(s) est
le nombre d’arêtes orientées ayant s comme extrémité initiale et d−(s) est le nombre d’arêtes
orientées ayant s comme extrémité finale.

Un graphe est connexe s’il est possible, à partir de n’importe quel sommet, de rejoindre
tous les autres en suivant les arêtes. Un graphe non connexe se décompose en composantes
connexes. Sur le graphe ci-dessous, les composantes connexes sont {1,2,3,4} et {5,6}.

Un graphe est complet si chaque sommet du graphe est relié directement à tous les autres
sommets.

Un graphe est biparti si ses sommets peuvent être divisés en deux ensembles X et Y, de
sorte que toutes les arêtes du graphe relient un sommet dans X à un sommet dans Y (dans
l’exemple ci-dessous, on a X ={1,3,5} et Y ={2,4}, ou vice versa).
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

b) Exemple d’utilisation d’un graphe pour résoudre un problème

On a six wagons à trier. Dans la gare de triage, les wagons entrent dans l’ordre 2, 5, 3, 6, 1, 4
et doivent sortir dans l’ordre croissant. Deux wagons i et j peuvent être mis sur la même voie si
et seulement s’ils entrent dans l’ordre dans lequel ils doivent sortir. Dessinez un graphe
illustrant la situation, en indiquant ce que représentent les sommets et les arêtes de votre graphe.
Quel sera le nombre minimal de voies nécessaires au tri?

Solution : On représente les wagons par les sommets. Une arête relie deux sommets i et j si les
wagons i et j ne peuvent pas être sur la même voie. On obtient le graphe ci-dessus.

On voit que 1, 3 et 5 ne peuvent pas être sur la même voie. Il faut donc trois voies au minimum.

c) Graphes d’intervalles

On construit un graphe G à partir des intervalles de la droite réelle I1,...,In, où les sommets de
G sont numérotés de 1 à n. Dans un graphe d’intervalles, il existe une arête entre les sommets i
et j, i ≠ j, si et seulement si Ii∩Ij ≠ ∅.
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

Autrement dit, deux sommets sont reliés si et seulement si les deux intervalles correspondants
se chevauchent.

II- Graphe partiel et sous-graphe

Soit G = (V,E) un graphe. Le graphe G' = (V,E') est un graphe partiel de G, si E' est inclus dans
E. Autrement dit, on obtient G' en enlevant une ou plusieurs arêtes au graphe G.

Pour un sous-ensemble de sommets A inclus dans V, le sous-graphe de G induit par A est le


graphe G=(A,E(A)) dont l’ensemble des sommets est A et l’ensemble des arêtes E(A) est formé
de toutes les arêtes de G ayant leurs deux extrémités dans A. Autrement dit, on obtient G' en
enlevant un ou plusieurs sommets au graphe G, ainsi que toutes les arêtes incidentes à ces
sommets.
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

Un graphe partiel d’un sous-graphe est un sous-graphe partiel de G. On appelle clique un sous-
graphe complet de G. Dans le graphe G ci-dessus, le sous-graphe K = (V,E), avec V
={1,3,4} et E = {{1,3},{1,4},{3,4}} est une clique.

III- Degrés

1- Degré d’un sommet

On appelle degré du sommet v, et on note d(v), le nombre d’arêtes incidentes à ce sommet.

Remarque : Une boucle sur un sommet compte double.

Dans un graphe simple, on peut aussi définir le degré d’un sommet comme étant le nombre de
ses voisins (la taille de son voisinage).

Théorème des poignées de mains :

Soit G un graphe, S l’ensemble de ses sommets et a le nombre d’arêtes de G. Alors la somme


des degrés vérifie : ∑𝒔∊𝑺 𝒅(𝒔) = 𝟐𝒂 . En particulier, la somme des degrés est toujours paire.

2- Degré d’un graphe

Le degré d’un graphe est le degré maximum de tous ses sommets. Dans l’exemple ci-dessous,
le degré du graphe est 4, à cause du sommet v3.

Un graphe dont tous les sommets ont le même degré est dit régulier. Si le degré commun est k,
alors on dit que le graphe est k-régulier.

IV- Chaines et cycles

Une chaîne dans G, est une suite ayant pour éléments alternativement des sommets et des arêtes,
commençant et se terminant par un sommet, et telle que chaque arête est encadrée par ses
extrémités.
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

On dira que la chaîne relie le premier sommet de la suite au dernier sommet. En plus, on dira
que la chaîne a pour longueur le nombre d’arêtes de la chaîne. Le graphe ci-dessous contient
entre autres les chaînes (v1,e1,v2,e2,v3,e5,v5) et (v4,e4,v3,e2,v2,e1,v1).

On ne change pas une chaîne en inversant l’ordre des éléments dans la suite correspondante.
Ainsi, les chaînes (v1,e3,v3,e4,v4) et (v4,e4,v3,e3,v1) sont identiques.

On appelle distance entre deux sommets la longueur de la plus petite chaîne les reliant.

On appelle diamètre d’un graphe la plus longue des distances entre deux sommets.

Une chaîne est élémentaire si chaque sommet y apparaît au plus une fois. Une chaîne est simple
si chaque arête apparaît au plus une fois. Dans le graphe précédent, (v1,e1,v2,e2,v3) est une
chaîne simple et élémentaire. Une chaîne dont les sommets de départ et de fin sont les mêmes
est appelée chaîne fermée. Dans le graphe précédent, (v4,e4,v3,e5,v5,e5,v3,e4,v4) est une
chaîne fermée. Une chaîne fermée simple est appelée cycle. Dans le graphe précédent, la chaîne
(v1,e1,v2,e2,v3,e3,v1) est un cycle.

V- Graphes eulériens

On appelle cycle eulérien d’un graphe G un cycle passant une et une seule fois par chacune des
arêtes de G. Un graphe est dit eulérien s’il possède un cycle eulérien. On appelle chaîne
eulérienne d’un graphe G une chaîne passant une et une seule fois par chacune des arêtes de G.
Un graphe ne possédant que des chaînes eulériennes est semi-eulérien. Plus simplement, on
peut dire qu’un graphe est eulérien (ou semi-eulérien) s’il est possible de dessiner le graphe
sans lever le crayon et sans passer deux fois sur la même arête.

VI- Graphes hamiltoniens

On appelle cycle hamiltonien d’un graphe G un cycle passant une et une seule fois par chacun
des sommets de G. Un graphe est dit hamiltonien s’il possède un cycle hamiltonien.
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

On appelle chaîne hamiltonienne d’un graphe G une chaîne passant une et une seule fois par
chacun des sommets de G. Un graphe ne possédant que des chaînes hamiltoniennes est semi-
hamiltonien.

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

- un graphe possédant un sommet de degré 1 ne peut pas être hamiltonien;


- si un sommet dans un graphe est de degré 2, alors les deux arêtes incidentes à ce sommet
doivent faire partie du cycle hamiltonien;
- les graphes complets Kn sont hamiltoniens.

Théorème de Dirac : Soit G un graphe simple à n sommets avec n ≥ 3. Si pour tout sommet s,
d(s) ≥ n/2, alors il existe un cycle hamiltonien dans G.

VII- Couplages

Soit G un graphe simple. Un couplage C de G est un sous-graphe partiel 1-régulier de G. On


peut aussi dire qu’un couplage (ou appariement) est un ensemble d’arêtes deux à deux non-
adjacentes.

Un sommet v est saturé par un couplage C si v est l’extrémité d’une arête de C. Dans le cas
contraire, v est insaturé.

Un couplage maximum est un couplage contenant le plus grand nombre possible d’arêtes. Un
graphe peut posséder plusieurs couplages maximum.

Un couplage parfait est un couplage où chaque sommet du graphe est saturé.


RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

Calcul d’un couplage maximum

Si C est un couplage de G, on appelle chaîne alternée une chaîne élémentaire de G dont les
arêtes sont alternativement dans C et hors de C.

Une chaîne alternée est dite augmentante si elle relie deux sommets insaturés. Ci-dessus, à
gauche, la chaîne 1-4-3-6 est augmentante. En «intervertissant les épaisseurs» des arêtes le long
de cette chaîne, on obtient un meilleur couplage (ci-dessus, à droite).

VIII- Graphes planaires

On dit qu’un graphe est planaire si on peut le dessiner dans le plan de sorte que ses arêtes ne se
croisent pas. Rappelons que les arêtes ne sont pas forcément rectilignes. Une carte, ou graphe
planaire topologique, est une représentation particulière d’un multigraphe planaire fini. On dit
qu’une carte est connexe si son graphe l’est. Une carte divise le plan en plusieurs régions.

Par exemple, la carte ci-dessous, avec sept sommets et neuf arêtes, divise le plan en quatre
régions (A,B,C,D). Trois régions sont limitées alors que la quatrième (D), extérieure au
diagramme, ne l’est pas.
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

Le degré d’une région r, noté d(r), est la longueur de la chaîne fermée minimum passant par
tous les sommets qui délimitent cette région. Dans le graphe ci-dessus, d(A) = 6 (la région A
est délimitée par la chaîne fermée passant par les sommets (1,2,3,5,6,5,1)), d(B) = 4,d(C) = 3
et d(D) = 5.

Théorème d’Euler :

Euler a établi une formule célèbre qui relie le nombre de sommets S, le nombre d’arêtes A et
le nombre de régions R d’une carte connexe :

S−A+R = 2

IX- Représentations non graphiques d’un graphe

1- Matrice d’adjacences

On peut représenter un graphe simple par une matrice d’adjacences. Une matrice (n×m) est un
tableau de n lignes et m colonnes. (i, j) désigne l’intersection de la ligne i et de la colonne j.
Dans une matrice d’adjacences, les lignes et les colonnes représentent les sommets du graphe.
Un «1» à la position (i, j) signifie que le sommet i est adjacent au sommet j.

Cette matrice a plusieurs caractéristiques :

1. Elle est carrée : il y a autant de lignes que de colonnes.

2. Il n’y a que des zéros sur la diagonale allant du coin supérieur gauche au coin inférieur
droit. Un «1» sur la diagonale indiquerait une boucle.

3. Elle est symétrique : mij = mji. On peut dire que la diagonale est un axe de symétrie.

4. Une fois que l’on fixe l’ordre des sommets, il existe une matrice d’adjacences unique pour
chaque graphe. Celle-ci n’est la matrice d’adjacences d’aucun autre graphe.
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

2- Listes d’adjacences

On peut aussi représenter un graphe simple en donnant pour chacun de ses sommets la liste
des sommets auxquels il est adjacent. Ce sont les listes d’adjacences.

X- Arbres

On appelle arbre tout graphe connexe sans cycle. Un graphe sans cycle mais non connexe est
appelé une forêt. Une feuille ou sommet pendant est un sommet de degré 1.

XI – Arbres couvrants

XII- Coloration
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

Soit G = (V,E) un graphe. Un sous-ensemble S de V est un stable s’il ne comprend que des
sommets non adjacents deux à deux. Dans le graphe ci-dessous, {v1,v2} forment un stable;
{v2,v4} aussi, ainsi que {v2,v5} et {v3,v5}.

Le cardinal du plus grand stable est le nombre de stabilité de G ; on le note α (G). Dans le
graphe ci-dessous, on a α (G)=2.

La coloration des sommets d’un graphe consiste à affecter à tous les sommets de ce graphe une
couleur de telle sorte que deux sommets adjacents ne portent pas la même couleur. Une
coloration avec k couleurs est donc une partition de l’ensemble des sommets en k stables. Le
nombre chromatique du graphe G, noté γ (G), est le plus petit entier k pour lequel il existe une
partition de V en k sous-ensembles stables.

Sur le graphe ci-dessous, on a eu besoin de trois couleurs (notées 1, 2 et 3) pour colorer les
sommets de sorte que deux sommets adjacents aient des couleurs différentes. On a donc trois
stables : {v1,v2}, {v3,v5} et {v4}. On ne peut pas utiliser moins de couleurs, à cause des cliques
{v1,v4,v5} et {v1,v3,v4}.

Remarquons enfin que le sommet v2 aurait aussi pu être coloré «3». La coloration minimale
n’est donc pas forcément unique.

Pour tout graphe simple G, nous pouvons définir son nombre chromatique. Si le graphe a des
arêtes multiples, on peut ne garder qu’une seule arête sans changer le problème. En revanche,
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

l’existence d’une boucle pose problème car le sommet est voisin (neighbour) (adjacent) de lui
même, et la coloration de ce sommet n’est donc pas possible.

Le nombre chromatique (chromatic number) d’un graphe G, noté χ(G), est le nombre de
couleurs minimum pour colorier les sommets du graphe sans que deux sommets adjacents ne
soient de la même couleur.

1- Encadrement du nombre chromatique

Majoration

 γ (G)≤r+1, où r est le plus grand degré des sommets de G.


Preuve : Soit un graphe et r le degré maximum de ses sommets. Donnons-nous une
palette de (r+1) couleurs. Pour chaque sommet du graphe on peut tenir le raisonnement
suivant : ce sommet est adjacent à r sommets au plus, et le nombre de couleurs déjà
utilisées pour colorer ces sommets est donc inférieur ou égal à r. Il reste donc au moins
une couleur non utilisée dans la palette, avec laquelle nous pouvons colorer notre
sommet.
 γ (G)≤n+1−α (G)

Preuve : Considérons S un stable de V de cardinalité α (G). Une coloration possible des


sommets consiste à colorer les sommets de S d’une même couleur et les n− α (G) autres
sommets de couleurs toutes différentes. On en déduit que γ (G)≤1+(n− α (G)).

Minoration

 Le nombre chromatique d’un graphe est supérieur ou égal à celui de chacun de ses sous-
graphes.

Preuve : Ce résultat découle de la définition même du nombre chromatique.

 Le nombre chromatique du graphe sera supérieur ou égal à l’ordre de sa plus grande


clique, que l’on note ω (G) (prononcer oméga de G). Autrement dit, γ (G)≥ ω (G).
Preuve : Puisque, par définition, dans une clique d’ordre m, tous les sommets sont
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

adjacents entre eux, il faudra m couleurs. Donc, il faudra au moins ω (G) couleurs pour
colorer le graphe G.

2- Recherche d’une coloration minimum

On est maintenant face à un problème d’optimisation dans les graphes, la recherche d’une
coloration minimum. L’objectif est de trouver des algorithmes efficaces pour résoudre ce
problème. La mauvaise nouvelle est que pour des graphes généraux, il n’existe pas d’algorithme
en temps polynomial (en n et m) pour le résoudre, et il n’en existera pas si (P ≠ NP).

Heureusement, le problème est facile à résoudre pour des graphes particuliers. Prenons
l’exemple des graphes d’intervalles. Une façon simple de résoudre le problème est de trier les
intervalles par ordre croissant de leur borne inférieure (arbitrairement en cas d’égalité) et de les
renuméroter de 1 à n. On prend une liste de n couleurs numérotées de 1 à n. Pour chaque sommet
de 1 à n, on affecte la couleur disponible de plus petit indice. Cet algorithme glouton (greedy
algorithm) fournit une coloration optimale, et le plus grand indice des couleurs utilisées donne
χ(G), le nombre chromatique du graphe.

Le problème de coloration le plus célèbre est sans doute celui posé par Francis Guthrie.
Cherchant à colorier la carte des comtés d’Angleterre, il constate que quatre couleurs
suffisaient. Il a alors conjecturé que pour toutes subdivisions de cartes géographiques, il ´était
possible de les colorier avec quatre couleurs sans que deux subdivisions voisines n’aient la
même couleur. Autrement formulée, la conjecture dit que le nombre chromatique de tout graphe
planaire est d’au plus 4. Cette conjecture n’a été prouvée qu’en 1976 avec l’utilisation d’un
ordinateur pour énumérer un certain nombre de configurations. Aujourd’hui, il n’existe encore
aucune preuve mathématique n’ayant recours à des calculs informatiques pour prouver ce
théorème.

3- Algorithme de coloration de Welsh et Powell

Cet algorithme couramment utilisé permet d’obtenir une assez bonne coloration d’un graphe,
c’est-à-dire une coloration n’utilisant pas un trop grand nombre de couleurs. Cependant il
n’assure pas que le nombre de couleurs soit minimum (et donc égal au nombre chromatique du
graphe).
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

Étape 1 : Classer les sommets du graphe dans l’ordre décroissant de leur degré, et attribuer à
chacun des sommets son numéro d’ordre dans la liste obtenue.

Étape 2 : En parcourant la liste dans l’ordre, attribuer une couleur non encore utilisée au premier
sommet non encore coloré, et attribuer cette même couleur à chaque sommet non encore coloré
et non adjacent à un sommet de cette couleur.

Étape 3 : S’il reste des sommets non colorés dans le graphe, revenir à l’étape 2. Sinon, FIN.

4- Coloration des arêtes d’un graphe

La coloration des arêtes d’un graphe consiste à affecter à toutes les arêtes de ce graphe une
couleur de telle sorte que deux arêtes adjacentes ne portent pas la même couleur. L’indice
chromatique du graphe G est le plus petit entier k pour lequel il existe une coloration des arêtes;
on le note χ (G). Pour colorer les arêtes d’un graphe, on peut se ramener au problème de la
coloration des sommets. Il suffit pour cela de travailler non pas sur le graphe lui-même, mais
sur le graphe adjoint, noté G0, et que l’on définit ainsi :

1. à chaque arête de G = (V,E) correspond un sommet de G' = (E,F)

2. deux sommets de G0 sont reliés par une arête si les deux arêtes correspondantes de G sont
adjacentes.
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

On peut ensuite appliquer l’algorithme de Welsh et Powell sur le graphe G' pour colorer ses
sommets. Une fois cela fait, on colorera les arêtes de G de la même couleur que les sommets
correspondants de G'.

XIII - Graphes triangulés

Un graphe est triangulé si tous ses cycles de plus de 3 sommets contiennent au moins une corde
(arête reliant deux sommets non adjacents d’un cycle).

Un séparateur est un sous-ensemble W de sommets dans un graphe connexe G = (V,E) tel que
le graphe G[V−W] est non connexe. Dans le graphe ci-dessous, W ={v1,v4} est un séparateur,
W ={v3} est un séparateur minimal.

Un sommet v est dit simplicial si son voisinage N(v) est une clique. Dans le graphe ci-dessus,
les sommets simpliciaux sont v2 et v5.
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

CHAPITRE 2 : GRAPHES ORIENTES

I- Graphes orientés

En donnant un sens aux arêtes d’un graphe, on obtient un digraphe (ou graphe orienté). Le
mot «digraphe» est la contraction de l’expression anglaise «directed graph».

Un digraphe fini G = (V,E) est défini par l’ensemble fini V ={v1,v2,...,vn} dont les éléments
sont appelés sommets, et par l’ensemble fini E ={e1,e2,...,em} dont les éléments sont appelés
arcs.

Un arc e de l’ensemble E est défini par une paire ordonnée de sommets. Lorsque e=(u,v), on
dit que l’arc e va de u à v. On dit aussi que u est l’extrémité initiale et v l’extrémité finale de e.

II- Degré d’un sommet d’un digraphe

Soit v un sommet d’un graphe orienté.

On note d+(v) le degré extérieur du sommet v, c’est-à-dire le nombre d’arcs ayant v comme
extrémité initiale.

On note d−(v) le degré intérieur du sommet v, c’est-à-dire le nombre d’arcs ayant v comme
extrémité finale.

On définit le degré : d(v) = d+(v)+d−(v)

III- Chemins et circuits

Un chemin conduisant du sommet a au sommet b est une suite ayant pour éléments
alternativement des sommets et des arcs, commençant et se terminant par un sommet, et telle
que chaque arc est encadré à gauche par son sommet origine et à droite par son sommet
destination. On ne peut donc pas prendre les arcs à rebours. Sur le digraphe ci-après, on peut
voir par exemple le chemin (v3,e2,v2,e1,v1). Par convention, tout chemin comporte au moins
un arc.

On appelle distance entre deux sommets d’un digraphe la longueur du plus petit chemin les
reliant. S’il n’existe pas de chemin entre les sommets x et y, on pose d(x,y) = ∞.

Par exemple, sur le digraphe ci-dessous, d(v5,v4) = 2, d(v4,v5) = ∞, d(v3,v1) = 1,


RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

Un circuit est un chemin dont les sommets de départ et de fin sont les mêmes. Le digraphe ci-
dessus ne contient pas de circuit.

Les notions de chemins et de circuits sont analogues à celles des chaînes et des cycles pour les
graphes non orientés.

IV- Représentations non graphiques des digraphes

1- Matrice d’adjacences

On peut représenter un digraphe par une matrice d’adjacences. Une matrice (n×m) est un
tableau de n lignes et m colonnes. (i, j) désigne l’intersection de la ligne i et de la colonne j.
Dans une matrice d’adjacences, les lignes et les colonnes représentent les sommets du graphe.
Un «1» à la position (i, j) signifie qu’un arc part de i pour rejoindre j.

Exemple : Voici la matrice d’adjacences du digraphe G :

Cette matrice a plusieurs caractéristiques :

1. Elle est carrée : il y a autant de lignes que de colonnes.

2. Il n’y a que des zéros sur la diagonale. Un «1» sur la diagonale indiquerait une boucle.

3. Contrairement à celle d’un graphe non orienté, elle n’est pas symétrique.
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

4. Une fois que l’on fixe l’ordre des sommets, il existe une matrice d’adjacences unique pour
chaque digraphe. Celle-ci n’est la matrice d’adjacences d’aucun autre digraphe.

2- Listes d’adjacences

On peut aussi représenter un digraphe en donnant pour chacun de ses sommets la liste des
sommets qu’on peut atteindre directement en suivant un arc (dans le sens de la flèche).

Exemple : Voici les listes d’adjacences du digraphe G :

V- Digraphes sans circuit

Théorème : Le digraphe G est sans circuit si et seulement si on peut attribuer un nombre r(v),
appelé le rang de v, à chaque sommet v de manière que pour tout arc (u,v) de G on ait r(u) <
r(v).

VI- Graphes de comparabilité

Un graphe est de comparabilité si on peut orienter ses arêtes de façon transitive, c’est-à-dire
de telle sorte que s’il existe un arc de i vers j et un arc de j vers k, alors il existe également un
arc de i vers k.

VII- Algorithme de Dijkstra

Edgser Wybe Dijkstra (1930-2002) a proposé en 1959 un algorithme qui permet de calculer le
plus court chemin entre un sommet particulier et tous les autres. Le résultat est une
arborescence, c’est-à-dire un arbre avec un sommet particulier appelé racine.

Numérotons les sommets du graphe G = (V,E) de 1 à n. Supposons que l’on s’intéresse aux
chemins partant du sommet 1. On construit un vecteur λ = (λ(1); λ(2);...; λ(n)) ayant n
composantes tel que λ(j) soit égal à la longueur du plus court chemin allant de 1 au sommet j.
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

On initialise ce vecteur à c1j, c’est-à-dire à la première ligne de la matrice des coûts du graphe,
définie comme indiqué ci-dessous :

On construit un autre vecteur p pour mémoriser le chemin pour aller du sommet 1 au sommet
voulu. La valeur p(i) donne le sommet qui précède i dans le chemin.

On considère ensuite deux ensembles de sommets, S initialisé à {1} et T initialisé à {2,3,...,n}.


À chaque pas de l’algorithme, on ajoute à S un sommet jusqu’à ce que S =V de telle sorte que
le vecteur λ donne à chaque étape la longueur minimale des chemins de 1 aux sommets de S.

VIII- Réseau PERT (Project Evaluation and Review Technique)

Le problème du plus long chemin dans les digraphes sans circuit trouve une application dans
l’ordonnancement et la planification des tâches composant un projet complexe, par exemple la
construction d’une maison. On fait correspondre à chaque tâche un arc d’un digraphe, sa durée
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

d’exécution étant égale au poids de cet arc. Le digraphe reflète les précédences requises dans
l’exécution du projet.

Ainsi, la tâche correspondant à l’arc (i,j) ne peut commencer que si toutes les tâches
correspondant à des arcs (k,i) ont été complétées. Le digraphe peut contenir des tâches fictives
de durée nulle afin de forcer certaines précédences.

Les sommets du digraphe représentent des événements, début (fin) des activités correspondant
aux arcs dont ils sont l’extrémité initiale (finale). Le fait que le digraphe est sans circuit est
garant de la faisabilité du projet. En effet, l’existence d’un circuit impliquerait une contradiction
dans les précédences : une tâche devant en même temps précéder et suivre une autre!

On supposera dorénavant que les sommets ont déjà été numérotés de 1 à n de manière
compatible avec leurs rangs, c’est-à-dire que r(j) > r(i) implique j > i (voir l’algorithme de
calcul du rang). En plus, si le digraphe possède plusieurs sommets sans prédécesseur, on
supposera avoir introduit un sommet 1 relié par un arc de durée nulle à chacun de ces sommets.
Ce sommet indique le début du projet. De même, si le digraphe possède plusieurs sommets sans
successeur, ceux-ci seront reliés par un arc de durée nulle à un dernier sommet n (fin du projet).
Enfin, on supposera éliminés les arcs parallèles par l’introduction de tâches fictives.
RECHERCHE OPERATIONNELLE - GRAPHES
Dr. RAKOTOARISOA Hasina Patrick

Définitions

– Un sommet i est critique si δi = φi.

– Un arc (i, j) est critique si ses extrémités sont des sommets critiques et dij =δj−δi.

– Un chemin critique est un chemin de 1 à n n’utilisant que des arcs critiques, c’est-à-dire des
activités telles que tout retard dans leur exécution provoquerait un retard de la fin du projet.

– La durée du chemin critique est donnée par δ n (ou par φ n, les deux valeurs étant toujours
égales). Elle correspond à la durée minimale du projet étant données les durées des tâches le
composant et les précédences respectives.

Vous aimerez peut-être aussi