1
Un multigraphe non orient´e est un triple G= (V, E, m) o`u
— (V, E) est un graphe non orient´e ;
m:ENest une fonction.
La valeur m(e) est appel´ee multiplicit´e de l’arˆete e. Consid´erons le multigraphe ci-bas :
1
2
3
4
5
6
Alors
V={1,2,3,4,5,6}
E={{1,2},{1,3},{2,3},{2,4},{2,5},{3,4},{3,6},{4,5},{4,6},{5,6}}
et pour toute arˆete eE,
m(e) =
2,si e={2,3};
3,si e={5,6};
1,sinon.
Pour simplifier l’´ecriture, on suppose ´egalement que m(e) = 0 si e /E.
On dit d’un ensemble d’arˆetes CEqu’il forme une coupe de Gsi le graphe r´esultant de
la suppression des arˆetes de Cest non connexe. Par exemple, dans le multigraphe plus haut, les
arˆetes {1,3}et {1,2}forment une coupe (s´eparant 1 des autres sommets) ou encore les arˆetes
{2,4},{2,5},{3,4},{3,6}(s´eparant 1,2,3 d’une part et 4,5,6 d’autre part). On dit d’une coupe
qu’elle est optimale si elle utilise le moins d’arˆete possible (en tenant compte de la multiplicit´e).
On s’int´eresse ici `a trouver une coupe optimale d’un multigraphe G.
Il existe un algorithme exact dˆu `a Stoer et Wagner (1995) qui permet de trouver une coupe
optimale en O(nm+n2log n), o`u nest le nombre de sommets et mle nombre d’arˆetes. Cependant,
l’impl´ementation de cet algorithme est assez compliqu´ee. Plutˆot que d’utiliser un algorithme exact,
on se rabattra ici sur un algorithme probabiliste qui trouve une coupe qui n’est pas n´ecessairement
optimale, mais qui donne en pratique de bons r´esultats, et qui est tr`es simple `a impl´ementer. Le
pseudocode correspondant `a l’algorithme se trouve plus bas. `
A noter que les sommets sont des
ensembles de valeurs plutˆot que de simples valeurs.
1: fonction Coupe(G: multigraphe non orient´e) : ensemble d’arˆetes
2: V0← {{v} | vV}Les sommets vde Gsont remplac´es par des singletons {v}.
3: E0E
4: tant que |V0|>2faire
5: Soit {a, b} ∈ Eune arˆete choisie au hasard (dans le graphe de d´epart)
6: Soient Ale sommet contenant aet Ble sommet contenant b
7: CAB
8: Ajouter Cdans V0
9: Retirer Aet Bde V0
10: Retirer de E0toutes les arˆetes de la forme {u, u0}pour uUet u0U0
11: fin tant que
2
12: retourner E0
13: fin fonction
Dans l’algorithme pr´ec´edent, `a chaque tour de boucle, on applique une op´eration appel´ee
contraction sur une arˆete {u, v}, c’est-`a-dire qu’on fusionne les sommets uet ven un seul sommet
tout en pr´eservant les autres arˆetes, ce qui peut modifier la multiplicit´e de certaines arˆetes. Par
exemple, dans le multigraphe plus bas, si on contracte l’arˆete {4,6}, alors on obtient le multigraphe
suivant :
1
2
3
4
5
6
1
2
3
5
4,6
Illustrons l’algorithme sur l’exemple ci-haut en choisissant les arˆetes dans l’ordre
{4,6},{1,2},{5,46},{12,3}.
On obtient
1
2
3
4
5
6
1
2
3
5
4,6
1,2
3
5
4,6
1,2
3
4,5,6
1,2,3 4,5,6
On en d´eduit que les arˆetes {2,4},{2,5},{3,4}et {3,6}forment une coupe du graphe Gde taille
4 qui s´epare les sommets 1,2,3 des sommets 4,5,6.
L’algorithme termine lorsqu’il reste exactement deux sommets. `
A chaque ´etape, toutes les arˆetes
sont pr´eserv´ees, sauf celle impliqu´ee dans la contraction. Ainsi, il y a deux possibilit´es pour chaque
arˆete du graphe :
3
1. Soit elle est ´eventuellement contract´ee et alors il s’agit d’une arˆete int´erieure `a un des deux
ensembles de sommets qui sont s´epar´es ;
2. Soit elle n’est jamais contract´ee et alors elle relie deux sommets appartenant `a des ensembles
de sommets qui sont s´epar´es. On en conclut que cette arˆete doit appartenir `a la coupe en
question.
Les arˆetes r´esultantes forment donc une coupe.
Proposition 1. Soit Cune coupe optimale.
(i) Pour tout vV, on a |C| ≤ deg(v) ;
(ii) 2|E|≥|V||C|.
(iii) La probabilit´e qu’une arˆete choisie au hasard se trouve dans Cest au plus 2/n.
D´emonstration. (i) Pour tout vV, soit E(v) l’ensemble des arˆetes incidentes `a v. Si on
supprime les arˆetes E(v) du graphe, alors le sommet vest s´epar´e du reste du graphe, de sorte que
E(v) est une coupe. Par cons´equent, si Cest une coupe optimale quelconque, on a |C| ≤ |E(v)|=
deg(v).
(ii) Le lemme des poign´ees de main stipule que, dans tout graphe non orient´e G= (V, E), nous
avons la relation
2|E|=X
vV
deg(v).
On en d´eduit alors de la sous-sous-question pr´ec´edente que
2|E|=X
vV
deg(v)X
vV
|C|=|V||C|.
(iii) Soit Cel’´ev´enement : “l’arˆete eappartient `a l’ensemble C”. Alors
P(Ce) = |C|
|E|2
|V|=2
n.
Soit Cune coupe optimale. Consid´erez les ´ev´enements suivants :
Ei: “Aucune arˆete de Cn’a ´et´e contract´ee `a l’´etape i
Fi: “Aucune arˆete de Cn’a ´et´e contract´ee aux ´etape 1, 2, . . .,i
Par d´efinition, nous avons la relation
Fi=
i
\
k=1
Ek.
Proposition 2. En utilisant la notation ci-haut, nous avons les relations suivantes :
(i) Pour i= 1,2, . . . , n, on a
P(Ei|E1E2 · · · Ei1)12
ni+ 1.
(ii)
P(Fn2) = P(E1)
n2
Y
i=2
P(Ei|E1E2 · · · Ei1)
4
(iii)
P(Fn2)2
n(n1)
(iv) La probabilit´e que la coupe obtenue par l’algorithme ne soit pas minimale est au plus
12
n2.
D´emonstration. (i) On a
P(Ei|E1E2 · · · Ei1) = P(Ei|Fi1)2
ni+ 1,
puisqu’`a l’´etape i, il y a ni+ 1 sommets.
(ii) Rappelons que pour toute paire d’´ev´enements Aet B, nous avons P(A|B) = P(A
B)/P (B), ce qui se r´ecrit P(AB) = P(B)P(A|B). On en d´eduit que
P(Fn2) = P(En2Fn3)
=P(Fn3)P(En2|Fn3)
=P(Fn4)P(En3|Fn4)P(En2|Fn3)
=P(Fn5)P(En4|Fn5)P(En3|Fn4)P(En2|Fn3)
=. . .
=P(E1)
n2
Y
i=2
P(Eni|Fni1).
=P(E1)
n2
Y
i=2
P(Ei|Fi1).
(iii) Il suit de (i) et (ii) que
P(Fn2) = P(E1)
n2
Y
i=2
P(Ei|Fi1)
n2
Y
i=1 12
ni+ 1
n
Y
i=3 12
i
n
Y
i=3 i2
i
Qn
i=3(i2)
Qn
i=3 i
(n2)!
n!/2!
2
n(n1).
5
(iv) La probabilit´e que la coupe obtenue par l’algorithme ne soit pas minimale est donn´ee par
1P(Fn2)12
n(n1) <12
n2.
On en d´eduit que si on r´ep`ete l’algorithme k=n2/2 fois, alors la probabilit´e d’obtenir une
coupe non optimale est d’au plus
12
n2k
.
En effet, chaque ex´ecution de l’algorithme est ind´ependante des pr´ec´edentes et des suivantes. Par
cons´equent, si on r´ep`ete l’algorithme k=n2/2 fois, alors la probabilit´e d’obtenir une couple
non optimale est ´egale au produit de la probabilit´e d’obtenir une couple non optimale `a chaque
ex´ecution, c’est-`a-dire
12
n2k
=12
n2n2/2
.
L’int´erˆet de cet algorithme probabiliste est que si on le r´ep`ete par exemple n2/2 fois, alors la
probabilit´e d’obtenir une coupe non optimale est d’au plus
12
n2k
=12
n2n2/2
<1
e0.3678.
Autrement dit, la probabilit´e d’obtenir une coupe optimale est d’au moins 0.6322. Si on r´ep`ete
l’algorithme plusieurs fois encore, la probabilit´e augmente. Il existe des algorithmes exacts pour
calculer des coupes optimales, mais ils sont bien plus compliqu´es `a mettre en oeuvre et moins
performants. Par cons´equent, un algorithme probabiliste peut ˆetre int´eressant selon la situation.
1 / 5 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !