3.2 Les diff´ erentes approches li´ ees ` a notre objectif
3.2.3 k-median/k-center : Strat´ egies de r´ esolution heuristiques
3.2.3.1 Strat´ egie d’ajout it´ eratif
Cette strat´egie consiste `a choisir un point comme centre pour initialiser le sous-ensemble divers, puis `a ajouter it´erativement un centre `a ce sous-ensemble. L’algorithme correspon-dant a donc besoin de deux param`etres en entr´ee : le choix du point initial et la m´ethode d’ajout d’un nouveau centre.
Parmi les heuristiques utilisant cette strat´egie, il existe l’heuristique gloutonne (ou greedy) dont nous d´etaillerons 3 algorithmes, et l’heuristique Core-Sets propos´ee par Badoiu et al.
[146].
Heuristiques de type greedy ou gloutonnes On initialise l’ensemble repr´esentatif `a un jeu vide de centres. Puis le probl`eme 1-median ou 1-center (cf. section 3.2.2.2) est r´esolu dans l’ensemble de centres possibles et ajout´e `a ce jeu. Chaque centre est donc ajout´e un par un jusqu’`a en obtenir k. A chaque it´eration le centre qui optimise le crit`ere choisi est s´electionn´e (nous verrons quels crit`eres sont utilis´es en fonction de chaque m´ethode).
L’algorithme 2 pr´esente ces ´etapes. Pour l’initialisation du premier centre, il existe trois possibilit´es :
– initialisation par une mol´ecule tir´ee al´eatoirement parmi les mol´ecules deM – initialisation `a la mol´ecule centrale du jeu M
– initialisation `a la mol´ecule la plus ´eloign´ee des autres mol´ecules deM
Il existe deux exemples de cette heuristique ´egalement utilis´es en chemoinformatique pour la s´election par diversit´e : Farthest First Traversal (FFT) et Sphere-exclusion. En 1998, Snarey et al. [129] comparent la m´ethode Sphere-exclusion `a la m´ethode Maximum
83
Dissimilarity (dont FFT est une variante) dans le cadre de la chemoinformatique. Nous pr´esentons Maximum Dissimilarity ainsi que sa variante FFT et leur algorithme. Ensuite nous pr´esentons Sphere-Exclusion et enfin l’heurisitique Core-Sets sera ´evoqu´ee.
Algorithm 2 Algorithme g´en´erique de la strat´egie Greedy
1: input k= taille de l’´echantillon
2: Generate C∗=∅
7: return C∗ l’ensemble des individus s´electionn´es
Maximum Dissimilarity Pour Maximum Dissimilarity [129] il existe 3 initialisa-tions possibles pour le premier centre (cf. Etape 1 de l’algorithme 2). Une fois le premier individu s´electionn´e, les suivants peuvent ˆetre ajout´es it´erativement de deux fa¸cons diff´ e-rentes selon le crit`ere que l’on souhaite optimiser (cf. Etape 2 de l’algorithme 2) :
Crit`ere MaxMin (cf. Figure 3.2(a)) : l’objet ajout´e est celui qui maximise la distance
`
a son plus proche dans le sous-ensemble d´ej`a s´electionn´e. Soitmi ∈ M le nouvel ´el´ement ajout´e dansC∗={c∗l} l’ensemble des centres s´electionn´es :
mi est tel que M in
l=1...|C∗|d(cl, mi) =ArgM ax
i=1...n
l=1...|CM in∗|d(cl, mi)
Crit`ere MaxSum (cf. Figure 3.2(b)) : l’objet ajout´e est celui qui maximise la somme des distances entre lui-mˆeme et chaque centre du sous-ensemble :
mi = ArgM ax
i=1...n
X
l=1...|C∗|
d(mi, cl)
Ces crit`eres, associ´es aux diff´erentes initialisations propos´ees, donnent les diff´erentes variantes de la m´ethode Maximum Dissimilarity dont l’algorithme suit. Notons que nous consid´erons la m´ethode Farthest First Traversal, pr´esent´ee par Hochbaum et Shmoys en 1985 [147], comme une variante de Maximum Dissimilarity car elle utilise une initialisation al´eatoire du premier centre, puis le crit`ere MaxMin pour choisir les centres suivants.
Complexit´e: O(k2*N) avec k=le nombre de mol´ecules `a s´electionner et N le nombre total de mol´ecules.
Sphere-Exclusion [148] En entr´ee de l’algorithme on donne le rayon et l’ensemble de mol´eculesM. Ensuite `a l’intialisation, un premier individu est s´electionn´e selon les trois m´ethodes d’initialisation vues dans l’algorithme 2. Tous les individus situ´es dans le rayon, donn´e en entr´ee, autour de cet individu s´electionn´e sont supprim´es. Puis le centre suivant
(a) MaxMin (b) MaxSum
Figure3.2: Illustration d’une s´election selon MaxMin et selon MaxSum : En vert, le sous-ensemble d´ej`a s´electionn´e et entour´e en rouge la mol´ecule suivante s´electionn´ee parmi les mol´ecules noires
Algorithm 3 La m´ethode Maximum Dissimilarity
1: input k= taille de l’´echantillon
2: GenerateC∗ =∅
3: produce C∗ =C∗+mi ∈ M, i initialis´e selon les m´ethodes cit´ees plus haut
4: produce M= M −mi
5: i←0
6: while!(i < k) do
7: C∗ =C∗+ (mi = ArgM ax
i=1...n
P
l=1...|C∗|
d(mi, cl) (crit`ere MaxSum)
8: OU
9: C∗ =C∗+mi =ArgM ax
i=1...n
l=1...|CM in∗|d(c∗l, mi) (crit`ere MaxMin)
10: i←i+ 1
11: end while
12: return C∗ l’ensemble des individus s´electionn´es
85
peut ˆetre s´electionn´e selon quatre crit`eres diff´erents : – un individu al´eatoire
– l’individu dont la somme des distances au sous-ensemble est la plus petite : crit`ere MinSum (r´esolution du probl`eme k-median)
– l’individu dont la distance au plus proche du sous-ensemble est la plus petite : crit`ere MinMin
– l’individu dont la distance au plus proche du sous-ensemble est la plus grande : crit`ere MinMax (r´esolution du probl`eme k-center)
Enfin l’algorithme (cf. algorithme 4) it`ere jusqu’`a obtention de k centres.
On a vu qu’en entr´ee il faut d´eterminer un rayon. Or on ne connaˆıt pas le rayon optimal permettant d’obtenir une s´election de k mol´ecules sur le jeuMde taille n. C’est pourquoi avant le lancement de l’algorithme, il faut d´eterminer le rayon maximum. On le fixe a priori et on observe combien de mol´ecules sont s´electionn´ees avec celui-ci. Puis on it`ere de fa¸con `a trouver le rayon optimal par rapport au nombre de mol´ecules `a s´electionner.
Algorithm 4 La m´ethode Sphere-Exclusion
1: input dseuil
9: return C∗ l’ensemble des individus s´electionn´es
Complexit´e: O(k*N) k nombre d’it´erations et N nombre total de mol´ecules.
Pour conclure, les heuristiques gloutonnes que nous venons de pr´esenter permettent de r´esoudre le probl`eme k-center avec une complexit´e raisonnable pour nos jeux de donn´ees.
De plus elles ont ´et´e test´ees avec succ`es pour la diversit´e dans le domaine de la chemoin-formatique. Etant donn´e notre objectif tr`es li´e au probl`eme k-center, nous avons choisi de comparer Maximum Dissimilarity, FFT et Sphere-Exclusion avec la m´ethode k-medo¨ıds
´
egalement tr`es utilis´ee dans la s´election par diversit´e en chemoinformatique. Nous ajoute-rons `a cette comparaison une heuristique r´esolvant le probl`eme k-center que nous avons d´evelopp´ee. Celle-ci combinera quelques unes des heuristiques pr´esent´ees par la suite pour tenter d’obtenir de meilleurs r´esultats qu’avec les m´ethodes traditionnellement utilis´ees en diversit´e.
Heuristique Core-Sets Enfin Badoiu et al. [146] pr´esentent une heuristique qui permet d’extraire un sous-ensemble approximant le clustering et notamment pour les probl`emes k-center etk-median. Leur m´ethode a une complexit´e lin´eaire. Leur but est d’approximer des hyper-sph`eres entourant les groupes d’individus en faisant l’hypoth`ese que tous les points ne sont pas utiles pour le calcul. Notamment les points se trouvant `a proximit´e du centre ne d´efinissent pas l’hyper-sph`ere. Ils utilisent donc moins de points pour le calcul de ces sph`eres, r´eduisant ainsi la complexit´e de l’algorithme.
G¨artner [149] propose lui un algorithme nomm´e ”Mini-Balls” (dont nous nous inspirons
dans notre impl´ementation) pour r´esoudre ´egalement le calcul de la plus petite hyper-sph`ere englobant tous les points d’un groupe en un temps efficace.