0% ont trouvé ce document utile (0 vote)
5 vues21 pages

III ROPresentation3

Le document traite de la théorie des graphes, en se concentrant sur les concepts d'arbre, d'arborescence et de graphe valué. Il présente également l'algorithme de Kruskal pour trouver un arbre de recouvrement à coût minimal et explique comment déterminer les niveaux dans un graphe orienté. Des exemples illustrent l'application de ces concepts dans des contextes pratiques, comme la modélisation de réseaux de villes.

Transféré par

dickom45h22
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues21 pages

III ROPresentation3

Le document traite de la théorie des graphes, en se concentrant sur les concepts d'arbre, d'arborescence et de graphe valué. Il présente également l'algorithme de Kruskal pour trouver un arbre de recouvrement à coût minimal et explique comment déterminer les niveaux dans un graphe orienté. Des exemples illustrent l'application de ces concepts dans des contextes pratiques, comme la modélisation de réseaux de villes.

Transféré par

dickom45h22
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

UNIVERSITE CHEIKH ANTA DIOP (UCAD)

ÉCOLE SUPÉRIEURE POLYTECHNIQUE (E.S.P)


DÉPARTEMENT DE GESTION

Recherche Opérationnelle

Chapitre: Théorie des Graphes


Arbre, graphe valué et niveau a

[Link]

2 juillet 2020
(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 1 / 16
Sommaire

1 Arbre et arborescence

2 Graphe valué
Algorithme de Kruskal

3 Niveaux dans un graphe

[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 2 / 16


Arbre et arborescence

Definition
Un arbre T est un graphe connexe sans cycle. Il a une arête de moins que
de sommets.
Arborescence Une arborescence est un graphe orienté G=(S,A) tel que :
sans l’orientation G est un arbre
tous les sommets de G sont descendants d’un sommet unique r appelé
racine.
Anti-arborescence
Une anti-arborescence est le graphe ”inverse ” d’une arborescence : tous
les sommets sont ascendants d’un sommet a unique appelé anti-racine.
a

[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 3 / 16


Arbre et arborescence

a
r

(b) Arborescence (c) Anti−arborescence


(a) Arbre

l’arborescence peut permettre de hiérarchiser les différents postes de


l’entreprise d’un PDG au gardien. a

[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 4 / 16


Graphe valué
Exemple
La carte des différentes villes d’un pays peut être représentée sous forme
d’un graphe valué :
les sommets représentent les différentes villes du pays ;
les arêtes reliant deux villes peuvent représenter les distances entre
elles.

[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 5 / 16


Graphe valué
Exemple
La carte des différentes villes d’un pays peut être représentée sous forme
d’un graphe valué :
les sommets représentent les différentes villes du pays ;
les arêtes reliant deux villes peuvent représenter les distances entre
elles.
ville 1 10
21
ville 2 4 ville 7
8 9
20 15
ville 5
11 ville 8
ville 3 14
18 15 11
25 ville 6 26
ville 4 8 ville 11
30
16 ville 9 23 a
11 [Link]
ville 10
(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 5 / 16
Arbre de recouvrement

Soit G = (S, A) un graphe connexe valué. Un graphe partiel T de G est un


arbre de recouvrement si T est un arbre contenant tous les sommets de G.
Arbre de recouvrement à coût minimal
Parmi tous les arbres de recouvrement d’un graphe G, celui dont la somme
total des coûts de ses arcs est la plus petite est appelé arbre de
recouvrement à coût minimal.

[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 6 / 16


Arbre de recouvrement

Algorithme de Kruskal
1 Étape 1. Initialisation
Choisir un arc u1 ∈ A de coût minimal.
Poser i = 1 et P = {∅}
2 Étape 2. Addition d’arc
Poser P = P ∪ {ui } ;
Poser 1 ≤ i ≤ n − 1, déterminer ui+1 ∈ A privé de P tel que
(a) le coût de ui+1 soit minimal.
(b) le sous graphe Gi engendré par les arcs {u1 , u2 , ..., ui+1 } soit sans cycle
3 Étape 3. Mise à jour
poser i = i+1
Si i = n ou Gi = T , alors fin sinon retourner à l’étape 2.
a

[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 7 / 16


Exemple
Appliquer l’algorithme de Kruskal au graphe suivant :
a b c
2 9

1 3 9

7 2 d
f e

Solution Première méthode


1 : Classer les arêtes dans 2 Initialisation : u1 = [a, f ],
l’ordre croissant de leur i = 1 et P = {∅}
valeurs. 3 addition d’arêtes Choisir
Arêtes Valeur choix d’autres arêtes en suivant
[a,f] 1 × l’ordre du tableau et sans
[a,b] 2 × créer de cycle.
[e,d] 2 × P=
[e,b] 3 × {[a, f ], [a, b], [e, d], [e, b], [b, c]}
[f,e] 7 Tous les sommets du
[b,c] 9 × graphe figurent dans P.
a

[c,d] 9 L’algorithme s’arrête.


[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 8 / 16


L’arbre de recouvrement à coût minimal de l’exercice devient :

a b c
2 9

1 3

2 d
f e

Son coût :
C = 1+2+3+9+2 = 17

[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 9 / 16


Arbre de recouvrement
Appliquons l’algorithme à la carte de la région suivante
ville 1 10
21
ville 2 4 ville 7
8 9
20 15
ville 5
11 ville 8
ville 3 14
18 15 11
25 ville 6 26
ville 4 8 ville 11
30
16 ville 9 23
11
ville 10

Solution
ville 1 10
21
ville 2 4 ville 7
8 9
20 15
ville 5
11 ville 8
ville 3 14
18 15 11
25 ville 6 26
ville 4 8 ville 11
30
16 ville 9 23
11
ville 10

[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 10 / 16


Arbre de recouvrement
Appliquons l’algorithme à la carte de la région suivante
ville 1 10
21
ville 2 4 ville 7
8 9
20 15
ville 5
11 ville 8
ville 3 14
18 15 11
25 ville 6 26
ville 4 8 ville 11
30
16 ville 9 23
11
ville 10

Solution
ville 1 10 ville 1 10
21 21
ville 2 4 ville 7 ville 2 4 ville 7
8 9 8 9
20 15 20 15
ville 5 ville 5
11 ville 8 11 ville 8
ville 3 14 ville 3 14
18 15 11 18 15 11
25 ville 6 26 25 ville 6 26
ville 4 8 ville 11 ville 4 8 ville 11
30 30
16 ville 9 23 16 ville 9 23

ville 10
11
⇒ ville 10
11

[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 10 / 16


Arbre de recouvrement
Appliquons l’algorithme à la carte de la région suivante
ville 1 10
21
ville 2 4 ville 7
8 9
20 15
ville 5
11 ville 8
ville 3 14
18 15 11
25 ville 6 26
ville 4 8 ville 11
30
16 ville 9 23
11
ville 10

Solution
ville 1 10 ville 1 10 ville 1 10
21 21 21
ville 2 4 ville 7 ville 2 4 ville 7 ville 2 4 ville 7
8 9 8 9 8 9
20 15 20 15 20 15
ville 5 ville 5 ville 5
11 ville 8 11 ville 8 11 ville 8
ville 3 14 ville 3 14 ville 3 14
18 15 11 18 15 11 18 15 11
25 ville 6 26 25 ville 6 26 25 ville 6 26
ville 4 8 ville 11 ville 4 8 ville 11 ville 4 8 ville 11
30 30 30
16 ville 9 23 16 ville 9 23 16 ville 9 23

ville 10
11
⇒ ville 10
11
⇒ ville 10
11

Le coût de cet arbre est de :4 +8+10+9+11+11+8+11+15+18= 103


Remarque : Une centrale d’eau peut procéder de la sorte pour distribuer
a
de façon optimale de l’eau à travers ses conduites. Dans ce cas la centrale
[Link]
se positionnerait dans la ville 5.
(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 10 / 16
Niveaux dans un graphe

Considérons un graphe orienté G = (S, A) connexe sans circuit.


Niveau d’un sommet
Le niveau d’un sommet x de G est la longueur (nombre d’arcs) du plus
long chemin d’extrémité finale x.

[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 11 / 16


Niveaux dans un graphe

Considérons un graphe orienté G = (S, A) connexe sans circuit.


Niveau d’un sommet
Le niveau d’un sommet x de G est la longueur (nombre d’arcs) du plus
long chemin d’extrémité finale x.
Algorithmes de recherche de niveaux :
1 lister dans un tableau l’ensemble des sommets et leurs précédents (s’il
y en a) ;
2 déterminer l’ensemble Ni contenant les sommets n’ayant pas de
précédents. Poser i = 0 ;
3 rayer du tableau tous les sommets n’ayant pas de précédents.
S’il se trouve que tous les sommets du graphe sont barrés, alors c’est
la FIN de l’algorithme.
Sinon retourner à l’étape (2) a

[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 11 / 16


Niveaux dans un graphe
Exemple : Ordonnancer par niveau le graphe suivant :
c

b e

g
a

d f

Etape 1
Sommets Précédent(s)
a b,d
b c,d,e
c e
d e, f
e f,g
f g
a
g -
N0 = {g } [Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 12 / 16


Niveaux dans un graphe
Exemple : Ordonnancer par niveau le graphe suivant :
c

b e

g
a

d f

Etape 1 Étape 2
Sommets Précédent(s) Sommets Précédent(s)
a b,d a b,d
b c,d,e b c,d,e
c e c e

d e, f d e, f
e f,g e f,S
g
f g f g
S
a
g - g
S -
N0 = {g } N1 = {f }
[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 12 / 16


Niveaux dans un graphe
Sommets Précédent(s)
a b,d
b c,d,e
c e
N2 = {e}
d e, fA
e fA ,S
g
fA g
S
g
S -

[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 13 / 16


Niveaux dans un graphe
Sommets Précédent(s) Sommets Précédent(s)
a b,d a b,d
b c,d,e b c,d,eA
c e c eA N3 =
N2 = {e}
d e, fA d e,
A f
A {d, c}
e fA ,S
g eA fA ,S
g
fA g
S fA g
S
g
S - g
S -
Sommets Précédent(s)
a b,S d
b c,
A S,eA
d
cA eA N4 =
d
S e,
A A f {b}
eA fA ,Sg
fA g
S a

g
S - [Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 13 / 16


Niveaux dans un graphe
Sommets Précédent(s) Sommets Précédent(s)
a b,d a b,d
b c,d,e b c,d,eA
c e c eA N3 =
N2 = {e}
d e, fA d e,
A f
A {d, c}
e fA ,S
g eA fA ,S g
fA g
S fA g
S
g
S - g
S -
Sommets Précédent(s) Sommets Précédent(s)
a b,S d a bA ,Sd
b c,
ASA d , e b A c,
A S,eA
d
cA eA N4 = cA eA N5 =

d
S e,
A A f {b} d
S e,
A A f {a}
eA fA ,Sg eA fA ,Sg
fA g
S fA g
S a

g
S - g
S - [Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 13 / 16


Niveaux dans un graphe

Représentation du graphe en respectant les niveaux


g f d a

N N1 N2 N3 N4 N5
0

[Link]

(ESP/UCAD Mail : esp@[Link]) 2 juillet 2020 14 / 16

Vous aimerez peut-être aussi