A. G UENOCHE
Cinq algorithmes d’approximation d’une dissimilarié par des arbres à distances additives
Mathématiques et sciences humaines, tome 98 (1987), p. 21-40
<http://www.numdam.org/item?id=MSH_1987__98__21_0>
© Centre d’analyse et de mathématiques sociales de l’EHESS, 1987, tous droits réservés.
L’accès aux archives de la revue « Mathématiques et sciences humaines » (http://
msh.revues.org/) implique l’accord avec les conditions générales d’utilisation (http://www.
numdam.org/conditions). Toute utilisation commerciale ou impression systématique est consti- tutive d’une infraction pénale. Toute copie ou impression de ce fichier doit conte- nir la présente mention de copyright.
Article numérisé dans le cadre du programme Numérisation de documents anciens mathématiques
http://www.numdam.org/
CINQ ALGORITHMES D’APPROXIMATION D’UNE DISSIMILARITE PAR DES
ARBRES A DISTANCES ADDITIVES
A. GUENOCHE *
Dans cet article de
synthèse,
nous exposonscinq algorithmes
récents deconstruction d’un arbre à distances
additives,
àpartir
d’un tableau de dissimilarités Dqui quantifie
les écarts entre Nobjets.
L’un de cesalgorithmes
estpurement métrique, puisqu’il
évalue directement àpartir
de D une distanceadditive
d’arbre,
les autres construisent des arbres dont les arêtes sont valuées et àpartir desquels
on reconstruit une distance arborée "voisine" des dissimilarités initiales. Ils sedistinguent
de ceux de Carroll[4], Cunningham [5]
etDe Soëte
[6]
car ils ne résolvent pas ceproblème
par une méthode "brutale"d’optimisation.
Nous ne reprenons pas les définitions et lespropriétés
des notionsmathématiques utilisées;
elles sontlargement développées
par ailleurs dans[1,
2, 10].
Cettedescription
desalgorithmes précise
les structuresadéquates
dedonnées,
cequi permet
leurimplémentation
dansn’importe quel langage procédural.
Plutôt que de classer ces méthodes suivant
l’importance
de leurapproche métrique
versuscombinatoire,
nous les avonsrangées
dans un ordre decomplexité
croissante. Ce critère n’est paspleinement satisfaisant,
car seule lacomplexité "théorique"
d’une itération estprise
encompte,
alors que le nombre moyend’étapes
et la dimension du tableau traité àchaque étape
interviennent fortement dans lestemps
de calcul.Etant donné une structure d’arbre et un tableau de dissimilarités dont les entrées sont les sommets
pendants
del’arbre,
onpeut,
par unalgorithme d’approximation
sous contraintes
positives,
calculer deslongueurs d’arêtes,
defaçon
que leslongueurs
des chemins entre sommetspendants,
mesurées dansl’arbre, approximent
au mieux les dissimilarités. Si l’on adéjà
un arbrevalué,
onpeut toujours
conserver la structure de l’arbre et recalculer de nouvelleslongueurs
defaçon
àaméliorer,
au sens des moindrescarrés,
lareprésentation
desvoisinages qu’ils produisent.
Ceci nouspermet
de comparer lesalgorithmes
d’abord sur descritères non
métriques qui
nedépendent
que des structuresd’arbres,
ensuite sur des critèresmétriques
calculés àpartir
des arbres valués par lesalgorithmes,
* G.R.T.C. - C.N.R.S 31 Ch. J.
Aiguier
13402 Marseille Cedex 9puis
des arbres ré-évalués parapproximation quadratique.
Cesexpérimentations numériques
sont réalisées àpartir
de 6 tableaux de dissimilarités de dimension 7.C’est dire
qu’à chaque
méthodecorrespond
un programme que nous diffusonssans restriction.
1 ALGORITHMES DE CONSTRUCTION D’ARBRES A DISTANCES ADDITIVES Ces
algorithmes
ne sont pas tousoriginaux.
Ils ont été élaborés dans le cadre d’un groupe de travail(J.P. Barthélemy,
G.Brossier,
A.Guénoche,
B.Leclerc,
X.Luong,
M.Roux)
etparfois publiés
sous une formelégèrement
différente et nettement moins détaillée. Nousindiquons
ici l’auteurprincipal
dechaque
méthode et renvoyons à une éventuelle
publication.
Tous satisfont auprincipe
suivant: si le tableau de dissimilarités est une distance additive
d’arbre,
ilsdéterminent exactement l’arbre
sous-jacent.
La
première
méthode est basée sur leprincipe
dedécomposition
d’une distance arborée en somme d’une distance à centre et d’une distanceultramétrique.
Unalgorithme
a étédéveloppé
par G. Brossier[3].
Il est ici décrit dans le détail etutilise,
pour construire uneultramétrique,
uneimplémentation
de la méthode dulien moyen dans
laquelle
onporte
une attention touteparticulière
au traitementdes valeurs
égales
de dissimilarité.La seconde
méthode,
dite desplus proches prédécesseurs,
estoriginale.
Elle estfondée sur la
façon
de calculer leslongueurs
d’arêtes dans un arbre à distanceadditive,
connaissant seulement leslongueurs
des chemins entre sommetspendants.
Considérons un tracéplanaire
de l’arbre et un ordre circulaire des sommetspendants.
Si{i,j,k}
sont trois sommetspendants
consécutifs pour cetordre,
laquantité (D(i,j)+D(i,k)-D(j,k))/2
estégale
à lalongueur L(j)
de l’arête issue dej. Maintenant,
si deux sommetspendants i,j
sontadjacents
au même sommet,on a
D(i,j)=L(i)+L(j).
Dans cetalgorithme,on
regroupe les sommetsqui
vérifientcette
équation.
La troisième
méthode,
dite dedispersion
est basée sur une idée de B. Leclerc. Si iet j
sont deux sommetspendants
d’un sous-arbre de racine s, lavariance, lorsque
kparcourt
l’ensemble des sommetspendants qui
ne sont pas dans cesous-arbre,
deD(k,i)-D(k,j)
est nulle. Leprincipe
de cetalgorithme
est deregrouper les sommets pour
lesquels
cettequantité
est minimum.La
quatrième méthode,
dite des scores, est une amélioration d’une méthode définie à l’issue de la notion de scores d’unepaire
de sommets, par S. Sattah et A.Tversky [10].
En définissant des scores stricts etlarges,
et en traitant les scoresvoisins,
X.Luong [2]
a défini unalgorithme plus performant qui
est décrit ici.La
cinquième
méthode est unalgorithme
itératif de modification des valeurs dedissimilarités,
defaçon
à satisfaire auxinégalités quadrangulaires.
Il est dû à M.Roux
[8] qui reprend
là l’idéequ’il
adéjà appliquée
àl’approximation
d’unedissimilarité par une
ultramétrique.
Sa méthode ne fournitqu’une
distanceadditive
d’arbre; n’importe lequel
desalgorithmes précédents
construit l’arbre.Avant de
présenter
les différentesméthodes, précisons quelques points
communsà toutes les
implémentations.
Chaque
méthode traite une matrice D de dissimilarités de dimension Nsymétrique
dediagonale
nulle. Ces méthodes itératives construisent des"groupements",
c’est à dire une réunion d’un ensemble de sommetspendants qui
se
regroupent
sur un nouveau sommet numéroté à la suite. Ungroupement
deng
sommets a pour effet
d’ajouter
autant d’arêtes à l’arbre et un sommet numéroté à la suite. Les sommetsregroupés
sontsupprimés
du tableau D et le nouveau sommet devientpendant.
Ses écarts aux sommets restants sont calculés etoccupent
laplace
dupremier
sommet dugroupement.
N est diminué et tant que N>3 on effectue une nouvelle itération.L’étiquette
associée au i-ième sommet est stockée dans un tableau d’identificateurs ID. A la fin dechaque algorithme,
l’arbre à Ns sommets est codé dans un tableau T. Ses Ns-1 arêtes sonti--T~i~.
Le sommetétiqueté
Ns n’a pas deprédécesseur,
cequi
ledésigne
comme racine de l’arbre. Leslongueurs
desarêtes sont codées dans un tableau L. On
appelle
Max la somme desN(N-1 /2
valeurs de D.
1.1 Méthode de
décomposition
Cet
algorithme
est fondé sur leprincipe
dedécomposition
d’une distance additived’arbre,
en somme d’une distance à centre et d’uneultramétrique, développé,
parexemple,
dans[4].
Cettedécomposition
n’est pasunique, puisque
l’onpeut
choisir comme centre c
n’importe quel point
situé sur l’arbrecorrespondant
à cettedistance arborée. Pour notre
problème d’approximation,
les seulspoints
connussur l’arbre sont les sommets
pendants,
cequi
n’est pas très naturel comme choix d’un centre.Néanmoins,
on retient la médiane du tableau dedissimilarités,
soit lecentre c tel que
2,k D(c,k)
soit minimum.La distance à centre
DC(i)
de tout sommet i au centre c est alors estimée par la valeur dedissimilarité, DC(i)=D(i,c),
et l’on calcule une nouvelle dissimilarité D’en retirant à D cette distance à centre. Il se
peut
que les valeurs de D’ ne soient pas toutespositives.
Onpeut
alorsajouter
à D une constante dont il faudraévidemment tenir
compte
dans le calcul deslongueurs
d’arêtes de l’arbre de classification.Après
il reste àappliquer
à D’ unalgorithme d’approximation
par uneultramétrique -
nous avons choisi la méthode du lien moyen -, cequi
définit unarbre de classification. Si à la dernière itération il ne reste que deux sommets, on
n’ajoute
pas de sommetsupplémentaire
pour ce derniergroupement,
mais on crée une seule arête dont le sommet fin est le numéro de sommet leplus
élevéqui
devient la racine de l’arbre.Les
longueurs
d’arêtes de l’arbre sont alorségales
auxlongueurs
d’arêtes del’arbre de classification
augmentées
pour les seuls sommetspendants
desdistances à centre.
Algorithme
dedécomposition
1/Choix du centre Min := Max
Pour 1 variant de 1 à N Faire S := 0 Pour J variant de 1 à N Faire
S := S +
D~I,J)
Si SMin Alors
C := I ; Min :=
S2/ Soustraction de la distance à centre Pour 1 variant de 1 à N Faire
DC(l)
:=D(C,I)
Pour 1 variant de 1 à N Faire Pour J#l variant de 1 à N Faire
D(I,J)
:=D(I,J) - DC(l) - DC(J)
3/ Construction de
l’ultramétrique
du lien moyenClassiquement
on réunit àchaque étape
del’algorithme
les deux sommets iet j
les
plus voisins,
à un seuilS=D(i,j).
Mais il arrivefréquemment,
du fait de valeurs de dissimilaritéségales,
enparticulier
si la dissimilarité est la distance de la différencesymétrique
obtenue àpartir
d’un tableau en0/1,
que d’autres classes aient la même dissimilarité. Deux cas sont àdistinguer:
. Il existe deux autres classes k et 1 telles que
D(i,j)
=D(k,l)
. Il existe une autre classe k telle que
D(i,j)
=D(i,k)
Dans le
premier
cas, on accélèresimplement l’algorithme
enregroupant
à lamême
étape i,j
d’unepart
etk,1
d’autrepart.
Dans le deuxième cas, pour ne pasprivilégier
l’une despaires
on regroupe en un même sommeti, j
et k. S’ils’agit
d’une méthode de lien
unique,
cette décision est tout à fait conforme àl’esprit
dela méthode. S’il
s’agit
d’une méthode de lien moyen, il faudra considérer la moyenne des valeursD(i,j), D(i,k)
etD(j,k) qui
définit un nouveau seuil S’ degroupement
des sommetsi, j
et k. Le seuil initial Speut
être insuffisant et le choix de l’une despaires (i,j)
ou(i,k)
est arbitraire. Legroupement i,j,k
nepeut
être faitau seuil S’ que si aucun autre
groupement n’apparaît
à un seuil intermédiaire.L’existence de valeurs
égales bloque
donc lesregroupements
et rend ainsi le résultatindépendant
de l’ordre d’examen des sommets, donc de leur numérotation. En traitant de cettefaçon
les valeurségales,
on construit un arbrede classification
qui
n’estplus
nécessairement binaire.Pour calculer les
longueurs,
définissons le niveau dechaque
sommetcorrespondant
à une classe de la hiérarchie. Les sommetspendants
de l’arbre de classification ont un niveau 0. Si deux sommets iet j
de niveauxNi
etNj
l seregroupent
sur un sommet k au seuilS=D(i,j),
le niveau de k est donné parNk=(S+Ni+Nj)/2.
En effet leslongueurs
des arêtes i--k etj--k
sontrespectivement
Nk-Ni
etNk-N~ l
dont la somme estégale
au seuil S. On a ainsi un arbre de classification avec des arêtes delongueurs
valuées. C’est ce que l’on faitimplicitement
dans le tracé desdendrogrammes.
3.1/ Branchement suivant les valeurs de N Si N =1 Aller en 4/
Si N = 2 Aller en 3.4/
Sinon le seuil S est
égal
à la valeur minimum des dissimilarités. On définit SScomme la
plus petite
des valeurs de dissimilaritésupérieure
à ce seuil.3.2/ Construction des
groupements
Le tableau de dissimilarité
peut
être considéré comme ungraphe complet
valuépar ces valeurs. Le choix du seuil
précédent
définit un"graphe seuil",
dont lesarêtes sont celles
qui
ont une valeur inférieure ouégale
à S. On construit lesparties
connexes de cegraphe
seuil. Cettefaçon
deprocéder augmente
lacomplexité
de la méthode du lien moyen, mais la certitude d’obtenir un résultatindépendant
de la numérotationjustifie,
à nos yeux ce choix.Pour
chaque
sommet on détermine le numéro de sacomposante
connexe codéedans un tableau NC initialisé à
0;
NG est le nombre degroupements.
Pour Toute arête
(IJ)
Telle queD(I,J)
= S FaireAprès
exécution de cetalgorithme qui
est enO(N3),
tous les sommets connexesont même valeur
positive
dansNC,
et ily a NG composantes
connexes, donc NGgroupements
éventuels.Pour
chaque partie
connexe, on calculeMD,
la moyenne des dissimilarités despaires
de sommets, CG le cardinal de cettepartie
connexe et SNIV la somme desniveaux de ses éléments. Si MD est inférieure ou
égale
à S:. on effectue le
groupement
en créant un nouveau sommetNs,
. on crée les arêtes
correspondantes,
. on calcule les
longueurs d’arêtes,
sinon on stocke dans SM la
plus petite
des valeurs MD des différentesparties
connexes.
Pour K variant de 1 à NG faire
Sinon
Si MD SM Alors SM := SD
Si au moins un
groupement
a étéeffectué,
on passe à l’itération suivante en retournant en3.1,
sinon on définit un nouveau seuil comme laplus petite
desvaleurs SM et SS
(nécessaire
pour effectuer au moins ungroupement)
3.3/ Mise à
jour
du tableau DLes dissimilarités d’un sommet de
groupement
aux autres sommets sont calculées comme les moyennes des distances de ces sommets aux éléments dugroupement.
Les sommetsqui figurent
dans ungroupement
sontsupprimés
etceux des
groupements ajoutés
à laplace
dupremier
sommet dugroupement
dans D et NIV. On retourne alors à
l’étape
3.1 avec une valeur de Nplus petite
que celle de l’itération
précédente.
3.4/ Il reste deux sommets
Le sommet de
plus grand
numéro devient racine de l’arbre Si!D(1)>)D(2)
AlorsEchanger (ID(1 ),ID(2))
1 :=
ID(1 ) ; T(I)
:=ID(2) ; L(I)
:=D(1,2)
4/ Calcu I des
longueurs
Aux
longueurs
d’arêtes définies par la méthode du lien moyen, onajoute
lesdistances à centre pour les arêtes
pendantes.
Pour 1 variant de 1 à N Faire
L(l)
:=L(!)
+DC(l)
1.2 Méthode des
plus proches prédécesseurs
Supposons
que l’on ait un arbre valuécorrespondant
à la distance additive d’arbreD,
et poursimplifier
les notations admettons que les sommets sontétiquetés
dans l’ordre circulaire d’unereprésentation planaire
del’arbre,
c’est àdire sans intersection d’arêtes en dehors des sommets.
Soit
L(i)
lalongueur
de l’arête incidente au sommetpendant
i. On a alorset cette
quantité L(i)
que l’on cherche à déterminer àpartir
deD, puisqu’on
neconnait pas l’arbre est:
On calculera donc pour
chaque
sommetpendant
lalongueur
de sonarête,
comme le minimum des valeurs de
L(i) lorsque j
et kparcourent
l’ensemble des sommetspendants
autres que i. C’est lalongueur
du pasqu’il
faut fairedepuis
ipour trouver un nouveau sommet de l’arbre.
Maintenant si i
et j
sont deux sommetspendants qui
ont mêmeprédécesseur s,
laquantité D(i,j)-L(i)-L(j)
est nulle. C’est ainsi que l’on varepérer
les sommetsadjacents.
SiD(i,j)-L(i)-L(j)
=0 alors il existe dans l’arbre un sommet s tel que i--s etj--s
sont deux arêtes de l’arbre. On effectuera donc cegroupement.
Une fois les arêtesenregistrées,
onsupprime
les sommets iet j
et le sommet s devientpendant.
On calcule donc son écart à un sommet kquelconque
commeD(s,k)
=D(i,k)-L(i)
=D(j,k)-L(j)
On est ramené à un
problème
à N-1 sommetspendants,
pourlequel
onappliquera
la mêmeméthode, jusqu’à
ce que l’on ait N=3.On a donc
retrouvé,
àpartir
d’une distancearborée,
son arbresupport.
Achaque
itération on examine l’ensemble des
triplets {i,j,k}
pour calculer leslongueurs d’arêtes;
c’estl’opération
laplus longue,
si bien quechaque
itération est en0(n3).
Maintenant nous nous posons le même
problème,
àpartir
d’une dissimilaritéquelconque
D. Si D n’est pas unedistance,
on trouvera des arêtes delongueur négative,
et leplus
souvent, aucun des écarts entreprédécesseurs
n’est nul.Nous avons donc
adapté l’algorithme
de lafaçon
suivante:- On calcule une
longueur positive L(i)
c’est à dire que siD(i,j)+D(i,k)-D(j,k)
estnégative,
cettequantité
n’est pasprise
encompte
dans le calcul du minimum.- On cherche le
couple {i,j}
tel que laquantité D(i,j)-L(i)-L(j)
soitminimum;
soitdmin sa valeur. On regroupe donc les sommets
qui
ont lesplus proches prédécesseurs,
d’où le nom de cette méthode.- On
répartit proportionnellement
l’écart dmin entreL(i)
etL(j) qui
sontmultipliées
par 1
+dminl~L~i)+L(j)).
Avec ces nouvelles valeurs on aD(i,j)-L(i)-L(j)=O.
- Les
quantités D(i,k)-L(i)
etD(j,k)-L(j)
ne sontplus
nécessairementégales;
oncalculera
D(s,k)
comme leur moyenne.Algorithme
desplus proches prédécesseurs
1/ Calcul des
longueurs
d’arêtesPour 1 variant de 1 à N Faire Lmin=Max
Pour tout JK différents de 1 Faire
2/ Recherche des
plus proches prédécesseurs
3/ Mise à
jour
du tableau de dissimilarité4/ Il reste 3 sommets
1 1 1 1 1 1 1 1 1 1 1
1.3 Méthode de
dispersion
Le
principe
de cetalgorithme
est le suivant: Si l’on est enprésence
d’unedistance additive d’arbre à N sommets
pendants,
dont deux sommets iet j
seregroupent
en un sommet intérieur s, pour tout autre sommet kpendant placé
parrapport
à iet j
de l’autre côté de s, laquantité dk(i,j~=D~k,i~-D(k,j)
estindépendante
de k.
L’idée de cet
algorithme d’approximation
est de regrouper les deux sommetspendants
tels que la variance dedk(i,j) lorsque
kparcourt
l’ensemble des sommetspendants
soit minimum. Comme pour la méthodeprécédente, chaque étape
de cetalgorithme
est donc decomplexité O(N3).
Les
longueurs L(i)
etLU)
des arêtes i--s etj--s
se calculent par: Soit B l’estimation deL(i)-L(j),
Puisque L(i)+L(j)=D(i,j),
il vientL(i)=(D(i,j)+B)/2
etL(j)=(D(i,j)-B)/2.
Il arrive que certaineslongueurs
soientnégatives,
cequi
fait que cette méthodepeut
donnerde très mauvais résultats
(Cf. § 2.2).
Pour calculer les écartsmétriques
ceslongueurs négatives
sont mises à 0.Algorithme
dedispersion
1/ Calcul des
dispersions
Pour
chaque paire ~i,j~
de sommets, on calcule unedispersion égale
à la variance deD~k,i~-D~k,j~
pour k variant de 1 àN,
avec K#1 et K~J. Cesdispersions
sontrangées
dans lapartie supérieure
droite d’un tableauV(N,N).
Lapartie
inférieuregauche
contient la somme des écartsD~k,i~-D~k,j~.
Pour tout IJK Faire
Pour tout IJ Faire
...18.’" ".1. 8ft....18 8ft..&et t
2/ Choix du
groupement
On regroupe la
paire
de sommets dont ladispersion
est minimum. Soit(11,JJ)
cettepaire
et NS le numéro de sommet de cegroupement (numéroté
à lasuite).
3/ Calcul I des
longueurs
Les
longueurs des arêtes II--NS et
JJ--NS sontrespectivement:
Si
V(11,JJ)
a étéréajustée
Aller en 3.2/3.1/ Si l’une de ces
longueurs
estnégative,
ladispersion
nepeut plus
êtrecalculée suivant la même
formule;
elle est alorsréajustée.
4/ Mise à
jour
et tassement du tableau de dissimilarités.La dissimilarité du sommet
groupement
NS aux autres sommets est alors calculée comme s’ils’agissait
d’une distance additive d’arbre.Pour 1 variant de 1 à N Faire
..
Les sommets Il et
JJ sont supprimés
et NSrajouté,
N est abaissé d’uneunité,
suivant la même
procédure
queprécédemment.
Si N>3 on retourne en 1/ sinon on fait comme pour la méthode
précédente.
1.4 Méthode des scores
Par définition une distance additive d’arbre vérifie les
inégalités
"quadrangulaires",
c’est à dire que pour toutquadruplet {i,j,k,l}
il existe au moinsune
bi-partition
en deux classes de deuxéléments,
ici{i,j}
et{k,l},
telle queS. Sattah et A.
Tversky j10]
définissent le score d’unepaire
de sommets, comme le nombre dequadruplets
tels que cettepaire
est l’une des deux classes de labi-partition.
Le calcul des scores dechaque paire
se fait en examinant tous lesquadruplets;
Uneétape
del’al g orithme
sera donc decomplexité O(N4).
Ceci
fait,
on regroupe lapaire
de scoremaximum,
cequi
crée un nouveausommet dont la dissimilarité à un autre sommet
pendant,
estégale
à la moyenne des dissimilarités entre ce sommet et les sommetsregroupés.
Achaque itération,
on abaisse la dimension du
problème
d’une unité. Quand il reste trois sommets,on les regroupe en un seul sommet
supplémentaire qui
devient la racine de l’arbre.Cet
algorithme,
trèsnaturel, présente
néanmoinsquelques
défauts. D’abord il necalcule pas de
longueurs d’arêtes;
il faudra comme lesuggèrent
les auteurs lesapproximer
au sens des moindrescarrés,
au même titre que la valuation des arêtes d’un arbre de classification.Ensuite,
cetalgorithme
nepeut produire qu’un
arbre binaire. Si l’on
opère
àpartir
d’une distance additive d’arbre dont certains sommets sont dedegré supérieur
à3,
on ne retrouvera pas strictement la même structure d’arbre.Exml
En
partant
d’une distancecorrespondant
à l’arbre degauche,
on va regrouper les sommets 1 et 2 sur un sommet6, puis
les sommets 3 et 6 sur un sommet 7. Onobtiendra donc la structure de l’arbre de droite.
Bien
évidemment, quand
on calcule leslongueurs d’arêtes,
on trouve que lalongueur
de 6--7 estnulle,
mais on a introduit des sommetsinutiles,
cequi augmente
la dimension duproblème d’approximation
deslongueurs.
L’algorithme
de Sattah etTversky
construit donc un arbre dont les sommets intérieurs sont dedegré
3 en N-2 itérations. Ce nombre d’itérationspeut paraître
lui aussi
excessif,
dans la mesure où leregroupement
de 4 et 5peut s’opérer
à lamême itération que celui de
1,2,3. L’algorithme
de X.Luong,
engérant
les scoresex aequo, construit des arbres dont les sommets intérieurs sont de
degré
aumoins
3,
en un nombre d’itérationségal
à laprofondeur
de l’arbre.Algorithme
des scores1/ Branchement suivant les valeurs de N
2/ Calcul des scores
Pour
chaque paire
de sommets{i,j}
on calcule son scoreégal
au nombre dequadruplets
tels que:Le
signe _
entraine le calcul de scoreslarges.
Il fautégalement
calculer desscores stricts en ôtant les cas
d’égalité.
Pour le tableauC(N,N)
des scores, lamoitié
supérieure
droite contient les scoreslarges,
et la moitié inférieuregauche
contient les nombres
d’égalités.
On traite les scores voisins enmultipliant
par 1+Eps
laplus petite
des trois sommes.Pour calculer ces scores, définissons une fonction
INC(i,j) qui
incrémente d’une unité le score de lapaire {i,j}.
Pour tout
(1,J,K,L)
Faire3/ Choix d’un seuil
Soit Sm le score
large
maximum atteint et Smt le score maximumthéorique:
Smt=(N-2)(N-3)/2.
La valeurpossible
immédiatement inférieure est abaissée deN-3,
si bien que le seuil S deregroupement
est fixé àSmt-(N-3)/2,
si cette valeurest atteinte. Sinon S=Sm. Dans ce dernier cas on dit que le seuil est affaibli.
4/ Construction du
pré-groupement
Considérons le
graphe
seuil pour cette valeur S tel que chacune de ses arêtes a un scorelarge supérieur
ouégal
à S. Unpré-groupement
est unepartie
connexede ce
graphe;
on l’obtient parapplication
de laprocédure
de construction desparties
connexesdu §
1.1.5/ Construction des
groupements
Si le seuil de
pré-groupement
estaffaibli,
toutpré-groupement
est ungroupement;
aller en 6/Sinon à
chaque pré-groupement correspond
un seuilthéorique
Stqui
est fonctiondu nombre de sommets
Ng
dupré-groupement
Cf.[2].
Un
pré-groupement
est ungroupement
si chacune de ses arêtes a un score strictsupérieur
ouégal
àSt,
soitC(i,j) - C(j,i) ~
St. Si pour une arête cette condition n’est pasvérifiée,
lepré-groupement
est abandonné. Si aucunpré-groupement
ne passe ce test, alors le seuil S est affaibli
(S=Sm)
et l’on revient en 4/Chaque groupement
G entraîne la création d’un nouveau sommet Ns(numéroté
àla
suite)
etchaque
sommet 1 dugroupement
est lié à Ns dans l’arbre que l’on construit.6/ Calcul des
longueurs
des arêtes. Deux cas sont àdistinguer:
6.1/ Tous les sommets ne sont pas dans un même
groupement.
Soit i
et j
deux sommets dugroupement
G et k un sommetpendant quelconque.
Notons
Li=D(i,j)+D(i,k)-D(j,k).
Alors lalongueur
de l’arête i--s est la moyenne desLi lorsque j parcourt
legroupement
et k l’ensemble des sommetspendants
horsgroupement.
Comme les sommets du
groupement
sonteffaçés
à l’itérationsuivante,
on va munir le sommet s d’unelongueur égale
à la moyenne deslongueurs
des arêtesi--s du
groupement qui
sera à déduire de lalongueur
de l’arête ultérieurement obtenue àpartir
de s. La formule de calcul deslongueurs
devient:6.2 Tous les sommets sont dans le dernier
groupement.
Dans ce cas, les
longueurs
nepeuvent
être calculées suivant la formule ci-dessus. On calculera lalongueur L(i)
de l’arête i--s par:Il suffit donc d’énumérer les
triplets
de sommets dugroupement.
7/ Mise à
jour
et tassement du tableau des dissimilaritésLes dissimilarités d’un sommet de
groupement
aux autres sommets sont calculées comme les moyennes des distances de ces sommets aux éléments dugroupement.
Pour tout
k~ G, D(s,k) = ( X
ie C,D(i,k) )
/Ng
Les sommets
qui figurent
dans ungroupement
sontsupprimés
et ceux desgroupements ajoutés.
On retourne alors àl’étape
1/ avec une valeur de Nplus petite
N := N -Ng
+ 1.8/ Il reste 2 sommets
i,j
On
prend
leplus grand,
mettonsj, qui
devient la racine del’arbre, auquel
onajoute
l’arêtei--j,
doncT(i)
:=j.
Lalongueur
de cette arête est calculée par:9/ Il reste 3 sommets
i,j,k
On
ajoute
un nouveau sommetNs,
racine del’arbre,
donc:T(i)
=T(j)
=T(k)
= Ns.On calcule les
longueurs
des arêtes suivant la formule donnée dans 6.2/.1.5 Méthode
de réduction desauadruplets
Nous avons
déjà exposé précédemment
la "condition desquatre points"
que vérifie toutquadruplet
d’une distance additived’arbre,
à savoir que des troissommes
possibles,
les deuxplus grandes
sontégales.
L’idée de cet
algorithme
est de modifier les dissimilarités defaçon
que toutquadruplet
vérifie cette condition. Cetalgorithme
ne construit donc pas un arbre à distancesadditives,
mais une distance additive d’arbre àlaquelle
il suffitd’appliquer
l’un desalgorithmes précédents.
A
partir
deD,
on va donc construire une suite de dissimilaritésDl , D2,...
dont lalimite D* soit une
distance,additive d’arbre. Supposons
quel’on
ait:alors, parmi
les six distancesci-dessus,
on ne modifie que lesquatre
dernièrespour "forcer"
l’égalité
des deux dernières sommes.Posons
B=Dk(1,k)+Dk(j,1)
etC=Dk(i,l)+Dk(j,k).
Pour satisfaire à la condition desquatre points,
il faudraitrépartir
la différence C-B entre cesquatre distances,
parexemple ajouter
àDk(1,k)
etDk(j,1)
laquantité (C-B)/4
et la retrancher àDk(1,1)
etDk(j,k).
Mais si l’on effectue ces modifications des valeurs de dissimilarités àchaque
examen d’unquadruplet,
iln’y
a aucune raison de conserver les valeursacquises
etl’algorithme
serait fonction de l’ordre de numérotation des sommets.On modifie donc les dissimilarités d’une valeur moyenne calculée
après
examende tous les
quadruplets.
On stocke pour
chaque
dissimilarité(dans
lapartie supérieure
droite dutableau)
la somme des modifications que
chaque quadruplet apporte.
Cecifait,
on effectuepour
chaque
dissimilarité la moyenne desmodifications’
en divisant leursomme par le nombre de
quadruplets
contenant i etj,
soit(N-2)*(N-3)/2.
Si lasomme des valeurs absolues des modifications
apportées
estsupérieure
à unevaleur
Eps pré-fixée (égale
à 1 % de la moyenne desdissimilarités),
on effectueune nouvelle itération. Sinon la somme, sur tous les
quadruplets,
des différences entre les deuxplus
fortes sommes estquasi
nulle et cette condition est suffisantepour que l’on ait une distance additive d’arbre.
Algorithme
de réductionPour tout
(I,J)
Faire0/ Pour tout IJKL Faire
Pout tout
(IJ)
FaireM. Roux
[9]
a démontré la convergence de sonalgorithme
en troisétapes ;
Ilétablit d’abord la décroissance de la
quantité r ki ( 2 puis
montre que Enfin il montre que la suite DK est une suite deCauchy;
elle converge vers D*.2 ETUDE COMPARATIVE
Il nous a paru
nécessaire, après l’exposé
de ces différentsalgorithmes,
d’effectuer une
première
étudecomparative
de leurs résultats. Nous définissons d’abordplusieurs
situationsexpérimentales qui
conduisent à 6 tableaux de dissimilarités. Cette étude n’est pascomplète,
dans la mesure où il faudraitcomparer ces
algorithmes
sur des moyennes de résultats. Puis nous définissons 2 critères nonmétriques
fondés sur les modificationsapportées
à la structure dechaque
sous-arbre à 4 sommetspendants,
parrapport
à labi-partition
induite par lesinégalités quadrangulaires.
Ensuite nous définissons 3 critèresmétriques
basés sur les écarts entre dissimilarités et distances additives induites par l’arbre valué
puis l’approximation quadratique
deslongueurs
d’arêtes de l’arbre. Cette méthode brièvementrappelée
ci-dessous a étédéveloppée
dans[7],
ainsi que desalgorithmes
de tracé des arbres valués.2.1
Aaoroxirnation
deslongueurs
des arêtesPar définition des
arbres,
iln’y
aqu’un
seul cheminqui
lie deux sommets, et salongueur
est la somme deslongueurs
des arêtesempruntées.
En écrivant que pourchaque couple
de sommetspendants,
leur dissimilarité estégale
à lalongueur
du cheminqui
leslie,
on obtient unsystème
linéaire deN(N-1)/2 équations
à Ns-1inconnues ;
A . L = D.Pour N>4 ce
système
aplus d’équations
qued’inconnues;
on le résoud parapproximation,
au sens des moindrescarrés,
entre leslongueurs
des chemins obtenus et les dissimilarités. Ceproblème classique d’optimisation
a pour solution la solution deAt.
A . L =At.
D(At désigne
la matricetransposée
de A etAt.
A est une matricesymétrique
définiepositive).
Comme tous les sommets sont au moins dedegré 3,
elle estrégulière.
Mais la solution de ce
système
n’est pas nécessairement à valeurspositives
ounulles,
ce que lareprésentation
des dissimilarités par un arbreimpose.
Onrésoudra donc le
système At.A.L
=At.D
par la méthode de Gauss-Siedellégèrement
modifiée. Le vecteur deslongueurs
des arêtes obtenu àchaque
itération est
projeté
dans le cônepositif L>0,
c’est à dire que leslongueurs négatives
sont mises à 0.2.2
Expérimentations numériques
2.2.1 Choix des
données
Nous sommes d’abord
partis
d’une structure d’arbre valué à 10 sommets dont 7pendants,
donc un tableau de dissimilarités de dimension 7 codant une distance additived’arbre,
àpartir
delaquelle
chacun desalgorithmes
redonne l’arbre initial.Nous avons ensuite construit deux
expériences
en modifiant cetableau,
d’unepart
enajoutant
ou retranchant 10% de leur valeur à la moitié desdissimilarités,
d’autre
part
enajoutant
ou retranchant 90% de leur valeur àquelques
dissimilarités. Ceci
correspond
à l’addition d’un peu de flou à une bonnepartie
des
valeurs,
pour lepremier
cas, et àquelques
grosses erreurs dans l’évaluation des dissimilarités dans le second.Essai 1 Essai 2
Ensuite, ayant remarqué
que dans l’arbreprécédent,
les sommetspendants s’éloignent
notablement des sommetsintérieurs,
nous sommespartis
d’un arbreen forme de
Y,
avec trois sommets aux extrémités des branches del’Y,
trois aux milieux et un au centre. Puis nous avonsappliqué
à la distance additive de l’arbre Y des modifications du mêmetype
queprécédemment,
pour obtenir les essais 3 et 4.Essai 3 Essai 4
Pour le
cinquième essai,
nous avons considéré deuxpetits
tableaux de dissimilarités à valeurs faibles~10~,
l’un de dimension3,
l’autre de dimension4,
réunis dans un tableau de dimension7,
encomplétant
par des valeurs aléatoiresplus
fortes(>10).
Cecicorrespond
à deuxgroupements, f 1,2,3}
contre{4,5,6,7}
nettement
séparés.
Enfin pour le sixième
essai,
nous avons considéré un tableau de dimension 7 à valeursaléatoires, comprises
entre 40 et50,
d’où ne devrait sedégager
aucunestructure classificatoire ou
plutôt
un arbre enétoile, puisque
toutes lesdissimilarités sont voisines.
Essai 5 Essai 6
2.2.2 Choix des
paramètres
Nous avons défini deux critères non
métriques
invariants par toute transformation monotone des valeurs de dissimilarité et basés sur la structure d’arbre desquadruplets .
Eneffet,
à chacuncorrespond
soit une étoile àquatre
sommetspendants,
soit unebi-partition
des 4 sommets. Dans le second cas, oncomptera
d’unepart
lesquadruplets
dont labi-partition
est différente dans l’arbre à distancesadditives,
sousl’appelation
"nombre d’inversions"(NI),
et d’autrepart
le nombre dequadruplets représentés
par une croix(NC); l’algorithme
aégalisé
lessommes de dissimilarités.
La
paire {i,j}
n’est pasopposé
à{k,l}.
Il y a inversion et NI := NI+1.Les trois sommes sont devenues
égales,
alors NC := NC+1Pour comparer des arbres valués
ayant
mêmes sommetspendants,
certainscritères
métriques
semblent naturels. Les valuationspermettent
de reconstituer des distances "dans l’arbre" entre toutcouple
de sommetspendants.
On a doncpour
chaque couple
de sommets une valeur de dissimilarité et une distance dans l’arbre. Onpeut
donc calculer:EM : l’écart absolu moyen,
plus pertinent
que l’écart moyen, MA : le maximum des écarts absolus etEQ : l’écart
quadratique
moyen, c’est à dire la moyenne des carrés des écarts.2.2.3 Résultats
Nous avons
appliqué
sur les six tableauxprécédemment
définis les méthodes dedécomposition (MD),
desplus proches prédécesseurs (MP),
dedispersion (MI),
des scores
(MS),
et de réduction(MR),
cette dernière étantcomplétée
par la méthode dedécomposition
pour la construction effective de l’arbre valué. Cescinq
méthodes déterminent deslongueurs
d’arêtes aveclesquelles
nouscalculons les critères
métriques, puis
nousapproximons
leslongueurs
pour recalculer ces nouveaux critères(leurs
noms sontprécédés
de la lettreA).
Cettenouvelle valuation ne modifie que les critères
métriques
decomparaison
et ellene