Vous êtes sur la page 1sur 70

Théorie des graphes

Un graphe est défini :


Un graphe non orienté
b
• Un arc est formé par un
ensemble « sommets »), le a
plus souvent symbolisés par c
des numéros 1 , 2 , 3, etc…. ,
ou par des lettres a, b, c… une arête
e
et par des liens reliant
certains sommets entre eux. d
un sommet
Un graphe peut être orienté fig 2 dans
ce cas les liens sont appelés « arc »
comme il peut être non orienté fig 1
dans ce cas ils sont appelés « arête »
a
c
un arc
ou
e
b arc orienté
d
Un graphe orienté

Un graphe G est noté G=(X,E)


Où X est l’ensemble des sommets et E l’ensembles des arcs ou
arrêtes
Définition : ordre d’un graphe
• ordre d’un graphe :
nombre de sommets du graphe

Graphe d’ordre 5

b
a
Graphe d’ordre 6
c
b
a
f e
c
d
d
e

Remarque : un sommet peut ne pas être en relation


avec les autres sommets du graphe.
Définitions : boucle
• Boucle : arc reliant un sommet à lui-
même, c’est à dire dont ses extrémités
sont confondues.
les boucles (a;a) et b
(c;c) a
c

e
d
Définitions : Chemin et chaîne
• Un chemin (respectivement une chaîne) dans un graphe orienté
(respectivement non orienté) est une séquence (suite) de sommets
et d’arcs qui comporter au moins une arête. telle que
1. la séquence débute par un sommet et se termine par un sommet ;
2. les sommets et les arcs alternent ;
3. chaque arc est précédé par son sommet origine et est suivi par son
sommet cible ;

Si le premier sommet est a et le dernier b, on dira que la chaîne relie a


et b. ou c’est un chemin de a à b
Définitions : Chemin et chaîne simples

Un chemin simple est un chemin qui ne contient


pas plusieurs fois le même arc

a
Les chemins suivants sont simples: c
Ch1: {(a,e),(e,c),(c,d)} et Ch2: {(a,b),(b,d),(d,a),(a,e)}.
Mais Ch3:{(d,a),(a,e),(e,c),(c,d),(d,a),(a,b)}
e
n’est pas un chemin simple b d
• Une chaîne simple est une chaîne qui
ne contient pas plusieurs fois la même
arête. Dans l'exemple ci-dessus:
Les chaines Cha1:
{(a,b),(b,c),(c,d),(d,b),(b,e)}
b
Cha2: {(d,b),(b,c),(c,b),(b,a)}a
c
Mais Cha3:
{(a,b),(b,c),(c,d),(d,b),(b,a)}
e
d
Un chemin élémentaire est un chemin qui ne passe pas
plus d'une fois par un nœud. Dans l'exemple
précédent, ch1 est un chemin élémentaire mais pas ch2.

Une chaîne élémentaire est une chaîne qui ne passe


pas plus d'une fois par un nœud. Dans l'exemple
précédent, ch2 est une chaîne élémentaire mais pas ch3.
• La longueur d’un chemin est le nombre
d’arcs de ce chemin
b
a
•Par exemple, a-b-c- c
d-b-e est une chaîne
qui relie a à e. e
d

Elle a pour longueur


5.
Définition : Circuit et cycle
• Un circuit (cycle) dans
un graphe G, est un
chemin (une chaîne) qui
a le même point de
départ et d’arrivée. C’est- b
à-dire une suite d’arcs a
(d’arêtes) qui se suivent c
et qui « se referment ».
e
En plus, on dira que le d
circuit (cycle) a pour
longueur k lorsque le •Par exemple, a-b-e-a
nombre d’arcs (d'arêtes) est un cycle qui part de a;
du circuit (cycle) est k. il est de longueur 3
Un cycle ou un circuit est dit :
1. élémentaire si les sommets qui le composent sont tous
distincts (à l’exception des extrémités),
2. hamiltonien s’il passe une fois et une seule par chaque
sommet du graphe,
3. eulérien s’il passe une fois et une seule par chaque
arc/arête du graphe,
4. préhamiltonien s’il passe au moins une fois par chaque
sommet du graphe,
5. préeulérien s’il passe au moins une fois par chaque
arc/arête du graphe.
• On définit sur le graphe G la relation
binaire R entre deux sommets i et j:
• il existe une chaîne
(éventuellement triviale) entre i et j

• R est une relation d’équivalence.


• Un graphe est connexe si tout couple
de sommets (i,j) sont en relation.
b

Graphe connexe

e
b

f
c d
a
Graphe non connexe
Comme chaque relation d’équivalence, les classes
d’équivalence induites par R sur X l’ensemble des
arrêtes forment une partition de X en X1,X2,. . . ,Xp.

Le nombre p de classes d’équivalence est appelé le


nombre de connexité du graphe.
Alors un graphe est dit connexe si et seulement si
son nombre de connexité est égal à 1.

Les sous-graphes G1,G2, . . . ,Gp engendrés par les


sous-ensembles X1,X2, . . . ,Xp sont appelés les
composantes connexes de G.

Chaque composante connexe est un graphe


connexe.
e
b

c d
a
Graphe a deux
composantes connexes
Un graphe orienté G = (X, U) est dit fortement connexe si
pour tout couple de sommets i et j, il existe à la fois un
chemin de i à j et un autre chemin de j à i

Il existe un chemin de i à j et un chemin de j à i

R’ est une relation d’équivalence.


Les classes d’équivalence induites sur X par R′ forment
une partition de X en X1, . . . ,Xq. q est appelé le nombre
de connexité forte du graphe.

Les sous-graphes G1, . . . ,Gq de G engendrés par X1, . . .


,Xq sont fortement connexes et sont appelés les
composantes fortement connexes de G.

Remarque: Un graphe est fortement connexe si et


seulement s’il n’a qu’une seule composante fortement
connexe.
b

Graphe fortement connexe

b
d

Graphe connexe mais pas fortement connexe( deux


composantes fortement convexe
On appelle le graphe réduit, noté Gr, le graphe
défini comme suit : les sommets de Gr
représentent les composantes fortement connexes
et il existe un arc d’un sommet x’i à un sommet x’j
(i≠ j) s’il existe au moins un arc d’un sommet de Xi
à un sommet de Xj dans le graphe G.
Composantes
fortement
connexes
b
d

Le graphe Gr associé au graphe ci-dessus, est donné par:

B’ A’
Propriété: Gr est nécessairement sans circuit.

Algorithme de connexité
Nombreux sont les problèmes en théorie des graphes
concernent la connexité.

— Quel est l’ensemble de tous les sommets accessibles par un


chemin à partir d’un sommet i ?

— Est-ce que tous les sommets du graphe sont accessibles par


une chaîne à partir d’un sommet donné i ?

— Est-ce qu’il existe un chemin joignant toute paire ordonnée


de sommet (i, j) dans le graphe ?
A l’itération i:
1) parcourir le graphe à partir du sommet Xi
dans le sens direct.
2)Ci+={ensemble des sommets parcourus à
partir de Xi}
3)Ci-={ensemble des sommets menant à Xi}.
4) la composante fortement connexe Ci qui
contient Xi est l’intersection de Ci+ et Ci-
5) Passer à un sommet qui n’appartient pas Ci,
et aller à 1).
Exemples
• Exemple1

b
d

a
b
d

a
• Exemple 2
Un arbre est un graphe connexe sans cycle (en
particulier sans boucle). Par exemple,
une chaîne élémentaire est un arbre.
Théorème 1.1 Soit G = (X,E) un graphe d’ordre n. Alors
les propriétés suivantes
sont équivalentes :
1. G est un arbre ;
2. G contient n − 1 arêtes et G est sans cycle ;
3. G contient n − 1 arêtes et G est connexe.
Définition : graphe complet
Graphe complet
graphe complet : b
d’ordre 4
a
un graphe est
c
complet si quels que
soient deux sommets
distincts, il existe un d

arc (ou une arête) les


b
reliant dans un sens
a
ou dans l'autre c
(lorsqu’on a un
graphe orienté)
Graphe non complet
d
Définition : graphe complet
Graphe orienté
graphe complet : b non complet
a d’ordre 3
un graphe est
c
complet si quels que
soient deux sommets
distincts, il existe un
b
arc (ou une arête) les
reliant dans un sens
ou dans l'autre a
(lorsqu’on a un
graphe orienté) c
Graphe orienté
complet d’ordre 3
Définitions : distance et diamètre
• On appelle distance La distance entre a et e est 1
La distance entre a et d est 2
entre deux sommets
la longueur de la plus
b
petite chaîne les a
reliant. c

• On appelle diamètre
e
d'un graphe la plus d
longue des distances
entre deux sommets.
Le diamètre du graphe est 2
car c’est la plus grande distance
entre 2 sommets quelconques
Exemple : distance et diamètre
La distance entre a et e est 1
La distance entre a et d est 3
La distance entre c et b est 2

b
a
c
Le diamètre du graphe est 3
e car c’est la plus grande distance
d entre 2 sommets quelconques
Définition : degré d’un sommet
Un graphe non orienté
• Degré d’un sommet i : b
nombre d'arête issues a

d'un sommet dans un c

graphe non orienté;


e
d
un sommet
nombre d’arcs arrivant de degré 3
à i (noté d- (i)) ou
a
partant (noté d+ (i)) c
d’un sommet dans un
arc orienté.c à d: e
b un sommet
d
• d (i)= d- (i)) +d+ (i) Un graphe orienté
de degré 2
Définition : sous graphe
Graphe G
• sous graphe : b
le graphe G' est un sous a
graphe de G si c
l'ensemble des sommets
de G' est inclus dans
l'ensemble des sommets e
de G, et si l'ensemble des d
arcs de G' est égal au
sous-ensemble des arcs
de G reliant entre eux b
tous les sommets de G’ ; a Graphe G’
on a donc retiré de G
certains sommets, et tous
les arcs adjacents à ces
sommets. e
d
Exemple de sous graphe
• sous graphe :
le graphe G' est un sous graphe de G si
l'ensemble des sommets de G' est inclus dans
l'ensemble des sommets de G, et si l'ensemble
des arcs de G' est égal au sous-ensemble des
arcs de G reliant entre eux tous les sommets de
G’ ; on a donc retiré de G certains sommets, et
tous les arcs adjacents à ces sommets.
Exemple :si G représente les liaisons aériennes journalières
entre les principales capitales du monde, un sous-graphe
possible est de se restreindre aux liaisons journalières entre
les principales capitales africaines.
Un graphe partiel de G: consiste à ne considérer qu'une partie
des arêtes de U.
En reprenant le même exemple, un graphe partiel possible est de
ne considérer que les liaisons journalières de
moins de 3 heures entre les principales villes du monde.

Un sous-graphe partiel de G, c'est un graphe partiel d'un sous-


graphe de G.
b
a
g

b
e
a
d
c g f
h
Graphe G’(Sous graphe de G)
e
d
f b
h
a
Graphe G
g

e
d
f
h
Graphe G’’
(Graphe partiel)
Définition : sous ensemble stable
Graphe G
• Soit un graphe G, et F a
b

un sous-ensemble de c g
l’ensemble des
sommets S. e
On dit que F est un d
f
h
sous ensemble stable
de S s’il n’existe
aucun arc du graphe G a

reliant deux sommets


de F.
adh
d
forme un sous ensemble stable
h
Définition : successeur dans un graphe
orienté
x
Dans un graphe orienté, t

pour un arc (x;y) donné, z

on dit que
y
y est le successeur de x

x est le prédécesseur de y
Définition : matrice associée à un graphe
Pour le traitement b
informatique, tout graphe a

possède une matrice c

booléenne
(i.e avec des 0 et des 1 seulement)
d
associée : chaque ligne
indique les successeurs a b d
par un 1, et l’absence de 0 1 0 0
successeur par un 0. 1 0 1 1
c 0 1 0 1
0 1 1 0
c est en relation avec b et d
mais pas en relation avec a
matrice associée à un graphe non orienté

Lorsque le graphe est non b


a
orienté, la matrice
c
associée est symétrique
par rapport à la diagonale.
d
Lorsqu’il n’y a pas de
b
boucle, il n’y a que des
zéros sur la diagonale. 0 1 0 0
1 0 1 1
c 0 1 0 1
0 1 1 0
c est en relation avec b et
b est en relation avec c
matrice associée à un graphe orienté

Lorsque le graphe est b


a
orienté, la matrice n’est
c
pas forcément
symétrique.
d
Lorsqu’il n’y a pas de
a b d
boucle, il n’y a que des
a 0 0 0 0
zéros sur la diagonale.
b 1 0 0 1
0 1 0 0
0 0 1 0
b est en relation avec a et d
mais a n’est pas en relation avec b
Algorithme de Dijikstra
• Permet de chercher le plus court chemin
depuis un sommet source s donné, dans
un graphe orienté (à poids)
• N’autorise aucun arc négatif.
Algorithme de Ford-Bellman
• Permet de chercher le plus court chemin
depuis un sommet source s donné, dans
un graphe orienté (à poids)
• Autorise certains arcs négatifs.
pour i=1 à n
dist(i) ← ∞ ; pred(i) ← 0 ;
dist(s) ← 0
k←0
répéter
stable ← VRAI
pour tout j< > s
pour tout i ∈ Γ−1(j)
si dist(j) > dist(i) + l(i,j) alors
dist(j) ← dist(i) + l(i,j)
pred(j) ← i
stable ← FAUX
k ← k+1
jusqu’à stable = VRAI ou k > n-1
si k > n-1 alors présence d’un circuit de poids négatif
• Exemple: Calculer le plus court chemin
entre S et t.

S A C B D t =9
Exercices

1. Calculer le p.c.ch de la source Z vers les autres sommets.


2.Refaire la même chose si le poids de l’arc yv=4
1

3
Une compagnie possède 9 postes E, 1, 2, 3, a, b, c, d et S, de
retransmission des appels téléphoniques du nord marocain vers l’Est.

Les capacités maximales en milliers d’appels par minute.


Ce réseau de communication a été construit de telle façon qu’il
satisfasse aux conditions suivantes :

 Chaque poste intermédiaire 1, 2,3 a, b et c conserve les appels i.e.


tout appel arrivant à l’un de ces postes est immédiatement acheminé
vers un autre poste (il ne se perd pas d’appels à un poste donné).
Le # d’appels passant entre 2 postes est évidemment une quantité
non négative et est au plus égal à la capacité maximale des lignes
téléphoniques reliant ces 2 postes.
Les appels du nord Marocain passent tous par le poste E qui les
achemine vers les autres postes.

Les appels arrivant au poste S sont tous acheminés dans les


Cantons de l’Est.

Soit v le nombre d’appels passant dans le réseau de E (la source)


à S (la destination), comment répartir les appels dans le
réseau de façon à maximiser v ?
Algorithme de Ford-Fulkerson
Exemple
Exercice

Vous aimerez peut-être aussi