• Aucun résultat trouvé

M´ethodes spectrales et relaxations SDP pour la d´etection de communaut´es dans les graphes

N/A
N/A
Protected

Academic year: 2022

Partager "M´ethodes spectrales et relaxations SDP pour la d´etection de communaut´es dans les graphes"

Copied!
45
0
0

Texte intégral

(1)

M´ethodes spectrales et relaxations SDP pour la d´etection de communaut´es dans les graphes

Guillaume Lecu´e

esum´e

Dans ce chapitre, nous pr´esentons deux types de proc´edures pour le probl`eme de d´etection de communaut´es dans un graphe : une m´ethode spectrale et des relaxations SDP. Toutes deux sont issues d’une relaxation convexe d’un probl`eme NP-hard. La m´ethode spectrale est obtenue en convexifiant l’espace de contrainte. La proc´edure SDP mets en oeuvre la technique de matrix lifting et de relaxation SDP. Dans les deux cas, le Laplacien du graphe joue un ole central puisque son spectre nous donne des informations sur les propri´et´es de connectivit´e du graphe. Les premi`eres sections sont d´edi´es `a son ´etude dans le cas id´eal de communaut´es disjointes ; on parle alors de composantes connexes. D’un point de vue statistique, on ´etudie les propri´et´es d’estimation et de reconstruction exacte de deux relaxations SDP. Comme dans les chapitres pr´ec´edents cette ´etude mets en avant le rˆole de l’al´eatoire dans cette approche et nous introduisons `a cette occasion un mod`ele de graphe al´eatoire appel´e lestochastic block model.

D’un point de vue technique, l’in´egalit´e de Grothendieck et la construction d’un certificat dual sont utilis´es pour mener l’´etude statistique des relaxations SDP.

1 Introduction

Exemple d’un probl`eme de d´etection de communaut´e : On dispose d’un graphe o`u chaque nœud repr´esente une personne et un lien du graphe entre deux nœuds repr´esente une connexion entres ces deux personnes ´etablie, par exemple, `a partir d’un r´eseau social d’´echange de messages. On cherche `a identifier dans ce graphe des groupes de noeuds particuli`erement connect´es. Ces groupes peuvent repr´esenter des groupes d’amis ou des personnes partageant des int´erˆets communs qui ont donc tendance `a souvent s’´echanger des messages. On dispose donc d’un graphe et le probl`eme de d´etection de communaut´e est de trouver des groupes de nœuds plus dens´ement connect´es entre eux qu’avec le reste du graphe. Une fois les communaut´es d´etect´ees, on peut chercher les influenceurs en leur sein et leur envoyer des pubs ou les d´emarcher directement.

D´efinition 1.1. Un graphe est un couple (V, E) o`u V est un ensemble dont les ´el´ements sont appel´es les noeuds du graphe et E ⊂ V ×V est un ensemble dont les ´el´ements sont appel´es arˆetes du graphe. Ungraphe pond´er´eest un triplet(V, E, W) tel que (V, E)est un graphe et W ∈R|V|×|V|. Les entr´ees deW sont appel´ees lespoids du graphe. On dit qu’un graphe (V, E) estnon orient´equand (i, j)∈E implique(j, i)∈E et qu’un graphe pond´er´e (V, E, W) estnon orient´e quand (V, E) est un graphe non orient´e et W =W>.

Il existe plusieurs types de graphes selon qu’ils soient orient´es (ou non) et pond´er´es (ou non) comme repr´esent´e dans la Figure3. On donne aussi quelques exemples classiques de graphes dans les Figures 1et2.

CREST, ENSAE. Bureau 3029, 5 avenue Henry Le Chatelier. 91 120 Palaiseau. Email: guillaume.lecue@ensae.fr.

(2)

K4 K5 K6

Figure 1 – Trois exemples de graphes complets

1 2 3

4

5

Figure2 – Exemple d’un ring graph

On repr´esente souvent les propri´et´es de connexions d’un graphe `a l’aide d’une matrice.

D´efinition 1.2. Soit G = (V, E) un graphe. La matrice d’adjacence de G est donn´ee par A ∈ {0,1}|V|×|V| o`u pour tout (i, j) ∈ {1, . . . ,|V|}2, on a Aij = 1 quand (i, j) ∈ E et Aij = 0 quand (i, j) ∈/ E. La matrice d’adjacence d’un graphe pond´er´e (V, E, W) est A∈ R|V|×|V| o`u on a Aij =Wij quand (i, j)∈E etAij = 0 quand (i, j)∈/ E.

Si un graphe est non orient´e alors sa matrice d’adjacence est sym´etrique. Pour le probl`eme de d´etection de communaut´es, on s’int´eresse aux propri´et´es de connectivit´e dans un graphe. La premi`ere d´efinition porte sur les propri´et´es de connectivit´es au sein d’un graphe.

D´efinition 1.3. Un graphe G= (V, E) est dit connect´e ou connexe quand on peut trouver un chemin d’arˆetes liant tous les nœuds du graphe. Une composante connexe de G est un sous- graphe de G connect´e et sans arˆete le liant avec son compl´ementaire. Une partition connexe de G est un ensemble fini de sous-graphes de G formant une partition des nœuds deG telle que les sous-graphes associ´es `a cette partition sont des composantes connexes.

On peut aussi ´etendre cette d´efinition aux graphes pond´er´es. On retrouve dans ce cas la d´efi- nition pr´ec´edente pour un graphe non pond´er´e quand on lui ajoute la matrice de poids constants W = (1)(i,j)∈V×V.

D´efinition 1.4. Un graphe pond´er´eG= (V, E, W) est ditconnect´eouconnexe quand on peut trouver un chemin d’arˆetes liant tous les nœuds du graphe etWij 6= 0 pour toutes les arˆetes(i, j) de ce chemin. Une composante connexede G est un sous-graphe de G connect´e et sans arˆete de poids non nul le liant avec son compl´ementaire. Une partition connexe d’un graphe G est un ensemble fini de sous-graphes de G formant une partition des nœuds de G et tels que ces sous-graphes sont des composantes connexes.

(3)

1 2 3

4

5

Graphe non orient´e et non pond´er´e

1 2 4 5

Graphe orient´e et non pond´er´e

1

2

2

3

4 5

Graphe non orient´e et pond´er´e

1 2

3

4 5

5 10

1 7

10 1 2

Graphe orient´e et pond´er´e

Figure 3 – Exemples de graphes orient´es ou non et pond´er´es ou non

Un graphe pouvant se d´ecomposer en une partition connexe non triviale (c`ad non r´eduite `a un

´

el´ement) est en quelque sorte un cas extr´emal pour le probl`eme de d´etection de communaut´es car dans ce cas les communaut´es n’interagissent pas. C’est un cas assez rare en pratique. N´eanmoins, il peut nous guider pour la conception d’algorithmes en d´etection de communaut´es car c’est un mod`ele id´eal pour ce probl`eme.

2 Le Laplacien d’un graphe et quelques propri´ et´ es de son spectre

Dans cette section, on s’int´eresse au lien entre les propri´et´es de connectivit´e d’un graphe et le spectre de son Laplacien. On d´efinit d’abord le Laplacien d’un graphe.

D´efinition 2.1. Soit Gun graphe (pond´er´e ou non). On note par V l’ensemble des nœuds de G et par A sa matrice d’adjacence. La matrice de Laplace ou Laplacien de G est donn´ee par L=D−A o`uD= diag(d),d= (di)i∈V etdi=P

j∈V Aij pour tout i∈V est le degr´e du i-i`eme noeud.

Il existe d’autres d´efinition du Laplacien d’un graphe. Nous utiliserons celle de la D´efinition2.1 durant tout le chapitre. Si G est un graphe non orient´e alors son Laplacien est sym´etrique. On peut donc appliquer le th´eor`eme spectral `a L dans ce cas : les valeurs propres de L sont toutes r´eelles etLest diagonalisable dans une base orthonormale (c`ad il existe une matrice orthonormale P ∈ O(|V|) et une matrice diagonaleD= diag(λ) o`uλ= (λi)i∈V est le vecteur des valeurs propres de L telles queL = P DP>). On verra dans la suite que le spectre de L (c`ad l’ensemble de ses valeurs propres) va jouer un rˆole clef pour la m´ethode spectral en d´etection des communaut´es.

Proposition 2.2. Soit G= (V, E, W) un graphe pond´er´e non orient´e. On suppose que Wij ≥0 pour tout (i, j)∈V ×V. On a :

1) pour toutf ∈R|V|, f>Lf = 12P

(i,j)∈EWij(fi−fj)2 2) L est sym´etrique positive

3) 0 est valeur propre de L et L1= 0 o`u 1= (1)i∈V.

(4)

D´emonstration. 1) On note par A = (Wij1(i,j)∈E) la matrice d’adjacence de G. Comme G est non orient´e, on a Wij =Wji pour tout (i, j)∈V ×V et donc pour toutf ∈R|V|,

f>Lf =f>(D−A)f =X

i∈V

difi2− X

(i,j)∈E

fiWijfj

=X

i∈V

X

j∈V

Wij1(i,j)∈Efi2− X

(i,j)∈E

fiWijfj = 1 2

X

(i,j)∈E

Wij(fi2−2fifj+fj2)

= 1 2

X

(i,j)∈E

Wij(fi−fj)2.

2) On a pour toutf ∈R|V|, f, Lf

=f>Lf = 1 2

X

(i,j)∈E

Wij(fi−fj)2 ≥0.

On a donc bienL0.

3) Par d´efinition du degr´e d’un noeud, on a pour tout i∈V, (L1)i=X

j∈V

Lij =di−X

j∈V

Aij = 0.

On a donc bien 0 comme valeur propre deLet1 est un vecteur propre associ´e `a la valeur propre 0.

Le r´esultat suivant est un premier r´esultat faisant un lien entre le spectre du Laplacien et les propri´et´es de connectivit´e du graphe sous-jacent. En effet, la multiplicit´e de la valeur propre 0 de Ldonne le nombre de composantes connexes deG. De plus, les indicatrices des nœuds de ces composantes connexes sont des vecteurs propres engendrant cet espace propre (c`ad le noyau) de L.

Proposition 2.3. SoitG= (V, E, W) un graphe pond´er´e non orient´e dont les poids sont positifs.

La multiplicit´e de la valeur propre 0 du Laplacien de G est ´egale au nombre de composante connexes deG. De plus, l’espace propre associ´e `a la valeur propre0 deL, c`ad son noyau Ker(L), est engendr´e par 1V1, . . . ,1Vk o`u V1t · · · tVk est la partition de V en composantes connexes de G.

D´emonstration. On commence par le cas d’une seule composante connexe, c`ad quand G est connexe. Le noyau de Lest form´e de tous les ´el´ementsf ∈R|V| tels queLf = 0. SiLf = 0 alors f>Lf = 0 et donc d’apr`es la Proposition 2.2, on aura P

(i,j)∈EWij(fj −fi)2 = 0. Par ailleurs, les poids Wij sont positifs ou nuls, alors, siP

(i,j)∈EWij(fj−fi)2= 0, on a pour tout (i, j)∈E, Wij(fj−fi)2 = 0 donc soit Wij = 0 soit fj = fi. Par ailleurs, G est connexe donc, si on prend n’importe quel couple de nœudsi, j∈V il existe un chemin repr´esent´e par des indices de noeuds i1, . . . , ip∈V tels que (i, i1)∈E,(i1, i2)∈E, . . . ,(ip, j)∈EetWii1 >0, Wi1i2 >0,· · · , Wikj >0.

Le long de ce chemin, on a soit Wpq = 0 soit fp = fq pour (p, q) ∈ {(i, i1),(i1, i2),· · · ,(ip, j)}; mais comme Wpq 6= 0 on a fp = fq. Ceci ´etant vrai pour toutes les arˆetes du chemin, on en d´eduit que les extr´emit´es fi et fj sont ´egales. Donc, f est un vecteur constant. On a donc bien que Ker(L) est engendr´e par 1= (1)i∈V l’indicatrice de l’unique composante connexe deG.

(5)

On consid`ere le cas g´en´eral o`u Ga k composantes connexes. Quitte `a r´eordonner les nœuds de V, on peut ´ecrire le Laplacien de Gsous forme de matrice par blocs :

L=

L1 0 · · · 0 0 L2 · · · 0

· · · . .. 0 0 0 · · · Lk

o`u pour touti= 1, . . . , k,Li est le Laplacien de lai-i`eme composante connexeGi = (Vi, Ei, W(i)) de G o`u Vi ⊂V est l’ensemble des nœuds de lai-i`eme composante connexe de G,Ei ={(p, g) : p, q ∈ Vi,(p, q) ∈ E} est l’ensemble de ses arˆetes et W(i) = (Wpq :p, q ∈ Vi) est sa matrice de poids.

On note 1Vi ∈R|V|l’indicatrice des nœuds de Gi. On veut montrer que Ker(L) est engendr´e par1Vi, i= 1,· · · , k. Pour touti= 1, . . . , k,Li est le Laplacien deGi donc 0 est valeur propre de Li et (1)p∈Vi engendre le noyau deLi. Donc1Vi est dans le noyau deL. On a donc vect(1Vi, i= 1,· · · , k) ⊂ Ker(L). Par ailleurs, ´etant donn´ee la structure par bloc de L, on voit que Lf = 0 si et seulement si Lif = 0 pour tout i = 1, . . . , k et comme ker(Li) = vect((1)p∈Vi), on a f|Vii(1)p∈Vipour un certainαi ∈R. On en d´eduit quef =P

iαi1Vi ∈vect(1Vi, i= 1,· · · , k).

Remarque 2.4. La Proposition 2.3 s’applique aussi aux graphes non pond´er´es non orient´es. Il suffit de l’appliquer `a la matrice de poids W = (1)(i,j)∈V×V.

Exemple : Calculons la multiplicit´e de la valeur propre 0 du Laplacien d’un graphe complet et v´erifions qu’elle est bien ´egale `a 1 ´etant donn´e que ce graphe est connexe. On noteKnle graphe complet de nsommets. Le Laplacien deKn est donn´e par

L= diag(n,· · · , n)−(1)n×n=

n−1 −1 · · · −1

−1 n−1 · · · −1

· · · . .. −1

−1 −1 · · · n−1

 .

Si f ∈Rn est tel que Lf = 0 alors nf = (

f,(1)n1

)i=1,...,n =

f,(1)n1

(1)n1. Donc f ∈ vect((1)n1) et 0 est de multiplicit´e 1 pourL.

Le Laplacien d’un graphe et la loi de refroidissement de Newton. On a vu que le spectre du Laplacien L=D−A d’un graphe joue un rˆole essentiel sur les propri´et´es de connectivit´e du graphe. Il apparaˆıt aussi lorsqu’on ´etudie d’autres propri´et´es d’un graphe. On peut se poser la question sur l’origine de son nom et en particulier s’il a un lien avec le Laplacien qu’on rencontre en physique quand on ´etudie l’´equation de la chaleur. Il se trouve qu’il y a bien un lien entre les deux notions et qu’on peut voir le Laplacien d’un graphe comme une version discr`ete du Laplacien introduit en physique. Le lien unissant les deux approches est la loi de refroidissement de Newton ou de transfert de chaleur (Newton’s law of cooling en anglais) disant quela chaleur se transfert d’un point `a un autre proportionnellement `a la diff´erence de temp´erature entre les deux points.

Pour faire ce lien formellement, on imagine que les nœuds du graphe G = (V, E) ont des temp´eratures donn´ees par la famille (Ti)i∈V ;Ti ´etant la temp´erature du nœud i`a la date t. On laisse ´evoluer les transferts de chaleur sur ce graphe en fonction de la loi de Newton : ’le gradient de temp´erature (c`ad ce qu’on appelle commun´ement la chaleur) entre deux points connect´es est

(6)

proportionnel `a la diff´erence de temp´erature entre ces deux points’ : pour tout nœud i∈ V, la temp´erature en ce nœud va ´evoluer de la mani`ere suivante

dTi

dt =−κX

j∈V

Aij(Ti−Tj). (1)

En d’autres termes, le nœud i ´echange de la chaleur uniquement avec ses voisins (c`ad lesj tels que Aij = 1) ; il re¸coit de la chaleur du noeud voisin j que si Tj > Ti et il en donne au noeud voisinjque siTj < Ti. Le param`etreκ >0 est un param`etre contrˆolant la vitesse de ce transfert, c’est un coefficient thermique.

On peut ensuite regarder l’´evolution du vecteur des temp´eratures des noeuds du graphe T = (Ti)i∈V et d´evelopper cette ´egalit´e pour faire apparaˆıtre le Laplacien :

dT dt =−κ

 X

j∈V

Aij(Ti−Tj)

i∈V

=−κ

TiX

j∈V

Aij −X

j∈J

AijTj

i∈V

=−κ(D−A)T.

On obtient donc une ´equation diff´erentielle sur l’´evolution des temp´eratures des nœuds du graphe de la formedT /dt+κLT = 0 o`uL=D−A est le Laplacien du graphe. Si on rappelle l’´equation de la chaleur ∂u/∂t = α∆u o`u u : (t, x) ∈ R×Rd → u(t, x) est la temp´erature au temps t `a l’endroit x, ∆ est le Laplacien∂12+· · ·+∂d2, on peut identifier L et−∆. C’est de cette analogie dont Ltire son nom.

3 Principe des m´ ethodes spectrales en d´ etection de communau- t´ es

On donne ici deux id´ees introduisant plus ou moins formellement la m´ethode spectrale pour trouver des communaut´es dans des graphes. On suppose qu’on dispose d’un grapheG= (V, E, W) pond´er´e non-orient´e.

3.1 Cadre id´eal de composantes connexes

Cadre id´eal :Quand il s’agit de d´etecter des communaut´es dans un graphe, en quelque sorte, le cadre id´eal a lieu quand ces communaut´es ne sont pas connect´ees entre elles, c`ad quand le graphe admet une partition en composantes connexes et que chaque composante connexe constitue une communaut´e. C’est un cadre id´eal car il n’apparaˆıt presque jamais en pratique, vue qu’on a toujours quelques liens inter-communaut´es.

Mˆeme si le cadre id´eal est un cadre qui n’a presque jamais lieu en pratique, il est un bon guide pour comprendre comment solutionner le probl`eme de d´etection de communaut´es dans des situations plus g´en´erales.

On se place alors dans le cadre id´eal (en premi`ere approximation). Le Laplacien de G = (V, E, W) et son noyau ont donc des formes particuli`eres. En effet, d’apr`es la Proposition 2.3, le noyau de L est engendr´e par1V1, . . . ,1Vk o`u V1t · · · tVk est la partition de nœuds de V en les kcomposantes connexes deG.

Il n’est cependant pas facile de trouver les indicatrices 1Vi, i = 1, . . . , k `a partir de L. Ce qui est plus facile est de trouver une base orthonormale de Ker(L) : u1, . . . , uk ∈ R|V| (on peut d’ailleurs prendreu1 = (1)ni=1). Lam´ethode spectrale proc`ede ensuite en deux ´etapes :

(7)

1) on clusterise les|V|vecteurs lignes (yi)i∈V de la matrice [u1|u2| · · · |uk] de taille|V| ×ken kclusters C1,· · ·, Ck

2) on retourne la partition V1 t · · · tVk des nœuds de V o`u Vp = {i ∈ V :yi ∈ Cp} pour p = 1, . . . , k. Ceux sont les communaut´es de nœuds qu’on a d´etect´ees par la m´ethode spectrale.

On s’attend `a ce que la partition V1 t · · · tVk des nœuds de V donne les k composantes connexes de G. En effet,{u1, . . . , uk} et{1V1/p

|V1|, . . . ,1Vk/p

|Vk|}sont deux bases orthonor- males de Ker(L). Il existe alors une matrice de rotation (matrice orthogonale) R ∈ O(|V|) telle que ui = R1Vi/p

|Vi|, i = 1, . . . , k. Si on avait effectu´e ce clustering des lignes sur la matrice [1V1/p

|V1|| · · · |1Vk/p

|Vk|] `a k clusters, les clusters obtenus seraient form´es des lignes qui sont toutes ´egales entre elles (celles ayant un 1/p

|Vi| au mˆeme endroit et 0 ailleurs) car il y en a exactementket on fait un clustering `akclasses. C’est donc la partition deGen ses composantes connexes qu’on retrouverait exactement. Par ailleurs, on se dit aussi que la rotation R devrait conserver ce clustering des lignes : on a

 y1>

y2>

... y>|V|

= [u1|u2| · · · |uk] =R[1V1/p

|V1|| · · · |1Vk/p

|Vk|]

et que donc clusteriser les vecteurs lignes (yi)i∈V de la matrice [u1|u2| · · · |uk] devrait aussi redon- ner les composantes connexes deGcomme ce clustering le fait sur les lignes de [1V1/p

|V1|| · · · |1Vk/p

|Vk|].

Voil`a pour ce qui est de l’intuition derri`ere une m´ethode spectrale couramment utilis´ee en d´etection de communaut´es. En pratique, Gne sera pas partitionable en composantes connexes ; ainsi, on ne regardera pas le noyau deLmais plutˆot son espace propre associ´e `a seskplus petites valeurs propres. On cherchera ensuite une base de k vecteurs propres u1, . . . , uk de cet espace propre. C’est alors les |V| lignes de la matrice [u1| · · · |uk] qu’on clusterisera en k groupes. Des indices de ligne de cesk groupes on extraira un clustering des noeuds du graphe, c`ad on aura un estimateur des communaut´es. Le choix du param`etrek se fait soit par validation crois´ee si on se donne en amont un crit`ere `a minimiser – g´en´eralement, les crit`eres en d´etection de communaut´es sont appel´es fonctions de modularit´e – soit en repr´esentant le spectre de L et en identifiant un ’coude’ au niveau de ses plus petites valeurs propres. Ces deux m´ethodes sont heuristiques.

3.2 Point de vue “graph cut”

On donne dans cette section, un autre point de vue sur les m´ethodes spectrales utilis´ees en d´etection de communaut´es. Le principe utilis´e ici est que d´etecter des communaut´es est en fait

´

equivalent `a trouver une partition des nœuds minimisant la somme des poids port´es par les arˆetes inter-communaut´es tout en maximisant la taille de ces communaut´es.

Pour formaliser cette approche, on introduit quelque fonctions, appel´ees fonctions de mo- dularit´e, qui quantifie les notions de masse de poids intra et inter communaut´es qu’on cherchera

`

a optimiser sur tous les “cuts”, c`ad partitions, du graphe.

Mincut problem : Etant donn´´ e deux ensemblesA, B⊂V de nœuds, on d´efinit la masse totale entreA etB par

W(A, B) = X

(i,j)∈E (i,j),(j,i)∈A×B

Wij = X

(i,j)∈E (i,j)∈A×B

Wij+Wji = 2 X

(i,j)∈E (i,j)∈A×B

Wij

(8)

o`u on a utilis´e la sym´etrie de W dans la derni`ere ´egalit´e. Ainsi on peut d´efinir une fonction associant `a chaque partitionV1t · · · tVk des nœuds du graphe la masse totale des poids intra- communaut´e :

(V1, . . . , Vk)∈ Pk(V)−→cut(V1, . . . , Vk) = 1 2

k

X

i=1

W(Vi, Vic).

o`uPk(V) est l’ensemble des partitions deV ayant au plusk´el´ements etVicest le compl´ementaire de Vi dansV.

Pour le probl`eme `a deux communaut´es, on peut r´ecrire le probl`eme sous la forme suivante.

Chaque partition de V en deux communaut´es V1tV2 (ici V2 = V1c) est d´ecrite par un vecteur x∈ {0,1}|V| d’appartenance tel quexi= 1 si i∈V1 etxi= 0 si i∈V2. On a alors

cut(V1, V2) =W(V1, V2) = X

i:xi=1 j:xj=0 (i,j)∈E

Wij +Wji= 2 X

(i,j)∈E

xiWij(1−xj).

Le probl`eme du mincut `a deux classes peut donc s’´enoncer sous la forme suivante : trouver x ∈ {0,1}|V| solution du probl`eme

x ∈ argmin

x∈{0,1}|V|

X

(i,j)∈E

xiWij(1−xj).

Ce probl`eme de min-cut `a deux classes peut se r´esoudre de mani`ere efficace grˆace `a l’algorithme de Stoer-Wagner. Mais en pratique l’algorithme renvoie souvent une partition dont une classe se r´eduit `a un seul noeud (le point de plus petit degr´e, c`ad, celui le moins connect´e au graphe). C’est pas vraiment l’id´ee qu’on se fait d’une communaut´e. On va donc forcer les communaut´es `a ˆetre de taille suffisante en introduisant une nouvelle fonction de modularit´e.

Ratiocut problem : Pour ´eviter les solutions triviales du mincut problem, on introduit une nouvelle fonction de modularit´e :

(V1, . . . , Vk)∈ Pk(V)−→RatioCut(V1, . . . , Vk) = 1 2

k

X

i=1

W(Vi, Vic)

|Vi| (2)

qui force la taille des communaut´es `a ne pas ˆetre trop petite lorsque l’on va minimiser ce ratiocut.

Le ratio W(Vi, Vic)/|Vi|est sens´e r´ealiser une balance entre la connectivit´e de Vi avec son com- pl´ementaire et la taille de Vi. Le probl`eme du RatioCut est donc celui qui consiste `a minimiser surPk(V) la fonction RatioCut(V1, . . . , Vk)

En g´en´eral minimiser le ratiocut (2) sur toutes les partitions dePk(V) est NP-hard. On va alors r´ecrire ce probl`eme sous forme vectoriel (pour k= 2) ou matriciel (k g´en´eral) et montrer qu’une relaxation convexe de ce probl`eme donne la m´ethode spectrale de d´etection de communaut´e vue au chapitre pr´ec´edent.

Ratiocut pour k = 2 : On regarde d’abord le probl`eme du ratiocut dans le cas de deux communaut´es. On cherche alors une solution au probl`eme

Vmin1⊂V RatioCut(V1, V1c) = min

V1⊂V

W(V1, V1c)

|V1| +W(V1c, V1)

|V1c|

(3)

= min

V1⊂V

 2

|V1|

X

(i,j)∈E:i∈V1,j∈V1c

Wij+ 2

|V1c|

X

(i,j)∈E:i∈V1c,j∈V1

Wij

.

(9)

On r´e´ecrit ce probl`eme sous une forme vectorielle. Pour tout V1 ⊂ V, on construit un vecteur fV1 = (fiV1)i∈V ∈R|V| d´efinie pour tout i∈V par

fiV1 =

q|V1c|

|V1| si i∈V1

− q|V1|

|V1c| sii /∈V1.

(4) Proposition 3.1. Soit L le Laplacien d’un graphe pond´er´e non orient´e. On a :

1) fV1,1

= 0 et fV1

2 2 =n

2) (fV1)>LfV1 =nRatioCut(V1, V1c).

D´emonstration. On a (fV1)>LfV1 = 1 2

X

(i,j)∈E

Wij(fiV1 −fjV1)2

= 1 2

X

(i,j)∈E i∈V1,j∈V1c

Wij

s|V1c|

|V1| + s

|V1|

|V1c|

!2

+ 1 2

X

(i,j)∈E j∈V1,i∈V1c

Wij − s

|V1|

|V1c|− s

|V1c|

|V1|

!2

= 1 2

X

(i,j)∈E i∈V1,j∈V1c

Wij

n

|V1|+ n

|V1c|

+1 2

X

(i,j)∈E j∈V1,i∈V1c

Wij

n

|V1c|+ n

|V1|

= n

2|V1|

X

(i,j)∈E (i,j),(j,i)∈V1×V1c

Wij+ n 2|V1c|

X

(i,j)∈E (i,j),(j,i)∈V1×V1c

Wij =nW(V1, V1c)

|V1| +nW(V1c, V1)

|V1c|

=nRatioCut(V1, V1c) o`u on a utilis´e le calcul

s|V1c|

|V1| +

s|V1|

|V1c|

!2

= |V1c|

|V1| + |V1|

|V1c|+ 2

s|V1c||V1|

|V1||V1c|

= |V1c|

|V1| + |V1|

|V1c|+ 2 = |V1c|+|V1|

|V1| +|V1|+|V1c|

|V1c| = n

|V1c|+ n

|V1|. De plus, on a

fV1

2

2 =X

i∈V1

|V1c|

|V1| + X

i∈V1c

|V1|

|V1c| =|V1|+|V1c|=n et aussi

fV1,1

= 0 car X

i∈V

fiV1 = X

i∈V1

s

|V1c|

|V1| − X

i∈V1c

s

|V1|

|V1c| =p

|V1||V1c| −p

|V1||V1c|= 0.

Il y a donc ´equivalence entre les trois probl`emes :

Vmin1⊂V(fV1)>LfV1, (5)

(10)

Vmin1⊂V

(fV1)>LfV1 : fV1

2 2 =n,

fV1,1

= 0

(6) et le ratiocut problem

Vmin1⊂V RatioCut(V1, V1c). (7) Les trois probl`emes sont des probl`emes d’optimisation discr`ete. Comme (7) est NP-hard en g´en´eral c’est aussi le cas pour les deux autres (5) et (6). On va alors chercher une relaxation convexe pour (6).

La fonction objective de (5) ou (6) est f ∈ Rn → f>Lf ne pose pas de probl`eme du point de vue de l’optimisation car c’est une fonction dont la Hessienne est 2L qui est positive donc la fonction objective est convexe. On est donc en train de minimiser une fonction convexe dans les probl`emes (5) ou (6). La principale difficult´e computationelle des probl`emes (5) et (6) est que l’espace de recherche “A⊂V” est discret. On va alors le “convexifier” simplement en le rempla¸cant parR|V|. On consid`ere alors le probl`eme “relach´e de (6)” :

min

fR|V|

f>Lf :kfk22= 1, f,1

= 0

. (8)

Montrons que (8) est bien la m´ethode spectrale introduite au chapitre pr´ec´edent. Comme L est sym´etrique, on peut trouver une base orthonormale de vecteurs propres. Or on sait que 1= (1)i∈V est vecteur propre associ´e `a la valeur propre 0 deLet que, commeLest positive (voir Proposition2.2), 0 est la plus petite valeur propre de L, (8) revient donc `a chercher un vecteur propre associ´e `a la deuxi`eme plus petite valeur propre de L (qui peut ˆetre aussi 0 si 0 est de multiplicit´e plus grande que 2 dans le spectre deL). Un tel vecteur propre apparait souvent dans l’´etude des graphes. On lui a alors donn´e un nom.

D´efinition 3.2. Soit L le Laplacien d’un graphe pond´er´e non orient´e. Le Fiedler vector de L est un vecteur propre associ´e `a la deuxi`eme plus petite valeur propre de L. On appelle aussi la deuxi`eme plus petite valeur propre de L laconnectivit´e alg´ebrique.

Proposition 3.3. Les vecteurs de Fiedler de L sont les solutions du probl`eme (8).

D´emonstration. Comme L est sym´etrique, on peut ´ecrire L = U DU> o`u U est une matrice orthogonale ayant pour vecteurs colonnes les vecteurs propres de Lnot´e (ui)i∈V etD= diag(λ) o`u λ= (λi)i∈V est le spectre deL. On noteV ={1, . . . , n}et λ= (λi)ni=1 tel que 0 =λ1 ≤λ2

· · · ≤λn. On a u1 =1 et vect(u2,· · · , un) = vect(u1). Pour tout f ∈R|V| tel quekfk22= 1 et

f,1

= 0, on a f>Lf =f> X

i∈V

λiuiu>i

!

f =X

i∈V

λi ui, f2

=

n

X

i=2

λi ui, f2

≥λ2 n

X

i=2

ui, f2

2kfk222 (9)

carλ1= 0 et, comme f,1

= 0 on a f, u1

= 0, donc 1 =kfk22=Pn i=2

ui, f2

. Or pourf =u2, on a f>Lf =λ2 donc cette borne inf´erieure est atteinte par un deuxi`eme vecteur propre de L.

Seuls ces vecteurs propres normalis´es peuvent atteindre cette borne sinon il est facile de voir que f>Lf > λ2 en regardant le cas d’´egalit´e dans (9).

(11)

On approche donc une solution du RatioCut problem par la recherche d’un deuxi`eme vecteur propre, Fiedler vector, deL. Une fois calcul´e un Fiedler vectoru2, on doit en d´eduire des commu- naut´es pourG. Comme u2 est sens´e ˆetre une valeur approchante du vecteur d’appartenance aux communaut´es fV1 o`u V1 ⊂ V est une solution du RatioCut problem, on esp`ere que les coor- donn´ees de u2 vont se concentr´ees autour de deux valeurs (carfV1 prend exactement 2 valeurs).

On fait alors un clustering `a deux classesC1, C2 surRdes coordonn´ees de u2 pour en d´eduire les communaut´es {i: u2i ∈ C1},{i :u2i ∈ C2} de G.C’est exactement la m´ethode spectrale dans le cas k = 2 quand on prend pour premier vecteur propre u1 =1 (en effet, clusteriser les lignes de [u1|u2] est ´equivalent `a clusteriser les lignes (= coordonn´ees) de [u2] vue que u1 est un vecteur `a coordonn´ees toutes ´egales).

RatioCut pour k communaut´es : Dans le cas k= 2, `a chaque partitionV1tV1c=V, on a associ´e une fonction fV1 d´efinie dans (4). Ici pour le cas g´en´eral, `a chaque partition, on associe une matrice de la mani`ere suivante. Soit V1t · · · tVk une partition de V, on construit H :=

H(V1, . . . , Vk)∈R|V|×ktel que ceskvecteurs colonnes sont donn´es parh1 =1V1/p

|V1|, . . . , hk= 1Vk/p

|Vk|. Autrement dit la ’membership matrix’ H est d´efinie pour touti∈V, j = 1, . . . , kpar hij =

( √1

|Vj| sii∈Vj

0 sinon.

On donne un ´equivalent `a la Proposition3.1 dans ce cas l`a.

Proposition 3.4. La matrice H d´efinie ci-dessus `a partir d’une partition V1 t · · · tVk de V v´erifie :

1) H>H=Ik

2) RatioCut(V1, . . . , Vk) = Tr(H>LH).

D´emonstration. 1) On a pour tout p, q= 1, . . . , k, (H>H)pq =X

i∈V

HipHiq =X

i∈V

1

p|Vp||Vq|I(i∈Vp)I(i∈Vq).

Alors sip6=q, commeVp∩Vq =∅on aI(i∈Vp)I(i∈Vq) = 0 pour touti∈V et donc (H>H)pq = 0. Quand p = q, on a I(i∈ Vp)I(i∈ Vq) = 1 pour tout i ∈ Vp et sinon I(i∈ Vp)I(i ∈Vq) = 0 donc

(H>H)pp= X

i∈Vp

1

|Vp|I(i∈Vp) = 1.

On a donc bienH>H=Ik.

2) On rappelle queh1, . . . , hk sont les vecteurs colonnes de H. On a Tr(H>LH) =

k

X

p=1

(H>LH)pp=

k

X

p=1

h>pLhp.

(12)

Pour toutp= 1, . . . , k, on a h>pLhp = 1

2 X

(i,j)∈E

Wij(hip−hjp)2= 1 2

X

(i,j)∈E

Wij

I(i∈Vp)

p|Vp| −I(j∈Vp) p|Vp|

!2

= 1 2

X

(i,j)∈E i,j∈Vp

Wij

1

p|Vp|− 1 p|Vp|

!2

+1 2

X

(i,j)∈E i∈Vp,j /∈Vp

Wij

|Vp|+ 1 2

X

(i,j)∈E j∈Vp,i /∈Vp

Wij

|Vp|

= X

(i,j)∈E i∈Vp,j /∈Vp

Wij

|Vp| = W(Vp, Vpc) 2|Vp| .

On a donc

Tr(H>LH) =

k

X

p=1

W(Vp, Vpc)

2|Vp| = RatioCut(V1,· · · , Vk).

Ainsi d’apr`es la Proposition3.4, il y a ´equivalence entre les trois probl`emes :

V1t···tVmink=V H=H(V1,...,Vk)

Tr(H>LH), (10)

V1t···tVmink=V H=H(V1,...,Vk)

H>H=Ik

Tr(H>LH) (11)

et

V1t···tVmink=V RatioCut(V1, . . . , Vk). (12)

Ces deux probl`emes sont en g´en´eral NP-hard. Le probl`eme ne vient pas de la fonction objectif F : H ∈ Rn×k → Tr(H>LH) qui est aussi convexe car sa Hessienne est constante ´egale `a V ∈Rn×k→ 2L qui est positive. Le probl`eme est (comme dans le cask = 2) dˆu `a la contrainte qui est de type combinatoire. On va alors effectuer une relaxation convexe de la contrainte de (11) par

min

H∈R|V|×k H>H=Ik

Tr(H>LH). (13)

On a tout simplement enlev´e l’aspect combinatoire de la contrainte qui consiste `a ne consid´erer que des matrices de la formeH =H(V1, . . . , Vk).

Pour retrouver une solution `a (11) `a partir d’une solution du probl`eme relach´e, on fait un clustering `ak clusters des lignes de la matrice solution de (12) parce qu’une solution de (11) est une matrice n×k ayant seulement k lignes diff´erentes et que si on lance un cluster `a k classes sur les n lignes de cette matrice on retrouve les k communaut´es. C’est donc bien la m´ethode spectrale `a condition qu’on prouve que les vecteurs colonnes d’une solution au probl`eme relach´e (12) engendrent un sous-espace propre de dimensionkassoci´e aux plus petites valeurs propres de L. C’est ce que nous faisons maintenant et qui concluera sur le lien entre la m´ethode spectrale et une relaxation convexe du probl`eme de RatioCut.

(13)

En ´ecrivant la SVD de L=U DU> o`u D = diag(λ), λ= (λi)i∈V est le spectre de L tel que 0 =λ1≤λ2 ≤ · · · ≤λn etU = [u1| · · · |un] quandV ={1, . . . , n}, on a

Tr(H>LH) =X

i∈V

λikaik22

o`u, pour touti∈V,ai est lei-i`eme vecteur ligne deU>H c`adai= ( ui, hj

)j=1,...,k. Par ailleurs, comme (h1, . . . , hk) est une famille de vecteurs orthonormaux (carH>H=Ik), on a

X

i∈V

kaik22=

k

X

j=1

X

i∈V

ui, hj

2

=

k

X

j=1

khjk22 =k,

kaik22 ≤ kuik22= 1 pour touti∈V et que

0≤ci≤1:minP

ici=k

X

i∈V

λici=

k

X

i=1

λi

qui est atteint lorsque vect(h1, . . . , hk) = vect(u1, . . . , uk). On voit donc que les solutions de (13) sont les matrices H orthogonales dont les colonnes engendrent le sev de dimension k associ´e `a k plus petites valeurs propres deL.

On retombe bien sur le probl`eme qui consiste `a trouverk vecteurs propres de Lassoci´es aux kplus petites valeurs propres deL en tenant compte de leurs multiplicit´e. Ensuite, on clusterise les nvecteurs lignes deH en k clusters dont on d´eduit les communaut´es deL.

3.3 Pseudo-algorithme de la m´ethode spectrale `a k communaut´es

SoitGun graphe non orient´e et pond´er´e ou pas. On note parAsa matrice d’adjacence et par L=D−A son Laplacien o`uD est la matrice diagonale des degr´es des nœuds deG. La m´ethode spectrale pour la d´etection dek communaut´es dansGa pour pseudo-code :

1 Input : L Laplacien du grapheG`a nnœuds et kle nombre de communaut´es

2 Output :Partition des nœuds de Gen k communaut´es

3 Trouver une base orthogonale de kvecteurs propres de L associ´es aux kplus petites valeurs propres deL(en tenant compte de leur multiplict´e).

4 On note H la matrice de taille n×k ayant pour vecteurs colonnes leskvecteurs propres deL pr´ec´edemment calcul´es.

5 On clusterise enk clusters les nvecteurs lignesy1, . . . , yn∈Rk de H : on obtient k clustersC1, . . . , Ck formant une partition des lignesy1, . . . , yn.

6 On retourne les kcommunaut´es{i∈ {1, . . . , n}:yi∈Cp}, p= 1, . . . , k.

Algorithm 1:M´ethode spectrale pour la d´etection de communaut´es bas´ee sur l’´etude du spectre du Laplacien du graphe.

Cet algorithme se justifie soit par la relaxation convexe du probl`eme de Ratiocut introduit dans la Section3.2ou par le cadre id´eal des composantes connexes de la Section3.1. Le choix du nombre k de communaut´es peut se faire par une m´ethode du coude sur le spectre du Laplacien (en partant de la plus petite valant propre de L valant 0 et en allant vers les plus grandes,

(14)

jusqu’`a la rencontre d’un coude, c`ad une inflection plus prononc´ee) soit en ´evaluant une fonction de modularit´e comme la fonction RatioCut en chaque solution en fonction dek.

4 Mod` eles probabilistes de graphes, m´ ethode spectrale et relaxa- tion SDP pour la d´ etection de communaut´ es

Id´ee :Dans les chapitres pr´ec´edents, on a suppos´e que toutes les arˆetes du graphe sont obser- v´ees. Il y a cependant des cas o`u certains liens n’ont pas pu ˆetre observ´es ou ´etablis avec certitude (liens entre g`enes, compagnies, etc.). Dans ce cas, une possibilit´e, est de supposer un mod`ele pro- babiliste sous-jacent `a nos observations. En quelque sorte, on observe que partiellement la matrice d’adjacence d’un graphe mais on souhaite toujours identifier une structure de communaut´es au sein de ce graphe. On va ici utiliser la m´ethode spectrale des sections pr´ec´edentes mais appliqu´ees seulement au Laplacien de la matrice d’adjacence partiellement observ´ee.

4.1 Mod`eles probabilistes de graphes et estimateur du maximum de vraisem- blance.

On pr´esente dans cette section deux mod`eles probabilistes de graphes al´eatoires.

Le mod`ele de Erd¨os-R´enyi :On dit que le graphe al´eatoireGsuit le mod`ele d’Erd¨os-R´enyi

`

a n nœuds et de param`etre p, et on note G∼ G(n, p), quand G est un graphe non orient´e non pond´er´e sur n nœuds dont la matrice d’adjacence est donn´ee par A = (δij)1≤i,j≤n o`u δijji, δii= 1 et (δij :j > i) sont des variables al´eatoires de Bernoulli de param`etre pind´ependantes.

Stochastic Block Model (SBM) :On dit qu’un graphe al´eatoire suit le SBM surnnoeuds et de param`etresp, qo`u 0≤q < p≤1, et on noteG∼G(n, p, q) quandG= (V, E) est un graphe non orient´e et non pond´er´e de matrice d’adjacenceA= (δij)1≤i,j≤ntelle qu’il existe une partition V1tV1c=V des sommets deGpour laquelle on a pour tout i < j

δij

Bern(p) sii, j∈V1 ou i, j∈V1c eti6=j

Bern(q) si (i, j)∈V1×V1c ou (i, j)∈V1c×V1 (14) etδijji etδii= 1.

Autrement dit, dans un SBM, les nœuds appartenant `a la mˆeme communaut´e sont connect´es avec proba p et s’ils n’appartiennent pas `a la mˆeme communaut´e alors ils sont connect´es avec probabilit´e q. Comme p > q on s’attend `a ce qu’il y ait une plus forte densit´e de nœuds intra- communaut´es qu’en inter-communaut´es.

Le SBM mod´elise donc les graphes organis´es en deux communaut´es au sens o`u on l’a d´efinit au d´ebut : une communaut´e a une plus forte densit´e de liens en interne qu’en externe avec son compl´ementaire. Le probl`eme qu’on va chercher `a r´esoudre est le suivant : ´etant donn´e un graphe G tir´e selon le SBM de param`etre (n, p, q), comment retrouver les deux communaut´es V1 etV1c de G?

Estimateur du maximum de vraisemblance dans le SBM `a deux communaut´es de mˆeme taille. L’avantage d’avoir un mod`ele statistique sur nos donn´ees est qu’on peut utiliser la vraisemblance du mod`ele pour en d´eduire une proc´edure d’estimation des communaut´es V1

et V1c. Cette approche est celle du maximum de vraisemblance : on choisit le param`etre V1 qui maximise ’la probabilit´e d’avoir observ´e ce qu’on a observ´e’, c`ad la vraisemblance. On commence

(15)

par donn´ee cette vraisemblance : ´etant donn´e la matrice d’adjacence observ´eeA, pour toutV1⊂V et 0< p < q <1, on a

L(V1, p, q) =fVSBM1,p,q(A) = Y

(i,j)∈V1×V1∪V1c×V1c,i<j

pAij(1−p)1−Aij Y

(i,j)∈V1×V1c∪V1c×V1,i<j

qAij(1−q)1−Aij o`u fVSBM

1,p,q est la densit´e sur les matrices d’adjacence de graphes non orient´es de diagonale ´egale

`

a (1)n1 suivant le mod`ele SBM `a deux communaut´es V1 tV1c et de param`etres p, q. On note C = {(i, j) ∈ V1 ×V1∪V1c×V1c, i < j} et Cc = {(i, j) ∈ V1×V1c∪V1c×V1, i < j}. La log- vraisemblance en (V1, p, q) est donc donn´ee par

logL(V1, p, q) =|C|log(1−p) +NClog p

1−p

+|Cc|log(1−q) +NCclog q

1−q

o`u NC = P

(i,j)∈CAij, NCc = P

(i,j)∈CcAij, et |C| (resp. |Cc|) est le cardinal de C (resp. Cc).

L’estimateur du maximum de vraisemblance consiste `a maximiser cette quantit´e en (V1, p, q) sous la contrainte que 1> p≥q >0. Pour cela, on maximise cette quantit´e en (p, q) sous la contrainte que p ≥q `a V1 fixe et ensuite on maximisera en V1. On effectue cette maximisation dans le cas o`u les deux communaut´es sont de mˆeme taille. Dans ce cas, on a |C|=|Cc|= (n2−n)/4 :=N/2.

Soit V1⊂ {1, . . . , n} tel que|V1|=n/2. On souhaite r´esoudre le probl`eme

max ((1−PC) log(1−p) +PClog(p) + (1−PCc) log(1−q) +PCclog(q) : 0< q≤p <1) (15) o`u PC = NC/|C| et PCc = NCc/|Cc|. On peut r´esoudre ce probl`eme en utilisant le th`eor`eme de KKT (voir `a la fin de la section). On trouve que siPC > PCc alorsp=PC etq =PCc est l’unique solution et dans ce cas la valeur prise par la fonction objective en cette solution vaut

(1−PC) log(1−PC) +PClogPC+ (1−PCc) log(1−PCc) +PCclogPCc. (16) Sinon, quandPC≤PCc, l’unique solution de (15) estp=q= (PC+PCc)/2. Dans ce cas et comme PC+PCc = (NC+NCc)/(N/2) = (2/N)P

i<jAij est constant (c`ad ind´ependant de V1), la valeur prise par la fonction objective en son optimum est ind´ependant de V1 et vaut aussi (16) dans le cas o`u PC = PCc. On en conclut que le probl`eme d’optimisation sur V1 ⊂ {1, . . . , n} tel que

|V1|=n/2 qui reste `a r´esoudre est celui de maximiser la valeur optimale obtenue en (16) sous la contrainte que PC ≥PCc, c`ad

V1⊂{1,...,n}max

|V1|=n/2,PC≥PCc

[(1−PC) log(1−PC) +PClogPC+ (1−PCc) log(1−PCc) +PCclogPCc]. (17) Une fois r´esolu ce probl`eme en V1, on obtiendra l’EMV ˆp=NC/|C|=PC et ˆq =NCc/|Cc|=PCc

pour le choix optimal de V1. On peut interpr´eter la contrainte ’PC ≥ PCc’ comme une version empirique de la contrainte p≥q vue que les quantit´es PC etPCc sont les EMV de p etq pour le choix optimal deV1.

Il reste `a r´esoudre le probl`eme d’optimisation (17). On d´emontre `a la fin de cette section que la fonction objectif du probl`eme (17) est maximale en (PC, PCc) ∈[0,1]2 sous la contrainte que PC+PCc = (2/N)P

i<jAij et PC ≥ PCc quand PC est maximal ou de mani`ere ´equivalente quant PCc est minimal (vu que leur somme est constante). Il reste alors `a trouver les ensembles V1⊂ {1,· · · , n}tels que|V1|=n/2 pour lesquels PCc est minimal. Par ailleurs, on remarque que pour toutV1⊂ {1, . . . , n} tel que|V1|=n/2, on a

PCc = 2 N

X

(i,j)∈Cc

Aij = W(V1, V1c)

N = RatioCut(V1, V1c).

Références

Documents relatifs

En s’inspirant de la question II-3 et en utilisant la question II-1, d´emontrer que la fonction g est stricte- ment d´ecroissante sur [0, a].. Finir de montrer la conjecture faite `

Les limites seront justifi´ees ` a la question suivante et compte tenu que l’on donne des encadrements de f (−x 0 ) et de f (x 0 ) dans l’´enonc´e, on peut penser qu’il n’est

la derni`ere in´egalit´e r´esultant de

´ Enoncer le th´eor`eme de la limite monotone pour les suites, puis d´emontrer l’un des quatre r´esultats (au

[r]

Donner la d´efinition de la borne sup´erieure de A ainsi qu’une condition n´ecessaire et suffisante pour son existence. En particulier, on peut faire la seconde partie en admettant

Donn´ ee: une machine de Turing M , qui ne revient jamais en d´ ebut de ruban, ne revient jamais dans l’´ etat initial, n’´ ecrit jamais de blancs?. Question: M ne s’arrˆ ete

La principale (dont les autres d´ ecoulent) est la suivante : Pour deux arˆ etes parall` eles, la diff´ erence de cotes entre les extr´ emit´ es est la mˆ eme (pour une