Vous êtes sur la page 1sur 30

Chapitre

La connexité dans un graphe

1
3.1 Cheminement dans un graphe
Définitions: Soient G=(V,E) un graphe quelconque, C={e1, e2, …, ep}
une séquence d’arcs de cardinalité p tel que deux arcs consécutifs ei
et ei+1 ont une extrémité commune.
C est appelée chaîne de cardinalité p.
Un chemin est une chaîne dont les arcs sont orientés dans le même
sens.
Un cycle est une chaîne fermée (le premier sommet coïncide avec le
dernier sommet).
Un circuit est un chemin fermé fermée (le premier sommet coïncide
avec le dernier sommet).

2
3.1 Cheminement dans un graphe
Un parcours est une chaîne ou un cycle ou un chemin ou un circuit.

- Un parcours est dit élémentaire s’il emprunte une et une seule


fois chacun de ses sommets (à l’exception du premier sommet pour
le cycle et circuit).
- Un parcours est dit Hamiltonien s’il emprunte une et une seule
fois tous les sommets du graphe (à l’exception du premier sommet
pour le cycle et circuit).
- Un parcours est dit simple s’il emprunte une et une seule fois
chacun de ses arcs.
- Un parcours est dit Eulerien s’il emprunte une et une seule fois
chacun tous les arcs du graphe.

3
3.1 Cheminement dans un graphe
3.1.1 La Chaine:
Une chaîne joignant deux sommets V0 et Vk dans une graphe G, est une suite de
sommets reliés par des arêtes tels que, deux sommets successifs ont une arête
commune. On la note (V0, V1, …, Vk), on dit que V0, Vk les extrémités de la chaîne,
Exemple: G=(V,E)

La suite (A,B,C,D) est une


chaîne simple joignant A à D

La suite (A,E,B,A,E) est une


chaîne joignant A à E qui n’est
pas simple: l’arête (A,E)
empruntée 2 fois

La suite (A,B,E) est une chaîne


simple joignant A à E

4
3.1 Cheminement dans un graphe
3.1.1 La Chaine:
- La longueur de la chaine est égale au nombre d’arêtes qui la compose.
- Une chaîne élémentaire, si aucun des sommets composant la chaine n’apparaît plus
d’une fois.
- Une chaîne est dite simple, si aucune des arêtes n’apparaît plus d’une fois

On appelle chaîne Eulérienne d’un


graphe G, une chaine passant une
et une seule fois par chacune des
arêtes de G.

On appelle chaîne hamiltonienne


d’un graphe G, une chaine passant
une et une seule fois par chacun
des sommets de G.

5
3.1 Cheminement dans un graphe
3.1.2 Cycle:
Un cycle est une chaîne dont les extrémités coïncident ( e0,e1,…ek = e0), c’est une
succession d’arcs différents)
Exemple: (A,B,C,E,A) est une cycle
B
Une boucle est un cycle particulier. (B,B)
Un cycle élémentaire, si en le parcourant, on ne rencontre pas plusieurs fois le même
sommet.
C1=(A,B,E,A) cycle élémentaire de
longueur 3

C2=(A,B,C,F,E,D,A) cycle élémentaire de


longueur 5

C3=(D,A,E,F,C,E,D) cycle de longueur 6


qui n’est pas élémentaire

C4=(A,B,E,C,B,E,A) n’est pas un cycle:


l’arc (B,E) est compté deux fois

6
3.1 Cheminement dans un graphe
3.1.2 Cycle:
- On appelle cycle hamiltonien d’un graphe, est un cycle passant une et une seule fois
par chacun des sommets du graphe. C1=(A,B,C,F,E,D,A) cycle hamiltonien
- Un graphe est hamiltonien s’il possède un cycle hamiltonien
- On appelle cycle euleurien d’un graphe G, un cycle passant une et une seule fois par
chacune des arêtes de G.
- Un graphe est dit euleurien s’il possède un cycle euleurien.

Une distance entre deux sommets d’un


graphe G est la longueur de la plus petite
chaine les reliant.
Exemple: distance entre (A , F) = 2

Le diamètre d’un graphe G est le


maximum des distances entre les
différents sommets de G
Diamètre (G) = 2 ?? À vérifier

Un graphe sans cycle est dit acyclique

7
3.1 Cheminement dans un graphe
3.1.3 Le chemin:
Un chemin du sommet V0 à Vk dans un graphe G, est une suite de sommets reliés
successivement par des arcs orientés dans le même sens.
Exemple: (A,E,C )
Un chemin est dit élémentaire si aucun des sommets composant le chemin
n’apparait plus d’une fois

Un chemin est dit simple si aucun des


A B
arcs composant le chemin n’apparait
C
plus d’une fois
Un chemin eulérien est chemin un
simple qui passe une et une seule fois
par chaque arc du graphe.
D E F Un chemin hamiltonien est un chemin
qui passe une et une seule fois par
chaque sommet du graphe

8
3.1 Cheminement dans un graphe
3.1.4 Le Circuit:
Un circuit est un chemin dont les extrémités initiale et finale
coïncident.
Exemples:
La suite ( A,B,C,E) : chaine élémentaire
La suite ( A,B,C,F,E) : chemin élémentaire
A B C La suite (A,B,E,A) : cycle élémentaire
La suite ( A,B,E,D,A) : circuit
élémentaire
La suite (A,B,C,F,E,D,A) : circuit
hamiltonien
D E F

9
3.2 La Connexité
3.2.1 La notion de connexité:
Deux sommets x et y ont une relation de connexité si et seulement s’il existe une
chaine entre x et y.

1 3 2

4 5 6

Il existe une chaine entre 1 et 2 C =(1, 3 2 ) 1 et 2 ont une relation de


connexité
Il n’existe pas de relation entre 1 et 5 1 et 5 n’ont pas de relation de connexité

10
3.2 La Connexité
3.2.2 graphe connexe:
Un graphe non orienté est connexe si chaque sommet est accessible à partir de
n’importe quel autre sommet

1 3 2

4 5 7

Le graphe n’est pas connexe


Remarque : Si on ajoute un arc entre 5 et 7, le graphe devient connexe

11
3.2 La Connexité
3.2.3 composante connexe:
On appelle composante connexe un ensemble de sommets qui ont deux à deux la
relation de connexité

1 3 2

4 5 7

Les sommets (1,3,4,5) forment la première composante connexe


Les sommets (2,6,7) forment la deuxième composante connexe

12
3.2 La Connexité
3.2.4 Point d’articulation:
Le point d’articulation est un sommet dont la suppression augmente le nombre de
composantes connexes

1 3
2
5

4 6

Un isthme est une arête dont la suppression a le même effet


Le sommet 5 est un point d’articulation
L’arête (5,2) est un isthme

13
3.2 La Connexité
3.2.5 Graphe fortement connexe
On parle de forte connexité dans les graphes orientés.
a) On définit la forte connexité dans un graphe par la relation entre deux sommets
de la manière suivante:
x et y fortement connexe il existe un chemin de x à y et un chemin de y à x

Les sommets 1 et 3 ont une relation


de connexité forte
1 Nous avons un chemin de 1 à 3 et un
4
chemin de 3 à 1
3

Les sommets 4 et 3 n’ont pas de


2 relation de forte connexité
Il existe un chemin entre 4 et 3
Mais pas de chemin entre 3 et 4

14
3.2 La Connexité
3.2.5 Graphe fortement connexe
b) Composante fortement connexe:
On appelle composante fortement connexe , un ensemble de sommets qui ont deux
à deux la relation de forte connexité.
- L’ensemble {1,2,3} forme une composante fortement connexe C1
- L’ensemble {4,5} forme une autre composante fortement connexe C2
- Les sommets de C1 n’ont pas de relation de forte connexité avec les sommets de C2

1
2
4

5
3

C1 C2

15
3.2 La Connexité
3.2.5 Graphe fortement connexe
c) Application:
Plan de circulation dans une ville, il est intéressant de savoir si on peut
se déplacer de ou vers n’importe quel point, Un moyen de vérifier, on
met le plan et on le vérifie s’il est fortement connexe ou non.

16
3.2 La Connexité
3.2.6 Graphe réduit:
Les sommets sont représentés par les composantes fortement connexes

C1 C2
Graphe réduit Gr

1
2
4

5
3

C1 C2

17
3.2 La Connexité
3.2.7 Graphe fortement connexe:
Un graphe G est dit fortement connexe si tous ses sommets ont deux à deux la
relation de forte connexité, autrement dit G contient une seule composante
fortement connexe.
Ce graphe n’est pas fortement connexe, il contient 2 composantes fortement
connexes,
Si on ajoute un arc (5,3) il devient un graphe fortement connexe

1
2
4

5
3

18
3.2 La Connexité
3.2.8 Recherche des composantes fortement connexes:
Algorithme: de marquage
Données: G=(V,E) , graphe orienté
Résultats: le nombre K de composantes fortement connexes et la liste C1,C2,…Ck des
composantes fortement connexes
Etape 0: Ini alisa on K←0 W←V
Etape 1:
- Choisir un sommet de W et le marquer d’un signe + et –
- marquer tous les successeurs directs et indirects par +
- marquer tous les prédécesseurs directs et indirects par –
- poser K = K + 1 et Ck l’ensemble des sommets marqués par + et –
- retirer de W les sommets de Ck ( W = W – Ck) et effacer toutes les marques
- Si W = alors terminer et aller à l’étape 2 sinon aller à l’étape 1
Etape 2:
K est le nombre de composantes fortement connexes et chaque Ci est une
composante

19
3.2 La Connexité
3.2.8 Recherche des composantes fortement connexes: Exemple
0 : Initialisation: K = 0 W = V= {a,b,c,d,e,f}

e b

a d

1: On choisit a, on calcule les successeurs et les prédécesseurs de a, marqués par +


et -, on trouve C1= {a,b,c,d,f} et W = W – C1 = { e}
W≠ aller à l’étape 1 et continuer

20
3.2 La Connexité
3.2.8 Recherche des composantes fortement connexes: Exemple
Itération 2: On marque le sommet e par + et - alors C2={e}
Pas d’autre sommet marqué
e b

a d
G:

W= W – C2 = alors terminer, le nombre de composantes fortement connexe = 2


C1={a,b,c,d,f} et C2={e} ,Au graphe G est associé un graphe réduit Gr représenté
par:
Gr : C1 C2

21
3.2 La Connexité
3.2.9 Ordonnancement d’un graphe:
C’est la mise en ordre d’un graphe connexe.
Principe: Ordonner un graphe revient à disposer dans un certain ordre
ses sommets tels que les arcs soient dans le même sens.
On définit les différents niveaux des sommets

Algorithme: mise en ordre d’un graphe

Données: Un graphe connexe orienté G=(V,E)


Résultats: les différents niveaux de sommets et le graphe ordonné

22
3.2 La Connexité
3.2.9 Ordonnancement d’un graphe: (suite de l’algorithme)
(0) Déterminer le dictionnaire des prédécesseurs de G formé par (V, - (x) )
(1) On repère dans - (x) , les sommets n’ayant pas de prédécesseurs - (x) =
(1.1) On pose N0: l’ensemble des sommets de G n’ayant pas de prédécesseurs,
on l’appelle niveau 0
(1.2) On barre dans la colonne de - (x) tous les sommets de niveau 0 , on obtient
une nouvelle colonne avec 1 (x) avec G1, le sous graphe V/N0
(2) On repère dans la colonne - (x) les sommets n’ayant pas de prédécesseurs
- (x)=
(2.1) On pose N1, l’ensemble des sommets du graphe n’ayant pas de prédécesseurs
(2.2) On barre dans la case 1 (x), tous les sommets de niveau N1, on obtient une
nouvelle colonne 2 (x) avec G2 le sous graphe engendré par V/ (N0 U N1)

On continue le même procédé jusqu’à ce qu’on termine le graphe, et on représente


le graphe ordonné par niveau de G

23
3.2 La Connexité
3.2.9 Ordonnancement d’un graphe: (exemple d’application)
b

d
c e

V - (x) a: n’a pas de V - 1(x)


b: n’a pas de
a prédécesseur a / prédécesseur
N0={a} N1={b}
b a On barre le sommet a b
On barre le sommet b
c a,b de - (x) c b de - 1(x)
Et on obtient - 1(x) Et on obtient - 2(x)
d c,b d c,b
e d e d

24
3.2 La Connexité
3.2.9 Ordonnancement d’un graphe: (exemple d’application)
b

d
c e

V - 2(x) c: n’a pas de V - 3(x) d: n’a pas de


a / prédécesseur a / prédécesseur
N2={c} N3={d}
b / On barre le sommet c b / On barre le sommet d
c de - 2(x) c / de - 3(x)
Et on obtient - 3(x) Et on obtient - 4(x)
d c d
e d e d

25
3.2 La Connexité
3.2.9 Ordonnancement d’un graphe: (exemple d’application)
b

d
c e

V - 4(x) e: n’a pas de On a examiné tous les sommets du graphe,


a / prédécesseur on a donc le graphe ordonné:
N4={e} N0={a} , N1={b}, N2={c}, N3={d}, N= {e}
b /
c /
d /
e

26
3.2 La Connexité
3.2.9 Ordonnancement d’un graphe: (exemple d’application)

a b c d e

N0 N1 N2 N3 N4

C’est un graphe ordonné

27
3.2 La Connexité
3.2.10 Recherche d’un circuit dans un graphe connexe:

A une étape donnée de l’ordonnancement d’un graphe, la définition


des niveaux se bloque ( il n’existe pas de sommets n’ayant pas de
prédécesseurs,
 la mise en ordre du graphe est impossible, on dit que le graphe
possède un circuit

28
3.2 La Connexité
3.2.10 Recherche d’un circuit dans un graphe connexe(application)

d b

e c On ne peux pas
déterminer le niveau N1,
V - (x) V - 1(x) Il n’y a pas de sommet
a: n’a pas de
n’ayant pas de
a prédécesseur a / prédécesseurs
N0={a}
b a,e b e  G n’est pas
On barre le sommet a
ordonnable
c a,b de - (x) c b  G contient un circuit
Et on obtient - 1(x)
d c,b d c,b
e d e d 61

29
3.2 La Connexité
3.2.10 Recherche d’un circuit dans un graphe connexe(application)

d b

e c

V - 1(x)
a / Pour déterminer ce circuit, on choisit un sommet dans
- 1(x)
b e Soit e , ce sommet, nous renvoie à la ligne dans V, on
c b arrête, car le sommet e s’est répété.
d c,b  la suite (e,d,b,e)  le suite inverse forme
62
un
circuit (e,b,d,e)
e d

30

Vous aimerez peut-être aussi