Vous êtes sur la page 1sur 16

-1-

FACULTE DES SCIENCES ECONOMIQUES, SOCIALES ET DE GESTION DE REIMS

INSTITUT REMOIS DE GESTION

Seconde année de Master Management

Cours de Monsieur GAIGNETTE

année universitair e 2009 -20 l0

RECHERCHE OPERATIONNELLE / METHODES D'AIDE A LA DECISION

Support de cours numéro 0

RAPPELS : ELEMENTS DE LA THBORIE DES GRAPHES

Section I - Notion de base en théorie des graphes. .............3


I.1 - Graphes orientés ......................3
I.2-Entrée, sortie, boucle, chemin, circuit, etc ........... .......3
I.2 - Graphes non orientés..... ...........5

Section II -Les différentes représentations d'un graphe orienté ..........5


II.1 - Représentation sagittale ..........6
II.2- algébrique
Présentation ............6
II.3 - Matrice booléenne. ..................6
II.4 - .....-.........
Dictionnaire des suivants ..........7
II.5 - précéden1s...............
Dictionnaire des .......7

Section III - Niveaux ou rangs des sommets d'un graphe orienté

Série d'exercices 10

Université de Reims - Faculté des Sciences Economiques, Sociales et de Gestion - Antonin Gaignette
-2-

ELEMENTS DE LA THEORIE DES GRAPHES

Commençons par un exemple introductif : un agent commercial part de Paris pour vendre des
produits à des magasins situés dans trois villes de Province. I1 connaît la durée approximative
des déplacements entre les villes (en heures) et cherche dans quel ordre il doit les visiter afin
de perdre le moins de temps possible.

On peut représenter le problème sous la forme d'un schéma formé de points, appelés sommets,
et de flèches, dénommées arcs.

fu,r*r*hoh- ç,,[tA"
I'

La durée du trajet << aller > peut différer de celle du << retour >> en raison de travaux, etc. Les
longueurs des flèches ne sont pas proportionnelles au temps.

Il est possible de représenter le problème de façon matricielle (lecture dans le sens ( colonne
- ligne >) :

P A B C

P 0 5 4 2

A 4 0 2 3

B 4 2 0 2

C 1 3 3 0

Toute une série de problèmes peut se représenter ainsi par un schéma formé de points réunis
par des segments orientés ou non. La résolution de ces problèmes (problèmes de circulation
dans un réseau ou problèmes de traitement complexe d'opérations successives) a conduit à
l'élaboration d'une théorie mathématique spécifique dans le cadre de la recherche
opérationnelle : la théorie des graphes. C'est I'ensemble constitué des points et des segments
que I'on appelle un graphe.

Le concept de graphe permet de schématiser les liaisons, les possibilités de communication et


les relations d'ordre d'une structure. Il offre en plus la possibilité d'en étudier l'évolution.

Université de Reims - Faculté des Sciences Economiques, Sociales et de Gestion - Antonin Gaignette
t

-3-

Section I - Notion de base en théorie des graphes

I.1 - Graphes orientés

Un graplre orienté est défini par la connaissance de deux ensembles : '


o le premier est constitué d'éléments appelés sommets,
o le second est composé d'arcs, un axc étant un couple orienté de sommets.
Soit G un graphe. On note G : (X, Y), X étant I'ensemble des sommets et Y celui des arcs.
Ainsi, si:
o X: (4, B, C, D, E)
o y:(A-A; A-B; B-C; C-C; C-B; C-D; C-E; D-D; D-E)

Il est possible de représenter le graphe G: (X, 9 de la manière suivante :

/ ['\ /'\
\\/)

t\ A \,r --z ,_,( +=-r


l_) U-
Dans cet exemple, I'arc A-B a pour origine le sommet A et pour extrémité le sommet B. On
dit aussi que B est un suivant (ou successeur) de A et que A est un précédent (ou antécédent)
de B. r."_rclr*Ëe^c *F
7r_*7",.,

I.2 - Entrée. sortie. boucle. chemin" circuit. etc ...

Un sommet est une entrée (une racine) s'il ne possède pas de précédent. Dans l'exemple ci-
dessus, le sommet A est une entrée.

Un sommet est une sortie s'il ne possède pas de suivant. Toujours dans le même exemple, le
sommet E est une sortie.

Une boucle est un arc dont les extrémités sont confondues. Les arcs A-A, C-C et D-D sont des
boucles.

Un chemin est une succession d'arcs (ou une suite de sommets) tels que I'extrémité de chacun
coihcide avec I'origine du suivant. Ainsi, A-A-B-C-E est un chemin.
f6 - nelli s
On définit comme antérieurs d'un sommet tous les sommets qui le précèdent immédiatement
ou non. Ainsi, toujours dans notre exemple, le sommet D a comme antérieurs les sommets A,
B et C puisqu'il est possible d'emprunter le chemin A-B-C-D. Toutefois, seul le sommet C est
un précédent de D puisqu'il le précède immédiatement.

Université de Reims - Faculté des Sciences Economiques, Sociales et de Gestioa - Antonin Gaignette
-4-

Un circuit est un chemin tel que I'origine du premier arc coihcide avec I'extrémité du dernier.
Autrement dit, un circuit est un chemin qui revient à son point de départ. Le chemin C-B-C
est un circuit.

Un chemin simple est un chemin qui ne passe pas plus d'une fois par ihaque arc ; A-A-B-C-B
est un chemin simple.

Un chemin élémentaire est un chemin qui ne passe pas plus d'une fois par chaque sommet; A-
B-C est un chemin élémentaire.

Un graphe connexe est un graphe dont les sommets sont tels qu'il existe un chemin les reliant
tous ; A-A-B-C-D-E par exemple.

Un chemin hamiltonien est un chemin qui passe une fois et une seule par chaque sommet du
graphe ; A-B-C-D-E par exemple.

Un chemin eulérien est un chemin qui passe une fois et une seule par chaque arc ; il n'y en a
pas dans notre exemple.

Un graphe partiel G'd'un graphe G: (X, Y) est un graphe dont les sommets sont ceux de G et
dont I'ensemble des arcs est inclus dans Y.
G': (X', y') avec y'<y

t
B

\
\c
j)
U
Un sous-graphe G' dlun graphe G : (X, Y) est un graphe dont I'ensemble des sommets est
inclus dans X et dont les arcs, ou arêtes, sont ceux dont les extrémités se trouvent dans X'.
G': (X', y') avec X'<X

/ \l
UU A rc
-(\

Un arbre est un graphe connexe sans circuit. Notre exemple est un arbre. Un arbre à n
sommets aura donc (n - 1) arcs.

Université de Reims - Faculté des Sciences Economiques, Sociales et de Gestion - Antonin Gaignette
-5-

Une arborescence est un graphe orienté dont chaque sommet est I'exfiémité d'au plus un arc. Il
possède donc toujours un sommet sans précédent, autrement dit une entrée, et il existe, pou
tout sommet, un chemin unique reliant I'entrée à ce sommet.

*-'

DJ
"'-t I

\ GH
,/\
EF
/\
/r

I.2 - Graphes non orientés

On parle de graphe non orienté lorsque le graphe n'est pas fléché. Cela signifie que le lien
entre deux sommets traduit un phénomène concret où les deux sens sont possibles
systématiquement et les flèches n'ont plus de sens.

,L:
,.-\' /'\
/
\ )
/

Dans un graphe non orienté, le couple A-B n'est plus appelé un arc mais une arête.

Une chaîne est une suite de sommets. On parlait de chemins dans les graphes orientés.

Un cycle est une chaîne fermée. On parlait de circuit dans les graphes orientés.

Section II - Les différentes renrésentations d'un graphe orienté

Il existe différente manière de représenter un graphe orienté :

o représentationsagittale,
o présentationalgébrique,
o matriciellebooléenne.

La présentation matricielle permet d'établir deux autres représentations :

o présentation par le dictionnaire des suivants,


o présentation par le dictionnaire des précédents.

Université de Reims - Faculté des Sciences Economiqræs, Sociales et de Gestion - Antonir Gaignette
II.1 - Représentation sagittale

Tout graphe peut être représenté par un ensemble de sommets reliés entre eux par des arcs
fléchés. La disposition des sommets dans le plan peut être quelconque ainsi qor lu longueur
des arcs. Prenons l'exemple représenté sous forme du dessin suivant :

..- \
A ---------------+ B _--------.---} _._

C'est ce que l'on nomme la représentation sagittale.

II.2 - Présentation algebrique

Fournir la présentation d'un graphe sous sa forme algébrique G : (X, Y) revient à identifier
ses sommets X et ses arcs Y.
Ainsi, dans l'exemple précédent:
o X: (A, B, C, D, E, F)
o Y: (A-B ; B-C ; B-D ; C-E ; D-E ;E-F ;F-D ; F-A)

II.3 - Matrice booléenne


Un graphe peut également être représenté à I'aide d'une matrice booléenne. Chaque case de la
matrice est associée à un arc dans l'ordre < départ - arrivée >>. Si I'arc existe, on note ( 1 >,
s'il n'existe pas, on note ( 0 >.
A B C D E F

A 0 I 0 0 0 0

B 0 0 I I 0 0

C 0 0 0 0 I 0

D 0 0 0 0 I 0

E 0 0 0 0 0 I
F I 0 0 I 0 0

Il est très facile à partir de cette matrice de construire le dictionnaire des suivants et le
dictionnaire des précédents.

Université de Reims - Faculté des Sciences Economiques, Sociales et de Gestion - Antonin Gaignette
-7-

II.4 - Dictionnaire des zuivants

Pour chaque sommet du graphe, le dictionnaire des suivants dresse la liste de ses suivants.
Dans notre exemple, le dictionnaire des suivants est :

II.5 - Dictionnaire des précédents

Pour chaque sommet du graphe, le dictionnaire des précédents dresse la liste de ses
précédents. Dans notre exemple, le dictionnaire des précédents est :

Section III - Niveaux ou rangs des sommets d'un graphe orienté sans
circuit
Considérons un graphe G sans circuit. Pour en obtenir une représentation plus lisible, il est
souhaitable de la tracer en dirigeant toutes les flèches dans le même sens, en général de
gauche à droite. Cela est possible puisque le graphe est supposé sans circuit. Pour ce faire, on
placera d'abord les sommets sans précédent. Par définition, ces sommets sont affectés du
niveau 0. Les sommets de niveau I sont ceux dont les précédents ont été affectés du niveau 0,
etc.

Le classement par niveaux des sommets d'un graphe orienté sans circuit permet
l'ordonnancement de ces sommets et facilite la construction du graphe.

Pratiquement, pour déterminer le niveau (ou rang) de tous les sommets du graphe G, on suiwa
les étapes suivantes :
1. déterminer le dictionnaire des précédents du graphe G ;
2. relever tous les sommets sans précédent : ils ont pour niveau 0 ;

Université de Reims - Faculté des Sciences Economiques, Sociales et de Gestion - Antonin Gaignette
t__
-8-

3. considérer le dictionnaire des précédents obtenu à partir de celui de G en


supprimant (dans les deux colonnes) tous les sommets de niveau 0 ; on obtient
le dictionnaire d'un sous-graphe G' ;
4. relever tous les sommets de G', sans précédent : ils ont pour niveau I ;
5. supprimer dans le dictionnaire des précédents de GÎ, tous les sommets de
niveau 1, etc.

Ce processus a une fin puisqu'un graphe a un nombre fini de points et puisqu'il n'y a pas de
circuit.

Pour gagner du temps, lorsque I'algorithme est bien compris, on travaille sur un seul
dictionnaire des précédents (celui de G) dans lequel on barre les sommets au fur et à mesure
que leur niveau est déterminé.

Exemple d'application : on part du dictionnaire des précédents suivant.

Il y a deux sommets sans précédents : les sommets 3 et 5. On leur affecte le niveau 0.


On reconstruit maintenant le dictionnaire des précédents en supprimant les sommets 3 et 5.

Il y a un sommet sans précédents : le sommet 6. On lui affecte le niveau I et l'on reconstruit


le dictionnaire des précédents en le supprimant.

Université de Reims - Faculté des Sciences Economiques, Sociales et de Gestion - Aatonin Gaignette
-9-

Il y a deux sommets sans précédents : les sommets 4 et 7. On leur affecte le niveau 2 etl'on
reconstruit le dictionnaire des précédents en les supprimant.

Il y a un sommet sans précédents : le sommet 1. On lui affecte le niveau 3 et I'on reconstruit


le dictionnaire des précédents en le supprimant.

On affecte au sommet 2lenivear4.

En résumé :
o niveau 0 sommets 3 et 5
o niveau I sommet 6
o niveau2 sommets 4 et7
o niveau 3 sommet I
o niveau 4 sommet 2

Pour tracer la représentation sagittale, il suffit de placer les sommets de gauche à droite par
niveaux croissants, puis d'indiquer les arcs du graphe en utilisant le dictionnaire des
précédents.

No N1 N2 N3 N4

On pourra vérifier que le niveau d'un sommet est égal au nombre maximum d'arcs que I'on
peut trouver sur un chemin joignant un sommet de niveau 0 à ce sommet.
Ainsi, le sommet 4 a pour niveau 2 et on voit aisément que le chemin 5-6-4 comporte deux
arcs et qu'iln'y a pas de chemin partant d'un sommet de niveau 0 et aboutissant au sommet 4
qui comporte plus de deux arcs.

Université de Reims - Faculté des Sciences Economiques, Sociales et de Gestion - Antonin Gaignette
-10-

Série d'exercices

Exercice numéro I

Soit les sommets d'un graphe valué dont on connaît les sommets antérieurs :

2,4,8,9
2,3,5

Les arcs sont affectés des valeurs suivantes :

l) Construire le dictionnaire des précédents.

2) Ordonnancer en niveaux.

3) Dessiner la représentation sagittale.

Université de Reims - Faculé des Sciences Economiques, Sociales et de Gestion - Antonin Gaignetûe
-11-

Exercice numéro 2

l) Ordonnancezpar niveaux le graphe dont vous avezle dictionnaire des antérieurs et donnez-
en une représentation sagittale.'

D,H,G,J,P

2) Même question en ne retenant cette fois ci que les précédents de chacun des sommets.

université de Reims - Faculté des Sciences Economiqræs, Sociales et de Gestion - Antonin Gaipette
-12-

Exercice numéro I

1) Dictionnaire des précédents :

sommet antérieurs précédents

2 1,3 1,3
3

4 1 I
5 J 3

2 et 4 sont anterieurs à 8
6 2,4,8,9 8,9
4 est antérieur à 9
7 2,3,5 2,5 3 est antérieur à2 et5
1,2,3,4,5 I et 3 sont antérieurs à2
8 2,4,5
3 est anterieur à 5
I lr4 4 I estantérieur à4
l0 7,8,9 7,8,9

2) Ordonnancement en niveaux

Les sommets I et 3 sont sans précédent ; on leur affecte le niveau 0.

On réécrit le dictionnaire des précédents en supprimant les sommets 1 et 3.

Les sommets 2, 4 et 5 sont sans précédent ; on leur affecte le niveau 1.

Université de Reims - Faèulté des Sciences Economiques, Sociales et de Gestion - Antonin Gaignette
-13-

On réécrit le dictionnaire des précédents en supprimant les sommets 2,4 et 5.

Les sommets 7, 8 et 9 sont sans précédent ; on leur affecte le niveau 2.

On réécrit le dictionnaire des précédents en supprimant les sommets 7,8 et9.

Les sommets 6 et 10 sont sans précédent ; on leur affecte le niveau 3.

3) Représentation sagittale.

No Nr N2 N3

Université de Reims - Faculté des Sciences Economiques, Sociales et de Gestion - Antonin Gaignette
r

-14-

Exercice numéro 2

Commengons par déterminer les niveaux de chaque sommet. Les sommets B et M sont sans
antérieur ; on leur affecte le niveau 0.
:

On réécrit le dictionnaire des antérieurs en supprimant les sommets B et M.

D,H,G,J,P

Les sommets D, F P et Q sont sans antérieur; on leur affecte le niveau 1.

On réécrit le dictionnaire des antérieurs en supprimant les sommets D, F P et Q.

Les sommets G et H sont sans antérieur; on leur affecte le niveau 2.

on réécrit le dictionnaire des antérieurs en supprimant les sommets G et H.

Le sommet J est sans antérieur; on lui affecte le niveau 3.

On réécrit le dictionnaire des antérieurs en supprimant le sommet J.

Le sommet R est sans précédent ; on lui affecte le niveau 4.

Université de Reims - Faculté des Sciences Economiques, Sociales et de Gestion - Antonin Gaignette
-15-

En résumé :
o niveau 0 sommets B et M
o niveau 1 sommets D, F, P et Q
o niveau 2 sommets'G et H
o niveau 3 sommet J
o niveau 4 sommet R

Représentation sagittale :

No N1 N2 N3 N4

2) Dictionnaire des précédents

Université de Reims - Faculté des Sciences Economiques, Sociales et de Gestion - Antonin Gaipette
-16- '. .'
-l

Représentation sagittale :

N1 N2 N3 N4

M G

UniversitÉde Rcime " Faôùltéd€E Sciencos Economique., Ssci"l"r a d" G"rtioo - Aotooio G"ignetæ