Théorie des graphes - 1

Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF