Vous êtes sur la page 1sur 30

Université de Monastir

Théorie des Graphes et Optimisation:

Arbres couvrants minimaux

Ali Ben Mrad https://sites.google.com/view/alibenmrad

Faculté des Sciences de Monastir Département d’informatique Spring 2018–1019

March 12, 2019

Faculté des Sciences de Monastir Département d’informatique Spring 2018–1019 March 12, 2019

Plan

1 Arbres couvrants minimaux

2 Méthode de PRIM

3 Méthode de Krushkal

Plan 1 Arbres couvrants minimaux 2 Méthode de PRIM 3 Méthode de Krushkal 2

Arbres couvrants minimaux

Graphe pondéré

Definition Un graphe pondéré est un graphe étiqueté où chaque arête est affectée d’un nombre réel positif, appelé poids de cette arête.

est un graphe étiqueté où chaque arête est affectée d’un nombre réel positif, appelé poids de
est un graphe étiqueté où chaque arête est affectée d’un nombre réel positif, appelé poids de

Motivation

Arbres couvrants minimaux

Un réseau comporte des machines a, b, c, d, e, f , et g qui doivent pouvoir communiquer entre elles. Les liaisons envisagées sont représentées par le graphe suivant (les arêtes sont étiquetées par la distance entre les machines):

arêtes sont étiquetées par la distance entre les machines): Question : Comment câbler le réseau à

Question : Comment câbler le réseau à moindre coût?

arêtes sont étiquetées par la distance entre les machines): Question : Comment câbler le réseau à

Motivation

Arbres couvrants minimaux

Réponse : Il s’agit d’enlever des arêtes au graphe de façon qu’il reste connexe, et que la somme des pondérations des arêtes soit la plus petite possible.

Remarquons que le graphe partiel recherché est sans cycle (pourquoi ?)

des arêtes soit la plus petite possible. Remarquons que le graphe partiel recherché est sans cycle

Arbre couvrant

Arbres couvrants minimaux

Definition Un arbre couvrant du graphe G est un graphe partiel qui est aussi un arbre.

Arbres couvrants minimaux Definition Un arbre couvrant du graphe G est un graphe partiel qui est
Arbres couvrants minimaux Definition Un arbre couvrant du graphe G est un graphe partiel qui est

Arbres couvrants minimaux

Arbres couvrants minimaux

Le problème de l’arbre couvrant de poids minimal (ou arbre couvrant minimal) consiste à trouver un arbre couvrant du graphe tel que son poids soit minimal. Ce problème se pose, par exemple, lorsqu’on désire relier n villes par un réseau routier de coût minimum. Les sommets du graphe représentent les villes, les arêtes, les tronçons qu’il est possible de construire et les poids des arêtes correspondent aux coûts de construction du tronçon correspondant. L’exemple suivant montre que la solution n’est pas unique:

aux coûts de construction du tronçon correspondant. L’exemple suivant montre que la solution n’est pas unique:
aux coûts de construction du tronçon correspondant. L’exemple suivant montre que la solution n’est pas unique:

Origine

Arbres couvrants minimaux

Otakar Boruvka (1926).

Origine Arbres couvrants minimaux Otakar Boruvka (1926). Electrical Power Company of Western Moravia in Brno, Czeck

Electrical Power Company of Western Moravia in Brno, Czeck republic.

Most economical construction of electrical power network.

Power Company of Western Moravia in Brno, Czeck republic. Most economical construction of electrical power network.

Arbres couvrants minimaux

Applications

Medical Image Processing

couvrants minimaux Applications Medical Image Processing Figure: MST describes arrangement of nuclei in the

Figure: MST describes arrangement of nuclei in the epithelium for cancer research

Applications Medical Image Processing Figure: MST describes arrangement of nuclei in the epithelium for cancer research

Applications

Genetic Research

Arbres couvrants minimaux

Applications Genetic Research Arbres couvrants minimaux Figure: MST of tissue relationships measured by gene expression

Figure: MST of tissue relationships measured by gene expression correlation

coefficient

Arbres couvrants minimaux Figure: MST of tissue relationships measured by gene expression correlation coefficient 1 0

10

Coupe

Arbres couvrants minimaux

Definition Une coupe ou coupure d’un graphe est une partition des sommets en deux sous-ensembles. On appelle aussi coupe, l’ensemble des arêtes ayant une extrémité dans chaque sous-ensemble de la partition.

On appelle aussi coupe, l’ensemble des arêtes ayant une extrémité dans chaque sous-ensemble de la partition.
On appelle aussi coupe, l’ensemble des arêtes ayant une extrémité dans chaque sous-ensemble de la partition.

Coupure

Arbres couvrants minimaux

Dans un graphe non connexe, une coupure respecte un sous-ensemble d’arêtes si aucune arête traverse la coupure.

L’exemple suivant montre un sous-ensemble qui respecte la coupure:

d’arêtes si aucune arête traverse la coupure. L’exemple suivant montre un sous-ensemble qui respecte la coupure:
d’arêtes si aucune arête traverse la coupure. L’exemple suivant montre un sous-ensemble qui respecte la coupure:

Arête sûre

Arbres couvrants minimaux

Propriété.

Soit G P un graphe partiel de l’arbre couvrant minimal, une arête est sûre si lorsqu’elle est ajoutée à G P , G P est toujours un graphe partiel de l’arbre couvrant minimal.

N.B. Une arête de poids minimal traversant la coupe est sûre.

un graphe partiel de l’arbre couvrant minimal. N.B. Une arête de poids minimal traversant la coupe
un graphe partiel de l’arbre couvrant minimal. N.B. Une arête de poids minimal traversant la coupe

Méthode de PRIM

Méthode de PRIM

Les étapes de la méthode sont les suivantes:

1 Poser AR = et SO = .

2 Choisir un sommet du graphe que l’on ajoute à SO.

3 Créer une coupure à partir de SO.

4 Ajouter une arête traversante minimale dans AR.

5 Ajouter l’extrémité de cette arête dans SO.

Les trois dernières étapes doivent être effectuées jusqu’à ce SO contiennent tous les sommets du graphe.

SO . Les trois dernières étapes doivent être effectuées jusqu’à ce SO contiennent tous les sommets

Méthode de PRIM

Méthode de PRIM

Exemple

À partir du graphe défini dans l’exemple suivant, on pose AR = et SO = .

l’exemple suivant, on pose AR = ∅ et SO = ∅ . Pour illustrer cet exemple,

Pour illustrer cet exemple, le code couleur retenu est le suivant:

bleu: coupure entre SO et le reste du graphe, jaune: arête traversante, rouge: arête traversante minimale, violet: arête traversante retenue,

vert: arête de l’arbre couvrant.

rouge : arête traversante minimale, violet : arête traversante retenue, vert : arête de l’arbre couvrant.

15

Méthode de PRIM

Méthode de PRIM

Exemple 1

On choisit le sommet s 1 que l’on ajoute à SO. On constate que les arêtes a 1 , a 3 et a 4 traversent la coupure construite à partir de SO. On choisit a 3 comme arête traversante minimale et l’on ajoute s 4 à SO. Il est à noter que l’arête a 1 est également une arête minimale.

que l’arête a 1 est également une arête minimale. 1 bleu : coupure entre SO et

1 bleu: coupure entre SO et le reste du graphe; jaune: arête traversante;

rouge: arête traversante minimale; violet: arête traversante de l’arbre couvrant.

retenue; vert: arête
retenue; vert: arête

16

Méthode de PRIM

Méthode de PRIM

Exemple 2

A partir de SO, on construit une nouvelle coupure. On constate que les arêtes a 1 , a 4 , a 9 et a 11 traversent la coupure construite à partir de SO. On choisit a 1 comme arête traversante minimale et on ajoute s 3 à SO.

arête traversante minimale et on ajoute s 3 à SO . 2 bleu : coupure entre

2 bleu: coupure entre SO et le reste du graphe; jaune: arête traversante; rouge: arête traversante minimale; violet: arête traversante retenue; vert: arête de l’arbre couvrant.

rouge : arête traversante minimale; violet : arête traversante retenue; vert : arête de l’arbre couvrant.

Méthode de PRIM

Méthode de PRIM

Exemple 3

A partir de SO, on construit une nouvelle coupure. On constate que les arêtes a 2 , a 4 , a 5 , a 6 , a 9 et a 11 traversent la coupure construite à partir de SO. On choisit a 6 comme arête traversante minimale et on ajoute s 6 à SO.

arête traversante minimale et on ajoute s 6 à SO . 3 bleu : coupure entre

3 bleu: coupure entre SO et le reste du graphe; jaune: arête traversante; rouge: arête traversante minimale; violet: arête traversante retenue; vert: arête de l’arbre couvrant.

rouge : arête traversante minimale; violet : arête traversante retenue; vert : arête de l’arbre couvrant.

Méthode de PRIM

Méthode de PRIM

Exemple 4

A partir de SO, on construit une nouvelle coupure. On constate que les arêtes a 2 , a 4 , a 5 , a 7 , a 9 , a 10 et a 12 traversent la coupure construite à partir de SO. On choisit a 12 comme arête traversante minimale et on ajoute s 8 à SO. Il est à noter que a 11 n’et plus une arête traversante.

à noter que a 1 1 n’et plus une arête traversante. 4 bleu : coupure entre

4 bleu: coupure entre SO et le reste du graphe; jaune: arête traversante;

rouge: arête traversante minimale; violet: arête traversante retenue; vert: arête de l’arbre couvrant

rouge : arête traversante minimale; violet : arête traversante retenue; vert : arête de l’arbre couvrant

19

Méthode de PRIM

Méthode de PRIM

Exemple 5

A partir de SO, on construit une nouvelle coupure. On constate que les arêtes a 2 , a 4 , a 5 , a 7 , a 8 , a 9 et a 10 traversent la coupure construite à partir de SO. On choisit a 8 comme arête traversante minimale et on ajoute s 7 à SO.

arête traversante minimale et on ajoute s 7 à SO . 5 bleu : coupure entre

5 bleu: coupure entre SO et le reste du graphe; jaune: arête traversante; rouge: arête traversante minimale; violet: arête traversante retenue; vert: arête de l’arbre couvrant.

rouge : arête traversante minimale; violet : arête traversante retenue; vert : arête de l’arbre couvrant.

Méthode de PRIM

Méthode de PRIM

Exemple 6

A partir de SO, on construit une nouvelle coupure. On constate que les arêtes a 4 , a 5 , a 9 et a 10 traversent la coupure construite à partir de SO. On choisit a 10 comme arête traversante minimale et on ajoute s 5 à SO.

arête traversante minimale et on ajoute s 5 à SO . 6 bleu : coupure entre

6 bleu: coupure entre SO et le reste du graphe; jaune: arête traversante; rouge: arête traversante minimale; violet: arête traversante retenue; vert: arête de l’arbre couvrant.

rouge : arête traversante minimale; violet : arête traversante retenue; vert : arête de l’arbre couvrant.

Méthode de PRIM

Méthode de PRIM

Exemple 7

A partir de SO, on construit une nouvelle coupure. On constate que les arêtes a 4 et a 5 traversent la coupure construite à partir de SO. On choisit a 4 comme arête traversante minimale et on ajoute s 2 à SO.

arête traversante minimale et on ajoute s 2 à SO . 7 bleu : coupure entre

7 bleu: coupure entre SO et le reste du graphe; jaune: arête traversante; rouge: arête traversante minimale; violet: arête traversante retenue; vert: arête de l’arbre couvrant.

rouge : arête traversante minimale; violet : arête traversante retenue; vert : arête de l’arbre couvrant.

Méthode de PRIM

Méthode de PRIM

Exemple 8

Suite à la sélection de l’arête a 4 dans la dernière étape et à l’ajout de s 2 dans SO, l’ensemble SO contient tous les sommets du graphe.

SO , l’ensemble SO contient tous les sommets du graphe. 8 bleu : coupure entre SO

8 bleu: coupure entre SO et le reste du graphe; jaune: arête traversante; rouge: arête traversante minimale; violet: arête traversante retenue; vert: arête de l’arbre couvrant.

rouge : arête traversante minimale; violet : arête traversante retenue; vert : arête de l’arbre couvrant.

Méthode de Krushkal

Méthode de Krushkal

Principe

L’algorithme construit un arbre couvrant minimal en sélectionnant des arêtes par poids croissant.

Plus précisément, l’algorithme considère toutes les arêtes du graphe par poids croissant et pour chacune d’elle, il la sélectionne si elle ne crée pas un cycle.

les arêtes du graphe par poids croissant et pour chacune d’elle, il la sélectionne si elle

Méthode de Krushkal

Méthode de Krushkal

Exemple

AD et CE sont les arêtes de poids les plus faibles, ici 5.

AD est sélectionnée de manière arbitraire.

Exemple AD et CE sont les arêtes de poids les plus faibles, ici 5. AD est
Exemple AD et CE sont les arêtes de poids les plus faibles, ici 5. AD est

Méthode de Krushkal

Méthode de Krushkal

Exemple

CE est l’arête suivante de poids le plus faible.

Elle est sélectionnée car elle ne forme pas de cycle.

Exemple CE est l’arête suivante de poids le plus faible. Elle est sélectionnée car elle ne
Exemple CE est l’arête suivante de poids le plus faible. Elle est sélectionnée car elle ne

Méthode de Krushkal

Méthode de Krushkal

Exemple

L’arête DF de poids 6 est ensuite choisie.

Méthode de Krushkal Méthode de Krushkal Exemple L’arête DF de poids 6 est ensuite choisie. 27
Méthode de Krushkal Méthode de Krushkal Exemple L’arête DF de poids 6 est ensuite choisie. 27

Méthode de Krushkal

Méthode de Krushkal

Exemple

Les arêtes de poids faibles (7) suivantes sont AB et BE.

AB est choisie de manière arbitraire.

L’arête BD est dessinée en rouge car il existe un chemin (en vert) entre B et D. BD ne sera donc jamais sélectionnée.

BD est dessinée en rouge car il existe un chemin (en vert) entre B et D
BD est dessinée en rouge car il existe un chemin (en vert) entre B et D

Méthode de Krushkal

Méthode de Krushkal

Exemple

La prochaine arête considérée est BE de poids 7.

BC ne sera jamais choisie car la choisir formerait le cycle BCE.

De même DE formerait le cycle DEBA et FE formerait le cycle FEBAD.

car la choisir formerait le cycle BCE . De même DE formerait le cycle DEBA et
car la choisir formerait le cycle BCE . De même DE formerait le cycle DEBA et

Méthode de Krushkal

Méthode de Krushkal

Exemple

Finalement, l’arête EG de poids 9 est choisie et un arbre couvrant minimal est trouvé (en vert).

choisie et un arbre couvrant minimal est trouvé (en vert). On remarque que lors du déroulement

On remarque que lors du déroulement de l’algorithme, les arêtes sélectionnées ne forment pas nécessairement un graphe connexe. Mais à la fin, les arêtes sélectionnées (en vert) forment un graphe connexe.

nécessairement un graphe connexe. Mais à la fin, les arêtes sélectionnées (en vert) forment un graphe