Vous êtes sur la page 1sur 40

Introduction la thorie des graphes

Introduction

Introduction Elments de cours Algorithme de coloriage Algorithme de Kruskal Algorithme des CFC Applications

Introduction
Introduction

Quest ce quun Graphe ?

Pourquoi la thorie des graphes ?

A.A.A

Introduction Elments de cours

Elments de cours

A.A.A

lments de cours
Elments de cours

Dfinition dun Graphes


Un graphe G est dfini par :

Un ensemble de sommets X. Un ensemble dartes U.

On utilise alors la notation : G = (X, U)

Exemp le
X = {a, b, c, d} U = {u1, u2, u3, u4} Avec : u1 = (a,b) u2 = (a,c) u3 = (a,d) u4 = (b,d)

a
u1 u3 u2

b
u4

d
A.A.A

lments de cours
Elments de cours

Graphes Orients

a b
Graphes Non Orients

d c a

b d

A.A.A

lments de cours
Elments de cours

Ordre dun Graphe


Lordre du graphe G(X,U), not |G|, est le nombre de sommets du graphe. On a alors : |G| = card(X)

a
a

b d
Graphe dordre 4

c d
Graphe dordre 3

c
b

Graphe dordre 2 A.A.A

lments de cours
Elments de cours

Graphe Simple
Un graphe G est dit simple, si et seulement sil ne contient ni boucle ni artes parallles.

b d

c d

c d
Graphe simple A.A.A

Ce graphe nest pas simple car il contient 2 artes parallles

Ce graphe nest pas simple car il contient une boucle

lments de cours
Elments de cours

Graphe Complet
Un graphe G est dit complet si et seulement sil est simple et si chacun de ses sommets est li tous ses autres sommets.

b d

c d

c d
Graphe complet

Ce graphe nest pas complet car les deux sommets b et c ne sont pas

Ce graphe nest pas complet car il nest pas simple

A.A.A

lments de cours
Elments de cours

Degr dun sommet


On appelle degr dun sommet d(x), le nombre de liaisons du sommet x. d : X ---> N x ----> d(x)

Exemp le
d(a) = 3 d(b) = 2 d(c) = 4

b c
A.A.A

d(d) = 1 , on dit que le sommet d est pendant d(e) = 0 , on dit que le sommet e est isol

lments de cours
Elments de cours

Degr positif et degr ngatif


Pour les graphes orients, on dfinit les deux notions : - degr positif sommet x d + (x) : nombre darcs sortants du

- degr ngatif d - (x) : nombre darcs entrants au sommet x Exemp

le
d + (a) = 0d - (a) = 2 d(a) = 2 d + (b) = 1d - (b) = 1 d(b) = 2 d + (c) = 3 d - (c) = 1 d(c) = 4

a b c

A.A.A

lments de cours
Elments de cours

Graphe Rgulier
Un graphe G est dit rgulier si et seulement si tous ses sommets ont le mme degr.

Exemp le

c
d(a) = d(b) = d(c) = 2

Graphe rgulier

A.A.A

lments de cours
Elments de cours

Source / Puit
Un sommet x est dit source si d + (x) > 0 et d - (x) = 0

x
Un sommet x est dit puit si d - (x) > 0 et d + (x) = 0

A.A.A

lments de cours
Elments de cours

Notion dadjacence
On dit que deux sommets x et y sont adjacents si x et y sont lis par au moins un arc u. On dit aussi que x et y sont deux extrmits terminales de larc u. a b

Pour les graphes orients on parle aussi dextrmit initiale et extrmit finale. b

A.A.A

lments de cours
Elments de cours

Matrice dordre n

Matrice dadjacence / Graphes non orients


carre a b c d e

A=

b c d e

0 1 0 1 1 1 0 1 2 1 0 1 0 1 0 1 2 1 0 0 1 10 0 0

b d
c

Matrice symtrique

Aij = 2m N

m tant le nombre darcs du graphe (y compris les boucles) et N le nombre de boucles A.A.A

lments de cours
Elments de cours

Matrice dadjacence / Graphes non orients

Matrice symtrique Aij = 2m N

La somme des nombres dune mme ligne (ou dune mme colonne) donne le degr du sommet correspondant.

Si le graphe est simple la matrice sera compose que par des 0 et 1 et la diagonale ne contiendra que des zros

A.A.A

lments de cours
Elments de cours

Matrice dadjacence / Graphes orients

1 0 = 0 1 1

1 0 1 0 0

1 1 0 0 0

0 0 1 1 1

0 0 0 1 0

a b c

Matrice non symtrique Aij = m Avec m = card(U)

A.A.A

lments de cours
Elments de cours

Pondrati on
Soit G = (X,U) un graphe On dfinit dans U lapplication l : l: U ---> R u ----> l(u) : pondration 9

a
2 13

b
10

c
12

d
Selon la nature du problme, l(u) peut reprsenter une longueur, un cot, un poids,

A.A.A

Algorithme de Coloration

Algorithme de coloration

A.A.A

Algorithme de Coloration
Princip e

Algorithme de Coloration

Le principe est de colorier les sommets dun graphe, de telle faon attribuer:

Pour deux sommets adjacents deux couleurs diffrentes Un nombre de couleur minimal

Exempl es

c b a b
A.A.A

Algorithme de Coloration
Nombre chromatique

Algorithme de Coloration

Le nombre chromatique est le plus petit nombre de couleurs ncessaires pour colorier le graphe. Si un graphe G contient un sous-graphe G complet dordre p, alors son nombre chromatique est suprieur ou gal p. (G) >= (G)

c d a
(G) =3

c
(G) =4

b
A.A.A

Algorithme de Coloration
Algorithme de Coloration

Algorithme de Coloration

1. Classer les sommets du graphe dans une liste dans l'ordre dcroissant de leur degr. 2. En parcourant la liste dans l'ordre, attribuer une couleur non encore utilise au premier sommet non encore color, et attribuer cette mme couleur chaque sommet non encore color et non adjacent un sommet de cette couleur.

Exemp le

d
x d(x) Couleur a b c d e 4 2 2 1 1

C1 C2 C3 C2 C2

a e
A.A.A

Algorithme de Coloration
Algorithme de Coloration

Algorithme de Coloration

Il est noter que le nombre de couleurs minimal obtenu par lalgorithme de coloration nest pas ncessairement optimal. Ce dernier donne une coloration parmi plusieurs possibles. Le nombre de couleurs trouvs par lalgorithme est suprieur ou gal au nombre chromatique. Le nombre chromatique du graphe est le plus petit nombre possible de couleurs.

A.A.A

Algorithme de Kruskal

Algorithme de Kruskal

Algorithme de Kruskal

A.A.A

Algorithme de Kruskal
Algorithme de Kruskal

Algorithme de Kruskal

Le principe de cet algorithme est de dgager dun graphe non orient pondr un arbre de poids minimal. Un arbre est un graphe sans cycles. Pour former donc notre arbre partir du graphe, on emprunte les artes dans lordre croissant de leur poids sans former aucun cycle. Pour un graphe dordre n (n sommets), on sarte lorsquon aura emprunt n-1 artes.

A.A.A

Algorithme de Kruskal
Exempl es

Algorithme de Kruskal

d a

d b a

b e

e
Ce graphe nest pas un arbre car il contient un cycle

Arbr e 5 sommets 4 artes

A.A.A

Algorithme de Kruskal
Exempl es

Algorithme de Kruskal

On considre le graphe suivant et on essaie de chercher un arbre de poids minimal. 1

d
2 3

c
3 5 5 5

Effectivement, pour 5 sommets on obtient 4 artes. Poids de larbre = 1 + 2 + 3 + 5 = 11 A.A.A

Algorithme des CFC

Algorithme des composantes fortement connexes

A.A.A

Algorithme des Composantes Fortement Connexes


Graphe fortement connexe

Algorithme des CFC

Un graphe est dit fortement connexe si, entre tous sommets x et y quelconques, il existe un chemin c = {u1 , , um} qui commence en x et se termine en y.

c
Ce graphe nest pas fortement connexe

c
Ce graphe est fortement connexe

A.A.A

Algorithme des Composantes Fortement Connexes


Composantes fortement connexes

Algorithme des CFC

f
Ce graphe nest pas fortement connexe mais on dit quil contient deux composantes fortement connexes A = {a, b, c} et B = {d, e, f}

A.A.A

Algorithme des Composantes Fortement Connexes


Graphe rduit

Algorithme des CFC

Le graphe rduit du graphe cidessus est :

f B

A
Avec : A = {a, b, c} et B = {d, e, f}

A.A.A

Algorithme des Composantes Fortement Connexes


Algorithme des Composantes fortement connexes

Algorithme des CFC

Choisir un sommet x Marquer x par le signe + Marquer du signe + tout successeur de x et tout successeur dun sommet marqu dun + Marquer x par le signe Marquer du signe - tout prdcesseur de x et tout prdcesseur dun sommet marqu dun

Lensemble des sommets marqus du signe + et - constituent la composante fortement connexe maximale issue du sommet s. A.A.A

Algorithme des Composantes Fortement Connexes


Exempl e

Algorithme des CFC

Cherchons les composantes fortement connexes du graphe suivant, en appliquant notre algorithme :

+ -

b +

+a -

+c -

+d

+ +e f + + A.A.A

Applications

A.A.A

Applications
A, B, C, D, E, F, G et H dsignent huit poissons. Dans le tableau cidessous, une croix signifie que les poissons ne peuvent pas cohabiter dans un mme aquarium:

Exercic e1

1. Formuler ce problme comme un problme de coloration dans un graphe o les poissons reprsenteront les sommets du graphe. 2. Utiliser lalgorithme donn au cours pour trouver une coloration. 3. a) Que peut on dire du sous graphe G engendr par {A, C, D, H}. b) En dduire le nombre chromatique. A.A.A

Applications
Exercic e2

1 6 11 15

2 7

3 8 12 16

4 9 13 17

5 10 14 18

1. Trouver les composantes fortement connexes. 2. Tracer le graphe rduit. 3. Changer lorientation dun seul arc pour que tout le graphe devienne fortement connexe. A.A.A

Applications
Exercic e3

1
1

2 3 4

2 7
8 5 9 9

5 10 9

3
8

4
2

7 7 8

5
9

6
4

8
7

11 5 2

9 13
4 9 10 10

10
13

11
2

12
7

14
12

15

16

17

18

ouver dans le graphe suivant larbre de poids minimum et calculer son poids A.A.A

Applications
Exercic e4

iste-t-il un graphe simple dordre 11 dont tous les sommets sont de degr 3? oui, dessinez-en un. Le graphe est dordre 11 donc il contient 11 sommets

Et on a chaque sommet est de degr 3

Donc d(x) = 11 * 3 !!! Absurde !!

Car la somme totale des degrs dun graphe est toujours paire

A.A.A

Applications
Exercic e5

Considrons les deux graphes suivants:

G 1

G 2

On dsigne par A1 (resp. A2) la matrice dadjacence de G1 (resp. G2). 1. Donner A1 et A2 2. Calculer A1n et A2n pour tout entier naturel n non nul. 3. Retrouver les valeurs de A1n et A2n sans calcul, partir des graphes G1 et G2 seulement. 4. Considrons un graphe G orient et simple et A sa matrice dadjacence. Donner une condition ncessaire et suffisante pour que An devienne nulle partir dun certain entier n. A.A.A

MERCI
Applications

Merci pour votre attention