Théorie des graphes - 1
Short Description
Download Théorie des graphes - 1...
Description
Introduction à la théorie des graphes
Introduction
Introduction Eléments de cours Algorithme de coloriage Algorithme de Kruskal Algorithme des CFC Applications
Introduction Introduction
Qu’est ce qu’un Graphe ?
Pourquoi la théorie des graphes ?
A.A.A
Introduction Eléments de cours
Eléments de cours
A.A.A
léments de cours Eléments de cours
Définition d’un Graphes Un graphe G est défini par : • •
Un ensemble de sommets X. Un ensemble d’arêtes U.
On utilise alors la notation : G = (X, U)
a
Exemp le
u1
X = {a, b, c, d} U = {u1, u2, u3, u4} Avec : u1 = (a,b) u2 = (a,c) u3 = (a,d) u4 = (b,d)
u2 u3
c
b u4
d A.A.A
léments de cours Eléments de cours
Graphes Orientés
a
d c
b
a
Graphes Non Orientés
c
b d
A.A.A
léments de cours Eléments de cours
Ordre d’un Graphe L’ordre du graphe G(X,U), noté |G|, est le nombre de sommets du graphe. On a alors :
|G| = card(X)
a
a
a
c
c
b d Graphe d’ordre 4
d Graphe d’ordre 3
b
Graphe d’ordre 2 A.A.A
léments de cours Eléments de cours
Graphe Simple Un graphe G est dit simple, si et seulement s’il ne contient ni boucle ni arêtes parallèles.
a
a
c
b d
Ce graphe n’est pas simple car il contient 2 arêtes parallèles
a
c d Ce graphe n’est pas simple car il contient une boucle
c d Graphe simple A.A.A
léments de cours Eléments de cours
Graphe Complet Un graphe G est dit complet si et seulement s’il est simple et si chacun de ses sommets est lié à tous ses autres sommets.
a
a
c
b d
Ce graphe n’est pas complet car les deux sommets b et c ne sont pas
a
c d Ce graphe n’est pas complet car il n’est pas simple
c d Graphe complet
A.A.A
léments de cours Eléments de cours
Degré d’un sommet On appelle degré d’un sommet d(x), le nombre de liaisons du sommet x. d : X ---> N x ----> d(x)
Exemp le
e
a
d(a) = 3 d(b) = 2 d(c) = 4
d
b
d(d) = 1 , on dit que le sommet d est pendant d(e) = 0 , on dit que le sommet e est isolé
c A.A.A
léments de cours Eléments de cours
Degré positif et degré négatif Pour les graphes orientés, on définit les deux notions : - degré positif sommet x
d + (x) : nombre d’arcs sortants du
- degré négatif d - (x) : nombre d’arcs 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
léments de cours Eléments de cours
Graphe Régulier Un graphe G est dit régulier si et seulement si tous ses sommets ont le même degré.
Exemp le
a
c d(a) = d(b) = d(c) = 2
d
Graphe régulier
A.A.A
léments de cours Eléments 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
x
A.A.A
léments de cours Eléments de cours
Notion d’adjacence On dit que deux sommets x et y sont adjacents si x et y sont liés par au moins un arc u. On dit aussi que x et y sont deux extrémités terminales de l’arc u. a
b
Pour les graphes orientés on parle aussi d’extrémité initiale et extrémité finale.
a
b
A.A.A
léments de cours Eléments de cours
Matrice d’adjacence / Graphes non orientés
Matrice d’ordre n
carrée a b c d e
a
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
Matrice symétrique ∑ Aij = 2m – N
a
e
b d c
à
m étant le nombre d’arcs du graphe (y compris les boucles) et N le nombre de boucles A.A.A
léments de cours Eléments de cours
Matrice d’adjacence / Graphes non orientés •
Matrice symétrique
•
∑ Aij = 2m – N
La somme des nombres d’une même ligne (ou d’une même colonne) donne le degré du sommet correspondant. •
Si le graphe est simple la matrice sera composée que par des 0 et 1 et la diagonale ne contiendra que des zéros •
A.A.A
léments de cours Eléments de cours
Matrice d’adjacence / Graphes orientés
A
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
Matrice non symétrique
a b
d c
e
∑ Aij = m Avec m = card(U) A.A.A
léments de cours Eléments de cours
Pondérati on Soit G = (X,U) un graphe
a
On définit dans U l’application l : l:
U ---> R u ----> l(u) : pondération
2
9
13
c
b
12
10
d Selon la nature du problème, l(u) peut représenter une longueur, un coût, un poids, …
A.A.A
Algorithme de Coloration
Algorithme de coloration
A.A.A
Algorithme de Coloration
Algorithme de Coloration
Princip e Le principe est de colorier les sommets d’un graphe, de telle façon à attribuer: •
Pour deux sommets adjacents deux couleurs différentes
•
Un nombre de couleur minimal
Exempl es
a
c b a
b A.A.A
Algorithme de Coloration
Algorithme de Coloration
Nombre chromatique Le nombre chromatique est le plus petit nombre de couleurs nécessaires pour colorier le graphe. Si un graphe G contient un sous-graphe G’ complet d’ordre p, alors son nombre chromatique est supérieur ou égal à p. (G) >= (G’) è
c
c
d a
(G) =3
b
(G) =4
a
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 décroissant de leur degré. 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.
Exemp le
c
d x d(x) Couleur a b c d e
4 2 2 1 1
C1 C2 C3 C2 C2
a
b e A.A.A
Algorithme de Coloration
Algorithme de Coloration
Algorithme de Coloration Il est à noter que le nombre de couleurs minimal obtenu par l’algorithme de coloration n’est pas nécessairement optimal. Ce dernier donne une coloration parmi plusieurs possibles. Le nombre de couleurs trouvés par l’algorithme est supérieur 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 dégager d’un graphe non orienté pondéré un arbre de poids minimal. Un arbre est un graphe sans cycles. Pour former donc notre arbre à partir du graphe, on emprunte les arêtes dans l’ordre croissant de leur poids sans former aucun cycle. Pour un graphe d’ordre n (n sommets), on s’arête lorsqu’on aura emprunté n-1 arêtes.
A.A.A
Algorithme de Kruskal
Algorithme de Kruskal
Exempl es
c
d a
c
d b
e Ce graphe n’est pas un arbre car il contient un cycle
a
b e
Arbr e 5 sommets 4 arêtes
A.A.A
Algorithme de Kruskal
Algorithme de Kruskal
Exempl es On considère le graphe suivant et on essaie de chercher un arbre de poids minimal. 1
c
d
3
3
2
5
a 5
b 5
e
Effectivement, pour 5 sommets on obtient 4 arêtes. Poids de l’arbre = 1 + 2 + 3 + 5 = 11 A.A.A
Algorithme des CFC
Algorithme des composantes fortement connexes
A.A.A
Algorithme des Composantes Fortement Connexes
Algorithme des CFC
Graphe fortement connexe 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.
a
b
c Ce graphe n’est pas fortement connexe
a
b
c Ce graphe est fortement connexe
A.A.A
Algorithme des Composantes Fortement Connexes
Algorithme des CFC
Composantes fortement connexes
A
b
a
c
d
e
B
f Ce graphe n’est pas fortement connexe mais on dit qu’il contient deux composantes fortement connexes A = {a, b, c} et B = {d, e, f}
A.A.A
Algorithme des Composantes Fortement Connexes Graphe réduit
A
Algorithme des CFC
b
a
c
Avec :
e
f
Le graphe réduit du graphe cidessus est :
A
d
B
A = {a, b, c} et B = {d, e, f}
A.A.A
B
Algorithme des Composantes Fortement Connexes
Algorithme des CFC
Algorithme des Composantes fortement connexes ü
ü
ü
Choisir un sommet x Marquer x par le signe + • Marquer du signe + tout successeur de x et tout successeur d’un sommet marqué d’un + Marquer x par le signe • Marquer du signe - tout prédécesseur de x et tout prédécesseur d’un sommet marqué d’un –
L’ensemble des sommets marqués du signe + et - constituent la composante fortement connexe maximale issue du sommet s. A.A.A
Algorithme des Composantes Fortement Connexes
Algorithme des CFC
Exempl e 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 Exercic e1
A, B, C, D, E, F, G et H désignent huit poissons. Dans le tableau cidessous, une croix signifie que les poissons ne peuvent pas cohabiter dans un même aquarium:
1. Formuler ce problème comme un problème de coloration dans un graphe où les poissons représenteront les sommets du graphe. 2. Utiliser l’algorithme 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 déduire le nombre chromatique. A.A.A
Applications Exercic e2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1. Trouver les composantes fortement connexes. 2. Tracer le graphe réduit. 3. Changer l’orientation d’un seul arc pour que tout le graphe devienne fortement connexe. A.A.A
Applications Exercic e3 2
1
3
1
6
5
2
10
4
9
7 8
4
11 2
15
5
3 8
2 11
2
16
9
9
10 8
13 4
3
5
7
5
7
7 9
7
4
8
12 9
4
17
13
9 10 10
14 12
18
ouver dans le graphe suivant l’arbre de poids minimum et calculer son poids A.A.A
Applications Exercic e4
iste-t-il un graphe simple d’ordre 11 dont tous les sommets sont de degré 3 ? oui, dessinez-en un. àLe graphe est d’ordre 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 degrés d’un graphe est toujours paire
A.A.A
Applications Exercic e5
Considérons les deux graphes suivants :
1
2
G 1
3
1
2
3
G 2
On désigne par A1 (resp. A2) la matrice d’adjacence 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. Considérons un graphe G orienté et simple et A sa matrice d’adjacence. Donner une condition nécessaire et suffisante pour que An devienne nulle à partir d’un certain entier n. A.A.A
MERCI Applications
Merci pour votre attention
View more...
Comments