• Aucun résultat trouvé

Le réseau d’actants consiste en plusieurs centaines de nœuds et milliers de relations. Pour

le sociologue, il est quasi impossible de donner du sens à cette quantité de données sans

avoir recours à des outils formels. En particulier, pour comprendre la structure du réseau,

nous utilisons des méthodes de visualisation de grands graphes sur une carte de deux

dimensions. Comme nous l’avons signalé, le principe de base est le suivant : les actants

partageant des relations doivent se retrouver à proximité alors que les agents distants

topologiquement doivent être éloignés géographiquement sur la carte. Nous présenterons

succinctement les algorithmes les plus connus pour réaliser une telle spatialisation. Une

fois ce principe assimilé, il est possible d’inclure des contraintes supplémentaires pour la

spatialisation en vue de faire apparaître d’autres informations telles que les liens entre scène

et camp, notamment. Dans la littérature, peu d’algorithmes existent pour traiter ce type de

question. Nous présenterons donc la méthode que nous avons développée pour mener à

bien cette tâche.

8.5.1 Présentation des algorithmes de spatialisation

Dans cette section, nous supposons que l’étape d’agrégation des données a été effectuée. Le

résultat est un graphe de relation symétrique non pondéré de matrice d’adjacenceA =(a

ij

)

oùa

ij

=a

ji

eta

ij

>0 siiet jpartagent au moins une relation.

Il existe plusieurs types d’algorithmes de spatialisation pour les graphes, chaque type

s’adaptant particulièrement bien à certains graphes et moins à d’autres. Les graphes issus

de réseaux sociaux présentent souvent des propriétés remarquables telles que la présence

de communautés (ensemble d’actants fortement connectés entre eux et peu connectés avec

le reste du réseau). Pour visualiser de tels graphes, les algorithmes basés sur les forces

(force-based layout en anglais) sont bien adaptés et par conséquent largement utilisés. Ces

algorithmes utilisent une analogie du système masses-ressorts où les nœuds du graphe sont

vus comme des masses dont le mouvement dépend des forces d’attraction ou de répulsion

agissant entre les nœuds. Ces algorithmes prennent un graphe simple, non dirigé et connexe

en entrée.

L’algorithme historique de spatialisation le plus utilisé est l’algorithme de

Fruchterman-Reingold [FR91]. Dans cet algorithme, le calcul de l’ensemble de des forces d’attraction

possède une complexité en temps deO(e) oùeest le nombre d’arrêtes. Nous avons écarté de

nos travaux l’algorithme de Kamada-Kawai[KK89] pour lequel le calcul de l’ensemble des

forces possède une complexité en temps deO(n

2

) oùnest le nombre d’agents. De plus, pour

l’algorithme de Fruchterman-Reingold, une approximation de la densité permet de calculer

l’énergie de répulsion d’un nœud en temps constant, ce qui n’est pas possible dans le cas

de l’algorithme de Kamada-Kawai.

Algorithme de Fruchterman-Reingold

Dans l’algorithme de Fruchterman-Reingold, deux types de forces sont présentes.

Premiè-rement, tous les nœuds sont sujets à une force de répulsionE

repij

importante à faible distance,

inversement proportionnelle au carré de la distance. Deuxièmement, les nœuds voisins

sont sujets à une force d’attractionE

att

ij

proportionnelle à leur distance. L’énergie potentielle

résultante est la suivante :

E

FR

=

X

i,j∈N,i,j

E

repij

+E

att ij

,

avec

E

repij

= L

2

kx

i

−x

j

k etE

att ij

=a

ij

kx

i

−x

j

k

2

L , (8.1)

oùa

ij

=1 siiet jsont voisins eta

ij

=0 sinon,Lreprésente la distance idéale souhaitée entre

deux voisins dans le graphe. La fonctionE

FR

est non-convexe et présente des minima locaux,

de sorte qu’il est nécessaire de faire appel à des méthodes d’optimisation non-convexe pour

approcher son minimum.

Optimisation non linéaire

L’algorithme de spatialisation de Fruchterman-Reingold consiste à minimiser l’énergie

po-tentielle E

FR

. Lorsque la fonction à minimiser est convexe, on utilise classiquement les

méthodes de descente de gradient qui consistent à actualiser successivement la variable

dans la direction opposée du gradient de la fonction au point courant. Comme nous l’avons

évoqué dans le paragraphe précédent, ces méthodes ont la mauvaise propriété de rester

bloquées dans les minima locaux lorsque la fonction n’est pas convexe.

Les métaheuristiques sont des algorithmes d’optimisation globale visant à résoudre

ce problème. Ces algorithmes explorent l’espace des variables de manière itérative et

semi-aléatoire, ce qui leur permet à la fois d’améliorer leur estimation de la configuration optimale

tout en échappant aux minima locaux. Il s’agit d’heuristique dans le sens où l’algorithme

ne garantit pas la convergence vers un optimum global et elles sont méta puisqu’elle ne

nécessite pas de connaissance a priori sur la fonction à optimiser. La recherche de

méta-heuristiques efficaces est un domaine actif de recherche et a donné lieu à la création d’un

grand nombre d’algorithmes distincts. Le lecteur intéressé pourra consulter [Yan11] pour

un récent aperçu de la littérature sur le sujet. Il est remarquable qu’un grand nombre de

ces algorithmes sont originellement inspirés par des phénomènes d’optimisation naturelle,

issus de processus biologiques ou physiques.

Les performances de ces algorithmes dépendent fortement de la fonction qu’ils cherchent

à optimiser. Nous utiliserons l’algorithme de Recuit Simulé. Cet algorithme s’inspire d’un

sys-tème thermodynamique. Il est donc simple d’utiliser cet algorithme en interprétant les

nœuds du graphe comme les particules du système thermodynamique. Précisément,

l’al-gorithme par Recuit Simulé (Simulated Annealingen anglais) [MRR

+

53,KGV83] est un

algo-rithme simulant le processus de recuit d’un matériau. Ce processus consiste à augmenter,

stabiliser puis diminuer la température du matériau de manière graduelle afin de permettre

au système thermodynamique de préserver un état quasi-stationnaire. Ceci a pour effet de

minimiser l’énergie du matériau. La première utilisation de l’algorithme par recuit simulé

pour la spatialisation de graphe fut décrite par Davidson et Harel dans un rapport de 1989

8.5.2 Spatialisation par groupes

Une des questions de la problématique du sociologue est de comprendre ce qui fait le lien

entre les différents camps et les différentes scènes du réseau autour des loisirs motorisés

hors route. L’algorithme de spatialisation que nous avons présenté ne prend pas en compte

l’appartenance des nœuds aux camps ou aux scènes. Pour pallier à ce constat, nous allons

avoir recours aux méthodes despatialisation par groupes. Dans ce chapitre, pargroupes, nous

entendons un ensemble de nœuds déterminé a priori par l’utilisateur. La visualisation par

groupesconsiste à appliquer une méthode de spatialisation rapprochant particulièrement les

nœuds d’un même groupe. L’objectif est de faire ressortir visuellement cette appartenance.

Les groupes que nous considèrerons sont soit les scènes soit les camps. Par conséquent, les

algorithmes que nous présentons prennent en entrée une partition des nœuds en groupes :

chaque nœud appartient à un unique groupe. La littérature sur les méthodes de visualisation

par groupe est peu fournie. Nous présentons une méthode de la littérature puis une méthode

alternative que nous avons développée :

• Une première idée est de découper le plan en plusieurs régions. Chaque région va

alors accueillir un des groupes. Les travaux présentés dans [TFMP05] suivent cette

démarche. Pour déterminer l’emplacement des régions pour chaque groupe, les

au-teurs appliquent une première fois l’algorithme de spatialisation en considérant les

groupes comme des super-nœuds. Le poids de la relation entre deux super-nœuds

correspond alors à la somme des poids des relations inter-groupes. Les positions

ob-tenues seront alors utilisées comme barycentres des groupes. Pour placer les nœuds,

l’algorithme de spatialisation est appliqué une nouvelle fois à l’intérieur du groupe.

Dans ce deuxième calcul, seules les relations intra-groupes sont prises en compte. Par

conséquent, les nœuds en bordure de groupe ne sont pas nécessairement bien

connec-tés avec les autres groupes. Ainsi, cette méthode ne permet pas de visualiser les nœuds

faisant le lien entre scènes ou entre camps.

• (Fruchterman-Reingold par groupes) Pour remédier au problème de la méthode

pré-cédente, il est nécessaire d’appliquer l’algorithme à l’ensemble des nœuds

simultané-ment. Pour s’assurer que les nœuds sont géographiquement regroupés par groupe,

nous proposons une méthode alternative. Cette méthode consiste à modifier la

dis-tance idéale souhaitée entre les nœuds dans l’algorithme de Fruchterman-Reingold.

Nous remplaçons le paramètreLde l’algorithme par un jeu de paramètres (L

ij

) pour

i,j∈ N distincts. Pour ce faire, nous déterminons une position idéale pour les centres

de chaque groupe. Ceci peut être fait en appliquant par exemple la méthode issue

de [TFMP05], citée dans le paragraphe précédent. Une autre possibilité est de choisir

les positions manuellement de sorte que leurs distances soient de l’ordre deLn. Ceci

est simple lorsque le nombre de groupes est faible, comme pour notre réseau.

Nous notons C

C

(i) la position du centre du groupe de l’agent i. Lorsqueiet j

appar-tiennent au même groupe, nous préservonsL

ij

=L, de manière à ce que les nœuds d’un

même groupe restent proches. Dans le cas contraire, leur distance idéaleL

ij

est choisie

comme la distance entreC

C

(i) etC

C

(j) les centres des groupes deiet jrespectivement.

Un défaut de cette méthode est qu’elle ne donne pas toujours au groupe une région

bien localisée, en particulier lorsque les nœuds d’un groupe sont peu connectés.

Les résultats de la dernière méthode de spatialisation sont présentés dans la section8.7.1.

Documents relatifs